41
42
43
48 USE matparam_def_mod
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64#include "implicit_f.inc"
65
66
67
68#include "units_c.inc"
69#include "param_c.inc"
70
71
72
73 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
74 INTEGER, INTENT(INOUT) :: MAT_ID
75 INTEGER, INTENT(INOUT) :: ISRATE
76 INTEGER, DIMENSION(NPROPMI) ,INTENT(INOUT) :: IPM
77 CHARACTER(LEN=NCHARTITLE) ,INTENT(IN) :: TITR
78 my_real,
DIMENSION(NPROPM) ,
INTENT(INOUT) :: pm
79 TYPE(SUBMODEL_DATA), DIMENSION(*),INTENT(IN) :: LSUBMODEL
80 TYPE(MLAW_TAG_), INTENT(INOUT) :: MTAG6,MTAG17
81 INTEGER,INTENT(IN) :: ITYP
82 TYPE(MATPARAM_STRUCT_),INTENT(INOUT) :: MATPARAM
83
84
85
86 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
87 INTEGER JTUR, I, ,COUNT,LAW6_OPT
88 my_real rho0, vis, bid, psh, c0, c1, c2, c3, c4, c5, pmin, e0, rk0,
89 . ssl, ctm, sk, se, rpr, ct1, ct2, ct3, ak, e, a, b, yp0, yp1,
90 . mu,rhor
91
92
93
94 count = 0
95 jtur=pm(70)
96
98
99 CALL hm_get_intv (
'Line_count' ,count ,is_available,lsubmodel)
100 count=count+2
101
102 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
103 CALL hm_get_floatv(
'Refer_Rho' ,rhor ,is_available, lsubmodel, unitab)
104
105 CALL hm_get_intv (
'Law6_opt' ,law6_opt ,is_available,lsubmodel)
106
107
108 CALL hm_get_floatv(
'DAMP1' ,vis ,is_available, lsubmodel, unitab)
109 CALL hm_get_floatv(
'MAT_PC' ,pmin ,is_available, lsubmodel, unitab)
110
111 IF (pmin == zero) pmin=-infinity
112 IF (rhor == zero) rhor=rho0
113
114 CALL hm_get_floatv(
'RHO0_K0' ,rk0 ,is_available, lsubmodel, unitab)
115 CALL hm_get_floatv(
'SSL' ,ssl ,is_available, lsubmodel, unitab)
116 CALL hm_get_floatv(
'C_MU' ,ctm ,is_available, lsubmodel, unitab)
117 CALL hm_get_floatv(
'SIG_k' ,sk ,is_available, lsubmodel, unitab)
118 CALL hm_get_floatv(
'SIG_EPS' ,se ,is_available, lsubmodel, unitab)
119 CALL hm_get_floatv(
'P_R_ON_P_RT' ,rpr ,is_available, lsubmodel, unitab)
120 CALL hm_get_floatv(
'C_1' ,ct1 ,is_available, lsubmodel, unitab)
121 CALL hm_get_floatv(
'C_2' ,ct2 ,is_available, lsubmodel, unitab)
122 CALL hm_get_floatv(
'C_3' ,ct3 ,is_available, lsubmodel, unitab)
123 CALL hm_get_floatv(
'KAPPA' ,ak ,is_available, lsubmodel, unitab)
125 CALL hm_get_floatv(
'ALPHA' ,a ,is_available, lsubmodel, unitab)
126 CALL hm_get_floatv(
'GSI_T' ,b ,is_available, lsubmodel, unitab)
127
128 e0 = zero
129 c0 = zero
130 c1 = zero
131 c2 = zero
132 c3 = zero
133 c4 = zero
134 c5 = zero
135 psh = zero
136
137 pm(1) = rhor
138 pm(89)= rho0
139 pm(23)=e0
140 pm(24)=vis
141 pm(104)=c0 - psh
142 pm(32)=c1
143 pm(33)=c2
144 pm(34)=c3
145 pm(35)=c4
146 pm(36)=c5
147 pm(37)=pmin
148
149 IF(rhor /= zero) THEN
150 mu = rho0/rhor-one
151 ELSE
152 mu = zero
153 ENDIf
154
155 IF(mu < zero)THEN
156 pm(31) = -psh + c0+c1*mu + c3*mu**3+(c4+c5*mu)*e0
157 ELSE
158 pm(31) = -psh + c0+c1*mu + c2*mu**2+c3*mu**3+(c4+c5*mu)
159 ENDIF
160
161 pm(80)=infinity
162
163 IF(ssl == zero)ssl= ep10
164 pm(46)=ssl
165 pm(95)=rpr
166
167 IF(ctm == zero)ctm=nineem2
168 IF(ct1 == zero)ct1=onep44
169 IF(ct2 == zero)ct2=onep92
170 IF(ct3 == zero)ct3=-zep373
171 IF(sk == zero)sk=one
172 IF(se == zero)se=onep3
173 IF(rpr == zero)rpr=seven_over_9
174
175 IF(ak == zero) ak=zep4187
176 IF(e == zero) e=ninep793
177 IF(a == zero) a=half
178 pm(47)=a*ak
179 pm(48)=e
180 pm(49)=a
181 pm(50)=b
182 yp0=elevenp5
183 DO i=1,100
184 yp1=log(e*yp0)/ak
185 IF(yp1 == yp0)EXIT
186 yp0=yp1
187 ENDDO
188 pm(51)=yp1
189 pm(79)=three100
190
191 pm(81)=ctm
192 pm(82)=ct1
193 pm(83)=ct2
194 pm(84)=ct3
195 pm(85)=sk
196 pm(86)=se
197 pm(95)=rpr
198 pm(87)=rk0/rho0
199
200 matparam%IEOS = 18
201 ipm(4) = 18
202
203
205
206
208
210
211
214
215 WRITE(iout,2001) trim(titr),mat_id,6
216 WRITE(iout,1001)
217
218 IF(is_encrypted)THEN
219 WRITE(iout,'(5X,A,//)')'CONFIDENTIAL DATA'
220 ELSE
221 WRITE(iout,2002)rho0,rhor
222 WRITE(iout,1300)vis
223 WRITE(iout,1501)pmin
224 ENDIF
225 WRITE(iout,1600)rk0,ssl,ctm,sk,se,rpr,ct1,ct2,ct3
226 WRITE(iout,1601)ak,e,a,b
227
228 pm(88)=psh
229
230
231
232 mtag6%G_RK = 1
233 mtag6%G_RE = 1
234 mtag6%L_RK = 1
235 mtag6%L_RE = 1
236 mtag6%L_VK = 1
237 mtag6%G_TEMP = 1
238 mtag6%L_TEMP = 1
239
240 mtag17%G_RK = 1
241 mtag17%G_RE = 1
242 mtag17%L_RK = 1
243 mtag17%L_RE = 1
244 mtag17%L_VK = 1
245 mtag17%G_TEMP = 1
246 mtag17%L_TEMP = 1
247
248 1001 FORMAT(
249 & 5x,' K-EPSILON TURBULENT FLUID ',/,
250 & 5x,' ------------------------- ',//)
251 1300 FORMAT(
252 & 5x,'VISCOSITY . . . . . . . . . . . . . . .=',1pg20.13)
253 1501 FORMAT(
254 & 5x,'PRESSURE CUTOFF . . . . . . . . . . . .=',1pg20.13//)
255 2001 FORMAT(/
256 & 5x,a,/,
257 & 5x,' MATERIAL NUMBER . . . . . . . . . . . .=',i10/,
258 & 5x,' MATERIAL LAW. . . . . . . . . . . . . .=',i10/)
259 2002 FORMAT(
260 & 5x,' INITIAL DENSITY . . . . . . . . . . . .=',1pg20.13/,
261 & 5x,' REFERENCE DENSITY . . . . . . . . . . .=',1pg20.13/)
262 1600 FORMAT(
263 & 5x,'RK0 INITIAL TURBULENT ENERGY. . . . . .=',1pg20.13/,
264 & 5x,'SSL SUBGRID SCALE LENGTH. . . . . . . .=',1pg20.13/,
265 & 5x,'CMU TURBULENT VISCOSITY COEFFICIENT . .=',1pg20.13/,
266 & 5x,'SK K DIFFUSION COEFFICIENT . . . . . .=',1pg20.13/,
267 & 5x,'SE EPSILON DIFFUSION COEFFICIENT . . .=',1pg20.13/,
268 & 5x,'PR/PRT LAM./TURB. PRANDT NUMBER RATIO .=',1pg20.13/,
269 & 5x,'CT1 EPSILON SOURCE COEFFICIENT C1 . . .=',1pg20.13/,
270 & 5x,'CT2 EPSILON SOURCE COEFFICIENT C2 . . .=',1pg20.13/,
271 & 5x,'CT3 EPSILON SOURCE COEFFICIENT C3 . . .=',1pg20.13/)
272 1601 FORMAT(
273 & 5x,'TURBULENT WALL COEFFICIENTS '/,
274 & 5x,'K LOGARITHMIQUE LAW COEFFICIENT. . . .=',1pg20.13/,
275 & 5x,'E LOGARITHMIQUE LAW COEFFICIENT. . . .=',1pg20.13/,
276 & 5x,'A K,EPSILON ECCENTRICITY . . . . . . .=',1pg20.13/,
277 & 5x,'B SOURCE FLAG. . . . . . . . . . . . .=',1pg20.13/)
278
279 RETURN
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_is_encrypted(is_encrypted)
subroutine init_mat_keyword(matparam, keyword)
integer, parameter nchartitle