mean_field_driver.py Command Help
Command: $SCHRODINGER/run microkinetics_gui_dir/mean_field_driver.py
usage: $SCHRODINGER/run microkinetics_gui_dir/mean_field_driver.py
[-h] -rxn_network_file RXN_NETWORK_FILE [-temperature TEMPERATURE]
[-catalyst_info catalyst_name,mass,specific_surface_area,adsorption_site_density [catalyst_name,mass,specific_surface_area,adsorption_site_density ...]]
[-gas_info gas_name1,partial_pressure1,mol_mass1,(optional:variable_pressure1) [gas_name2,partial_pressure2,mol_mass2,(optional:variable_pressure2) ...]]
[-bulk_info bulk_name1 [bulk_name2 ...]]
[-reactor_flow_rate REACTOR_FLOW_RATE] [-reactor_volume REACTOR_VOLUME]
[-deg_rate_control] [-deg_selectivity_control] [-rxn_order]
[-convergence_tol CONVERGENCE_TOL]
[-max_integration_time MAX_INTEGRATION_TIME]
[-ode_solver {RK45,RK23,DOP853,Radau,BDF,LSODA}]
[-epsilon_pct EPSILON_PCT]
[-max_integration_time_step MAX_INTEGRATION_TIME_STEP]
[-coverage_file COVERAGE_FILE]
[-max_integration_wall_clock_time MAX_INTEGRATION_WALL_CLOCK_TIME]
[-stages STAGES] [-jacobian {numerical,analytical}]
[-interaction {simple_quadratic}] [-atol ATOL] [-rtol RTOL]
[-electrode_potential ELECTRODE_POTENTIAL]
[-transfer_coeff_method {fixed,hammond}] [-D]
Driver for mean field microkinetic modeling. Copyright Schrodinger, LLC. All
rights reserved.
options:
-h, -help Show this help message and exit.
-rxn_network_file RXN_NETWORK_FILE
A comma-separated-value (CSV) file containing the
reaction network information. See /opt/schrodinger/sui
tes2026-3/mmshare-
v7.5/python/scripts/microkinetics_gui_dir/example_rxn_
network_file.csv for an example. One header should be
labeled Reactions. Its rows should contain the name of
each reaction, and each reaction name should be
unique. More headers should be labeled Forward
Reaction Barrier (eV) and Reverse Reaction Barrier
(eV). Their rows should be the reaction barriers of
the forward and reverse reactions, respectively. There
should be a forward and reverse barrier for a given
reaction. Unlisted barriers are assumed to be
zero.Another optional header is Collision Factor whose
rows give the type of pre-exponential collision factor
(1/s) to use when computing rate constants for the
given reaction in either direction. Current supported
types are a fixed positive numerical value, Eyring and
Hertz-Knudsen. Eyring is default.Use the optional
column TS Lateness Parameter to define a transition
state lateness parameter for each reaction. This is a
number in [0.0, 1.0] where a value of 0.0 means the
transition state geometry resembles that of the
reactants while a value of 1.0 means it resembles
products. This is used when partitioning the
adsorbate-adsorbate lateral interaction correction to
the reaction energy into corrections to the forward
and reverse reaction barriers according to the
Brønsted–Evans–Polanyi (BEP) scaling relation. It has
a default value of 0.5.Another optional header is
Notes. This column is meant to be used to store
reference information, and it will be ignored by this
driver. All remaining headers will be assumed to be
the names of intermediate species involved in the
microkinetic model. The empty site should be named as
*:catalyst_name by the user. The catalyst_name should
be exactly same as the name in provided in
-catalyst_info. Each intermediate name should be
unique. The rows for each of these columns should be
the stoichiometric coefficients of the intermediates.
Positive coefficients indicate that the intermediate
is a product, and negative coefficients indicate that
intermediate is a reactant in the reaction.Additional
options for electrocatalytic reactions: Transfer
Coefficient is a unitless quantity representing the
fraction of the electrical driving force
(overpotential) that lowers the activation barrier for
an electrochemical reaction. Reaction Type determines
the reaction type. Accepted values are 'thermo' (or
'thermocatalytic') and 'electro' (or
'electrocatalytic'). If absent, the default is
thermocatalytic. Butler-Volmer correction is applied
to all electrocatalytic reactions. Electrons
Transferred determines the number of electrons
transferred during the reaction. The electron count is
used directly in the Butler-Volmer equation. For each
electrocatalytic reaction, n_electron must be non-
zero. (default: None)
-temperature TEMPERATURE
Temperature (in K). (default: 298.15)
-catalyst_info catalyst_name,mass,specific_surface_area,adsorption_site_density [catalyst_name,mass,specific_surface_area,adsorption_site_density ...]
The information for the catalysts you want to model.
The first piece of information should be the exact
name of the catalyst. The second piece of information
should be the mass of catalyst added to the reactor,
in units of grams. The third piece of information
should be the specific surface area of the catalyst,
in units of m^2/g. The fourth piece of information
should be the adsorption site density of the catalyst,
in units of sites/cm^2. (default: None)
-gas_info gas_name1,partial_pressure1,mol_mass1,(optional:variable_pressure1) [gas_name2,partial_pressure2,mol_mass2,(optional:variable_pressure2) ...]
The information for each gaseous/solvated intermediate
in the reaction network. The first piece of
information should be the exact name of the
intermediate, as written in the headers of the
-rxn_network_file file (note: these names are case-
sensitive). The second piece of information should be
the partial pressure of the gas/solute in the inlet
stream, in units of bar. The third piece of
information should be the molecular mass of the
gas/solute molecule, in units of Daltons. The fourth,
and optional, piece of information should be a
boolean: True to enable variable partial pressure of
the gas/solute molecule or False to keep it constant
(defaults to False). (default: None)
-bulk_info bulk_name1 [bulk_name2 ...]
The information for any bulk materials. Since bulk
materials have unlimited sites the rates of reactions
involving them are zeroth order in the empty site
and/or absorbed species coverage. (default: None)
-reactor_flow_rate REACTOR_FLOW_RATE
The flowrate of fluid in/out of the reactor (in
liters/second) (default: 1.0)
-reactor_volume REACTOR_VOLUME
The volume of the reactor (in liters). (default: 10.0)
-deg_rate_control Calculate the degrees of rate control. (default:
False)
-deg_selectivity_control
Calculate the degrees of selectivity control.
(default: False)
-rxn_order Calculate the reaction orders. (default: False)
-convergence_tol CONVERGENCE_TOL
If seeking a steady state then this is the absolute
tolerance of the time derivative (1/s) of coverages
and pressures used to determine if the system has
reached a steady state. Otherwise pass "none" to
indicate that no steady state is being sought.
(default: 1e-05)
-max_integration_time MAX_INTEGRATION_TIME
The maximum integration time in seconds. (default:
1000000.0)
-ode_solver {RK45,RK23,DOP853,Radau,BDF,LSODA}
The ODE solver to use. Choices are
RK45,RK23,DOP853,Radau,BDF,LSODA. (default: LSODA)
-epsilon_pct EPSILON_PCT
When calculating degrees of rate control or reaction
orders net rates are differentiated with respect to
either rate constants or pressures, respectively. This
is done using finite difference where the
perturbations have relative magnitudes. For degree of
rate control the rate constant perturbations are
calculated from this percentage of reaction barriers.
For reaction orders the pressure perturbations are
calculated from this percentage of pressures.
(default: 0.1)
-max_integration_time_step MAX_INTEGRATION_TIME_STEP
The maximum integration time step in seconds.
(default: 100000.0)
-coverage_file COVERAGE_FILE
An input csv file specifying parameters of empty sites
and adsorbates on catalysts. The column header
'Species' is required and specifies the species. Use
the column header 'Coverage' to optionally specify
initial coverages. By default initial coverages will
be 1 for empty sites and 0 for adsorbates. Use the
column header 'Lateral Scaling Parameter (eV)' to
optionally specify scaling parameters used to
calculate the lateral interaction corrections to the
reaction energies. Parameters for adsorbate pairs will
be calculated using the geometric mean combination
rule. By default parameters are 1.0 eV. (default:
None)
-max_integration_wall_clock_time MAX_INTEGRATION_WALL_CLOCK_TIME
The maximum integration wall clock time in seconds.
(default: 1800)
-stages STAGES An input csv file specifying subsequent stages.
Columns are stage properties, and rows are stages.
Coverages for each adsorbate, and
pressures/concentrations for each gas/solute, must be
specified for each subsequent stage. The name of the
adsorbate or gas/solute is the column name for the
respective value. In addition, values for
-temperature, -max_integration_time,
-deg_rate_control, -deg_selectivity_control,
-rxn_order must be specified. -electrode_potential may
optionally be specified to override the applied
voltage per stage for electrocatalytic reactions. The
column names should match with the flag names. If it
is desired to use the final value from the previous
stage as the initial value for the subsequent stage,
then the value should be specified as 'PS' (previous
stage) (default: None)
-jacobian {numerical,analytical}
The Jacobian for the ODE solver to use. Choices are
numerical,analytical. Each element of the Jacobian is
a derivative of an ODE, dC_i/dt ( concentration of i),
with respect to C_j (concentration of j),
d^2C_i/dC_jdt. (default: analytical)
-interaction {simple_quadratic}
Adsorbate-adsorbate interactions. 'simple_quadratic'
specifies a simple second-order dependence on the
coverage. The default is 'none', in which the barriers
are independent of coverage. (default: None)
-atol ATOL Absolute tolerance, or the number of correct decimal
places, used in the ODE solver to maintain local error
estimates less than atol + rtol * abs(y), where y is
the solution whose accuracy is being controlled. See
scipy.integrate.solve_ivp documentation (https://docs.
scipy.org/doc/scipy/reference/generated/scipy.integrat
e.solve_ivp.html) for more details. We are using their
recommended defaults. Set atol to be smaller than the
smallest value that can be expected from rtol *
abs(y). If atol is larger than rtol * abs(y) the
number of correct digits is not guaranteed. (default:
1e-06)
-rtol RTOL Relative tolerance, or the number of correct digits,
used in the ODE solver to maintain local error
estimates less than atol + rtol * abs(y), where y is
the solution whose accuracy is being controlled. See
scipy.integrate.solve_ivp documentation (https://docs.
scipy.org/doc/scipy/reference/generated/scipy.integrat
e.solve_ivp.html) for more details. We are using their
recommended defaults. Set rtol such that rtol * abs(y)
is always smaller than atol. (default: 0.001)
-electrode_potential ELECTRODE_POTENTIAL
Fixed electrode potential in Volt with respect to
standard hydrogen electrode (SHE). Value can be
positive or negative. (default: None)
-transfer_coeff_method {fixed,hammond}
Method for determining transfer coefficient α when not
provided in CSV. 'fixed' (default): Uses symmetric
value α = 0.5, treating the reaction as equally
sensitive to overpotential in forward and reverse
directions. 'hammond': Calculates α from barrier ratio
using Hammond postulate (Marcus/BEP model): α =
Ea_fwd/(Ea_fwd+Ea_rev). This gives α → 0 for strongly
exergonic reactions (early TS) and α → 1 for strongly
endergonic ones (late TS). User-provided values in the
reaction network CSV always take precedence over this
setting. (default: fixed)
Job Control Options:
-D, -DEBUG Show details of Job Control operation. (default:
False)