40
41
42
43#include "implicit_f.inc"
44
45
46
47#include "mvsiz_p.inc"
48
49
50
51 INTEGER, INTENT(IN) :: ISRAT
52 INTEGER, INTENT(IN) :: NODADT_THERM
53 INTEGER NPE,G_PLA,NEL
55 . px(mvsiz,*),py(mvsiz,*),pz(mvsiz,*),ssp_eq(*),
56 . fx(mvsiz,*), fy(mvsiz,*), fz(mvsiz,*),
57 . sig(nel,6),vol(*),qvis(*),eint(*),rho(*),q(*),eplasg(*),eplas(*),
58 . sigg(nel,6),eintg(nel),rhog(*),qg(*),wi,stig(mvsiz,*),epsd(*),
59 . epsdg(*),stin(mvsiz,*),volg(*),vol0(*),vol0g(*),conde(mvsiz),
60 . deltax(mvsiz), condeg(mvsiz,*)
61 INTEGER, INTENT(IN) :: G_WPLA_FLAG
62 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
63 my_real,
DIMENSION(NEL*G_WPLA_FLAG),
INTENT(INOUT) :: g_wpla
64 my_real,
DIMENSION(NEL*G_WPLA_FLAG),
INTENT(IN) :: l_wpla
65
66
67
68#include "scr18_c.inc"
69
70
71
72 INTEGER I,N
73
75 . s1(mvsiz),s2(mvsiz),s3(mvsiz),s4(mvsiz),s5(mvsiz),s6(mvsiz)
77 . fint,aa,wip(mvsiz)
78
79 DO i=1,nel
80 wip(i) = vol(i)/volg(i)
81 sigg(i,1) = sigg(i,1) + wip(i) * sig(i,1)
82 sigg(i,2) = sigg(i,2) + wip(i) * sig(i,2)
83 sigg(i,3) = sigg(i,3) + wip(i) * sig(i,3)
84 sigg(i,4) = sigg(i,4) + wip(i) * sig(i,4)
85 sigg(i,5) = sigg(i,5) + wip(i) * sig(i,5)
86 sigg(i,6) = sigg(i,6) + wip(i) * sig(i,6)
87 rhog(i) = rhog(i) + wip(i) * rho(i)
88 eintg(i) = eintg(i) + eint(i) * vol0(i)/vol0g(i)
89 IF (g_wpla_flag > 0) g_wpla(i) = g_wpla(i) + l_wpla(i)
90 qg(i) = qg(i) + wip(i) * q(i)
91 s1(i)=(sig(i,1)+svis(i,1)-qvis(i))*vol(i)
92 s2(i)=(sig(i,2)+svis(i,2)-qvis(i))*vol(i)
93 s3(i)=(sig(i,3)+svis(i,3)-qvis(i))*vol(i)
94 s4(i)=(sig(i,4)+svis(i,4))*vol(i)
95 s5(i)=(sig(i,5)+svis(i,5))*vol(i)
96 s6(i)=(sig(i,6)+svis(i,6))*vol(i)
97 ENDDO
98 IF (israt > 0) THEN
99 DO i=1,nel
100 epsdg(i) = epsdg(i) + wip(i) * epsd(i)
101 ENDDO
102 ENDIF
103 IF (g_pla > 0) THEN
104 DO i=1,nel
105 eplasg(i) = eplasg(i) + wip(i) * eplas(i)
106 ENDDO
107 ENDIF
108
109 DO n=1,npe
110 DO i=1,nel
111 stin(i,n)= vol(i)*
112 . (px(i,n)*px(i,n) + py(i,n)*py(i,n) + pz(i,n)*pz(i,n))
113 aa=rho(i)*ssp_eq(i)*ssp_eq(i)
114 stig(i,n)=stig(i,n)+stin(i,n)*aa
115 fx(i,n)=fx(i,n)-(s1(i)*px(i,n)+s4(i)*py(i,n)+s6(i)*pz(i,n))
116 fy(i,n)=fy(i,n)-(s2(i)*py(i,n)+s5(i)*pz(i,n)+s4(i)*px(i,n))
117 fz(i,n)=fz(i,n)-(s3(i)*pz(i,n)+s6(i)*px(i,n)+s5(i)*py(i,n))
118 ENDDO
119 ENDDO
120 IF(nodadt_therm == 1) THEN
121 DO n=1,npe
122 DO i=1,nel
123 conde(i) = conde(i)*deltax(i)*deltax(i)/four
124 condeg(i,n)= condeg(i,n)+ conde(i)*
125 . (px(i,n)*px(i,n) + py(i,n)*py(i,n) + pz(i,n)*pz(i,n))
126 ENDDO
127 ENDDO
128 ENDIF
129
130 RETURN