solid_cells_ogrid_chemistry
Module
Description
$Id$
This modules addes chemical species and reactions. The units used in the chem.in files are cm3,mole,sec,kcal and K This was found out by comparing the mechanism found in samples/0D/chemistry_H2_ignition_delay with Flow Reactor Studies and Kinetic Modeling of the ReactionH/O22 of A. MUELLER, T. J. KIM, R. A. YETTER, F. L. DRYER
** AUTOMATIC CPARAM.INC GENERATION ************************ Declare (for generation of cparam.inc) the number of f array variables and auxiliary variables added by this CPARAM logical, parameter :: lchemistry = .true.
MVAR CONTRIBUTION 1 MAUX CONTRIBUTION 2
PENCILS PROVIDED cv; cv1; cp; cp1; glncp(3) PENCILS PROVIDED nu; gradnu(3) PENCILS PROVIDED DYDt_reac(nchemspec); DYDt_diff(nchemspec) PENCILS PROVIDED lambda; glambda(3) PENCILS PROVIDED Diff_penc_add(nchemspec); H0_RT(nchemspec); hhk_full(nchemspec) PENCILS PROVIDED ghhk(3,nchemspec); S0_R(nchemspec)
Quick access
- Variables:
a_k4,alpha_n,amplchem,amplchemk,amplchemk2,b_n,back,chem_diff,chem_diff_prefactor,cp_r_spec_ogrid,e_an,file_name,flame_pos,global_phi,high_coeff,i_co,i_co2,iaa1,iaa2,idiag_cpm,idiag_diffm,idiag_dtchem,idiag_dym,idiag_dymax,idiag_e_intm,idiag_hm,idiag_lambdam,idiag_ym,idiag_ymax,idiag_ymin,idiag_ymz,init_from_file,init_pressure,init_rho,init_rho2,init_uy,init_uz,init_y1,init_y2,init_z1,init_z2,init_zz1,init_zz2,initchem,initial_massfractions,itemp1,itemp2,itemp3,kx_chem,ky_chem,kz_chem,ladvection,lamb_low,lamb_up,lchem_cdtc,lcheminp,lco,lco2,ldiff_corr,ldiffusion,lfilter,lfilter_strict,lflame_front,linit_density,linit_temperature,lmech_simple,lmobility,ln2,lo2,low_coeff,lt_const,lthcond_simple,m_c,m_h2o,mobility,mplus_case,nreactions,nu_spec,orders_m,orders_p,photochem_case,pr_turb,prerun_directory,reac_rate_method,reinitialize_chemistry,sijm,sijp,stoichio,tran_exist,troe_coeff,widthchem,y_h2o- Routines:
air_field_ogr(),calc_diffusion_term_ogrid(),calc_for_chem_mixture_ogrid(),calc_heatcond_chemistry_ogrid(),calc_heter_reaction_term(),calc_pencils_chemistry_ogrid(),calc_pencils_eos_ogrid_chem(),calc_reaction_term_ogr(),chemspec_normalization_n2_og(),chemspec_normalization_og(),dyk_dt_ogrid(),get_reac_rate_ogr(),get_reaction_rate_ogr(),getmu_array_ogrid(),initialize_chemistry_og(),initialize_eos_chemistry(),rprint_chemistry_og()
Needed modules
cdata: $Id$general(keep_compiler_quiet()): $Id$equationofstate: $Id$chemistry(rgas(),lreactions(),find_species_index(),species_constants()): $Id$messages(svn_id(),timing(),fatal_error(),inevitably_fatal_error(),not_implemented()): $Id$
Variables
- solid_cells_ogrid_chemistry/a_k4 (*,*) [real,pointer]
- solid_cells_ogrid_chemistry/alpha_n (*) [real,pointer]
- solid_cells_ogrid_chemistry/amplchem [real,optional/default=1.0]
- solid_cells_ogrid_chemistry/amplchemk (nchemspec) [real,optional/default=0.]
- solid_cells_ogrid_chemistry/amplchemk2 (nchemspec) [real,optional/default=0.]
- solid_cells_ogrid_chemistry/b_n (*) [real,pointer]
- solid_cells_ogrid_chemistry/back (*) [logical,pointer]
- solid_cells_ogrid_chemistry/chem_diff [real,optional/default=0.0]
- solid_cells_ogrid_chemistry/chem_diff_prefactor (nchemspec) [real,optional/default=1.]
- solid_cells_ogrid_chemistry/e_an (*) [real,pointer]
- solid_cells_ogrid_chemistry/file_name [character,optional/default='nothing']
- solid_cells_ogrid_chemistry/flame_pos [real,optional/default=0.0]
- solid_cells_ogrid_chemistry/global_phi [real,optional/default=impossible]
- solid_cells_ogrid_chemistry/high_coeff (*,*) [real,pointer]
- solid_cells_ogrid_chemistry/i_co [integer,optional/default=0]
- solid_cells_ogrid_chemistry/i_co2 [integer,optional/default=0]
- solid_cells_ogrid_chemistry/iaa1 (*) [integer,pointer]
- solid_cells_ogrid_chemistry/iaa2 (*) [integer,pointer]
- solid_cells_ogrid_chemistry/idiag_cpm (nchemspec) [integer,optional/default=0]
DIAG_DOC: $left<c_{p,x}right>$
- solid_cells_ogrid_chemistry/idiag_diffm (nchemspec) [integer,optional/default=0]
DIAG_DOC: $left<D_{x}right>$
- solid_cells_ogrid_chemistry/idiag_dtchem [integer,optional/default=0]
DIAG_DOC: $dt_{chem}$
- solid_cells_ogrid_chemistry/idiag_dym (nchemspec) [integer,optional/default=0]
DIAG_DOC: $deltaleft<Y_xright>/delta t$
- solid_cells_ogrid_chemistry/idiag_dymax (nchemspec) [integer,optional/default=0]
DIAG_DOC: $maxdeltaleft<Y_xright>/delta t$
- solid_cells_ogrid_chemistry/idiag_e_intm [integer,optional/default=0]
- solid_cells_ogrid_chemistry/idiag_hm (nchemspec) [integer,optional/default=0]
DIAG_DOC: $left<H_{x,max}right>$
- solid_cells_ogrid_chemistry/idiag_lambdam [integer,optional/default=0]
- solid_cells_ogrid_chemistry/idiag_num [integer,optional/default=0]
- solid_cells_ogrid_chemistry/idiag_ym (nchemspec) [integer,optional/default=0]
DIAG_DOC: $left<Y_xright>$
- solid_cells_ogrid_chemistry/idiag_ymax (nchemspec) [integer,optional/default=0]
DIAG_DOC: $left<Y_{x,max}right>$
- solid_cells_ogrid_chemistry/idiag_ymin (nchemspec) [integer,optional/default=0]
DIAG_DOC: $left<Y_{x,min}right>$
- solid_cells_ogrid_chemistry/idiag_ymz (nchemspec) [integer,optional/default=0]
DIAG_DOC: $left<Y_xright>_{xy}(z)$
- solid_cells_ogrid_chemistry/init_from_file [logical]
- solid_cells_ogrid_chemistry/init_pressure [real,optional/default=1013000.0]
- solid_cells_ogrid_chemistry/init_rho [real,optional/default=1.0]
- solid_cells_ogrid_chemistry/init_rho2 [real,optional/default=1.0]
- solid_cells_ogrid_chemistry/init_tt1 [real,optional/default=298.0]
- solid_cells_ogrid_chemistry/init_tt2 [real,optional/default=2400.0]
- solid_cells_ogrid_chemistry/init_ux [real,optional/default=0.0]
- solid_cells_ogrid_chemistry/init_uy [real,optional/default=0.0]
- solid_cells_ogrid_chemistry/init_uz [real,optional/default=0.0]
- solid_cells_ogrid_chemistry/init_x1 [real,optional/default=-0.2]
- solid_cells_ogrid_chemistry/init_x2 [real,optional/default=0.2]
- solid_cells_ogrid_chemistry/init_y1 [real,optional/default=-0.2]
- solid_cells_ogrid_chemistry/init_y2 [real,optional/default=0.2]
- solid_cells_ogrid_chemistry/init_z1 [real,optional/default=-0.2]
- solid_cells_ogrid_chemistry/init_z2 [real,optional/default=0.2]
- solid_cells_ogrid_chemistry/init_zz1 [real,optional/default=0.01]
- solid_cells_ogrid_chemistry/init_zz2 [real,optional/default=0.2]
- solid_cells_ogrid_chemistry/initial_massfractions (nchemspec) [real]
- solid_cells_ogrid_chemistry/itemp1 [integer,optional/default=2]
- solid_cells_ogrid_chemistry/itemp2 [integer,optional/default=3]
- solid_cells_ogrid_chemistry/itemp3 [integer,optional/default=4]
- solid_cells_ogrid_chemistry/kx_chem [real,optional/default=1.0]
- solid_cells_ogrid_chemistry/ky_chem [real,optional/default=1.0]
- solid_cells_ogrid_chemistry/kz_chem [real,optional/default=1.0]
- solid_cells_ogrid_chemistry/ladvection [logical,pointer]
- solid_cells_ogrid_chemistry/lamb_low [real]
- solid_cells_ogrid_chemistry/lamb_up [real]
- solid_cells_ogrid_chemistry/lchem_cdtc [logical,optional/default=.false.]
- solid_cells_ogrid_chemistry/lcheminp [logical,pointer]
- solid_cells_ogrid_chemistry/lco [logical,optional/default=.false.]
- solid_cells_ogrid_chemistry/lco2 [logical,optional/default=.false.]
- solid_cells_ogrid_chemistry/ldiff_corr [logical,pointer]
- solid_cells_ogrid_chemistry/ldiffusion [logical,pointer]
- solid_cells_ogrid_chemistry/lfilter [logical,pointer]
- solid_cells_ogrid_chemistry/lfilter_strict [logical,pointer]
- solid_cells_ogrid_chemistry/lflame_front [logical,optional/default=.false.]
- solid_cells_ogrid_chemistry/linit_density [logical,optional/default=.false.]
- solid_cells_ogrid_chemistry/linit_temperature [logical,optional/default=.false.]
- solid_cells_ogrid_chemistry/lmech_simple [logical,pointer]
- solid_cells_ogrid_chemistry/lmobility [logical,optional/default=.false.]
- solid_cells_ogrid_chemistry/ln2 [logical,optional/default=.false.]
- solid_cells_ogrid_chemistry/lo2 [logical,optional/default=.false.]
- solid_cells_ogrid_chemistry/low_coeff (*,*) [real,pointer]
- solid_cells_ogrid_chemistry/lt_const [logical,pointer]
- solid_cells_ogrid_chemistry/lt_tanh [logical,optional/default=.false.]
- solid_cells_ogrid_chemistry/lthcond_simple [logical,pointer]
- solid_cells_ogrid_chemistry/m_c [real,optional/default=12.0107]
- solid_cells_ogrid_chemistry/m_h2o [real,pointer]
- solid_cells_ogrid_chemistry/mobility (nchemspec) [real,optional/default=1.]
- solid_cells_ogrid_chemistry/mplus_case (*) [logical,pointer]
- solid_cells_ogrid_chemistry/nreactions [integer,pointer]
- solid_cells_ogrid_chemistry/nu_spec (nchemspec) [real,optional/default=0.]
- solid_cells_ogrid_chemistry/orders_m (*,*) [real,pointer]
- solid_cells_ogrid_chemistry/orders_p (*,*) [real,pointer]
- solid_cells_ogrid_chemistry/photochem_case (*) [logical,pointer]
- solid_cells_ogrid_chemistry/pr_turb [real,optional/default=0.7]
- solid_cells_ogrid_chemistry/prerun_directory [character,optional/default='nothing']
- solid_cells_ogrid_chemistry/reac_rate_method [character,optional/default='chemkin']
- solid_cells_ogrid_chemistry/reinitialize_chemistry [logical,optional/default=.false.]
- solid_cells_ogrid_chemistry/rgas_unit_sys [real,optional/default=1.0]
- solid_cells_ogrid_chemistry/sijm (*,*) [real,pointer]
- solid_cells_ogrid_chemistry/sijp (*,*) [real,pointer]
- solid_cells_ogrid_chemistry/stoichio (*,*) [real,pointer]
- solid_cells_ogrid_chemistry/str_thick [real,optional/default=0.02]
- solid_cells_ogrid_chemistry/tran_exist [logical,pointer]
- solid_cells_ogrid_chemistry/troe_coeff (*,*) [real,pointer]
- solid_cells_ogrid_chemistry/widthchem [real,optional/default=1.0]
- solid_cells_ogrid_chemistry/y_h2o [real,pointer]
Subroutines and functions
- subroutine solid_cells_ogrid_chemistry/initialize_eos_chemistry()
Initialize variable selection code (needed for RELOADing)
- subroutine solid_cells_ogrid_chemistry/initialize_chemistry_og(f_og)
chemistry initialization on the ogrid called from initialize_solid_cells in solid_cells_ogrid
- Parameters:
- Use :
sharedvariables(get_shared_variable(),put_shared_variable())- Called from:
- Call to:
not_implemented(),find_species_index(),fatal_error(),calc_reaction_term_ogr(),calc_diffusion_term_ogrid(),grad_ogrid(),del2_ogrid(),getmu_array_ogrid(),timing(),dot_mn_ogrid(),get_reac_rate_ogr(),get_reaction_rate_ogr(),stop_it()
- subroutine solid_cells_ogrid_chemistry/calc_pencils_chemistry_ogrid(f_og)
Calculate chemistry pencils. Most basic pencils should come first, as others may depend on them.
- Parameters:
f_og (mx_ogrid,my_ogrid,mz_ogrid,mfarray_ogrid) [real,inout]
- Called from:
- Call to:
calc_reaction_term_ogr(),calc_diffusion_term_ogrid(),fatal_error(),grad_ogrid(),del2_ogrid(),getmu_array_ogrid(),timing(),dot_mn_ogrid(),get_reac_rate_ogr(),get_reaction_rate_ogr(),find_species_index(),stop_it()
- subroutine solid_cells_ogrid_chemistry/calc_pencils_eos_ogrid_chem(f_og)
- Parameters:
- Called from:
- Call to:
fatal_error(),grad_ogrid(),del2_ogrid(),getmu_array_ogrid(),timing(),dot_mn_ogrid(),get_reac_rate_ogr(),get_reaction_rate_ogr(),find_species_index(),stop_it()
- subroutine solid_cells_ogrid_chemistry/calc_for_chem_mixture_ogrid(f_og)
Calculate quantities for a mixture
- Parameters:
- Called from:
- Call to:
getmu_array_ogrid(),timing(),grad_ogrid(),dot_mn_ogrid(),get_reac_rate_ogr(),get_reaction_rate_ogr(),del2_ogrid(),fatal_error(),find_species_index(),stop_it()
- subroutine solid_cells_ogrid_chemistry/dyk_dt_ogrid(f_og, df, dt_ogrid)
species transport equation calculate dYk/dt = - u.gradYk - div(rho*Yk*Vk)/rho + R/rho add chemistry contribution to temperature equation
- Parameters:
- Use :
- Called from:
- Call to:
timing(),grad_ogrid(),dot_mn_ogrid(),get_reac_rate_ogr(),get_reaction_rate_ogr(),del2_ogrid(),fatal_error(),find_species_index(),stop_it()
- subroutine solid_cells_ogrid_chemistry/rprint_chemistry_og(lreset[, lwrite])
reads and registers print parameters relevant to chemistry
13-aug-07/steveb: coded
- Parameters:
lreset [logical]
lwrite [logical]
- Use :
diagnostics(parse_name()),general(itoa(),get_species_nr())- Call to:
get_reaction_rate_ogr(),del2_ogrid(),grad_ogrid(),dot_mn_ogrid(),fatal_error(),find_species_index(),stop_it()
- subroutine solid_cells_ogrid_chemistry/get_reaction_rate_ogr(f_og, vreact_p, vreact_m, p_ogrid)
This subroutine calculates forward and reverse reaction rates, if chem.inp file exists. For more details see Chemkin Theory Manual
NILS: This routine is by far the most CPU intencive routine in the code, NILS: so one should maybe put some effort into optimizing it more.
17-mar-08/natalia: coded 11-nov-10/julien: optimized, reaction rates are calculated under a
logarithmic form
- Parameters:
vreact_p (nx_ogrid,nreactions) [real,out]
vreact_m (nx_ogrid,nreactions) [real,out]
p_ogrid [pencil_case_ogrid]
- Called from:
calc_pencils_chemistry_ogrid(),calc_pencils_eos_ogrid_chem(),calc_for_chem_mixture_ogrid(),dyk_dt_ogrid(),initialize_eos_chemistry(),initialize_chemistry_og(),rprint_chemistry_og(),get_reaction_rate_ogr(),calc_reaction_term_ogr()- Call to:
get_reaction_rate_ogr(),del2_ogrid(),grad_ogrid(),dot_mn_ogrid(),fatal_error(),find_species_index(),stop_it()
- subroutine solid_cells_ogrid_chemistry/calc_reaction_term_ogr(f_og, p_ogrid)
Calculation of the reaction term
- Parameters:
p_ogrid [pencil_case_ogrid]
- Use :
- Called from:
calc_pencils_chemistry_ogrid(),initialize_eos_chemistry(),initialize_chemistry_og()- Call to:
get_reaction_rate_ogr(),del2_ogrid(),grad_ogrid(),dot_mn_ogrid(),fatal_error(),find_species_index(),stop_it()
- subroutine solid_cells_ogrid_chemistry/calc_heter_reaction_term(f_og)
Calculation of the heterogeneous reaction term
- Parameters:
f_og (mx_ogrid,my_ogrid,mz_ogrid,mfarray_ogrid) [real,inout]
- Called from:
- Call to:
del2_ogrid(),grad_ogrid(),dot_mn_ogrid(),fatal_error(),find_species_index(),stop_it()
- subroutine solid_cells_ogrid_chemistry/calc_diffusion_term_ogrid(f_og, p_ogrid)
Calculate diffusion term, p%DYDt_diff
- Parameters:
f_og (mx_ogrid,my_ogrid,mz_ogrid,mfarray_ogrid) [real,inout]
p_ogrid [pencil_case_ogrid]
- Called from:
calc_pencils_chemistry_ogrid(),initialize_eos_chemistry(),initialize_chemistry_og()- Call to:
del2_ogrid(),grad_ogrid(),dot_mn_ogrid(),fatal_error(),find_species_index(),stop_it()
- subroutine solid_cells_ogrid_chemistry/calc_heatcond_chemistry_ogrid(f_og, df)
Calculate gamma*chi*(del2lnT+gradlnTT.grad(lnT+lnrho+lncp+lnchi))
- Parameters:
- Use :
- Called from:
- Call to:
- subroutine solid_cells_ogrid_chemistry/air_field_ogr(f_og, pp)
- Parameters:
- Call to:
- subroutine solid_cells_ogrid_chemistry/get_reac_rate_ogr(f_og, p_ogrid)
- Parameters:
p_ogrid [pencil_case_ogrid]
- Called from:
calc_pencils_chemistry_ogrid(),calc_pencils_eos_ogrid_chem(),calc_for_chem_mixture_ogrid(),dyk_dt_ogrid(),initialize_eos_chemistry(),initialize_chemistry_og()- Call to:
- subroutine solid_cells_ogrid_chemistry/getmu_array_ogrid(f_og, mu1_full_og)
Calculate mean molecular weight
- Parameters:
- Called from:
calc_pencils_chemistry_ogrid(),calc_pencils_eos_ogrid_chem(),calc_for_chem_mixture_ogrid(),initialize_eos_chemistry(),initialize_chemistry_og()- Call to:
- subroutine solid_cells_ogrid_chemistry/chemspec_normalization_og(f_og)
20-sep-10/Natalia: coded renormalization of the species
- Parameters:
- Call to:
- subroutine solid_cells_ogrid_chemistry/chemspec_normalization_n2_og(f_og)
- Parameters:
- Called from:
- Call to: