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