particles_chemistry

Module

Description

$Id: Particles_chemistry.f90 21950 2014-07-08 08:53:00Z jonas.kruger $

MODULE_DOC: This module implements reactive particles.

** AUTOMATIC CPARAM.INC GENERATION ************************

Declare (for generation of cparam.inc) the number of f array variables and auxiliary variables added by this module

CPARAM logical, parameter :: lparticles_chemistry=.true. MPAUX CONTRIBUTION 1


The assumptions and equations implemented in this routine are deduced partially from following papers: 8th US Combustion Meeting - Paper # 070CO-0312 Transient simulations of char gasification by Nils Erland L. Haugen Reginald E. Mitchell Matt Tilghman


Quick access

Variables:

a_p, a_p_first, aac, ac, adsorbed_species_enthalpy, adsorbed_species_entropy, allocate_variable_pencils, b_k, calc_a_p, calc_cg, calc_conversion, calc_cs, calc_effectiveness_factor, calc_enthalpy_of_reaction, calc_entropy_of_reaction, calc_k_k, calc_mod_surf_area, calc_ndot_mdot_r_j_hat, calc_q_reac, calc_r_c_hat, calc_rho_p, calc_rr_hat, calc_st, cg, chemplaceholder, conversion, count_species, count_species_type, create_arh_param, cs, delta_rho_surface, dependent_reactant, diffusivity, dngas, effectiveness_factor, effectiveness_factor_old, effectiveness_factor_reaction, effectiveness_factor_species, effectiveness_factor_timeaver, element, entropy_k, er_k, eta_int, f_rpm, find_sh_counter, first_pchem, flags, flip_and_parse, gas_constant, get_conversion, get_mod_surf_area, get_nusselt, get_q_reac, get_r_c_hat, get_r_j_hat, get_reverse_k_k, get_rr_hat, get_st, heating_k, idiag_shchm, imuadsco, imuadsh, imuadso, imuadso2, imuadsoh, imufree, initial_density, inuch, inuch2, inuch3, inuch4, inuco, inuco2, inuh2, inuh2o, inuhco, inuo2, iter, jmap, k_k, lbaum_and_street, lheat_per_pencil, lpchem_debug, lpreactions, lreactive_heating, lsurface_nopores, lthiele, mass_loss, mdot_ck, mol_mass_carbon, molar_mass, mu_prime, n_adsorbed_species, n_max_elements, n_reactions, n_species, n_surface_reactants, n_surface_reactions, n_surface_species, ndot, ndot_total, np, nr, ns, nu_prime, omega_pg_dbl, parse, part, part_power, particle_temperature, placeholder, pre_energy, print_debug_info, products, q_reac, r_c_hat, r_j_hat, rck, rck_max, reactants, reaction_direction, reaction_enhancement, reaction_order, read_mechanics_file, register_dep_pchem, register_indep_pchem, register_unit_system, remove_save_powers, remove_save_t_k, reverse_reactions_present, rho_p, rho_p_first, rr_hat, rr_method, set_rr, sgc_init, sigma_k, species, species_name, st, startup_quench, startup_time, structural_parameter, surface_species_enthalpy, surface_species_entropy, t_k, thiele, tortuosity, total_carbon_sites, tp_pencil, writeformat, x_s_total

Routines:

calc_ads_enthalpy(), calc_ads_entropy(), calc_diagnostics_particles_chem(), calc_get_mod_surf_area(), calc_pchemistry_pencils(), calc_pencils_par_chem(), calc_surf_enthalpy(), calc_surf_entropy(), cleanup_chemistry_pencils(), count_max_elements(), count_reactions(), create_ad_sol_lists(), create_dependency(), create_dngas(), create_occupancy(), create_stoc(), find_species(), get_ac(), get_adsorbed_chemistry(), get_mass_chemistry(), get_part(), get_pchem_info(), get_radius_chemistry(), get_reactants(), get_surface_chemistry(), get_temperature_chemistry(), particles_chemistry_clean_up(), pencil_criteria_par_chem(), read_particles_chem_init_pars(), read_particles_chem_run_pars(), register_particles_chem(), rprint_particles_chem(), sort_compounds(), write_particles_chem_init_pars(), write_particles_chem_run_pars()

Needed modules

