79 TYPE(t_region
),
POINTER :: pregion
85 CHARACTER(CHRLEN) :: errorstring,rcsidentstring
86 INTEGER :: ibc,icg,im,in,indcp,indmol,iq
87 REAL(RFREAL) :: atot,const,cp,cpref,cvm,cvg,cvl,cvv,
d,dinc,dmin,doffs,dtot, &
88 dummyreal,etaqm,
g,gc,gcref,gref,gx,gy,gz,h,height,l,mi,minj, &
89 mw,nx,ny,nz,omega,p,pg,pl,pmin,poffs,ptot,pv,
r,rg,rgas,ri, &
90 rl,ro,rv,rvap,t,ttot,theta,u,ur,ut,uz,
v,vinj,vm2,w,
x,
xmin, &
92 REAL(RFREAL) :: xx,uo_c,a_c,l_l,
c,
a,po,uo,xo,rc_l,rc,a_cl,radius,psi,r1,r2,um
93 REAL(RFREAL),
DIMENSION(:,:),
POINTER :: pcv,pgv
95 TYPE(t_grid),
POINTER :: pgrid
102 rcsidentstring =
'$RCSfile: RFLU_InitFlowHardCode.F90,v $ $Revision: 1.38 $'
104 global => pregion%global
107 'RFLU_InitFlowHardCode.F90')
109 IF ( global%verbLevel > verbose_none )
THEN
110 WRITE(stdout,
'(A,1X,A)') solver_name, &
111 'Initializing flow field from hard code...'
113 IF ( global%verbLevel > verbose_low )
THEN
114 WRITE(stdout,
'(A,3X,A,A)') solver_name,
'Case: ',trim(global%casename)
122 pgrid => pregion%grid
123 pcv => pregion%mixt%cv
124 pgv => pregion%mixt%gv
125 pmixtinput => pregion%mixtInput
127 indcp = pregion%mixtInput%indCp
128 indmol = pregion%mixtInput%indMol
135 gref = global%refGamma
142 SELECT CASE ( pmixtinput%fluidModel )
148 CASE ( fluid_model_incomp )
149 pregion%mixt%cvState = cv_mixt_state_prim
152 CALL
errorstop(global,err_reached_default,__line__)
159 CASE ( fluid_model_comp )
160 pregion%mixt%cvState = cv_mixt_state_cons
162 SELECT CASE ( global%casename )
169 DO icg = 1,pgrid%nCellsTot
170 x = pgrid%cofg(xcoord,icg)
172 IF (
x < pmixtinput%prepRealVal1 )
THEN
173 d = pmixtinput%prepRealVal2
174 u = pmixtinput%prepRealVal3
177 p = pmixtinput%prepRealVal4
179 d = pmixtinput%prepRealVal5
183 p = pmixtinput%prepRealVal6
186 mw = pgv(gv_mixt_mol,indmol*icg)
187 cp = pgv(gv_mixt_cp ,indcp *icg)
192 pcv(cv_mixt_dens,icg) =
d
193 pcv(cv_mixt_xmom,icg) =
d*u
194 pcv(cv_mixt_ymom,icg) =
d*
v
195 pcv(cv_mixt_zmom,icg) =
d*w
205 CASE (
"ds_7p25" ,
"ds_20p0" ,
"ds_50p0" ,
"ds_125p0" , &
206 "ds_7p25_v2",
"ds_20p0_v2",
"ds_50p0_v2",
"ds_125p0_v2", &
207 "ds_7p25_v3",
"ds_20p0_v3",
"ds_50p0_v3",
"ds_125p0_v3", &
208 "ds_7p25_v4",
"ds_20p0_v4",
"ds_50p0_v4",
"ds_125p0_v4", &
209 "ds_7p25_v5",
"ds_20p0_v5",
"ds_50p0_v5",
"ds_125p0_v5" )
210 DO icg = 1,pgrid%nCellsTot
211 x = pgrid%cofg(xcoord,icg)
213 IF (
x < pmixtinput%prepRealVal1 )
THEN
214 d = pmixtinput%prepRealVal2
215 u = pmixtinput%prepRealVal3
218 p = pmixtinput%prepRealVal4
220 d = pmixtinput%prepRealVal5
224 p = pmixtinput%prepRealVal6
227 mw = pgv(gv_mixt_mol,indmol*icg)
228 cp = pgv(gv_mixt_cp ,indcp *icg)
233 pcv(cv_mixt_dens,icg) =
d
234 pcv(cv_mixt_xmom,icg) =
d*u
235 pcv(cv_mixt_ymom,icg) =
d*
v
236 pcv(cv_mixt_zmom,icg) =
d*w
242 CASE (
"ds_7p25_v6",
"ds_20p0_v6",
"ds_50p0_v6",
"ds_125p0_v6" )
243 DO icg = 1,pgrid%nCellsTot
244 x = pgrid%cofg(xcoord,icg)
245 y = abs(pgrid%cofg(ycoord,icg))
247 IF ( (
x < pmixtinput%prepRealVal1) .AND. &
248 (
y < pmixtinput%prepRealVal2) )
THEN
249 d = pmixtinput%prepRealVal3
250 u = pmixtinput%prepRealVal4
253 p = pmixtinput%prepRealVal5
255 d = pmixtinput%prepRealVal6
259 p = pmixtinput%prepRealVal7
262 mw = pgv(gv_mixt_mol,indmol*icg)
263 cp = pgv(gv_mixt_cp ,indcp *icg)
268 pcv(cv_mixt_dens,icg) =
d
269 pcv(cv_mixt_xmom,icg) =
d*u
270 pcv(cv_mixt_ymom,icg) =
d*
v
271 pcv(cv_mixt_zmom,icg) =
d*w
279 CASE (
"vortexNSCBC" )
287 DO icg = 1,pgrid%nCellsTot
288 x = pgrid%cofg(xcoord,icg)
289 y = pgrid%cofg(ycoord,icg)
308 mw = pgv(gv_mixt_mol,indmol*icg)
309 cp = pgv(gv_mixt_cp ,indcp *icg)
314 pcv(cv_mixt_dens,icg) =
d
315 pcv(cv_mixt_xmom,icg) =
d*u
316 pcv(cv_mixt_ymom,icg) =
d*
v
317 pcv(cv_mixt_zmom,icg) =
d*w
326 DO icg = 1,pgrid%nCellsTot
327 x = pgrid%cofg(xcoord,icg)
328 y = pgrid%cofg(ycoord,icg)
330 IF ( (
x < pmixtinput%prepRealVal1) .AND. &
331 (
y < pmixtinput%prepRealVal2) )
THEN
332 d = pmixtinput%prepRealVal3
336 p = pmixtinput%prepRealVal4
338 d = pmixtinput%prepRealVal5
342 p = pmixtinput%prepRealVal4
345 mw = pgv(gv_mixt_mol,indmol*icg)
346 cp = pgv(gv_mixt_cp ,indcp *icg)
351 pcv(cv_mixt_dens,icg) =
d
352 pcv(cv_mixt_xmom,icg) =
d*u
353 pcv(cv_mixt_ymom,icg) =
d*
v
354 pcv(cv_mixt_zmom,icg) =
d*w
363 DO icg = 1,pgrid%nCellsTot
364 x = pgrid%cofg(xcoord,icg)
365 y = pgrid%cofg(ycoord,icg)
366 z = pgrid%cofg(zcoord,icg)
368 IF ( (
x < 0.00_rfreal) .AND. &
369 (abs(
y) < 0.55_rfreal) .AND. &
370 (abs(
z) < 0.55_rfreal) )
THEN
371 d = 34.7418238572_rfreal
377 d = 1.20903522664_rfreal
384 mw = pgv(gv_mixt_mol,indmol*icg)
385 cp = pgv(gv_mixt_cp ,indcp *icg)
390 pcv(cv_mixt_dens,icg) =
d
391 pcv(cv_mixt_xmom,icg) =
d*u
392 pcv(cv_mixt_ymom,icg) =
d*
v
393 pcv(cv_mixt_zmom,icg) =
d*w
404 xmin = minval(pgrid%cofg(xcoord,1:pgrid%nCellsTot))
405 ymin = minval(pgrid%cofg(ycoord,1:pgrid%nCellsTot))
406 zmin = minval(pgrid%cofg(zcoord,1:pgrid%nCellsTot))
411 IF ( dmin < 0.0_rfreal )
THEN
412 doffs = -2.0_rfreal*dmin
417 IF ( pmin < 0.0_rfreal )
THEN
418 poffs = -2.0_rfreal*pmin
423 DO icg = 1,pgrid%nCellsTot
424 x = pgrid%cofg(xcoord,icg)
425 y = pgrid%cofg(ycoord,icg)
426 z = pgrid%cofg(zcoord,icg)
428 mw = pgv(gv_mixt_mol,indmol*icg)
429 cp = pgv(gv_mixt_cp ,indcp *icg)
443 pcv(cv_mixt_dens,icg) =
d
444 pcv(cv_mixt_xmom,icg) =
d*u
445 pcv(cv_mixt_ymom,icg) =
d*
v
446 pcv(cv_mixt_zmom,icg) =
d*w
453 nx = pregion%mixtInput%prepRealVal1
454 ny = pregion%mixtInput%prepRealVal2
455 nz = pregion%mixtInput%prepRealVal3
460 DO icg = 1,pgrid%nCellsTot
461 x = pgrid%cofg(xcoord,icg)
462 y = pgrid%cofg(ycoord,icg)
463 z = pgrid%cofg(zcoord,icg)
465 mw = pgv(gv_mixt_mol,indmol*icg)
466 cp = pgv(gv_mixt_cp ,indcp *icg)
471 CALL
rflu_setexactflowtrig(global,nx,ny,nz,
x,
y,
z,1,
d,gx,gy,gz)
472 CALL
rflu_setexactflowtrig(global,nx,ny,nz,
x,
y,
z,2,u,gx,gy,gz)
473 CALL
rflu_setexactflowtrig(global,nx,ny,nz,
x,
y,
z,3,
v,gx,gy,gz)
474 CALL
rflu_setexactflowtrig(global,nx,ny,nz,
x,
y,
z,4,w,gx,gy,gz)
475 CALL
rflu_setexactflowtrig(global,nx,ny,nz,
x,
y,
z,5,p,gx,gy,gz)
480 pcv(cv_mixt_dens,icg) =
d
481 pcv(cv_mixt_xmom,icg) =
d*u
482 pcv(cv_mixt_ymom,icg) =
d*
v
483 pcv(cv_mixt_zmom,icg) =
d*w
492 IF ( pregion%mixtInput%gasModel /= gas_model_mixt_gasliq )
THEN
493 CALL
errorstop(global,err_gasmodel_invalid,__line__, &
494 'Case initialization only valid with gas-liq model.')
497 IF ( pregion%specInput%nSpecies /= 2 )
THEN
498 WRITE(errorstring,
'(A,1X,I2)')
'Should be:', &
499 pregion%specInput%nSpecies
500 CALL
errorstop(global,err_spec_nspec_invalid,__line__, &
504 rgas =
mixtperf_r_m(pregion%specInput%specType(1)%pMaterial%molw)
507 rvap =
mixtperf_r_m(pregion%specInput%specType(2)%pMaterial%molw)
510 cvl = global%refCvLiq
512 DO icg = 1,pgrid%nCellsTot
513 x = pgrid%cofg(xcoord,icg)
514 y = pgrid%cofg(ycoord,icg)
516 yp = 8.9e-05_rfreal + 0.0175_rfreal*(
x - 2.5e-04_rfreal)
518 IF ( (
y <= 8.9e-05_rfreal) .AND. (
y >= -8.9e-05_rfreal) .AND. &
519 (
x >= 0.0e+00_rfreal) .AND. (
x <= 2.5e-04_rfreal) )
THEN
528 d = rl*pl + rg*pg + rv*pv
530 u = 300.0*(1.0_rfreal - (
y*
y)/(h*h))
532 IF ( abs(
y) < 5.5e-05_rfreal )
THEN
547 d = rl*pl + rg*pg + rv*pv
554 cvm = (rl*pl*cvl + rg*pg*cvg + rv*pv*cvv)/
d
557 pcv(cv_mixt_dens,icg) =
d
558 pcv(cv_mixt_xmom,icg) =
d*u
559 pcv(cv_mixt_ymom,icg) =
d*
v
560 pcv(cv_mixt_zmom,icg) =
d*w
570 DO icg = 1,pgrid%nCellsTot
571 z = pgrid%cofg(zcoord,icg)
573 IF (
z < -0.0254_rfreal )
THEN
580 d = 1.16871466381_rfreal
587 mw = pgv(gv_mixt_mol,indmol*icg)
588 cp = pgv(gv_mixt_cp ,indcp *icg)
593 pcv(cv_mixt_dens,icg) =
d
594 pcv(cv_mixt_xmom,icg) =
d*u
595 pcv(cv_mixt_ymom,icg) =
d*
v
596 pcv(cv_mixt_zmom,icg) =
d*w
600 CASE (
"kjet2",
"kjet2v3",
"kjet2v4",
"kjet2v5" )
601 DO icg = 1,pgrid%nCellsTot
602 x = pgrid%cofg(xcoord,icg)
604 IF (
x < -0.0127_rfreal )
THEN
611 d = 1.1220002356_rfreal
618 mw = pgv(gv_mixt_mol,indmol*icg)
619 cp = pgv(gv_mixt_cp ,indcp *icg)
624 pcv(cv_mixt_dens,icg) =
d
625 pcv(cv_mixt_xmom,icg) =
d*u
626 pcv(cv_mixt_ymom,icg) =
d*
v
627 pcv(cv_mixt_zmom,icg) =
d*w
631 CASE (
"kjet2v3mp",
"kjet2v4mp",
"kjet2v5mp" )
632 DO icg = 1,pgrid%nCellsTot
633 x = pgrid%cofg(xcoord,icg)
635 IF (
x < pmixtinput%prepRealVal1 )
THEN
636 d = pmixtinput%prepRealVal2
637 u = pmixtinput%prepRealVal3
640 p = pmixtinput%prepRealVal4
642 d = pmixtinput%prepRealVal5
643 u = pmixtinput%prepRealVal6
646 p = pmixtinput%prepRealVal7
649 mw = pgv(gv_mixt_mol,indmol*icg)
650 cp = pgv(gv_mixt_cp ,indcp *icg)
655 pcv(cv_mixt_dens,icg) =
d
656 pcv(cv_mixt_xmom,icg) =
d*u
657 pcv(cv_mixt_ymom,icg) =
d*
v
658 pcv(cv_mixt_zmom,icg) =
d*w
666 CASE (
"MShock_H2O_Air001" )
667 IF ( pregion%mixtInput%gasModel /= gas_model_mixt_gasliq )
THEN
668 CALL
errorstop(global,err_gasmodel_invalid,__line__, &
669 'Case initialization only valid with gas-liq model.')
672 IF ( pregion%specInput%nSpecies /= 2 )
THEN
673 WRITE(errorstring,
'(A,1X,I2)')
'Should be:', &
674 pregion%specInput%nSpecies
675 CALL
errorstop(global,err_spec_nspec_invalid,__line__, &
679 rgas =
mixtperf_r_m(pregion%specInput%specType(1)%pMaterial%molw)
682 rvap =
mixtperf_r_m(pregion%specInput%specType(2)%pMaterial%molw)
685 cvl = global%refCvLiq
687 DO icg = 1,pgrid%nCellsTot
688 x = pgrid%cofg(xcoord,icg)
690 IF (
x < 0.7_rfreal )
THEN
698 d = rl*pl + rg*pg + rv*pv
711 d = rl*pl + rg*pg + rv*pv
718 cvm = (rl*pl*cvl + rg*pg*cvg + rv*pv*cvv)/
d
721 pcv(cv_mixt_dens,icg) =
d
722 pcv(cv_mixt_xmom,icg) =
d*u
723 pcv(cv_mixt_ymom,icg) =
d*
v
724 pcv(cv_mixt_zmom,icg) =
d*w
728 CASE (
"MShock_H2O_Air002" )
729 IF ( pregion%mixtInput%gasModel /= gas_model_mixt_gasliq )
THEN
730 CALL
errorstop(global,err_gasmodel_invalid,__line__, &
731 'Case initialization only valid with gas-liq model.')
734 IF ( pregion%specInput%nSpecies /= 2 )
THEN
735 WRITE(errorstring,
'(A,1X,I2)')
'Should be:', &
736 pregion%specInput%nSpecies
737 CALL
errorstop(global,err_spec_nspec_invalid,__line__, &
741 rgas =
mixtperf_r_m(pregion%specInput%specType(1)%pMaterial%molw)
744 rvap =
mixtperf_r_m(pregion%specInput%specType(2)%pMaterial%molw)
747 cvl = global%refCvLiq
749 DO icg = 1,pgrid%nCellsTot
750 x = pgrid%cofg(xcoord,icg)
752 IF (
x < 0.7_rfreal )
THEN
760 d = rl*pl + rg*pg + rv*pv
773 d = rl*pl + rg*pg + rv*pv
780 cvm = (rl*pl*cvl + rg*pg*cvg + rv*pv*cvv)/
d
783 pcv(cv_mixt_dens,icg) =
d
784 pcv(cv_mixt_xmom,icg) =
d*u
785 pcv(cv_mixt_ymom,icg) =
d*
v
786 pcv(cv_mixt_zmom,icg) =
d*w
794 CASE (
"MShock_Air_Air_He001" )
795 IF ( pregion%mixtInput%gasModel /= gas_model_mixt_gasliq )
THEN
796 CALL
errorstop(global,err_gasmodel_invalid,__line__, &
797 'Case initialization only valid with gas-liq model.')
800 IF ( pregion%specInput%nSpecies /= 2 )
THEN
801 WRITE(errorstring,
'(A,1X,I2)')
'Should be:', &
802 pregion%specInput%nSpecies
803 CALL
errorstop(global,err_spec_nspec_invalid,__line__, &
807 rgas =
mixtperf_r_m(pregion%specInput%specType(1)%pMaterial%molw)
810 rvap =
mixtperf_r_m(pregion%specInput%specType(2)%pMaterial%molw)
813 cvl = global%refCvLiq
815 DO icg = 1,pgrid%nCellsTot
816 x = pgrid%cofg(xcoord,icg)
818 IF (
x < 0.25_rfreal )
THEN
826 d = rl*pl + rg*pg + rv*pv
831 ELSE IF ( (
x > 0.25_rfreal) .AND. (
x < 0.5_rfreal) )
THEN
839 d = rl*pl + rg*pg + rv*pv
852 d = rl*pl + rg*pg + rv*pv
859 cvm = (rl*pl*cvl + rg*pg*cvg + rv*pv*cvv)/
d
862 pcv(cv_mixt_dens,icg) =
d
863 pcv(cv_mixt_xmom,icg) =
d*u
864 pcv(cv_mixt_ymom,icg) =
d*
v
865 pcv(cv_mixt_zmom,icg) =
d*w
874 DO icg = 1,pgrid%nCellsTot
875 x = pgrid%cofg(xcoord,icg)
877 IF (
x < pmixtinput%prepRealVal1 )
THEN
878 d = pmixtinput%prepRealVal2
879 u = pmixtinput%prepRealVal3
882 p = pmixtinput%prepRealVal4
884 d = pmixtinput%prepRealVal5
888 p = pmixtinput%prepRealVal6
891 mw = pgv(gv_mixt_mol,indmol*icg)
892 cp = pgv(gv_mixt_cp ,indcp *icg)
897 pcv(cv_mixt_dens,icg) =
d
898 pcv(cv_mixt_xmom,icg) =
d*u
899 pcv(cv_mixt_ymom,icg) =
d*
v
900 pcv(cv_mixt_zmom,icg) =
d*w
918 l = l_l*pmixtinput%prepRealVal1
919 c = pmixtinput%prepRealVal2
923 ro = pmixtinput%prepRealVal3
924 po = pmixtinput%prepRealVal4
926 DO icg = 1,pgrid%nCellsTot
927 x = pgrid%cofg(xcoord,icg)
928 y = pgrid%cofg(ycoord,icg)
932 mw = pgv(gv_mixt_mol,indmol*icg)
933 cp = pgv(gv_mixt_cp ,indcp *icg)
938 um= uo +
a*(
sin(global%pi*(radius-r1)/(r2-r1)))**9.0_rfreal
940 p = po + (um - uo)*(ro*
c)
941 d = ro*(p/po)**(1.0_rfreal/
g)
945 pcv(cv_mixt_dens,icg) =
d
946 pcv(cv_mixt_xmom,icg) =
d*u
947 pcv(cv_mixt_ymom,icg) =
d*
v
948 pcv(cv_mixt_zmom,icg) =
d*w
961 l = l_l*pmixtinput%prepRealVal1
962 c = pmixtinput%prepRealVal2
966 ro = pmixtinput%prepRealVal3
967 po = pmixtinput%prepRealVal4
969 DO icg = 1,pgrid%nCellsTot
970 x = pgrid%cofg(xcoord,icg)
972 mw = pgv(gv_mixt_mol,indmol*icg)
973 cp = pgv(gv_mixt_cp ,indcp *icg)
978 u = uo +
a*(
sin(global%pi*
x/l))**9.0_rfreal
979 p = po + (u - uo)*(ro*
c)
980 d = ro*(p/po)**(1.0_rfreal/
g)
984 pcv(cv_mixt_dens,icg) =
d
985 pcv(cv_mixt_xmom,icg) =
d*u
986 pcv(cv_mixt_ymom,icg) =
d*
v
987 pcv(cv_mixt_zmom,icg) =
d*w
996 l = l_l*pmixtinput%prepRealVal1
997 c = pmixtinput%prepRealVal2
1001 ro = pmixtinput%prepRealVal3
1002 po = pmixtinput%prepRealVal4
1004 DO icg = 1,pgrid%nCellsTot
1005 x = pgrid%cofg(xcoord,icg)
1007 mw = pgv(gv_mixt_mol,indmol*icg)
1008 cp = pgv(gv_mixt_cp ,indcp *icg)
1014 p = po + ro*
c*
a*((
sin(global%pi*
x/l))**9.0_rfreal)
1015 d = ro*(p/po)**(1.0_rfreal/
g)
1019 pcv(cv_mixt_dens,icg) =
d
1020 pcv(cv_mixt_xmom,icg) =
d*u
1021 pcv(cv_mixt_ymom,icg) =
d*
v
1022 pcv(cv_mixt_zmom,icg) =
d*w
1031 l = l_l*pmixtinput%prepRealVal1
1032 c = pmixtinput%prepRealVal2
1036 ro = pmixtinput%prepRealVal3
1037 po = pmixtinput%prepRealVal4
1039 DO icg = 1,pgrid%nCellsTot
1040 y = pgrid%cofg(ycoord,icg)
1042 mw = pgv(gv_mixt_mol,indmol*icg)
1043 cp = pgv(gv_mixt_cp ,indcp *icg)
1048 v = uo +
a*(
sin(global%pi*
y/l))**9.0_rfreal
1049 p = po + (
v - uo)*(ro*
c)
1050 d = ro*(p/po)**(1.0_rfreal/
g)
1054 pcv(cv_mixt_dens,icg) =
d
1055 pcv(cv_mixt_xmom,icg) =
d*u
1056 pcv(cv_mixt_ymom,icg) =
d*
v
1057 pcv(cv_mixt_zmom,icg) =
d*w
1066 l = l_l*pmixtinput%prepRealVal1
1067 c = pmixtinput%prepRealVal2
1071 ro = pmixtinput%prepRealVal3
1072 po = pmixtinput%prepRealVal4
1074 DO icg = 1,pgrid%nCellsTot
1075 y = pgrid%cofg(ycoord,icg)
1077 mw = pgv(gv_mixt_mol,indmol*icg)
1078 cp = pgv(gv_mixt_cp ,indcp *icg)
1084 p = po + ro*
c*
a*((
sin(global%pi*
y/l))**9.0_rfreal)
1085 d = ro*(p/po)**(1.0_rfreal/
g)
1089 pcv(cv_mixt_dens,icg) =
d
1090 pcv(cv_mixt_xmom,icg) =
d*u
1091 pcv(cv_mixt_ymom,icg) =
d*
v
1092 pcv(cv_mixt_zmom,icg) =
d*w
1101 l = l_l*pmixtinput%prepRealVal1
1102 c = pmixtinput%prepRealVal2
1106 ro = pmixtinput%prepRealVal3
1107 po = pmixtinput%prepRealVal4
1109 DO icg = 1,pgrid%nCellsTot
1110 x = pgrid%cofg(xcoord,icg)
1111 y = pgrid%cofg(ycoord,icg)
1115 mw = pgv(gv_mixt_mol,indmol*icg)
1116 cp = pgv(gv_mixt_cp ,indcp *icg)
1121 um = uo +
a*(
sin(global%pi*xx/l))**9.0_rfreal
1123 u = um*
cos(global%pi/4.0_rfreal)
1124 p = po + (um - uo)*(ro*
c)
1125 d = ro*(p/po)**(1.0_rfreal/
g)
1126 v = um*
sin(global%pi/4.0_rfreal)
1129 pcv(cv_mixt_dens,icg) =
d
1130 pcv(cv_mixt_xmom,icg) =
d*u
1131 pcv(cv_mixt_ymom,icg) =
d*
v
1132 pcv(cv_mixt_zmom,icg) =
d*w
1141 l = l_l*pmixtinput%prepRealVal1
1142 c = pmixtinput%prepRealVal2
1146 ro = pmixtinput%prepRealVal3
1147 po = pmixtinput%prepRealVal4
1149 DO icg = 1,pgrid%nCellsTot
1150 x = pgrid%cofg(xcoord,icg)
1151 y = pgrid%cofg(ycoord,icg)
1155 mw = pgv(gv_mixt_mol,indmol*icg)
1156 cp = pgv(gv_mixt_cp ,indcp *icg)
1161 um = uo +
a*(
sin(global%pi*xx/l))**9.0_rfreal
1163 u = uo*
cos(global%pi/4.0_rfreal)
1164 p = po + ro*
c*
a*((
sin(global%pi*xx/l))**9.0_rfreal)
1165 d = ro*(p/po)**(1.0_rfreal/
g)
1166 v = uo*
sin(global%pi/4.0_rfreal)
1169 pcv(cv_mixt_dens,icg) =
d
1170 pcv(cv_mixt_xmom,icg) =
d*u
1171 pcv(cv_mixt_ymom,icg) =
d*
v
1172 pcv(cv_mixt_zmom,icg) =
d*w
1181 l = l_l*pmixtinput%prepRealVal1
1182 c = pmixtinput%prepRealVal2
1186 ro = pmixtinput%prepRealVal3
1187 po = pmixtinput%prepRealVal4
1188 xo = pmixtinput%prepRealVal5
1190 DO icg = 1,pgrid%nCellsTot
1191 x = pgrid%cofg(xcoord,icg)
1193 mw = pgv(gv_mixt_mol,indmol*icg)
1194 cp = pgv(gv_mixt_cp ,indcp *icg)
1203 p = po + ro*
c*
a*((
sin(global%pi*
x/l))**9.0_rfreal)
1204 d = ro*(p/po)**(1.0_rfreal/
g)
1215 pcv(cv_mixt_dens,icg) =
d
1216 pcv(cv_mixt_xmom,icg) =
d*u
1217 pcv(cv_mixt_ymom,icg) =
d*
v
1218 pcv(cv_mixt_zmom,icg) =
d*w
1227 DO icg = 1,pgrid%nCellsTot
1228 x = pgrid%cofg(xcoord,icg)
1230 IF (
x < pmixtinput%prepRealVal1 )
THEN
1231 d = pmixtinput%prepRealVal2
1235 p = pmixtinput%prepRealVal3
1237 d = pmixtinput%prepRealVal4
1241 p = pmixtinput%prepRealVal5
1244 mw = pgv(gv_mixt_mol,indmol*icg)
1245 cp = pgv(gv_mixt_cp ,indcp *icg)
1250 pcv(cv_mixt_dens,icg) =
d
1251 pcv(cv_mixt_xmom,icg) =
d*u
1252 pcv(cv_mixt_ymom,icg) =
d*
v
1253 pcv(cv_mixt_zmom,icg) =
d*w
1262 IF ( pregion%mixtInput%gasModel /= gas_model_mixt_gasliq )
THEN
1263 CALL
errorstop(global,err_gasmodel_invalid,__line__, &
1264 'Case initialization only valid with gas-liq model.')
1267 IF ( pregion%specInput%nSpecies /= 2 )
THEN
1268 WRITE(errorstring,
'(A,1X,I2)')
'Should be:', &
1269 pregion%specInput%nSpecies
1270 CALL
errorstop(global,err_spec_nspec_invalid,__line__, &
1274 rgas =
mixtperf_r_m(pregion%specInput%specType(1)%pMaterial%molw)
1277 rvap =
mixtperf_r_m(pregion%specInput%specType(2)%pMaterial%molw)
1280 cvl = global%refCvLiq
1282 DO icg = 1,pgrid%nCellsTot
1283 x = pgrid%cofg(xcoord,icg)
1285 IF (
x <= 3.0e-03_rfreal )
THEN
1288 rg = 24.14836_rfreal
1293 d = rl*pl + rg*pg + rv*pv
1301 rg = 24.14836_rfreal
1306 d = rl*pl + rg*pg + rv*pv
1313 cvm = (rl*pl*cvl + rg*pg*cvg + rv*pv*cvv)/
d
1316 pcv(cv_mixt_dens,icg) =
d
1317 pcv(cv_mixt_xmom,icg) =
d*u
1318 pcv(cv_mixt_ymom,icg) =
d*
v
1319 pcv(cv_mixt_zmom,icg) =
d*w
1329 CASE (
"onera_c0",
"onera_c0_2d_100x50" )
1332 height = minval(pgrid%xyz(ycoord,1:pgrid%nVertTot))
1334 DO icg = 1,pgrid%nCellsTot
1335 x = pgrid%cofg(xcoord,icg)
1336 y = pgrid%cofg(ycoord,icg)
1341 mw = pgv(gv_mixt_mol,indmol*icg)
1342 cp = pgv(gv_mixt_cp ,indcp *icg)
1347 pcv(cv_mixt_dens,icg) =
d
1348 pcv(cv_mixt_xmom,icg) =
d*u
1349 pcv(cv_mixt_ymom,icg) =
d*
v
1350 pcv(cv_mixt_zmom,icg) =
d*w
1358 CASE (
"onera_c0_3d" )
1359 DO icg = 1,pgrid%nCellsTot
1360 x = pgrid%cofg(xcoord,icg)
1361 y = pgrid%cofg(ycoord,icg)
1362 z = pgrid%cofg(zcoord,icg)
1366 mw = pgv(gv_mixt_mol,indmol*icg)
1367 cp = pgv(gv_mixt_cp ,indcp *icg)
1372 pcv(cv_mixt_dens,icg) =
d
1373 pcv(cv_mixt_xmom,icg) =
d*u
1374 pcv(cv_mixt_ymom,icg) =
d*
v
1375 pcv(cv_mixt_zmom,icg) =
d*w
1384 CASE (
"pipeacoust" )
1389 l = maxval(pgrid%xyz(xcoord,1:pgrid%nVert))
1390 ro = maxval(pgrid%xyz(ycoord,1:pgrid%nVert))
1392 im =
max(pmixtinput%prepIntVal1,1)
1393 in =
max(pmixtinput%prepIntVal2,1)
1394 iq =
max(pmixtinput%prepIntVal3,1)
1395 ibc =
max(
min(pmixtinput%prepIntVal4,1),0)
1397 const =
max(pmixtinput%prepRealVal1,0.0_rfreal)
1399 CALL
rflu_jyzom(im,iq,dummyreal,etaqm,dummyreal,dummyreal)
1401 omega = atot*
sqrt((in*global%pi/l)**2 + (etaqm/ro)**2)
1403 IF ( global%verbLevel > verbose_low )
THEN
1404 WRITE(stdout,
'(A,5X,A,1X,I2)' ) solver_name, &
1405 'Boundary condition:',ibc
1406 WRITE(stdout,
'(A,5X,A,3(1X,I2))') solver_name, &
1408 WRITE(stdout,
'(A,5X,A,1X,E13.6)') solver_name, &
1409 'Total density (kg/m^3): ',dtot
1410 WRITE(stdout,
'(A,5X,A,1X,E13.6)') solver_name, &
1411 'Total pressure (N/m^2): ',ptot
1412 WRITE(stdout,
'(A,5X,A,1X,E13.6)') solver_name, &
1413 'Angular frequency (rad/s):',omega
1414 WRITE(stdout,
'(A,5X,A,1X,E13.6)') solver_name, &
1415 'Constant (-): ',const
1418 DO icg = 1,pgrid%nCellsTot
1419 x = pgrid%cofg(xcoord,icg)
1420 y = pgrid%cofg(ycoord,icg)
1421 z = pgrid%cofg(zcoord,icg)
1424 l,ro,ibc,im,in,iq,etaqm,omega, &
1425 dtot,ptot,atot,const,
d,u,
v,w,p)
1427 pcv(cv_mixt_dens,icg) =
d
1428 pcv(cv_mixt_xmom,icg) =
d*u
1429 pcv(cv_mixt_ymom,icg) =
d*
v
1430 pcv(cv_mixt_zmom,icg) =
d*w
1442 DO icg = 1,pgrid%nCellsTot
1443 x = pgrid%cofg(xcoord,icg)
1444 y = pgrid%cofg(ycoord,icg)
1448 pcv(cv_mixt_dens,icg) =
d
1449 pcv(cv_mixt_xmom,icg) =
d*u
1450 pcv(cv_mixt_ymom,icg) =
d*
v
1451 pcv(cv_mixt_zmom,icg) =
d*w
1459 CASE (
"ShockBubble" )
1460 IF ( pregion%mixtInput%gasModel /= gas_model_mixt_gasliq )
THEN
1461 CALL
errorstop(global,err_gasmodel_invalid,__line__, &
1462 'Case initialization only valid with gas-liq model.')
1465 IF ( pregion%specInput%nSpecies /= 2 )
THEN
1466 WRITE(errorstring,
'(A,1X,I2)')
'Should be:', &
1467 pregion%specInput%nSpecies
1468 CALL
errorstop(global,err_spec_nspec_invalid,__line__, &
1472 rgas =
mixtperf_r_m(pregion%specInput%specType(1)%pMaterial%molw)
1475 rvap =
mixtperf_r_m(pregion%specInput%specType(2)%pMaterial%molw)
1478 cvl = global%refCvLiq
1480 DO icg = 1,pgrid%nCellsTot
1481 x = pgrid%cofg(xcoord,icg)
1482 y = pgrid%cofg(ycoord,icg)
1484 IF ( ((
x-0.085_rfreal)**2 +
y**2) <= 6.25e-04_rfreal )
THEN
1489 rv = 0.232127_rfreal
1492 d = rl*pl + rg*pg + rv*pv
1497 ELSE IF (
x < 0.050_rfreal )
THEN
1505 d = rl*pl + rg*pg + rv*pv
1518 d = rl*pl + rg*pg + rv*pv
1525 cvm = (rl*pl*cvl + rg*pg*cvg + rv*pv*cvv)/
d
1526 vm2 = u*u +
v*
v + w*w
1528 pcv(cv_mixt_dens,icg) =
d
1529 pcv(cv_mixt_xmom,icg) =
d*u
1530 pcv(cv_mixt_ymom,icg) =
d*
v
1531 pcv(cv_mixt_zmom,icg) =
d*w
1540 CASE (
"skews_ms2p0",
"skews_ms3p0",
"skews_ms4p0" )
1541 DO icg = 1,pgrid%nCellsTot
1542 x = pgrid%cofg(xcoord,icg)
1544 IF (
x < pmixtinput%prepRealVal1 )
THEN
1545 d = pmixtinput%prepRealVal2
1546 u = pmixtinput%prepRealVal3
1549 p = pmixtinput%prepRealVal4
1551 d = pmixtinput%prepRealVal5
1555 p = pmixtinput%prepRealVal6
1558 mw = pgv(gv_mixt_mol,indmol*icg)
1559 cp = pgv(gv_mixt_cp ,indcp *icg)
1564 pcv(cv_mixt_dens,icg) =
d
1565 pcv(cv_mixt_xmom,icg) =
d*u
1566 pcv(cv_mixt_ymom,icg) =
d*
v
1567 pcv(cv_mixt_zmom,icg) =
d*w
1576 DO icg = 1,pgrid%nCellsTot
1577 x = pgrid%cofg(xcoord,icg)
1579 IF (
x < pmixtinput%prepRealVal1 )
THEN
1580 d = pmixtinput%prepRealVal2
1581 u = pmixtinput%prepRealVal3
1584 p = pmixtinput%prepRealVal4
1586 d = pmixtinput%prepRealVal5
1590 p = pmixtinput%prepRealVal6
1593 mw = pgv(gv_mixt_mol,indmol*icg)
1594 cp = pgv(gv_mixt_cp ,indcp *icg)
1599 pcv(cv_mixt_dens,icg) =
d
1600 pcv(cv_mixt_xmom,icg) =
d*u
1601 pcv(cv_mixt_ymom,icg) =
d*
v
1602 pcv(cv_mixt_zmom,icg) =
d*w
1611 DO icg = 1,pgrid%nCellsTot
1612 x = pgrid%cofg(xcoord,icg)
1614 IF (
x < pmixtinput%prepRealVal1 )
THEN
1615 d = pmixtinput%prepRealVal2
1616 u = pmixtinput%prepRealVal3
1619 p = pmixtinput%prepRealVal4
1621 d = pmixtinput%prepRealVal5
1625 p = pmixtinput%prepRealVal6
1628 mw = pgv(gv_mixt_mol,indmol*icg)
1629 cp = pgv(gv_mixt_cp ,indcp *icg)
1634 pcv(cv_mixt_dens,icg) =
d
1635 pcv(cv_mixt_xmom,icg) =
d*u
1636 pcv(cv_mixt_ymom,icg) =
d*
v
1637 pcv(cv_mixt_zmom,icg) =
d*w
1647 CASE (
"stg1d",
"stg2d" )
1648 DO icg = 1,pgrid%nCellsTot
1649 x = pgrid%cofg(xcoord,icg)
1651 IF (
x < pmixtinput%prepRealVal1 )
THEN
1652 d = pmixtinput%prepRealVal2
1653 u = pmixtinput%prepRealVal3
1656 p = pmixtinput%prepRealVal4
1657 ELSE IF ( (
x >= pmixtinput%prepRealVal1 ) .AND. &
1658 (
x < pmixtinput%prepRealVal11) )
THEN
1659 d = pmixtinput%prepRealVal5
1660 u = pmixtinput%prepRealVal6
1663 p = pmixtinput%prepRealVal7
1665 d = pmixtinput%prepRealVal12
1666 u = pmixtinput%prepRealVal13
1669 p = pmixtinput%prepRealVal14
1672 mw = pgv(gv_mixt_mol,indmol*icg)
1673 cp = pgv(gv_mixt_cp ,indcp *icg)
1678 pcv(cv_mixt_dens,icg) =
d
1679 pcv(cv_mixt_xmom,icg) =
d*u
1680 pcv(cv_mixt_ymom,icg) =
d*
v
1681 pcv(cv_mixt_zmom,icg) =
d*w
1687 CASE (
"st_sod1",
"st_sod1_mp2" )
1688 DO icg = 1,pgrid%nCellsTot
1689 x = pgrid%cofg(xcoord,icg)
1691 IF (
x < 0.5_rfreal )
THEN
1705 mw = pgv(gv_mixt_mol,indmol*icg)
1706 cp = pgv(gv_mixt_cp ,indcp *icg)
1711 pcv(cv_mixt_dens,icg) =
d
1712 pcv(cv_mixt_xmom,icg) =
d*u
1713 pcv(cv_mixt_ymom,icg) =
d*
v
1714 pcv(cv_mixt_zmom,icg) =
d*w
1720 CASE (
"st_sod2",
"st_sod2_mp2" )
1721 DO icg = 1,pgrid%nCellsTot
1722 x = pgrid%cofg(xcoord,icg)
1724 IF (
x < 0.0_rfreal )
THEN
1738 mw = pgv(gv_mixt_mol,indmol*icg)
1739 cp = pgv(gv_mixt_cp ,indcp *icg)
1744 pcv(cv_mixt_dens,icg) =
d
1745 pcv(cv_mixt_xmom,icg) =
d*u
1746 pcv(cv_mixt_ymom,icg) =
d*
v
1747 pcv(cv_mixt_zmom,icg) =
d*w
1756 CASE (
"ssvorth20x5l1" ,
"ssvortp20x5l1" , &
1757 "ssvorth20x5l3" ,
"ssvortp20x5l3" , &
1758 "ssvorth40x10l1" ,
"ssvortp40x10l1" , &
1759 "ssvorth40x10l3" ,
"ssvortp40x10l3" , &
1760 "ssvorth80x20l1" ,
"ssvortp80x20l1" , &
1761 "ssvorth80x20l3" ,
"ssvortp80x20l3" , &
1762 "ssvorth160x40l1" ,
"ssvortp160x40l1" , &
1763 "ssvorth160x40l3" ,
"ssvortp160x40l3" , &
1764 "ssvorth320x80l1" ,
"ssvortp320x80l1" , &
1765 "ssvorth320x80l3" ,
"ssvortp320x80l3" , &
1766 "ssvorth640x160l1",
"ssvortp640x160l1", &
1767 "ssvorth640x160l3",
"ssvortp640x160l3" )
1770 DO icg = 1,pgrid%nCellsTot
1771 x = pgrid%cofg(xcoord,icg)
1772 y = pgrid%cofg(ycoord,icg)
1777 pcv(cv_mixt_dens,icg) =
d
1778 pcv(cv_mixt_xmom,icg) =
d*u
1779 pcv(cv_mixt_ymom,icg) =
d*
v
1780 pcv(cv_mixt_zmom,icg) =
d*w
1788 CASE (
"Two_Rarefaction" )
1789 IF ( pregion%mixtInput%gasModel /= gas_model_mixt_gasliq )
THEN
1790 CALL
errorstop(global,err_gasmodel_invalid,__line__, &
1791 'Case initialization only valid with gas-liq model.')
1794 IF ( pregion%specInput%nSpecies /= 2 )
THEN
1795 WRITE(errorstring,
'(A,1X,I2)')
'Should be:', &
1796 pregion%specInput%nSpecies
1797 CALL
errorstop(global,err_spec_nspec_invalid,__line__, &
1801 rgas =
mixtperf_r_m(pregion%specInput%specType(1)%pMaterial%molw)
1804 rvap =
mixtperf_r_m(pregion%specInput%specType(2)%pMaterial%molw)
1807 cvl = global%refCvLiq
1809 DO icg = 1,pgrid%nCellsTot
1810 x = pgrid%cofg(xcoord,icg)
1812 IF (
x < 0.5_rfreal )
THEN
1820 d = rl*pl + rg*pg + rv*pv
1833 d = rl*pl + rg*pg + rv*pv
1840 cvm = (rl*pl*cvl + rg*pg*cvg + rv*pv*cvv)/
d
1843 pcv(cv_mixt_dens,icg) =
d
1844 pcv(cv_mixt_xmom,icg) =
d*u
1845 pcv(cv_mixt_ymom,icg) =
d*
v
1846 pcv(cv_mixt_zmom,icg) =
d*w
1854 CASE (
"volcmod2dv3" )
1855 DO icg = 1,pgrid%nCellsTot
1856 y = pgrid%cofg(ycoord,icg)
1858 IF (
y < -500.0_rfreal )
THEN
1872 mw = pgv(gv_mixt_mol,indmol*icg)
1873 cp = pgv(gv_mixt_cp ,indcp *icg)
1880 pcv(cv_mixt_dens,icg) =
d
1881 pcv(cv_mixt_xmom,icg) =
d*u
1882 pcv(cv_mixt_ymom,icg) =
d*
v
1883 pcv(cv_mixt_zmom,icg) =
d*w
1894 a_cl = -0.0005_rfreal
1898 rc = rc_l*pmixtinput%prepRealVal1
1899 c = pmixtinput%prepRealVal2
1900 a = a_cl*
c*pmixtinput%prepRealVal1
1903 ro = pmixtinput%prepRealVal3
1904 po = pmixtinput%prepRealVal4
1906 DO icg = 1,pgrid%nCellsTot
1907 x = pgrid%cofg(xcoord,icg)
1908 y = pgrid%cofg(ycoord,icg)
1912 mw = pgv(gv_mixt_mol,indmol*icg)
1913 cp = pgv(gv_mixt_cp ,indcp *icg)
1918 IF ( radius <= rc )
THEN
1919 psi =
a*exp(-(
x*
x+
y*
y)/(2.0_rfreal*rc*rc))
1925 u = uo -
y*psi/(
d*rc*rc)
1928 p = po + (
d*
a*psi)/(rc*rc)
1930 pcv(cv_mixt_dens,icg) =
d
1931 pcv(cv_mixt_xmom,icg) =
d*u
1932 pcv(cv_mixt_ymom,icg) =
d*
v
1933 pcv(cv_mixt_zmom,icg) =
d*w
1941 CASE (
"vortex_part" )
1942 DO icg = 1,pgrid%nCellsTot
1943 x = pgrid%cofg(xcoord,icg)
1944 y = pgrid%cofg(ycoord,icg)
1946 mw = pgv(gv_mixt_mol,indmol*icg)
1947 cp = pgv(gv_mixt_cp ,indcp *icg)
1958 pcv(cv_mixt_dens,icg) =
d
1959 pcv(cv_mixt_xmom,icg) =
d*u
1960 pcv(cv_mixt_ymom,icg) =
d*
v
1961 pcv(cv_mixt_zmom,icg) =
d*w
1970 CASE (
"wcramp",
"wcrampsc",
"wcrampsm" )
1971 DO icg = 1,pgrid%nCellsTot
1972 x = pgrid%cofg(xcoord,icg)
1974 IF (
x < -0.1_rfreal )
THEN
1976 u = 2608.87906904_rfreal
1988 mw = pgv(gv_mixt_mol,indmol*icg)
1989 cp = pgv(gv_mixt_cp ,indcp *icg)
1994 pcv(cv_mixt_dens,icg) =
d
1995 pcv(cv_mixt_xmom,icg) =
d*u
1996 pcv(cv_mixt_ymom,icg) =
d*
v
1997 pcv(cv_mixt_zmom,icg) =
d*w
2005 CASE (
"2DShock001" )
2006 IF ( pregion%mixtInput%gasModel /= gas_model_mixt_gasliq )
THEN
2007 CALL
errorstop(global,err_gasmodel_invalid,__line__, &
2008 'Case initialization only valid with gas-liq model.')
2011 IF ( pregion%specInput%nSpecies /= 2 )
THEN
2012 WRITE(errorstring,
'(A,1X,I2)')
'Should be:', &
2013 pregion%specInput%nSpecies
2014 CALL
errorstop(global,err_spec_nspec_invalid,__line__, &
2018 rgas =
mixtperf_r_m(pregion%specInput%specType(1)%pMaterial%molw)
2021 rvap =
mixtperf_r_m(pregion%specInput%specType(2)%pMaterial%molw)
2024 cvl = global%refCvLiq
2026 DO icg = 1,pgrid%nCellsTot
2027 x = pgrid%cofg(xcoord,icg)
2029 IF (
x < 0.5_rfreal )
THEN
2037 d = rl*pl + rg*pg + rv*pv
2050 d = rl*pl + rg*pg + rv*pv
2057 cvm = (rl*pl*cvl + rg*pg*cvg + rv*pv*cvv)/
d
2060 pcv(cv_mixt_dens,icg) =
d
2061 pcv(cv_mixt_xmom,icg) =
d*u
2062 pcv(cv_mixt_ymom,icg) =
d*
v
2063 pcv(cv_mixt_zmom,icg) =
d*w
2072 CALL
errorstop(global,err_reached_default,__line__)
2080 CALL
errorstop(global,err_reached_default,__line__)
2087 IF ( global%verbLevel > verbose_none )
THEN
2088 WRITE(stdout,
'(A,1X,A)') solver_name, &
2089 'Initializing flow field from hard code done.'
subroutine, public rflu_getparamshardcodessvortex(ri, Mi, pTot, tTot)
subroutine, public rflu_computeexactflowculick(global, x, y, z, d, u, v, w, p)
real(rfreal) function mixtperf_r_m(M)
void int int REAL REAL * y
subroutine, public rflu_computeexactflowpacoust(global, x, y, z, t, L, ro, iBc, im, in, iq, etaqm, omega, dTot, pTot, aTot, const, d, u, v, w, p)
Vector_n max(const Array_n_const &v1, const Array_n_const &v2)
subroutine registerfunction(global, funName, fileName)
real(rfreal) function mixtperf_d_prt(P, R, T)
subroutine, public rflu_jyzom(N, M, RJ0M, RJ1M, RY0M, RY1M)
real(rfreal) function mixtperf_r_cpg(Cp, G)
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
void int int int REAL REAL REAL * z
real(rfreal) function mixtperf_d_cgp(C, G, P)
subroutine, public rflu_getparamshardcoderingleb(pTot, tTot)
subroutine, public rflu_computeexactflowringleb(x, y, rGas, pTot, tTot, d, u, v, w, p)
subroutine, public rflu_computeexactflowssvortex(x, y, gGas, rGas, ri, Mi, pTot, tTot, d, u, v, w, p)
real(rfreal) function mixtgasliq_eo_cvmtvm2(Cvm, T, Vm2)
Vector_n min(const Array_n_const &v1, const Array_n_const &v2)
subroutine rflu_initflowhardcode(pRegion)
subroutine, public rflu_getparamshardcodeproudman(dInc, mInj, vInj, pTot)
subroutine, public rflu_setexactflowtrig(global, nx, ny, nz, x, y, z, iVar, var, gx, gy, gz)
real(rfreal) function mixtperf_eo_dgpuvw(D, G, P, U, V, W)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine deregisterfunction(global)
subroutine, public rflu_getparamshardcodepacoust(pTot, aTot)
real(rfreal) function mixtperf_g_cpr(Cp, R)
subroutine, public rflu_setexactflowlinear(x, y, z, iVar, var, gx, gy, gz)
real(rfreal) function mixtperf_cv_cpr(Cp, R)
CImg< T > & atan2(const CImg< t > &img)
Compute the arc-tangent of each pixel.
real(rfreal) function mixtperf_p_drt(D, R, T)
subroutine, public rflu_computeexactflowproudman(global, x, y, height, dInc, vInj, pTot, d, u, v, w, p)