Introduction
User subroutines for input of calculation parameters (Fortran modules). These subroutines are called in all cases.
If the Code_Saturne GUI is used, this file is not required (but may be used to override parameters entered through the GUI, and to set parameters not accessible through the GUI).
Several routines are present in the file, each destined to defined specific parameters.
To modify the default value of parameters which do not appear in the examples provided, code should be placed as follows:
- usipsu for numerical and physical options
- usipes for input-output related options
- usppmo for specific physics options
- usipph for additional input of parameters
- usati1 for calculation options for the atmospheric module
- cs_user_combustion for calculation options for the combustion module
- uscfx1 and uscfx2 for non-standard options for the compressible module
- uscti1 for the definition of cooling tower model and exchange zones
- user_darcy_ini1 for calculation options for the Darcy module
As a convention, "specific physics" defers to the following modules only: pulverized coal, gas combustion, electric arcs.
In addition, specific routines are provided for the definition of some "specific physics" options. These routines are described at the end of this file and will be activated when the corresponding option is selected in the usppmo routine.
General options (usipsu)
All options
The following code block presents all the options available in the usipsu subroutine.
ileaux = 0
ipthrm = 0
pthermax= -1.d0
sleak = 0.d0
kleak = 2.9d0
if (nmodpp.eq.0) then
itpscl = 2
endif
if (nscaus.gt.0) then
do ii = 1, nscaus
iscacp(isca(ii)) = 1
enddo
endif
iccvfg = 1
if (itytur.eq.4) then
ivrtex = 1
endif
call field_get_key_struct_var_cal_opt(ivarfl(iu), vcopt)
vcopt%blencv = 1.0d0
call field_set_key_struct_var_cal_opt(ivarfl(iu), vcopt)
if (nscaus.ge.1) then
do ii = 1, nscaus
call field_get_key_struct_var_cal_opt(ivarfl(isca(ii)), vcopt)
vcopt%blencv = 1.0d0
call field_set_key_struct_var_cal_opt(ivarfl(isca(ii)), vcopt)
enddo
endif
if (nscaus.ge.1) then
do ii = 1, nscaus
call field_get_key_struct_var_cal_opt(ivarfl(isca(ii)), vcopt)
vcopt%epsilo = 1.d-6
call field_set_key_struct_var_cal_opt(ivarfl(isca(ii)), vcopt)
enddo
endif
call field_get_key_struct_var_cal_opt(ivarfl(ipr), vcopt)
vcopt%iswdyn = 1
call field_set_key_struct_var_cal_opt(ivarfl(ipr), vcopt)
irccor = 1
if (itytur.eq.2) then
call field_get_key_struct_var_cal_opt(ivarfl(ik), vcopt)
vcopt%ircflu = 0
call field_set_key_struct_var_cal_opt(ivarfl(ik), vcopt)
call field_get_key_struct_var_cal_opt(ivarfl(iep), vcopt)
vcopt%ircflu = 0
call field_set_key_struct_var_cal_opt(ivarfl(iep), vcopt)
endif
reinit_turb = 1
if (itytur.eq.3) then
idirsm = 1
endif
iwallf = 5
gx = 0.d0
gy = 0.d0
gz = 0.d0
icorio = 0
call rotation_define(0.d0, 0.d0, 0.d0, &
0.d0, 0.d0, 0.d0)
ro0 = 1.17862d0
viscl0 = 1.83337d-5
cp0 = 1017.24d0
t0 = 20.d0 + 273.15d0
p0 = 1.01325d5
irovar = 1
ivivar = 1
icp = -1
xyzp0(1) = 0.d0
xyzp0(2) = 0.d0
xyzp0(3) = 0.d0
if (ippmod(icompf).ge.0) then
ifcvsl = -1
call field_set_key_int(ivarfl(isca(itempk)), kivisl, ifcvsl)
else if (iscalt.gt.0) then
ifcvsl = -1
call field_set_key_int(ivarfl(isca(iscalt)), kivisl, ifcvsl)
endif
do iscal = 1, nscaus
if (iscavr(iscal).le.0) then
ifcvsl = -1
call field_set_key_int(ivarfl(isca(iscal)), kivisl, ifcvsl)
endif
enddo
do iscal = 1, nscaus
if (iscavr(iscal).le.0) then
ifcvsl = -1
call field_set_key_int(ivarfl(isca(iscal)), kromsl, ifcvsl)
endif
enddo
if (iscalt.gt.0) iturt(iscalt) = 10
do jj = 1, nscaus
iturt(jj) = 10
enddo
uref = 1.d0
almax = 0.5
iescal(iescor) = 2
iescal(iestot) = 2
nalinf = 75
nalimx = 15
epalim = 1.d-5
Specific physic activation (usppmo)
The usppmo routine can be found in the cs_user_parameters.f90 file.
if (ixmlpu.eq.0) then
ippmod(icod3p) = -1
endif
if (ixmlpu.eq.0) then
ippmod(icoebu) = -1
endif
if (ixmlpu.eq.0) then
ippmod(icolwc) = -1
endif
isoot = 0
xsoot = 0.1d0
rosoot = 2000.d0
if (ixmlpu.eq.0) then
ippmod(icfuel) = -1
endif
if (ixmlpu.eq.0) then
ippmod(iccoal) = -1
endif
i_comb_drift = 1
if (ixmlpu.eq.0) then
ippmod(icpl3c) = -1
endif
if (ixmlpu.eq.0) then
ippmod(icompf) = -1
endif
if (ixmlpu.eq.0) then
ippmod(ieljou) = -1
endif
if (ixmlpu.eq.0) then
ippmod(ielarc) = -1
endif
if (ixmlpu.eq.0) then
ippmod(iatmos) = -1
endif
if (ixmlpu.eq.0) then
ippmod(iaeros) = -1
endif
ippmod(igmix) = 0
iirayo = 1
ippmod(idarcy) = -1
if (ixmlpu.eq.0) then
indjon = 1
endif
if (ixmlpu.eq.0) then
if ( ippmod(icod3p).ge.0 &
.or. ippmod(icoebu).ge.0 .or. ippmod(icolwc).ge.0) then
if (indjon.eq.1) then
ficfpp = 'dp_C3P'
else
ficfpp = 'dp_C3PSJ'
endif
endif
if (ippmod(icfuel).ge.0) then
ficfpp = 'dp_FUE'
endif
if (ippmod(iatmos).ge.0) then
ficmet = 'meteo'
endif
if (ippmod(igmix).ge.0) then
icondb = -1
icondv = -1
endif
endif
Additional input of parameters (usipph)
The usipph routine can be found in the cs_user_parameters.f90 file.
Calculation options for the atmospheric module (usati1)
The usati1 routine can be found in the cs_user_parameters.f90 file.
imeteo = 1
iatmst = 1
syear = 1994
squant = 1
shour = 1
smin = 0
ssec = 0.d0
xlon = 0.d0
xlat = 45.d0
imbrication_flag = .false.
imbrication_verbose = .false.
cressman_u = .true.
cressman_v = .true.
cressman_tke = .true.
cressman_eps = .true.
cressman_theta = .true.
cressman_qw = .true.
cressman_nc = .true.
horizontal_influence_radius = 8500.d0
vertical_influence_radius = 100.d0
ichemistry = 0
ifilechemistry = 0
isepchemistry = 1
iphotolysis = 1
dtchemmax = 10.0d0
iaerosol = 1
inogaseouschemistry = 0
ncycle_aer = 1
icoag_siream = 1
icond_siream = 1
inucl_siream = 1
icut_siream = nbin_aer
irdu = 1
soldu = 1
Calculation options for the combustion module (cs_user_combustion)
The cs_user_combustion routine can be found in the cs_user_parameters.f90 file.
ieqco2 = 0
srrom = 0.8d0
diftl0 = 4.25d-5
tinfue = 436.d0
tinoxy = 353.d0
cebu = 2.5d0
vref = 60.d0
lref = 0.1d0
ta = 0.2d5
tstar= 0.12d4
Non-standard options for the compressible module (uscfx1)
The uscfx1 routine can be found in the cs_user_parameters.f90 file.
if (iihmpr.eq.0) then
ifcvsl = -1
call field_set_key_int(ivarfl(isca(itempk)), kivisl, ifcvsl)
iviscv = -1
endif
Non-standard options for the compressible module (uscfx2)
The uscfx2 routine can be found in the cs_user_parameters.f90 file.
if (iihmpr.eq.0) then
ivivar = 0
visls0(itempk) = 3.d-2
viscv0 = 0.d0
xmasmr = 0.028966
icfgrp = 1
endif
Definition of cooling tower model and exchange zones (uscti1)
The uscti1 routine can be found in the cs_user_parameters.f90 file.
Calculation options for the Darcy module (user_darcy_ini1)
The user_darcy_ini1 routine can be found in the cs_user_parameters.f90 file.
darcy_anisotropic_permeability = 0
darcy_anisotropic_dispersion = 0
darcy_unsteady = 0
darcy_convergence_criterion = 0
darcy_gravity = 0