Variables

  • particles_chemistry/a_p (*) [real,private/allocatable]
  • particles_chemistry/a_p_first [real,private]
  • particles_chemistry/aac (*) [real,allocatable/public]
  • particles_chemistry/ac (*) [real,allocatable/public]
  • particles_chemistry/adsorbed_species_enthalpy (*,*) [real,private/allocatable]
  • particles_chemistry/adsorbed_species_entropy (*,*) [real,private/allocatable]
  • particles_chemistry/allocate_variable_pencils [private]
  • particles_chemistry/b_k (*) [real,private/allocatable]
  • particles_chemistry/calc_a_p [private]
  • particles_chemistry/calc_cg [private]
  • particles_chemistry/calc_conversion [private]
  • particles_chemistry/calc_cs [private]
  • particles_chemistry/calc_effectiveness_factor [private]
  • particles_chemistry/calc_enthalpy_of_reaction [private]
  • particles_chemistry/calc_entropy_of_reaction [private]
  • particles_chemistry/calc_k_k [private]
  • particles_chemistry/calc_ndot_mdot_r_j_hat [private]
  • particles_chemistry/calc_pencil_rep_nu [private]
  • particles_chemistry/calc_q_reac [private]
  • particles_chemistry/calc_r_c_hat [private]
  • particles_chemistry/calc_rho_p [private]
  • particles_chemistry/calc_rr_hat [private]
  • particles_chemistry/calc_st [private]
  • particles_chemistry/cg (*) [real,private/allocatable]
  • particles_chemistry/chemplaceholder [real,private/optional/default=0.0]
  • particles_chemistry/conversion (*) [real,private/allocatable]
  • particles_chemistry/count_species [private]
  • particles_chemistry/count_species_type [private]
  • particles_chemistry/create_arh_param [private]
  • particles_chemistry/cs (*,*) [real,private/allocatable]
  • particles_chemistry/delta_rho_surface [real,private/optional/default=0.0]
  • particles_chemistry/dependent_reactant (*) [integer,allocatable/public]
  • particles_chemistry/diffusivity [real,private/optional/default=0.0]
  • particles_chemistry/dngas (*) [real,private/allocatable]
  • particles_chemistry/effectiveness_factor (*) [real,private/allocatable]
  • particles_chemistry/effectiveness_factor_old (*) [real,private/allocatable]
  • particles_chemistry/effectiveness_factor_reaction (*,*) [real,private/allocatable]
  • particles_chemistry/effectiveness_factor_species (*,*) [real,private/allocatable]
  • particles_chemistry/effectiveness_factor_timeaver [real,private/optional/default=1.0]
  • particles_chemistry/element [character,private]
  • particles_chemistry/entropy_k (*,*) [real,private/allocatable]
  • particles_chemistry/er_k (*) [real,private/allocatable]
  • particles_chemistry/eta_int [real,private/optional/default=0.0]
  • particles_chemistry/f_rpm (*) [real,private/allocatable]
  • particles_chemistry/find_sh_counter [private]
  • particles_chemistry/first_pchem [logical,private/optional/default=.true.]
  • particles_chemistry/flags (*) [character,private/allocatable]
  • particles_chemistry/flip_and_parse [private]
  • particles_chemistry/gas_constant [real,private/optional/default=8.3144727]

    [J/mol/K] MUST ALWAYS BE IN SI UNITS !

  • particles_chemistry/get_reverse_k_k [private]
  • particles_chemistry/get_rr_hat [private]
  • particles_chemistry/heating_k (*,*) [real,private/allocatable]
  • particles_chemistry/idiag_shchm [integer,private/optional/default=0]

    DIAG_DOC: $rm{mean particle Sherwood number}$

  • particles_chemistry/imuadsco [integer,public]
  • particles_chemistry/imuadsh [integer,public]
  • particles_chemistry/imuadso [integer,public]
  • particles_chemistry/imuadso2 [integer,public]
  • particles_chemistry/imuadsoh [integer,public]
  • particles_chemistry/imufree [integer,public]
  • particles_chemistry/initial_density (*) [real,private/allocatable]
  • particles_chemistry/inuch [integer,public]
  • particles_chemistry/inuch2 [integer,public]
  • particles_chemistry/inuch3 [integer,public]
  • particles_chemistry/inuch4 [integer,public]
  • particles_chemistry/inuco [integer,public]
  • particles_chemistry/inuco2 [integer,public]
  • particles_chemistry/inuh2 [integer,public]
  • particles_chemistry/inuh2o [integer,public]
  • particles_chemistry/inuhco [integer,public]
  • particles_chemistry/inuo2 [integer,public]
  • particles_chemistry/iter [integer,private/optional/default=0]
  • particles_chemistry/jmap (*) [integer,allocatable/public]
  • particles_chemistry/k_k (*,*) [real,private/allocatable]
  • particles_chemistry/lbaum_and_street [logical,public/optional/default=.false.]

    RUN_DOC: Analytical calculation of surface gas fraction

  • particles_chemistry/lheat_per_pencil [logical,private/optional/default=.false.]
  • particles_chemistry/lpchem_debug [logical,private/optional/default=.false.]
  • particles_chemistry/lpreactions [logical,public/optional/default=.true.]
  • particles_chemistry/lreactive_heating [logical,private/optional/default=.false.]

    RUN_DOC: reactive heating of the particle

  • particles_chemistry/lsherwood_const [logical,private/optional/default=.false.]

    RUN_DOC: constant sherwood number (2 for quiescent flow)

  • particles_chemistry/lsurface_nopores [logical,public/optional/default=.false.]

    RUN_DOC: reactive surface just surface of sphere

  • particles_chemistry/lthiele [logical,private/optional/default=.false.]

    RUN_DOC: internal porosity with thiele modulus

  • particles_chemistry/lwrite [logical,private/optional/default=.true.]
  • particles_chemistry/mass_loss (*) [real,private/allocatable]
  • particles_chemistry/mdot_ck (*,*) [real,private/allocatable]
  • particles_chemistry/mol_mass_carbon [real,public/optional/default=12.0107]

    g/mol

  • particles_chemistry/molar_mass (nchemspec) [real,private/optional/default=1.0]
  • particles_chemistry/mu (*,*) [real,allocatable/public]
  • particles_chemistry/mu_prime (*,*) [real,allocatable/public]
  • particles_chemistry/n_adsorbed_species [integer,public]
  • particles_chemistry/n_max_elements [integer,private]
  • particles_chemistry/n_reactions [integer,private]
  • particles_chemistry/n_species [integer,public]
  • particles_chemistry/n_surface_reactants [integer,public]
  • particles_chemistry/n_surface_reactions [integer,public]
  • particles_chemistry/n_surface_species [integer,public]
  • particles_chemistry/ndot (*,*) [real,private/allocatable]
  • particles_chemistry/ndot_total (*) [real,private/allocatable]
  • particles_chemistry/np [integer,private]
  • particles_chemistry/nr [integer,private]
  • particles_chemistry/ns [integer,private]
  • particles_chemistry/nu (*,*) [real,allocatable/public]
  • particles_chemistry/nu_prime (*,*) [real,allocatable/public]
  • particles_chemistry/omega_pg_dbl (*) [real,private/allocatable]
  • particles_chemistry/parse [private]
  • particles_chemistry/part (*,*) [character,private/save/allocatable]
  • particles_chemistry/part_power (*,*) [real,private/save/allocatable]
  • particles_chemistry/particle_temperature (*) [real,private/allocatable]
  • particles_chemistry/placeholder [integer,private/optional/default=1]
  • particles_chemistry/pre_energy [real,private/optional/default=1.0]
  • particles_chemistry/print_debug_info [private]
  • particles_chemistry/products (40) [character,private]
  • particles_chemistry/q_reac (*) [real,private/allocatable]
  • particles_chemistry/r_c_hat (*) [real,private/allocatable]
  • particles_chemistry/r_j_hat (*,*) [real,private/allocatable]
  • particles_chemistry/rck (*,*) [real,private/allocatable]
  • particles_chemistry/rck_max (*,*) [real,private/allocatable]
  • particles_chemistry/reactants (40) [character,private]
  • particles_chemistry/reaction_direction (*) [character,private/save/allocatable]
  • particles_chemistry/reaction_enhancement (50) [real,private/optional/default=1.0]
  • particles_chemistry/reaction_order (*) [real,private/allocatable]
  • particles_chemistry/read_mechanics_file [private]
  • particles_chemistry/register_dep_pchem [private]
  • particles_chemistry/register_indep_pchem [private]
  • particles_chemistry/register_unit_system [private]
  • particles_chemistry/remove_save_powers [private]
  • particles_chemistry/remove_save_t_k [private]
  • particles_chemistry/reverse_reactions_present [logical,private/optional/default=.false.]
  • particles_chemistry/rho_p (*) [real,private/allocatable]
  • particles_chemistry/rho_p_first [real,private]
  • particles_chemistry/rr_hat (*,*) [real,private/allocatable]
  • particles_chemistry/rr_method (*) [integer,private/allocatable]
  • particles_chemistry/set_rr [private]
  • particles_chemistry/sgc_init [real,private/optional/default=3000000.0]

    cm^2/g

  • particles_chemistry/sigma_k (*) [real,private/allocatable]
  • particles_chemistry/species (40) [character,private]
  • particles_chemistry/species_name (50) [character,private]
  • particles_chemistry/st (*) [real,private/allocatable]
  • particles_chemistry/startup_quench [real,private]
  • particles_chemistry/startup_time [real,private/optional/default=0.0]

    INIT_DOC: Length of startup time for reactions

  • particles_chemistry/structural_parameter [real,private/optional/default=8.0]

    [-] can be 8, seems not right

  • particles_chemistry/surface_species_enthalpy (*,*) [real,private/allocatable]
  • particles_chemistry/surface_species_entropy (*,*) [real,private/allocatable]
  • particles_chemistry/t_k (*) [real,private/allocatable]
  • particles_chemistry/thiele (*,*) [real,private/allocatable]
  • particles_chemistry/tortuosity [real,private/optional/default=3.0]

    INIT_DOC: Particle pore tortuosity

  • particles_chemistry/total_carbon_sites [real,private/target/optional/default=1.08e-08]

    [mol/cm^2]

  • particles_chemistry/tp_pencil (*) [real,private/allocatable]
  • particles_chemistry/true_density_carbon [real,private/target/optional/default=1.8]

    g/cm^3

  • particles_chemistry/write_outputfile [private]
  • particles_chemistry/writeformat [character,private]
  • particles_chemistry/x_s_total [real,private]

Subroutines and functions

subroutine  particles_chemistry/register_particles_chem()
Called from:

particles_register_modules()

Call to:

get_pchem_info(), fatal_error(), count_reactions(), count_max_elements(), calc_diagnostics_particles_chem(), calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), find_species(), getnu()

subroutine  particles_chemistry/pencil_criteria_par_chem()

All pencils that the Particles_chemistry module depends on are specified here.

16.09.2015/jonas + nils: coded

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), read_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

Call to:

count_reactions(), count_max_elements(), fatal_error(), calc_diagnostics_particles_chem(), calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), find_species(), getnu()

subroutine  particles_chemistry/calc_pencils_par_chem(f, p)

Calculate Particles pencils. Most basic pencils should come first, as others may depend on them.

16.09.2015/jonas + nils: coded

Parameters:
Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_pencil_interdep(), particles_calc_pencils(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), read_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

Call to:

count_reactions(), count_max_elements(), fatal_error(), calc_diagnostics_particles_chem(), calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), find_species(), getnu()

subroutine  particles_chemistry/get_pchem_info(species, string, variable, talk)
Parameters:
  • species (*) [character]

  • string [character]

  • variable [integer]

  • talk [character]

Called from:

register_particles_chem()

Call to:

count_reactions(), count_max_elements(), fatal_error(), calc_diagnostics_particles_chem(), calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), find_species(), getnu()

subroutine  particles_chemistry/calc_get_mod_surf_area(mod_surf_area, fp)
Parameters:
Called from:

register_particles_ads(), initialize_particles_ads(), init_particles_ads(), pencil_criteria_par_ads(), dpads_dt_pencil(), dpads_dt()

Call to:

fatal_error(), calc_diagnostics_particles_chem(), calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/create_dependency(nu, dependent_reactant, n_surface_reactions, n_surface_reactants)

Creation of a list that contains which reaction has which gas phase species in its left hand side

oct-14/Jonas: coded

Parameters:
  • nu (,) [real]

  • dependent_reactant (*) [integer]

  • n_surface_reactions [integer]

  • n_surface_reactants [integer]

Called from:

register_particles_surfspec()

Call to:

fatal_error(), calc_diagnostics_particles_chem(), calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/create_occupancy(adsorbed_species_names, site_occupancy)
Parameters:
  • adsorbed_species_names (*) [character]

  • site_occupancy (*) [real]

Called from:

register_particles_ads()

Call to:

fatal_error(), calc_diagnostics_particles_chem(), calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/create_stoc(list, targ, lhs, nlist[, power])
Parameters:
  • list (*) [character]

  • targ (,) [real]

  • lhs [logical]

  • nlist [integer]

  • power (,) [real]

