34
35
36
37#include "implicit_f.inc"
38
39
40
41#include "param_c.inc"
42#include "com08_c.inc"
43#include "impl1_c.inc"
44
45
46
47 INTEGER ,MAT(NEL),PID(NEL)
48
50 . pm(npropm,*),
for(nel,3), mom(nel,3), geo(npropg,*),
51 . off(*),a1(nel),
52 . al(nel),exx(nel),
53 . exy(nel),exz(nel),kxx(nel),kyy(nel),kzz(nel),
54 . f1(nel), f2(nel), f3(nel),
55 . m1(nel), m2(nel), m3(nel)
56
57
58
59 INTEGER I, J
60
62 . ym(nel),shf(nel),b1(nel),b2(nel),b3(nel),
63 . degmb(nel), degfx(nel),
64 . sh(nel), yma2(nel), sh10(nel),
65 . sh20(nel), sh0(nel), sh1(nel), sh2(nel),
66 . dmpm(nel),dmpf(nel),rho(nel),g(nel)
67
68 IF (impl_s == 0 .OR. idyna > 0) THEN
69 DO i=1,nel
70 dmpm(i)=geo(16,pid(i))*al(i)
71 dmpf(i)=geo(17,pid(i))*al(i)
72 ENDDO
73 ELSE
74 DO i=1,nel
75 dmpm(i)=zero
76 dmpf(i)=zero
77 ENDDO
78 ENDIF
79
80 DO i=1,nel
81 rho(i) =pm( 1,mat(i))
82 g(i) =pm(22,mat(i))
83 ym(i) =pm(20,mat(i))
84 a1(i) =geo(1,pid(i))
85 b1(i) =geo(2,pid(i))
86 b2(i) =geo(18,pid(i))
87 b3(i) =geo(4,pid(i))
88 shf(i) =geo(37,pid(i))
89 ENDDO
90
91
92
93
94 DO i=1,nel
95 sh(i)=five_over_6*g(i)*a1(i)
96 yma2(i)=twelve*ym(i)/al(i)**2
97 sh10(i)=yma2(i)*b1(i)
98 sh20(i)=yma2(i)*b2(i)
99 sh0(i)=(one-shf(i))*sh(i)
100 sh1(i)=sh0(i)*sh10(i)/(sh(i)+sh10(i)) + shf(i)*sh10(i)
101 sh2(i)=sh0(i)*sh20(i)/(sh(i)+sh20(i)) + shf(i)*sh20(i)
102
103 for(i,1)=
for(i,1)+ exx(i)*a1(i)*ym(i)
104 for(i,2)=
for(i,2)+ exy(i)*sh2(i)
105 for(i,3)=
for(i,3)+ exz(i)*sh1(i)
106 mom(i,1)=mom(i,1)+ kxx(i)*g(i)*b3(i)
107 mom(i,2)=mom(i,2)+ kyy(i)*ym(i)*b1(i)
108 mom(i,3)=mom(i,3)+ kzz(i)*ym(i)*b2(i)
109
113 mom(i,1)=mom(i,1)*off(i)
114 mom(i,2)=mom(i,2)*off(i)
115 mom(i,3)=mom(i,3)*off(i)
116 ENDDO
117
118 DO i=1,nel
122 m1(i) = mom(i,1)
123 m2(i) = mom(i,2)
124 m3(i) = mom(i,3)
125 ENDDO
126
127 RETURN
for(i8=*sizetab-1;i8 >=0;i8--)