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