Called from:

register_particles_ads(), register_particles_surfspec()

Call to:

fatal_error(), calc_diagnostics_particles_chem(), calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/get_ac(ac, list, nlist)
Parameters:
  • ac (*) [real]

  • list (*) [character]

  • nlist [integer]

Called from:

register_particles_surfspec()

Call to:

fatal_error(), calc_diagnostics_particles_chem(), calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/sort_compounds(lhslist, species_list, nlist)
Parameters:
  • lhslist (*) [character]

  • species_list (*) [character]

  • nlist [integer]

Called from:

register_particles_ads(), register_particles_surfspec()

Call to:

fatal_error(), calc_diagnostics_particles_chem(), calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/create_ad_sol_lists(target_list, ad_sol)
Parameters:
  • target_list (*) [character]

  • ad_sol [character]

Called from:

register_particles_ads(), register_particles_surfspec()

Call to:

fatal_error(), calc_diagnostics_particles_chem(), calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/create_dngas()
Called from:

register_particles_surfspec()

Call to:

fatal_error(), calc_diagnostics_particles_chem(), calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/calc_diagnostics_particles_chem(p)
Parameters:

p [pencil_case]

Use :

diagnostics

Called from:

get_pchem_info(), pencil_criteria_par_chem(), calc_pencils_par_chem(), calc_get_mod_surf_area(), create_dependency(), create_ad_sol_lists(), create_occupancy(), create_dngas(), create_stoc(), get_ac(), sort_compounds(), register_particles_chem(), particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_pencil_interdep(), particles_calc_pencils(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), particles_pde(), particles_pde_pencil(), particles_calc_pencil_diags(), read_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

Call to:

fatal_error(), calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/get_part(var)
Parameters:

var (,) [character]

Call to:

fatal_error(), calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/get_reactants(var)
Parameters:

var (40) [character,out]

Called from:

register_particles_ads(), register_particles_surfspec()

Call to:

fatal_error(), calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/calc_surf_enthalpy(fp)
Parameters:

fp (mpar_loc,mparray) [real,in]

Called from:

get_pchem_info(), pencil_criteria_par_chem(), calc_pencils_par_chem(), calc_pchemistry_pencils(), calc_diagnostics_particles_chem(), calc_get_mod_surf_area(), create_dependency(), create_ad_sol_lists(), create_occupancy(), create_dngas(), create_stoc(), get_ac(), get_part(), get_reactants(), sort_compounds(), register_particles_chem(), calc_surf_enthalpy(), calc_surf_entropy(), calc_ads_enthalpy(), calc_ads_entropy()

Call to:

calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), fatal_error(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/calc_surf_entropy(fp)
Parameters:

fp (mpar_loc,mparray) [real,in]

Called from:

get_pchem_info(), pencil_criteria_par_chem(), calc_pencils_par_chem(), calc_pchemistry_pencils(), calc_diagnostics_particles_chem(), calc_get_mod_surf_area(), create_dependency(), create_ad_sol_lists(), create_occupancy(), create_dngas(), create_stoc(), get_ac(), get_part(), get_reactants(), sort_compounds(), register_particles_chem(), calc_surf_enthalpy(), calc_surf_entropy(), calc_ads_enthalpy(), calc_ads_entropy()

Call to:

calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), fatal_error(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/calc_ads_entropy(fp)
Parameters:

fp (mpar_loc,mparray) [real,in]

Called from:

get_pchem_info(), pencil_criteria_par_chem(), calc_pencils_par_chem(), calc_pchemistry_pencils(), calc_diagnostics_particles_chem(), calc_get_mod_surf_area(), create_dependency(), create_ad_sol_lists(), create_occupancy(), create_dngas(), create_stoc(), get_ac(), get_part(), get_reactants(), sort_compounds(), register_particles_chem(), calc_surf_enthalpy(), calc_surf_entropy(), calc_ads_enthalpy(), calc_ads_entropy()

Call to:

calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), fatal_error(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/calc_ads_enthalpy(fp)
Parameters:

fp (mpar_loc,mparray) [real,in]

Called from:

get_pchem_info(), pencil_criteria_par_chem(), calc_pencils_par_chem(), calc_pchemistry_pencils(), calc_diagnostics_particles_chem(), calc_get_mod_surf_area(), create_dependency(), create_ad_sol_lists(), create_occupancy(), create_dngas(), create_stoc(), get_ac(), get_part(), get_reactants(), sort_compounds(), register_particles_chem(), calc_surf_enthalpy(), calc_surf_entropy(), calc_ads_enthalpy(), calc_ads_entropy()

Call to:

calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), fatal_error(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/calc_pchemistry_pencils(f, fp, p, ineargrid)
Parameters:
  • f (mx,my,mz,mfarray) [real]

  • fp (mpar_loc,mparray) [real,in]

  • p [pencil_case]

  • ineargrid (mpar_loc,3) [integer]

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_pencil_interdep(), particles_calc_pencils(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), particles_pde(), particles_pde_pencil(), read_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

Call to:

calc_ads_entropy(), calc_ads_enthalpy(), calc_surf_entropy(), calc_surf_enthalpy(), fatal_error(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/cleanup_chemistry_pencils()

Do only if particles are present on the pencil

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_pencil_interdep(), particles_calc_pencils(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), particles_pde(), particles_pde_pencil(), read_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

Call to:

fatal_error(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/read_particles_chem_init_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

Call to:

fatal_error(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/write_particles_chem_init_pars(unit)
Parameters:

unit [integer,in]

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_pencil_interdep(), particles_calc_pencils(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), particles_pde(), particles_pde_pencil(), particles_calc_pencil_diags(), particles_pde_blocks(), read_all_particles_init_pars(), write_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

Call to:

fatal_error(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/read_particles_chem_run_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

Call to:

fatal_error(), count_max_elements(), count_reactions(), find_species(), getnu()

subroutine  particles_chemistry/write_particles_chem_run_pars(unit)
Parameters:

unit [integer,in]

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_pencil_interdep(), particles_calc_pencils(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), particles_pde(), particles_pde_pencil(), particles_calc_pencil_diags(), particles_pde_blocks(), read_all_particles_init_pars(), write_all_particles_init_pars(), read_all_particles_run_pars(), write_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

Call to:

fatal_error(), count_max_elements(), count_reactions(), find_species(), getnu()

function  particles_chemistry/count_max_elements(inputfile)
Parameters:

inputfile [character]

Return:

count_max_elements [integer]

Called from:

get_pchem_info(), pencil_criteria_par_chem(), calc_pencils_par_chem(), calc_pchemistry_pencils(), calc_diagnostics_particles_chem(), calc_get_mod_surf_area(), create_dependency(), create_ad_sol_lists(), create_occupancy(), create_dngas(), create_stoc(), get_ac(), get_part(), get_reactants(), sort_compounds(), register_particles_chem(), calc_surf_enthalpy(), calc_surf_entropy(), calc_ads_enthalpy(), calc_ads_entropy(), cleanup_chemistry_pencils(), read_particles_chem_init_pars(), write_particles_chem_init_pars(), read_particles_chem_run_pars(), write_particles_chem_run_pars()

Call to:

count_reactions(), find_species(), getnu(), fatal_error()

function  particles_chemistry/count_reactions(inputfile)
Parameters:

inputfile [character]

Return:

count_reactions [integer]

Called from:

get_pchem_info(), pencil_criteria_par_chem(), calc_pencils_par_chem(), count_max_elements(), calc_pchemistry_pencils(), calc_diagnostics_particles_chem(), calc_get_mod_surf_area(), create_dependency(), create_ad_sol_lists(), create_occupancy(), create_dngas(), create_stoc(), get_ac(), get_part(), get_reactants(), sort_compounds(), register_particles_chem(), calc_surf_enthalpy(), calc_surf_entropy(), calc_ads_enthalpy(), calc_ads_entropy(), cleanup_chemistry_pencils(), read_particles_chem_init_pars(), write_particles_chem_init_pars(), read_particles_chem_run_pars(), write_particles_chem_run_pars()

Call to:

find_species(), getnu(), fatal_error()

function  particles_chemistry/find_species(species, unique_species, nlist)
Parameters:
  • species [character]

  • unique_species (*) [character]

  • nlist [integer]

Return:

find_species [integer]

Called from:

register_particles_ads(), get_pchem_info(), pencil_criteria_par_chem(), calc_pencils_par_chem(), count_reactions(), count_max_elements(), calc_pchemistry_pencils(), calc_diagnostics_particles_chem(), calc_get_mod_surf_area(), create_dependency(), create_ad_sol_lists(), create_occupancy(), create_dngas(), create_stoc(), get_ac(), get_part(), get_reactants(), sort_compounds(), register_particles_chem(), calc_surf_enthalpy(), calc_surf_entropy(), calc_ads_enthalpy(), calc_ads_entropy(), cleanup_chemistry_pencils(), read_particles_chem_init_pars(), write_particles_chem_init_pars(), read_particles_chem_run_pars(), write_particles_chem_run_pars(), register_particles_surfspec(), init_particles_surf(), read_particles_surf_init_pars(), write_particles_surf_init_pars(), read_particles_surf_run_pars(), write_particles_surf_run_pars(), initialize_particles_surf(), dpsurf_dt(), dpsurf_dt_pencil(), rprint_particles_surf(), calc_diagnostics_particles_surf()

Call to:

getnu(), fatal_error()

subroutine  particles_chemistry/get_mass_chemistry(mass_loss_targ, st_targ, rck_max_targ)
Parameters:
  • mass_loss_targ (*) [real]

  • st_targ (*) [real]

  • rck_max_targ (,) [real]

Call to:

getnu(), fatal_error()

subroutine  particles_chemistry/get_radius_chemistry(mass_loss_targ, effectiveness_targ)
Parameters:
  • mass_loss_targ (*) [real]

  • effectiveness_targ (*) [real]

Called from:

register_particles_radius(), initialize_particles_radius(), set_particle_radius(), pencil_criteria_par_radius(), dap_dt_pencil()

Call to:

getnu(), fatal_error()

subroutine  particles_chemistry/get_adsorbed_chemistry(r_j_targ, r_c_targ)
Parameters:
  • r_j_targ (,) [real]

  • r_c_targ (*) [real]

Called from:

register_particles_ads(), initialize_particles_ads(), init_particles_ads(), pencil_criteria_par_ads(), dpads_dt_pencil(), dpads_dt()

Call to:

getnu(), fatal_error()

subroutine  particles_chemistry/get_surface_chemistry(cg_targ[, ndot_targ[, mass_loss_targ]])
Parameters:
  • cg_targ (*) [real]

  • ndot_targ (,) [real]

  • mass_loss_targ (*) [real]

Called from:

register_particles_surfspec(), init_particles_surf(), read_particles_surf_init_pars(), write_particles_surf_init_pars(), read_particles_surf_run_pars(), write_particles_surf_run_pars(), initialize_particles_surf(), dpsurf_dt(), dpsurf_dt_pencil(), rprint_particles_surf(), calc_psurf_pencils(), cleanup_surf_pencils(), calc_diagnostics_particles_surf()

Call to:

getnu(), fatal_error()

subroutine  particles_chemistry/get_temperature_chemistry(q_reac_targ[, mass_loss_targ, k1, k2])
Parameters:
  • q_reac_targ (1 - k1 + k2) [real]

  • mass_loss_targ (*) [real]

  • k1 [integer,in,required]

  • k2 [integer,in,required]

Called from:

register_particles_tt(), initialize_particles_tt(), init_particles_tt(), pencil_criteria_par_tt(), dptt_dt_pencil(), dptt_dt()

Call to:

getnu(), fatal_error()

subroutine  particles_chemistry/particles_chemistry_clean_up()
Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_pencil_interdep(), particles_calc_pencils(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), particles_pde(), particles_pde_pencil(), particles_calc_pencil_diags(), particles_pde_blocks(), read_all_particles_init_pars(), write_all_particles_init_pars(), read_all_particles_run_pars(), write_all_particles_run_pars(), particles_powersnap(), get_slices_particles(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles(), particles_stochastic()

Call to:

getnu(), fatal_error()

subroutine  particles_chemistry/rprint_particles_chem(lreset[, lwrite])

Read and register print parameters relevant for particles near field gas composition

06-oct-14/jonas: adapted

Parameters:
  • lreset [logical]

  • lwrite [logical]

Use :

diagnostics

Called from:

particles_register_modules(), particles_rprint_list()