catmap.scalers package¶
Submodules¶
catmap.scalers.generalized_linear_scaler module¶
-
class
catmap.scalers.generalized_linear_scaler.
GeneralizedLinearScaler
(reaction_model=None)[source]¶ Bases:
catmap.scalers.scaler_base.ScalerBase
TODO: -
__getattr__
(attr)¶ Return the value of the reaction model instance if its there. Otherwise return the instances own value (or none if the instance does not have the attribute defined and the attribute is not private)
-
__module__
= 'catmap.scalers.generalized_linear_scaler'¶
-
__setattr__
(attr, val)¶ Set attribute for the instance as well as the reaction_model instance
-
get_adsorbate_coefficient_matrix
()[source]¶ Calculate coefficients for scaling all adsorbates and transition states using constrained optimization. Store results in self.total_coefficient_dict and return the coefficient matrix for the adsorbates only.
-
get_energetics
(descriptors)¶
-
get_free_energies
(descriptors, **kwargs)¶
-
get_thermodynamic_energies
(**kwargs)¶
-
parse_constraints
(constraint_dict)[source]¶ This function converts constraints which are input as a dictionary to lists compatible with the function to obtain scaling coefficients.
-
set_output_attrs
(descriptors)¶ Function to set output information.
-
catmap.scalers.null_scaler module¶
-
class
catmap.scalers.null_scaler.
NullScaler
(reaction_model=None)[source]¶ Bases:
catmap.scalers.scaler_base.ScalerBase
Scaler which passes descriptor values directly to solver
-
__getattr__
(attr)¶ Return the value of the reaction model instance if its there. Otherwise return the instances own value (or none if the instance does not have the attribute defined and the attribute is not private)
-
__init__
(reaction_model=None)¶ Class for `scaling’ descriptors to free energies of reaction and activation (or other parameters). This class acts as a base class to be inherited by other scaler classes, but is not functional on its own.
This class contains the description of the microkinetic model (adsorbate_names, gas_names, etc.) along with the temperature and gas_pressures. In most cases these will automatically be populated by the parent reaction_model class. The scaler-specific attributes are:
- gas_energies: defines the energies of the gas-phase species.
- This sets the references for the system.
- gas_thermo_mode: the mode for obtaining thermal contributions in
- the gas phase. Default is to use the ideal gas approxmation.
- adsorbate_thermo_mode: the mode for obtaining thermal contributions
- from adsorbed species. Default is to use the harmonic adsorbate approximation.
- frequency_dict: a dictionary of vibrational frequencies (in eV) for
- each gas/adsorbate. Should be of the form frequency_dict[ads] = [freq1, freq2,…]. Needed for ideal gas, harmonic adsorbate, or hindered adsorbate approximations.
A functional derived scaler class must also contain the methods:
- get_electronic_energies(descriptors): a function to `scale’ the
- descriptors to electronic energies. Returns a dictionary of the electronic energies of each species in the model.
- get_energetics(descriptors): a function to obtain the reaction
- energetics from the descriptors. Should return a list of length N (number of elementary reactions): [[E_rxn1,E_a1],[E_rxn2,E_a2],…[E_rxnN,E_aN]]
- get_rxn_parameters(descriptors): a function to obtain all necessary
- reaction parameters from the descriptors. Should return a list of length N (number of elementary reactions): [[param1_rxn1,param2_rxn1…]…[param1_rxnN,param2_rxnN…]]. For a simple model this could be the same as get_energetics, but models accounting for interactions may require more parameters which can be scaled.
-
__module__
= 'catmap.scalers.null_scaler'¶
-
__setattr__
(attr, val)¶ Set attribute for the instance as well as the reaction_model instance
-
get_energetics
(descriptors)¶
-
get_free_energies
(descriptors, **kwargs)¶
-
get_thermodynamic_energies
(**kwargs)¶
-
set_output_attrs
(descriptors)¶ Function to set output information.
-
summary_text
()¶
-
catmap.scalers.scaler_base module¶
-
class
catmap.scalers.scaler_base.
ScalerBase
(reaction_model=None)[source]¶ Bases:
catmap.ReactionModelWrapper
-
__getattr__
(attr)¶ Return the value of the reaction model instance if its there. Otherwise return the instances own value (or none if the instance does not have the attribute defined and the attribute is not private)
-
__init__
(reaction_model=None)[source]¶ Class for `scaling’ descriptors to free energies of reaction and activation (or other parameters). This class acts as a base class to be inherited by other scaler classes, but is not functional on its own.
This class contains the description of the microkinetic model (adsorbate_names, gas_names, etc.) along with the temperature and gas_pressures. In most cases these will automatically be populated by the parent reaction_model class. The scaler-specific attributes are:
- gas_energies: defines the energies of the gas-phase species.
- This sets the references for the system.
- gas_thermo_mode: the mode for obtaining thermal contributions in
- the gas phase. Default is to use the ideal gas approxmation.
- adsorbate_thermo_mode: the mode for obtaining thermal contributions
- from adsorbed species. Default is to use the harmonic adsorbate approximation.
- frequency_dict: a dictionary of vibrational frequencies (in eV) for
- each gas/adsorbate. Should be of the form frequency_dict[ads] = [freq1, freq2,…]. Needed for ideal gas, harmonic adsorbate, or hindered adsorbate approximations.
A functional derived scaler class must also contain the methods:
- get_electronic_energies(descriptors): a function to `scale’ the
- descriptors to electronic energies. Returns a dictionary of the electronic energies of each species in the model.
- get_energetics(descriptors): a function to obtain the reaction
- energetics from the descriptors. Should return a list of length N (number of elementary reactions): [[E_rxn1,E_a1],[E_rxn2,E_a2],…[E_rxnN,E_aN]]
- get_rxn_parameters(descriptors): a function to obtain all necessary
- reaction parameters from the descriptors. Should return a list of length N (number of elementary reactions): [[param1_rxn1,param2_rxn1…]…[param1_rxnN,param2_rxnN…]]. For a simple model this could be the same as get_energetics, but models accounting for interactions may require more parameters which can be scaled.
-
__module__
= 'catmap.scalers.scaler_base'¶
-
__setattr__
(attr, val)¶ Set attribute for the instance as well as the reaction_model instance
-
catmap.scalers.thermodynamic_scaler module¶
-
class
catmap.scalers.thermodynamic_scaler.
ThermodynamicScaler
(reaction_model=None)[source]¶ Bases:
catmap.scalers.scaler_base.ScalerBase
Scaler which uses temperature/pressure/potential as descriptors and treates energetics as a constant
-
__getattr__
(attr)¶ Return the value of the reaction model instance if its there. Otherwise return the instances own value (or none if the instance does not have the attribute defined and the attribute is not private)
-
__module__
= 'catmap.scalers.thermodynamic_scaler'¶
-
__setattr__
(attr, val)¶ Set attribute for the instance as well as the reaction_model instance
-
get_energetics
(descriptors)¶
-
get_free_energies
(descriptors, **kwargs)¶
-
set_output_attrs
(descriptors)¶ Function to set output information.
-
summary_text
()¶
-