36
37
38
39#include "implicit_f.inc"
40
41
42
43#include "mvsiz_p.inc"
44
45
46
47 INTEGER, INTENT(IN) :: JCVT
48 INTEGER NEL
50 . sig(nel,6),
51 . py1(*), py2(*), pz1(*), pz2(*),
area(*), vol(*), qvis(*),
52 . f11(*), f12(*), f21(*), f22(*), ax1(*),ax2(*),
53 . r22(*), r23(*), r32(*), r33(*)
54 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
55
56
57
58#include "com01_c.inc"
59
60
61
62 INTEGER I
64 . fac(mvsiz), s1(mvsiz), s2(mvsiz), s4(mvsiz),
65 . t1,t2,t3,t4
66
67 IF (n2d==1) THEN
68 DO i=1,nel
70 ENDDO
71 ELSE
72 DO i=1,nel
73 fac(i)=zero
74 ENDDO
75 ENDIF
76
77 IF(jcvt==0)THEN
78 DO i=1,nel
79 ax1(i)=(sig(i,3)+svis(i,3)-sig(i,1)-svis(i,1))*fac(i)
80 ax2(i)=(sig(i,4)+svis(i,4))*fac(i)
81 END DO
82 ELSE
83 DO i=1,nel
84 s1(i)=sig(i,1)+svis(i,1)
85 s2(i)=sig(i,2)+svis(i,2)
86 s4(i)=sig(i,4)+svis(i,4)
87 t1=s1(i)*r22(i)+s4(i)*r23(i)
88 t2=s4(i)*r32(i)+s2(i)*r33(i)
89 t3=s1(i)*r32(i)+s4(i)*r33(i)
90 t4=s4(i)*r22(i)+s2(i)*r23(i)
91 s1(i)=r22(i)*t1+r23(i)*t4
92 s2(i)=r32(i)*t3+r33(i)*t2
93 s4(i)=r22(i)*t3+r23(i)*t2
94 END DO
95 DO i=1,nel
96 ax1(i)= (sig(i,3)+svis(i,3)-s1(i))*fac(i)
97 ax2(i)= s4(i)*fac(i)
98 END DO
99 END IF
100
101 DO i=1,nel
102 s1(i) = sig(i,1)+svis(i,1)-qvis(i)
103 s2(i) = sig(i,2)+svis(i,2)-qvis(i)
104 s4(i) = sig(i,4)+svis(i,4)
105 f11(i)=s1(i)*py1(i)+s4(i)*pz1(i)
106 f21(i)=s2(i)*pz1(i)+s4(i)*py1(i)
107 f12(i)=s1(i)*py2(i)+s4(i)*pz2(i)
108 f22(i)=s2(i)*pz2(i)+s4(i)*py2(i)
109 ENDDO
110
111 RETURN
subroutine area(d1, x, x2, y, y2, eint, stif0)