chemistry
Module
Description
$Id$
MODULE_DOC: This modules adds chemical species and reactions. MODULE_DOC: 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 1
PENCILS PROVIDED cv; cv1; cp; cp1; glncp(3); gXXk(3,nchemspec); gamma PENCILS PROVIDED nu; gradnu(3); gYYk(3,nchemspec); chem_conc(nchemspec) PENCILS PROVIDED DYDt_reac(nchemspec); DYDt_diff(nchemspec) PENCILS PROVIDED lambda; glambda(3); lambda1; gdiffk(3,nchemspec) PENCILS PROVIDED g2XXk(nchemspec) PENCILS PROVIDED Diff_penc_add(nchemspec); H0_RT(nchemspec); hhk_full(nchemspec) PENCILS PROVIDED ghhk(3,nchemspec); S0_R(nchemspec); cs2 PENCILS PROVIDED glnpp(3); del2pp; mukmu1(nchemspec) PENCILS PROVIDED ccondens; ppwater PENCILS PROVIDED Ywater, nucl_rate, nucl_rmin, conc_sat_spec, ff_nucl,ff_cond PENCILS PROVIDED latent_heat
Quick access
- Variables:
a_k4_min,a_spec,absorb_spec_psurf,absorbing_species,air_field,astrobiology_data,atomic_m_spec,bin_diff_coef,bubble_pressure_pk,bubble_temp_pk,build_stoich_matrix,calc_collision_integral,calc_diff_visc_coef,calc_diffusion_term,calc_extra_react,calc_heatcond_chemistry,calc_reaction_term,calc_therm_diffus_coef,chemistry_diag_reductions,chemistry_init_diag_accum,chemistry_read_diag_accum,chemkin_data,chemkin_data_simple,conc_sat_spec_cgs,cond_spec_nucl_rate,cond_spec_psat,cond_spec_sat_conc,condensing_species,cp_full,cp_r_spec,cp_spec_glo,cv_const,cv_full,cv_r_spec_full,dabs,dabs_cgs,damp_zone_for_nscbc,dcond,dcond_cgs,delta_chem,deltah_cgs,dhsol_cgs,diff_coef_const,diff_full,diff_full_add,enum_iconc_sat_spec,enum_inucl_pre_exp,enum_isurf_energy,enum_reac_rate_method,enum_reaction_name,find_remove_real_stoic,flame,flame_blob,flame_front,flame_front_2d,flame_front_new,flameind_spec1,flameind_spec2,flamemaster_ini,gam_surf_energy_cgs,gam_surf_energy_mul_fac,get_1step_test_reaction_rate,get_1step_test_sum_dydts,get_reaction_rate,get_sum_dydts,getmu_array,henry_b,henry_model,henry_ref,henry_ref_cgs,henry_tref,high_coeff_abs_max,i_absorb_spec,i_c3h8_glob,i_cond_spec,i_o2_glob,iaa1_offset,iaa2_offset,iadv,ichem_absorb_spec,ichem_c3h8,ichem_co,ichem_co2,ichem_cond_spec,ichem_o2,iconc_sat_spec,idiag_alpham,idiag_alphamax,idiag_alphamin,idiag_conc_satm,idiag_cpfull,idiag_cvfull,idiag_diffmax,idiag_diffmin,idiag_ffnucl,idiag_flameindmax,idiag_flameindmin,idiag_lambdamax,idiag_lambdamin,idiag_latent_heat,idiag_mixfracmax,idiag_mixfracmin,idiag_nuclrate,idiag_nuclrmin,idiag_rhoym,idiag_supersat,idiag_tym,ifuel_flow,imassc,imassh,imassn,imasso,imasss,imassti,index_o2n2,init_fuel_molar_ratio,init_fuel_o2_demand,init_phi,init_premixed_fuel,init_temp_fuel,init_temp_oxidizer,intro_time,inucl_pre_exp,ipr,ireac,ireac_co,ireac_co2,ireac_o2,ireaci,isurf_energy,kreactions_alpha,kreactions_m,kreactions_p,kreactions_profile,kreactions_profile_width,kreactions_z,l1step_test,labsorbing_on,lambda_const,lambda_full,latmchem,lback,lc3h8,lchem_detailed,lchemistry_diag,lcloud,lcompute_rhs_y_full,lcorr_vel,ldamp_zone_for_nscbc,ldiff_fick,ldiff_lewis,ldiff_simple,lew_exist,lewis_coef,lewis_coef1,lfix_pr,lfix_sc,lflame_front_2d,lflame_index_as_aux,lflamemaster,lflux_simple,lgradp_terms,lheatc_chemistry,lhotspot,lkreactions_alpha,lkreactions_profile,lmixture_fraction_as_aux,lnoevap,lnolatentheat,lnormalize_chemspec,lnormalize_chemspec_n2,lnucleation,lnucleii_generated,lone_spec,low_coeff_abs_max,lreac_as_aux,lsmag_diffusion,lsmag_heat_transport,lspecies_cond_simplified,ltriple_flame,lupw_chemspec,mc3h8,min_nucl_radius_cgs,mix_frac_ih,mixture_fraction_element,mmx,mo2,molar_mass_absorb,molar_mass_spec,mreactions,net_react_m,net_react_p,nreactions1,nreactions2,nucleation_rate_coeff_cgs,opposite_flames,opposite_ignitions,p_boil_cgs,p_init,p_net_react_m,p_net_react_p,premixed_equiv_ratio,prerun_1d,prerun_1d_opp,press,reaction_name,read_lewis,read_reactions,read_reactions_mod,read_thermodyn_simple,read_transport_data,rho_full,rhs_y_full,roux,sc_number,scale_homo,sherwood_film_mdot,sijm_,sijm_mod,sijp_,sijp_mod,species_constants,species_viscosity,t_boil_cgs,tinf,tran_data,triple_flame,troe_coeff_abs_max,true_density_cond_spec_cgs,tt_full,ttd,visc_const,vreactions_m,vreactions_p,write_matrices,xx_full,ythresh,z_cloud- Routines:
absorb_spec_lagr(),absorb_spec_lsol(),calc_diagnostics_chemistry(),calc_for_chem_mixture(),calc_pencils_chemistry(),chemistry_allocate_rhs_arrays(),chemistry_before_boundary(),chemistry_clean_up(),chemistry_diags_reductions(),chemistry_init_reduc_pointers(),chemspec_normalization(),chemspec_normalization_n2(),cond_spec_absorb_rate(),cond_spec_cond(),cond_spec_cond_lagr(),cond_spec_film_rate(),cond_spec_lmass(),cond_spec_nucl(),cond_spec_nucl_lagr(),cond_spec_transfer_cv(),condensing_species_rate(),dchemistry_dt(),find_species_index(),get_cs2_full(),get_cs2_slice(),get_gamma_full(),get_gamma_slice(),get_mu1_slice(),get_reac_rate(),get_rhs_y_full(),get_slices_chemistry(),init_chemistry(),initialize_chemistry(),jacobn(),make_flame_index(),make_mixture_fraction(),pencil_criteria_chemistry(),pencil_interdep_chemistry(),read_chemistry_init_pars(),read_chemistry_run_pars(),register_chemistry(),rprint_chemistry(),write_chemistry_init_pars(),write_chemistry_run_pars(),write_net_reaction()
Needed modules
cdata: $Id$general(keep_compiler_quiet(),itoa()): $Id$equationofstate(cp_const(),lpres_grad(),imass(),getdensity(),gettemperature(),getpressure()): $Id$messages(svn_id(),timing(),fatal_error(),inevitably_fatal_error(),warning(),not_implemented()): $Id$
Variables
- chemistry/a_k4 (*,*) [real,private/allocatable]
- chemistry/a_k4_min (*) [real,private/allocatable]
- chemistry/a_spec [real,private]
- chemistry/absorb_spec_psurf [private]
- chemistry/absorbing_species [character,private/optional/default='nothing']
- chemistry/air_field [private]
- chemistry/alpha_n (*) [real,private/allocatable]
- chemistry/amplchem [real,private/optional/default=1.0]
- chemistry/amplchemk (nchemspec) [real,private/optional/default=0.]
- chemistry/amplchemk2 (nchemspec) [real,private/optional/default=0.]
- chemistry/astrobiology_data [private]
- chemistry/atomic_m_spec [real,private]
- chemistry/b_n (*) [real,private/allocatable]
- chemistry/back (*) [logical,private/allocatable]
- chemistry/beta [real,private/optional/default=1.09]
- chemistry/bin_diff_coef (*,*,*,*,*) [real,private/allocatable]
- chemistry/bubble_pressure_pk [private]
- chemistry/bubble_temp_pk [private]
- chemistry/build_stoich_matrix [private]
- chemistry/calc_collision_integral [private]
- chemistry/calc_diff_visc_coef [private]
- chemistry/calc_diffusion_term [private]
- chemistry/calc_extra_react [private]
- chemistry/calc_heatcond_chemistry [private]
- chemistry/calc_reaction_term [private]
- chemistry/calc_therm_diffus_coef [private]
- chemistry/chem_diff [real,private/optional/default=0.0]
- chemistry/chem_diff_prefactor (nchemspec) [real,private/optional/default=1.]
- chemistry/chemkin_data [private]
- chemistry/conc_sat_spec_cgs [real,private/optional/default=1e-08]
- chemistry/cond_spec_nucl_rate [private]
- chemistry/cond_spec_psat [private]
- chemistry/cond_spec_sat_conc [private]
- chemistry/condensing_species [character,private/optional/default='nothing']
- chemistry/cv_const [real,private/optional/default=impossible]
- chemistry/dabs [real,private/optional/default=0.0]
- chemistry/dabs_cgs [real,private/optional/default=0.0]
- chemistry/damp_zone_for_nscbc [private]
- chemistry/dcond [real,private/optional/default=0.0]
- chemistry/dcond_cgs [real,private/optional/default=0.0]
- chemistry/delta_chem [real,private/optional/default=0.0]
- chemistry/deltah_cgs [real,private/optional/default=7070000000000.0]
- chemistry/dhsol_cgs [real,private/optional/default=0.0]
- chemistry/diff_coef_const [real,private/optional/default=impossible]
- chemistry/diff_full (*,*,*,*) [real,private/allocatable]
- chemistry/diff_full_add (*,*,*,*) [real,private/allocatable]
- chemistry/e_an (*) [real,private/allocatable]
- chemistry/enum_iconc_sat_spec [integer,private/optional/default=0]
- chemistry/enum_inucl_pre_exp [integer,private/optional/default=0]
- chemistry/enum_isurf_energy [integer,private/optional/default=0]
- chemistry/enum_reac_rate_method [integer,private/optional/default=0]
- chemistry/enum_reaction_name (*) [integer,private/allocatable]
- chemistry/file_name [character,private/optional/default='nothing']
- chemistry/find_mass [private]
- chemistry/find_remove_real_stoic [private]
- chemistry/flame [private]
- chemistry/flame_blob [private]
- chemistry/flame_front [private]
- chemistry/flame_front_new [private]
- chemistry/flame_pos [real,private/optional/default=0.0]
- chemistry/flameind_spec1 [character,private/optional/default="h2"]
- chemistry/flameind_spec2 [character,private/optional/default="co2"]
- chemistry/flamemaster_ini [private]
- chemistry/gam_surf_energy_cgs [real,private/optional/default=32.0]
- chemistry/gam_surf_energy_mul_fac [real,private/optional/default=1.0]
- chemistry/get_1step_test_reaction_rate [private]
- chemistry/get_1step_test_sum_dydts [private]
- chemistry/get_reaction_rate [private]
- chemistry/get_sum_dydts [private]
- chemistry/getmu_array [private]
- chemistry/global_phi [real,private/optional/default=impossible]
- chemistry/henry_b [real,private/optional/default=4090.0]
- chemistry/henry_model [character,private/optional/default='henry']
- chemistry/henry_ref [real,private/optional/default=0.0]
- chemistry/henry_ref_cgs [real,private/optional/default=0.0]
- chemistry/henry_tref [real,private/optional/default=298.15]
- chemistry/high_coeff (*,*) [real,private/allocatable]
- chemistry/high_coeff_abs_max (*) [real,private/allocatable]
- chemistry/i_absorb_spec [integer,private/optional/default=0]
- chemistry/i_c3h8_glob [integer,private]
- chemistry/i_cond_spec [integer,private]
- chemistry/i_o2_glob [integer,private]
- chemistry/iaa1_offset [integer,private/parameter/optional/default=4]
- chemistry/iaa2_offset [integer,private/parameter/optional/default=11]
- chemistry/iadv [integer,private/optional/default=0]
- chemistry/ichem_absorb_spec [integer,private/optional/default=0]
- chemistry/ichem_c3h8 [integer,private]
- chemistry/ichem_cond_spec [integer,private]
- chemistry/ichem_o2 [integer,private]
- chemistry/iconc_sat_spec [character,private/optional/default="const"]
- chemistry/idiag_alpham [integer,private/optional/default=0]
- chemistry/idiag_alphamax [integer,private/optional/default=0]
- chemistry/idiag_alphamin [integer,private/optional/default=0]
- chemistry/idiag_conc_satm [integer,private/optional/default=0]
- chemistry/idiag_cpfull [integer,private/optional/default=0]
- chemistry/idiag_cpm (nchemspec) [integer,private/optional/default=0]
- chemistry/idiag_cvfull [integer,private/optional/default=0]
- chemistry/idiag_diffm (nchemspec) [integer,private/optional/default=0]
- chemistry/idiag_diffmax (nchemspec) [integer,private/optional/default=0]
- chemistry/idiag_diffmin (nchemspec) [integer,private/optional/default=0]
- chemistry/idiag_dtchem [integer,private/optional/default=0]
- chemistry/idiag_dym (nchemspec) [integer,private/optional/default=0]
- chemistry/idiag_dymax (nchemspec) [integer,private/optional/default=0]
- chemistry/idiag_e_intm [integer,private/optional/default=0]
- chemistry/idiag_ffnucl [integer,private/optional/default=0]
- chemistry/idiag_flameindmax [integer,private/optional/default=0]
- chemistry/idiag_flameindmin [integer,private/optional/default=0]
- chemistry/idiag_hm (nchemspec) [integer,private/optional/default=0]
- chemistry/idiag_lambdam [integer,private/optional/default=0]
- chemistry/idiag_lambdamax [integer,private/optional/default=0]
- chemistry/idiag_lambdamin [integer,private/optional/default=0]
- chemistry/idiag_latent_heat [integer,private/optional/default=0]
- chemistry/idiag_mixfracmax [integer,private/optional/default=0]
- chemistry/idiag_mixfracmin [integer,private/optional/default=0]
- chemistry/idiag_nuclrate [integer,private/optional/default=0]
- chemistry/idiag_nuclrmin [integer,private/optional/default=0]
- chemistry/idiag_rhoym (nchemspec) [integer,private/optional/default=0]
- chemistry/idiag_supersat [integer,private/optional/default=0]
- chemistry/idiag_tym (nchemspec) [integer,private/optional/default=0]
- chemistry/idiag_ym (nchemspec) [integer,private/optional/default=0]
- chemistry/idiag_ymax (nchemspec) [integer,private/optional/default=0]
- chemistry/idiag_ymin (nchemspec) [integer,private/optional/default=0]
- chemistry/idiag_ymz (nchemspec) [integer,private/optional/default=0]
- chemistry/ifuel_flow [integer,private/optional/default=0.0]
- chemistry/imassc [integer,private/optional/default=21]
- chemistry/imassh [integer,private/optional/default=19]
- chemistry/imassn [integer,private/optional/default=22]
- chemistry/imasso [integer,private/optional/default=20]
- chemistry/imasss [integer,private/optional/default=23]
- chemistry/imassti [integer,private/optional/default=24]
- chemistry/index_h2o [integer,private/save/optional/default=0.0]
- chemistry/index_n2 [integer,private/save/optional/default=0.0]
- chemistry/index_o2 [integer,private/save/optional/default=0.0]
- chemistry/index_o2n2 [integer,private/save/optional/default=0.0]
- chemistry/init_from_file [logical,private]
- chemistry/init_fuel_molar_ratio (nchemspec) [real,private/optional/default=0.]
- chemistry/init_fuel_o2_demand (nchemspec) [real,private/optional/default=0.]
- chemistry/init_phi [real,private/optional/default=0.0]
- chemistry/init_premixed_fuel (nchemspec) [character,private/optional/default="nothing"]
- chemistry/init_pressure [real,private/optional/default=1013000.0]
- chemistry/init_rho [real,private/optional/default=1.0]
- chemistry/init_rho2 [real,private/optional/default=1.0]
- chemistry/init_temp_fuel [real,private/optional/default=0.0]
- chemistry/init_temp_oxidizer [real,private/optional/default=0.0]
- chemistry/init_tt1 [real,private/optional/default=298.0]
- chemistry/init_tt2 [real,private/optional/default=2400.0]
- chemistry/init_ux [real,private/optional/default=0.0]
- chemistry/init_uy [real,private/optional/default=0.0]
- chemistry/init_uz [real,private/optional/default=0.0]
- chemistry/init_x1 [real,private/optional/default=-0.2]
- chemistry/init_x2 [real,private/optional/default=0.2]
- chemistry/init_y1 [real,private/optional/default=-0.2]
- chemistry/init_y2 [real,private/optional/default=0.2]
- chemistry/init_z1 [real,private/optional/default=-0.2]
- chemistry/init_z2 [real,private/optional/default=0.2]
- chemistry/init_zz1 [real,private/optional/default=0.01]
- chemistry/init_zz2 [real,private/optional/default=0.2]
- chemistry/initial_massfractions (nchemspec) [real,private]
- chemistry/inucl_pre_exp [character,private/optional/default="const"]
- chemistry/ipr [integer,private/optional/default=2]
- chemistry/ireac [integer,private/optional/default=0]
- chemistry/ireaci (nchemspec) [integer,private/optional/default=0]
- chemistry/isurf_energy [character,private/optional/default="const"]
- chemistry/it_insert_nuclei [integer,private/pointer]
- chemistry/itemp1 [integer,private/optional/default=2]
- chemistry/itemp2 [integer,private/optional/default=3]
- chemistry/itemp3 [integer,private/optional/default=4]
- chemistry/kreactions_alpha (*) [real,private/allocatable]
- chemistry/kreactions_m (*) [real,private/allocatable]
- chemistry/kreactions_p (*) [real,private/allocatable]
- chemistry/kreactions_profile (*) [character,private/allocatable]
- chemistry/kreactions_profile_width (*) [real,private/allocatable]
- chemistry/kreactions_z (*,*) [real,private/allocatable]
- chemistry/kx_chem [real,private/optional/default=1.0]
- chemistry/ky_chem [real,private/optional/default=1.0]
- chemistry/kz_chem [real,private/optional/default=1.0]
- chemistry/l1step_test [logical,private/optional/default=.false.]
- chemistry/labsorbing_on [logical,private/optional/default=.false.]
- chemistry/labsorbing_species [logical,private/pointer]
- chemistry/ladvection [logical,private/optional/default=.true.]
- chemistry/lamb_low [real,private]
- chemistry/lamb_up [real,private]
- chemistry/lambda_const [real,private/optional/default=impossible]
- chemistry/latmchem [logical,private/optional/default=.false.]
- chemistry/lc3h8 [logical,private]
- chemistry/lchem_cdtc [logical,private/optional/default=.false.]
- chemistry/lchem_detailed [logical,private/optional/default=.true.]
- chemistry/lcheminp [logical,private/optional/default=.false.]
- chemistry/lchemistry_diag [logical,private/optional/default=.false.]
- chemistry/lcloud [logical,private/optional/default=.false.]
- chemistry/lcompute_rhs_y_full [logical,private/optional/default=.false.]
- chemistry/lcondensing_species [logical,private/pointer]
- chemistry/lcorr_vel [logical,private/optional/default=.false.]
- chemistry/ldamp_zone_for_nscbc [logical,private/optional/default=.false.]
- chemistry/ldiff_corr [logical,private/optional/default=.false.]
- chemistry/ldiff_fick [logical,private/optional/default=.false.]
- chemistry/ldiff_lewis [logical,private/optional/default=.false.]
- chemistry/ldiff_simple [logical,private/optional/default=.false.]
- chemistry/ldiffusion [logical,private/optional/default=.true.]
- chemistry/ldustnucleation [logical,private/pointer]
- chemistry/lew_exist [logical,private/save/optional/default=.false.]
- chemistry/lewis_coef (nchemspec) [real,private]
- chemistry/lewis_coef1 (nchemspec) [real,private]
- chemistry/lfilter [logical,private/optional/default=.false.]
- chemistry/lfilter_strict [logical,private/optional/default=.false.]
- chemistry/lfix_pr [logical,private/optional/default=.false.]
- chemistry/lfix_sc [logical,private/optional/default=.false.]
- chemistry/lflame_front [logical,private/optional/default=.false.]
- chemistry/lflame_index_as_aux [logical,private/optional/default=.false.]
- chemistry/lflamemaster [logical,private/optional/default=.false.]
- chemistry/lflux_simple [logical,private/optional/default=.false.]
- chemistry/lgradp_terms [logical,private/optional/default=.true.]
- chemistry/lheatc_chemistry [logical,private/optional/default=.true.]
- chemistry/lhotspot [logical,private/optional/default=.false.]
- chemistry/linit_density [logical,private/optional/default=.false.]
- chemistry/linit_temperature [logical,private/optional/default=.false.]
- chemistry/lkreactions_alpha [logical,private/optional/default=.false.]
- chemistry/lkreactions_profile [logical,private/optional/default=.false.]
- chemistry/ll1 [integer,private]
- chemistry/ll2 [integer,private]
- chemistry/lmixture_fraction_as_aux [logical,private/optional/default=.false.]
- chemistry/lmobility [logical,private/optional/default=.false.]
- chemistry/lnoevap [logical,private/optional/default=.false.]
- chemistry/lnolatentheat [logical,private/optional/default=.true.]
- chemistry/lnormalize_chemspec [logical,private/optional/default=.false.]
- chemistry/lnormalize_chemspec_n2 [logical,private/optional/default=.false.]
- chemistry/lnucl_dynamic [logical,private/optional/default=.false.]
- chemistry/lnucleation [logical,private]
- chemistry/lnucleii_generated (*,*,*) [logical,allocatable/public]
- chemistry/lo2 [logical,private]
- chemistry/lone_spec [logical,private/optional/default=.false.]
- chemistry/low_coeff (*,*) [real,private/allocatable]
- chemistry/low_coeff_abs_max (*) [real,private/allocatable]
- chemistry/lpartnucleation [logical,private/pointer]
- chemistry/lreac_as_aux [logical,private/optional/default=.false.]
- chemistry/lreactions [logical,public/optional/default=.true.]
- chemistry/lsmag_diffusion [logical,private/optional/default=.false.]
- chemistry/lsmag_heat_transport [logical,private/optional/default=.false.]
- chemistry/lspecies_cond_simplified [logical,private/optional/default=.false.]
- chemistry/lt_const [logical,private/optional/default=.false.]
- chemistry/lt_tanh [logical,private/optional/default=.false.]
- chemistry/lthcond_simple [logical,private/optional/default=.false.]
- chemistry/ltriple_flame [logical,private/optional/default=.false.]
- chemistry/lupw_chemspec [logical,private/optional/default=.false.]
- chemistry/mc3h8 [real,private]
- chemistry/min_nucl_radius_cgs [real,private/optional/default=1e-08]
- chemistry/mix_frac_ih [real,private/optional/default=0.0]
- chemistry/mixture_fraction_element [character,private]
- chemistry/mm1 [integer,private]
- chemistry/mm2 [integer,private]
- chemistry/mmx [integer,private/optional/default=2*nghost*min(1,nx-1)+nx]
- chemistry/mo2 [real,private]
- chemistry/mobility (nchemspec) [real,private/optional/default=1.]
- chemistry/molar_mass_absorb [real,private/optional/default=0.0]
- chemistry/molar_mass_spec [real,private]
- chemistry/mplus_case (*) [logical,private/allocatable]
- chemistry/mreactions [integer,private]
- chemistry/mu1_full (*,*,*) [real,private/pointer]
- chemistry/net_react_m (*,*) [real,private/target/allocatable]
- chemistry/net_react_p (*,*) [real,private/target/allocatable]
- chemistry/nn1 [integer,private]
- chemistry/nn2 [integer,private]
- chemistry/nreactions [integer,private/optional/default=0]
- chemistry/nreactions1 [integer,private/optional/default=0]
- chemistry/nreactions2 [integer,private/optional/default=0]
- chemistry/ntau [integer,private/pointer]
- chemistry/nu_spec (nchemspec) [real,private/optional/default=0.]
- chemistry/nucleation_rate_coeff_cgs [real,private/optional/default=1e+19]
- chemistry/opposite_flames [private]
- chemistry/opposite_ignitions [private]
- chemistry/p_boil_cgs [real,private/optional/default=1013250.0]
- chemistry/p_net_react_m (*,*) [real,private/pointer]
- chemistry/p_net_react_p (*,*) [real,private/pointer]
- chemistry/photochem_case (*) [logical,private/allocatable]
- chemistry/pr_number [real,private/optional/default=0.7]
- chemistry/pr_turb [real,private/optional/default=0.7]
- chemistry/premixed_equiv_ratio [private]
- chemistry/prerun_1d [private]
- chemistry/prerun_1d_opp [private]
- chemistry/prerun_directory [character,private/optional/default='nothing']
- chemistry/press [real,private/optional/default=0.0]
- chemistry/reac_rate_method [character,private/optional/default='chemkin']
- chemistry/reaction_name (*) [character,private/allocatable]
- chemistry/read_lewis [private]
- chemistry/read_reactions [private]
- chemistry/read_reactions_mod [private]
- chemistry/read_species [private]
- chemistry/read_thermodyn [private]
- chemistry/read_transport_data [private]
- chemistry/redfrac [real,private/pointer]
- chemistry/reinitialize_chemistry [logical,private/optional/default=.false.]
- chemistry/rgas [real,public]
- chemistry/rgas_unit_sys [real,private/optional/default=1.0]
- chemistry/roux [private]
- chemistry/sc_number [real,private/optional/default=0.7]
- chemistry/self_collisions [character,private/optional/default='nothing']
- chemistry/sherwood_film_mdot [private]
- chemistry/sijm (*,*) [real,private/allocatable]
- chemistry/sijm_ (*,*) [real,private/allocatable]
- chemistry/sijm_mod (*,*) [real,private/allocatable]
- chemistry/sijp (*,*) [real,private/allocatable]
- chemistry/sijp_ (*,*) [real,private/allocatable]
- chemistry/sijp_mod (*,*) [real,private/allocatable]
- chemistry/species_constants (nchemspec,24) [real,target/public/optional/default=0.0]
- chemistry/stoichio (*,*) [real,private/allocatable]
- chemistry/str_thick [real,private/optional/default=0.02]
- chemistry/t_boil_cgs [real,private/optional/default=2503.0]
- chemistry/tc [real,private/optional/default=440.0]
- chemistry/tinf [real,private/optional/default=2000.0]
- chemistry/tran_data (nchemspec,7) [real,private]
- chemistry/tran_exist [logical,private/save/optional/default=.false.]
- chemistry/triple_flame [private]
- chemistry/troe_coeff (*,*) [real,private/allocatable]
- chemistry/troe_coeff_abs_max (*) [real,private/allocatable]
- chemistry/true_density_cond_spec [real,private]
- chemistry/true_density_cond_spec_cgs [real,private/optional/default=2.196]
- chemistry/ttd [private]
- chemistry/visc_const [real,private/optional/default=impossible]
- chemistry/vreactions_m (*,*) [real,private/allocatable]
- chemistry/vreactions_p (*,*) [real,private/allocatable]
- chemistry/widthchem [real,private/optional/default=1.0]
- chemistry/write_matrices [private]
- chemistry/write_reactions [private]
- chemistry/write_thermodyn [private]
- chemistry/ythresh (nchemspec) [real,private/optional/default=0.]
- chemistry/z_cloud [real,private/optional/default=0.0]
Subroutines and functions
- subroutine chemistry/register_chemistry()
Configure pre-initialised (i.e. before parameter read) variables which should be know to be able to evaluate
- 13-aug-07/steveb: coded
8-jan-08/axel: added modifications analogously to dustdensity 5-mar-08/nils: Read thermodynamical data from chem.inp
- Use :
- Call to:
fatal_error(),svn_id(),find_species_index(),warning(),init_chemistry(),chemistry_allocate_rhs_arrays(),innerbox(),cos2x_cos2y_cos2z(),coswave(),gaussian(),gaussianpos(),hatwave(),initial_condition_chemistry(),not_implemented(),timing(),getdensity(),gettemperature(),inevitably_fatal_error(),chemspec_normalization(),chemspec_normalization_n2(),special_calc_chemistry(),dot_mn(),calc_diagnostics_chemistry(),get_reac_rate(),max_mn_name(),xysum_mn_name_z(),der_onesided_4_slice_other()
- subroutine chemistry/initialize_chemistry(f)
called by run.f90 after reading parameters, but before the time loop
13-aug-07/steveb: coded 19-feb-08/axel: reads in chemistry.dat file 21-nov-10/julien: added the reaction rates as optional auxiliary variables
in the f array for output.
- Parameters:
- Use :
farraymanager,sharedvariables(get_shared_variable()),messages(warning())- Call to:
fatal_error(),find_species_index(),warning(),init_chemistry(),chemistry_allocate_rhs_arrays(),innerbox(),cos2x_cos2y_cos2z(),coswave(),gaussian(),gaussianpos(),hatwave(),initial_condition_chemistry(),not_implemented(),timing(),getdensity(),gettemperature(),inevitably_fatal_error(),chemspec_normalization(),chemspec_normalization_n2(),special_calc_chemistry(),dot_mn(),calc_diagnostics_chemistry(),get_reac_rate(),max_mn_name(),xysum_mn_name_z(),der_onesided_4_slice_other()
- subroutine chemistry/chemistry_allocate_rhs_arrays()
- Call to:
innerbox(),cos2x_cos2y_cos2z(),coswave(),gaussian(),gaussianpos(),hatwave(),fatal_error(),initial_condition_chemistry(),not_implemented(),find_species_index(),warning(),timing(),getdensity(),gettemperature(),inevitably_fatal_error(),chemspec_normalization(),chemspec_normalization_n2(),special_calc_chemistry(),dot_mn(),calc_diagnostics_chemistry(),get_reac_rate(),max_mn_name(),xysum_mn_name_z(),der_onesided_4_slice_other()
- subroutine chemistry/init_chemistry(f)
initialise chemistry initial condition; called from start.f90
- 13-aug-07/steveb: coded
jul-10/julien: Added some new initial cases
- Parameters:
- Use :
- Call to:
innerbox(),cos2x_cos2y_cos2z(),coswave(),gaussian(),gaussianpos(),hatwave(),fatal_error(),initial_condition_chemistry(),not_implemented(),find_species_index(),warning(),timing(),getdensity(),gettemperature(),inevitably_fatal_error(),chemspec_normalization(),chemspec_normalization_n2(),special_calc_chemistry(),dot_mn(),calc_diagnostics_chemistry(),get_reac_rate(),max_mn_name(),xysum_mn_name_z(),der_onesided_4_slice_other()
- subroutine chemistry/pencil_criteria_chemistry()
All pencils that this chemistry module depends on are specified here.
13-aug-07/steveb: coded
- Call to:
not_implemented(),find_species_index(),warning(),timing(),getdensity(),gettemperature(),inevitably_fatal_error(),fatal_error(),chemspec_normalization(),chemspec_normalization_n2(),special_calc_chemistry(),dot_mn(),calc_diagnostics_chemistry(),get_reac_rate(),max_mn_name(),xysum_mn_name_z(),der_onesided_4_slice_other()
- subroutine chemistry/pencil_interdep_chemistry(lpencil_in)
Interdependency among pencils provided by this module are specified here
02-03-08/Natalia: coded
- Parameters:
lpencil_in (npencils) [logical]
- Call to:
not_implemented(),find_species_index(),warning(),timing(),getdensity(),gettemperature(),inevitably_fatal_error(),fatal_error(),chemspec_normalization(),chemspec_normalization_n2(),special_calc_chemistry(),dot_mn(),calc_diagnostics_chemistry(),get_reac_rate(),max_mn_name(),xysum_mn_name_z(),der_onesided_4_slice_other()
- subroutine chemistry/calc_pencils_chemistry(f, p)
Calculate chemistry pencils. Most basic pencils should come first, as others may depend on them.
13-aug-07/steveb: coded 10-jan-11/julien: adapted for the case where chemistry is solved by LSODE
- Parameters:
- Use :
- Call to:
not_implemented(),find_species_index(),warning(),timing(),getdensity(),gettemperature(),inevitably_fatal_error(),fatal_error(),chemspec_normalization(),chemspec_normalization_n2(),special_calc_chemistry(),dot_mn(),calc_diagnostics_chemistry(),get_reac_rate(),max_mn_name(),xysum_mn_name_z(),der_onesided_4_slice_other()
- subroutine chemistry/calc_for_chem_mixture(f)
Calculate quantities for a mixture
- 22-jun-10/julien: Added evaluation of diffusion coefficients using constant
Lewis numers Di = lambda/(rho*Cp*Lei)
10-jan-11/julien: Modified for a resolution with LSODE 26-jui-11/julien: Replaced fatal_error by inevitably_fatal_error to allow
proper exit when T_loc<T_low or T_loc>T_up
- Parameters:
- Call to:
timing(),getdensity(),gettemperature(),inevitably_fatal_error(),fatal_error(),chemspec_normalization(),chemspec_normalization_n2(),special_calc_chemistry(),dot_mn(),calc_diagnostics_chemistry(),get_reac_rate(),max_mn_name(),xysum_mn_name_z(),find_species_index(),der_onesided_4_slice_other(),warning()
- subroutine chemistry/chemistry_before_boundary(f)
Calculate quantities for a chemical mixture
- Parameters:
- Call to:
chemspec_normalization(),chemspec_normalization_n2(),fatal_error(),timing(),special_calc_chemistry(),dot_mn(),calc_diagnostics_chemistry(),get_reac_rate(),max_mn_name(),xysum_mn_name_z(),find_species_index(),inevitably_fatal_error(),der_onesided_4_slice_other(),warning()
- subroutine chemistry/chemspec_normalization(f)
20-sep-10/Natalia: coded renormalization of the species
- subroutine chemistry/dchemistry_dt(f, df, p)
calculate right hand side of ONE OR MORE extra coupled PDEs along the ‘current’ Pencil, i.e. f(l1:l2,m,n) where m,n are global variables looped over in equ.f90
Due to the multi-step Runge Kutta timestepping used one MUST always add to the present contents of the df array. NEVER reset it to zero.
several precalculated Pencils of information are passed if for efficiency.
- 13-aug-07/steveb: coded
8-jan-08/natalia: included advection/diffusion
20-feb-08/axel: included reactions 22-jun-10/julien: modified evaluation of enthalpy fluxes with
constant Lewis numbers
10-jan-11/julien: modified to solve chemistry with LSODE
- Parameters:
- Use :
sub(grad(),dot_mn(),u_dot_grad_alt()),special(special_calc_chemistry())- Call to:
timing(),special_calc_chemistry(),dot_mn(),fatal_error(),calc_diagnostics_chemistry(),get_reac_rate(),max_mn_name(),xysum_mn_name_z(),find_species_index(),inevitably_fatal_error(),der_onesided_4_slice_other(),warning()
- subroutine chemistry/calc_diagnostics_chemistry(f, p)
Calculate diagnostic quantities
- Parameters:
- Use :
- Call to:
get_reac_rate(),max_mn_name(),xysum_mn_name_z(),find_species_index(),fatal_error(),inevitably_fatal_error(),timing(),dot_mn(),der_onesided_4_slice_other(),warning()
- subroutine chemistry/rprint_chemistry(lreset[, lwrite])
reads and registers print parameters relevant to chemistry
13-aug-07/steveb: coded
- Parameters:
lreset [logical]
lwrite [logical]
- Use :
diagnostics(parse_name()),farraymanager(farray_index_append()),general(itoa(),get_species_nr())- Call to:
find_species_index(),fatal_error(),inevitably_fatal_error(),timing(),dot_mn(),der_onesided_4_slice_other(),warning()
- subroutine chemistry/get_slices_chemistry(f, slices)
Write slices for animation of Chemistry variables.
13-aug-07/steveb: dummy 16-may-09/raphael: added more slices
- Parameters:
slices [slice_data]
- Use :
- Call to:
find_species_index(),fatal_error(),inevitably_fatal_error(),timing(),dot_mn(),der_onesided_4_slice_other(),warning()
- subroutine chemistry/read_chemistry_init_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- Call to:
find_species_index(),fatal_error(),inevitably_fatal_error(),timing(),dot_mn(),der_onesided_4_slice_other(),warning()
- subroutine chemistry/write_chemistry_init_pars(unit)
- Parameters:
unit [integer,in]
- Call to:
find_species_index(),fatal_error(),inevitably_fatal_error(),timing(),dot_mn(),der_onesided_4_slice_other(),warning()
- subroutine chemistry/read_chemistry_run_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- Call to:
find_species_index(),fatal_error(),inevitably_fatal_error(),timing(),dot_mn(),der_onesided_4_slice_other(),warning()
- subroutine chemistry/write_chemistry_run_pars(unit)
- Parameters:
unit [integer,in]
- Call to:
find_species_index(),fatal_error(),inevitably_fatal_error(),timing(),dot_mn(),der_onesided_4_slice_other(),warning()
- subroutine chemistry/write_net_reaction()
write net reactions to file
- subroutine chemistry/get_rhs_y_full(rhs_y)
- Parameters:
- Call to:
fatal_error(),find_species_index(),der_onesided_4_slice_other(),warning()
- subroutine chemistry/get_cs2_full(cs2_full)
- Parameters:
- Call to:
fatal_error(),find_species_index(),der_onesided_4_slice_other(),warning()
- subroutine chemistry/get_cs2_slice(f, slice, dir, index)
Find a slice of the speed of sound
10-dez-09/nils: coded
- Parameters:
- Call to:
fatal_error(),find_species_index(),der_onesided_4_slice_other(),warning()
- subroutine chemistry/get_gamma_full(gamma_full)
- Parameters:
- Call to:
fatal_error(),find_species_index(),der_onesided_4_slice_other(),warning()
- subroutine chemistry/get_gamma_slice(f, slice, dir, index)
Get a 2D slice of gamma
10-dez-09/Nils Erland L. Haugen: coded
- Parameters:
- Call to:
fatal_error(),find_species_index(),der_onesided_4_slice_other(),warning()
- subroutine chemistry/jacobn(f, jacob)
Compute the jacobian, i.e. the matrix jacob(nchemspec x nchemspec) where jacob(i,j)=dv_i/dc_j v is the vector of dimension nchemspec of the rates dc_j/dt (the c_j being concentrations, stocked in f among other)
28-may-09/rplasson: coded
exchange data
- Parameters:
- Call to:
der_onesided_4_slice_other(),fatal_error(),find_species_index(),warning()
- subroutine chemistry/get_mu1_slice(f, slice, grad_slice, index, sgn, direction)
For the NSCBC boundary conditions the slice of mu1 at the boundary, and its gradient, is required.
10-dez-09/Nils Erland L. Haugen: coded
- Parameters:
- Use :
- Call to:
der_onesided_4_slice_other(),fatal_error(),find_species_index(),warning()
- subroutine chemistry/get_reac_rate(wt, f, p)
- Parameters:
- Call to:
- subroutine chemistry/chemistry_clean_up()
- Call to:
- subroutine chemistry/chemspec_normalization_n2(f)
- Parameters:
- Call to:
- subroutine chemistry/cond_spec_cond(f, df, p, ad, dustbin_width, mfluxcond)
- subroutine chemistry/cond_spec_cond_lagr(f, df, p, rp, ix0, ix, np_swarm, dapdt)
- subroutine chemistry/cond_spec_nucl(f, df, p, kk_vec, ad)
- subroutine chemistry/cond_spec_nucl_lagr(f, df, p)
- subroutine chemistry/condensing_species_rate(p, mfluxcond)
- Parameters:
p [pencil_case]
mfluxcond (nx) [real]
- subroutine chemistry/cond_spec_film_rate(p, ix, tdrop, ap, urel, dapdt)
Sherwood film / classical d^2-law evaporation rate for a single droplet.
mdot = pi d Sh rho_g D ln(1+B_M) [g/s, mass leaving drop] dap/dt = -Sh rho_g D ln(1+B_M) / (2 ap rho_liq) [cm/s] (<0: evaporation) Sh = 2 + 0.6 Re_p^(1/2) Sc^(1/3) (Ranz-Marshall) B_M = (Y_s - Y_inf)/(1 - Y_s) (Spalding)
The surface mass fraction Y_s is built from the saturation pressure at the DROPLET temperature Tdrop (isothermal-droplet assumption), so the driving potential is the true surface-to-far-field gradient. For Sh=2 (quiescent) this integrates to d^2(t) = d0^2 - K t with K = 8 rho_g D ln(1+B_M)/rho_liq.
Diffusivity D: if Dcond_cgs>0 a constant D is used (e.g. for the analytic d^2-law validation); otherwise D is taken from the SAME per-species diffusion coefficient the chemistry module uses for the species transport equation, p%Diff_penc_add(:,ichem_cond_spec) (mixture-averaged / binary, T- and composition-dependent, evaluated at the local gas-cell state).
- Parameters:
p [pencil_case,in]
ix [integer,in]
tdrop [real,in]
ap [real,in]
urel [real,in]
dapdt [real,out]
- Call to:
- subroutine chemistry/cond_spec_lmass(lmass)
Latent heat of the condensing species per unit mass, in code units. deltaH_cgs is erg/mol and molar_mass_spec g/mol, giving erg/g; specific energy converts to code units as velocity^2, hence the unit_velocity^2.
- Parameters:
lmass [real,out]
- subroutine chemistry/cond_spec_transfer_cv(ix0, cv_cond, cv_absorb)
Gas-phase specific heat at constant volume [code units, erg/g/K in cgs] of the condensing and absorbing species at the global x-index ix0 of the current (m,n) pencil. This is the SAME per-species cv the eos uses to build the mixture cv (cv_full = sum_k Y_k cv_R_spec_full_k Rgas/M_k), so when the phase-change mass source adds/removes a species the eos credits/debits the gas energy by exactly mdot*cv_spec*T_g. particles_radius uses these to make the interfacial sensible-energy flux exactly conservative: the droplet accounts the transferred mass at the liquid cp, the gas at its species cv, and the difference (cp_liq*T_p - cv_spec*T_g) is delivered/removed explicitly.
- Parameters:
ix0 [integer,in]
cv_cond [real,out]
cv_absorb [real,out]
- subroutine chemistry/cond_spec_absorb_rate(p, ix, tdrop, ap, mn, mw, urel, mdotn)
Mass rate of the absorbing species LEAVING the droplet (outward positive, code units) – the SAME sign convention as the condensing-species flux (dot m_W = cond_spec_film_rate’s mdot_out): mdotN<0 for absorption (gas -> drop), mdotN>0 for desorption (drop -> gas). Sherwood-film form with the surface state from the VLE routine; the liquid mole fraction is built from the dissolved (mN) and solvent (mW) masses, using the condensing species as the solvent (molar_mass_spec).
- Parameters:
p [pencil_case,in]
ix [integer,in]
tdrop [real,in]
ap [real,in]
mn [real,in]
mw [real,in]
urel [real,in]
mdotn [real,out]
- Call to:
- subroutine chemistry/absorb_spec_lagr(f, df, p, ix0, ix, np_swarm, mdotn)
Gas-phase back-reaction for absorption: the absorbing species mass leaves the gas (continuity + species), analogous to condensation of that species. mdotN is the OUTWARD (leaving-drop) flux (same convention as the condensing species), so mdotN<0 = absorbed into the droplet, i.e. removed from the gas.
- subroutine chemistry/absorb_spec_lsol(lsol)
Heat of solution of the absorbing species per unit mass, in code units. dHsol_cgs [erg/mol] > 0 is exothermic (released on absorption -> heats drop).
- Parameters:
lsol [real,out]
- subroutine chemistry/chemistry_init_reduc_pointers()
7-feb-24/TP: allocates memory needed for reductions
- Call to:
- subroutine chemistry/chemistry_diags_reductions()
7-feb-24/TP: diag_reductions for chemistry
- Call to:
- subroutine chemistry/find_species_index(species_name, ind_glob, ind_chem, found_specie)
- Parameters:
species_name [character,in]
ind_glob [integer,out]
ind_chem [integer,inout]
found_specie [logical,out]
- subroutine chemistry/pushpars2c(p_par)
- Parameters:
p_par (150) [integer]
- Use :
syscalls(copy_addr()),general(string_to_enum())- Call to:
- subroutine chemistry/make_flame_index(f)
- Parameters:
- Use :
- Call to: