39
40#include "implicit_f.inc"
41
42
43
44#include "com01_c.inc"
45#include "com08_c.inc"
46#include "param_c.inc"
47#include "scr14_c.inc"
48
49
50
51 INTEGER, INTENT(IN) :: JTUR
52 INTEGER, INTENT(IN) :: JPOR
53 INTEGER MAT(*),NEL
55 . pm(npropm,*), off(*), sig(nel,6), eint(*), rho(*), rk(*), re(*),
56 . vorti(*)
58 . vnew(*), rho0(*), d1(*), d2(*), d3(*), d4(*), d5(*), d6(*),
59 . pc(*), vis(*), c1(*), c2(*), c3(*), c4(*), c5(*),
60 . c6(*), amu(*), amu2(*), espe(*), ssp(*), df(*),
61 . tmu(*), psh(*), wxx(*), wyy(*), wzz(*), rho0_1,
62 . pc_1, c1_1, c2_1, c3_1,
63 . c4_1, c5_1, c6_1, tmu_1, psh_1
65 . dpdm(*)
66
67
68
69 INTEGER I, MX
71 . dav, rk2t,
72
73
74
75 IF((anim_e(10)==1 .OR. anim_se(10)==1).AND. dt1/=zero)THEN
76 fac=four/dt1
77 IF(n2d==0)THEN
78 DO 5 i=1,nel
79 5 vorti(i)=fac*sqrt(wxx(i)**2+wyy(i)**2+wzz(i)**2)
80 ELSE
81 DO 6 i=1,nel
82 6 vorti(i)=fac*wzz(i)
83 ENDIF
84 ENDIF
85
86
87 mx =mat(1)
88 rho0_1=pm( 1,mx)
89 pc_1 =pm(37,mx)
90 c1_1 =pm(104,mx)-pm(88,mx)
91 c2_1 =pm(32,mx)
92 c3_1 =pm(33,mx)
93 c4_1 =pm(34,mx)
94 c5_1 =pm(35,mx)
95 c6_1 =pm(36,mx)
96 tmu_1 =pm(81,mx)
97 psh_1=pm(88,mx)
98 DO 10 i=1,nel
99 rho0(i)=rho0_1
100 vis(i) =pm(24,mx)*rho(i)
101 pc(i) =pc_1
102 c1(i) =c1_1
103 c2(i) =c2_1
104 c3(i) =c3_1
105 c4(i) =c4_1
106 c5(i) =c5_1
107 c6(i) =c6_1
108 tmu(i) =tmu_1
109 psh(i)=psh_1
110 10 CONTINUE
111
112
113 IF(jtur/=0)THEN
114 IF(jpor/=2)THEN
115 DO i=1,nel
116 tmu(i)=tmu(i)*rk(i)*rk(i) /
max(em15,(re(i)*vnew(i)))
117 vis(i)=vis(i)+tmu(i)
118 ENDDO
119 ELSE
120 DO i=1,nel
121 tmu(i)=zero
122 ENDDO
123 ENDIF
124 ELSE
125 DO i=1,nel
126 rk(i)=zero
127 ENDDO
128 ENDIF
129
130
131 DO i=1,nel
132 vis2 = two*vis(i)
133 dav = -(d1(i)+d2(i)+d3(i))*third
134
135
136
137 sig(i,1)=vis2*(d1(i)+dav)
138 sig(i,2)=vis2*(d2(i)+dav)
139 sig(i,3)=vis2*(d3(i)+dav)
140 sig(i,4)=vis(i) *d4(i)
141 sig(i,5)=vis(i) *d5(i)
142 sig(i,6)=vis(i) *d6(i)
143
144
145
146 amu2(i)=
max(zero,amu(i))**2
147 espe(i)=df(i)*eint(i) /
max(em15,vnew(i))
148 rk2t = two*rk(i) /
max(em15,three*vnew(i))
149
150
151
152
153
154 dpdm(i) = dpdm(i)
155 . +(c5(i)+c6(i)*amu(i))*df(i)*df(i)*rk2t + rk2t*df(i)
156 ssp(i)=sqrt(abs(dpdm(i))/rho0(i))
157 ENDDO
158
159 RETURN