OpenFCST: The open-source Fuel Cell Simulation Toolbox
|
#include <platinum.h>
Public Member Functions | |
Constructors, destructor, and parameter initalization | |
Platinum (std::string name="Platinum") | |
Constructor. | |
Platinum (const bool) | |
PROTOTYE Constructor. | |
~Platinum () | |
Destructor. | |
virtual void | declare_parameters (ParameterHandler ¶m) const |
virtual void | set_parameters (const std::vector< std::string > &name_dvar, const std::vector< double > &value_dvar, ParameterHandler ¶m) |
virtual void | initialize (ParameterHandler ¶m) |
Member function used to read in data and initialize the necessary data from the parameter file to compute the coefficients. | |
Kinetic Parameter Accessors | |
virtual void | alpha_anodic (double &) const |
Return anodic transfer coefficient for the reaction specified using set_reaction_kinetics method. | |
virtual void | alpha_cathodic (double &) const |
Return cathodic transfer coefficient for the reaction specified using set_reaction_kinetics method. | |
virtual double | exchange_current_density (const double &) const |
Compute the exchange current density [A/cm^2 ] for the reaction specified using set_reaction_kinetics method. | |
virtual double | derivative_exchange_current_density (const double &) const |
Compute the derivative of exchange current density [A/cm^2 ] w.r.t temperature [Kelvin ] for the reaction specified using set_reaction_kinetics method. | |
virtual void | reference_concentration (const std::vector< VariableNames > &, std::map< VariableNames, double > &) const |
Compute the reference concentration for the reaction specified using set_reaction_kinetics method. | |
virtual double | voltage_cell_th (const double &) const |
Compute the theroretical cell voltage [Volts ] as a function of temperature, for the reaction specified using set_reaction_kinetics method. | |
virtual double | dvoltage_cell_th_dT (const double &) const |
Compute the derivative of theoretical cell voltage [Volts ] w.r.t temperature [Kelvin ], for the reaction specified using set_reaction_kinetics method. | |
virtual void | reaction_order (const std::vector< VariableNames > &, std::map< VariableNames, double > &) const |
Compute the reaction order of the electrochemical reaction with respect to each species involved in the reaction specified using set_reaction_kinetics method. | |
virtual void | set_reaction_kinetics (const std::string name) |
Member function used to specify the reaction for which the kinetic parameters are needed. | |
Public Member Functions inherited from FuelCellShop::Material::CatalystBase | |
virtual void | derivative_alpha_anodic (std::vector< double > &) const |
Return derivative of anodic transfer coefficient for the reaction specified using set_reaction_kinetics method with respect to the solution and design parameters specified using set_derivative_flags method. | |
virtual void | derivative_alpha_cathodic (std::vector< double > &) const |
Return derivative of cathodic transfer coefficient for the reaction specified using set_reaction_kinetics method with respect to the solution and design parameters specified using set_derivative_flags method. | |
std::string | get_reaction_name () const |
Member function to return the name of the reaction set in the catalyst material class. | |
double | get_density () const |
Obtain the density [gm/cm^3 ]. | |
Public Member Functions inherited from FuelCellShop::Material::BaseMaterial | |
void | set_derivative_flags (const std::vector< VariableNames > &flags) |
Set the variables for which you would like to compute the derivatives. | |
const std::string & | name_material () |
Return the name of the layer. | |
virtual void | print_material_properties () const |
This function prints out the material properties. | |
Static Public Attributes | |
static const std::string | concrete_name |
Name of the class. | |
Protected Member Functions | |
virtual bool | check_reaction_implementation (const std::string name) const |
Check that whether a particular reaction is implemented in the class or not. | |
Protected Member Functions inherited from FuelCellShop::Material::CatalystBase | |
CatalystBase (std::string name) | |
Constructor. | |
CatalystBase () | |
Constructor. | |
virtual | ~CatalystBase () |
Destructor. | |
Protected Member Functions inherited from FuelCellShop::Material::BaseMaterial | |
BaseMaterial () | |
Constructor. | |
BaseMaterial (const std::string &name) | |
Constructor. | |
virtual | ~BaseMaterial () |
Destructor. | |
Private Member Functions | |
Instance Delivery (Member function to create replica) | |
virtual boost::shared_ptr < FuelCellShop::Material::CatalystBase > | create_replica () |
This member function is used to create an object of type gas diffusion layer. | |
Private Attributes | |
Internal Data | |
double | alpha_a_ORR |
Anodic transfer coefficient (ORR), given in the parameter file. | |
double | alpha_c_ORR |
Cathodic transfer coefficient (ORR), given in the parameter file. | |
std::string | method_kinetics_ORR |
Method for kinetics parameters (ORR), given in the parameter file. | |
double | given_OCV_ORR |
Given value of open cell voltage (OCV) for ORR, given in the parameter file. | |
double | given_OCV_HOR |
Given value of open cell voltage (OCV) for HOR, given in the parameter file. | |
double | i_0_ref_ORR |
Reference exchange current density [ \( \mu \) A/cm^2 ] for ORR, given in the parameter file. | |
double | c_O2_ref_ORR |
Reference oxygen concentration [mol/cm^3 ] for ORR, given in the parameter file. | |
double | c_H_ref_ORR |
Reference proton concentration [mol/cm^3 ] for ORR, given in the parameter file. | |
double | gamma_O2_ORR |
Reaction order corresponding to oxygen gas for ORR, given in the parameter file. | |
double | gamma_H_ORR |
Reaction order corresponding to protons for ORR, given in the parameter file. | |
double | alpha_a_HOR |
Anodic transfer coefficient (HOR), given in the parameter file. | |
double | alpha_c_HOR |
Cathodic transfer coefficient (HOR), given in the parameter file. | |
double | i_0_ref_HOR |
Reference exchange current density [ \( \mu \) A/cm^2 ] for HOR, given in the parameter file. | |
double | c_H2_ref_HOR |
Reference hydrogen concentration [mol/cm^3 ] for HOR, given in the parameter file. | |
double | gamma_H2_HOR |
Reaction order corresponding to hydrogen gas for HOR, given in the parameter file. | |
Static Private Attributes | |
Instance Delivery (PROTOTYPE) | |
static Platinum const * | PROTOTYPE |
Create prototype for the layer. | |
Additional Inherited Members | |
Static Public Member Functions inherited from FuelCellShop::Material::CatalystBase | |
static void | declare_Catalyst_parameters (ParameterHandler ¶m) |
Function used to declare all the data necessary in the parameter files for all BaseKinetics children. | |
static void | set_Catalyst_parameters (const std::vector< std::string > &name_dvar, const std::vector< double > &value_dvar, ParameterHandler ¶m) |
static boost::shared_ptr < FuelCellShop::Material::CatalystBase > | create_Catalyst (ParameterHandler ¶m, std::string catalyst_name) |
Function called in create_CatalystLayer and used to select the appropriate CatalystBase children that will be used in the layer. | |
Protected Types inherited from FuelCellShop::Material::CatalystBase | |
typedef std::map< std::string, FuelCellShop::Material::CatalystBase * > | _mapFactory |
This object is used to store all objects of type CatalystBase. | |
Static Protected Member Functions inherited from FuelCellShop::Material::CatalystBase | |
static _mapFactory * | get_mapFactory () |
Protected Attributes inherited from FuelCellShop::Material::CatalystBase | |
std::string | name_reaction_kinetics |
Reaction name for which the class returns kinetic parameters. | |
double | density |
Density of catalyst particles [gm/cm^3 ]. | |
FuelCellShop::Material::Platinum::Platinum | ( | std::string | name = "Platinum" | ) |
Constructor.
FuelCellShop::Material::Platinum::Platinum | ( | const bool | ) |
PROTOTYE Constructor.
FuelCellShop::Material::Platinum::~Platinum | ( | ) |
Destructor.
|
virtual |
Return anodic transfer coefficient for the reaction specified using set_reaction_kinetics method.
Reimplemented from FuelCellShop::Material::CatalystBase.
|
virtual |
Return cathodic transfer coefficient for the reaction specified using set_reaction_kinetics method.
Reimplemented from FuelCellShop::Material::CatalystBase.
|
inlineprotectedvirtual |
Check that whether a particular reaction is implemented in the class or not.
It takes a std::string as an input argument, against which the check is done. For Developers: As more reactions are implemented in the class, this method should be extended.
Reimplemented from FuelCellShop::Material::CatalystBase.
Referenced by set_reaction_kinetics().
|
inlineprivatevirtual |
This member function is used to create an object of type gas diffusion layer.
Reimplemented from FuelCellShop::Material::CatalystBase.
|
virtual |
Declare parameters.
The parameters for the Platinum class will usually be declared inside the layer classes.
The parameters that are declared in the input file are as follows:
Reimplemented from FuelCellShop::Material::CatalystBase.
|
virtual |
Compute the derivative of exchange current density [A/cm^2
] w.r.t temperature [Kelvin
] for the reaction specified using set_reaction_kinetics method.
It takes temperature [Kelvin
] as an input argument by reference and returns the derivative.
Reimplemented from FuelCellShop::Material::CatalystBase.
|
virtual |
Compute the derivative of theoretical cell voltage [Volts
] w.r.t temperature [Kelvin
], for the reaction specified using set_reaction_kinetics method.
It takes temperature [Kelvin
] as an input argument and returns the derivative.
Reimplemented from FuelCellShop::Material::CatalystBase.
|
virtual |
Compute the exchange current density [A/cm^2
] for the reaction specified using set_reaction_kinetics method.
It takes temperature [Kelvin
] as an input argument by reference and returns the exchange current density [A/cm^2
].
Reimplemented from FuelCellShop::Material::CatalystBase.
|
virtual |
Member function used to read in data and initialize the necessary data from the parameter file to compute the coefficients.
Reimplemented from FuelCellShop::Material::CatalystBase.
|
virtual |
Compute the reaction order of the electrochemical reaction with respect to each species involved in the reaction specified using set_reaction_kinetics method.
The reaction might depend on more than one species, therefore this class returns a std::map of reaction orders referenced using VariableNames as Key
. This map is returned by reference (second argument). It takes a vector of VariableNames as first argument, corresponding to those solution variables for whose reaction orders are required.
Reimplemented from FuelCellShop::Material::CatalystBase.
|
virtual |
Compute the reference concentration for the reaction specified using set_reaction_kinetics method.
The reaction might depend on more than one species, therefore this class returns a std::map of reference concentrations referenced using VariableNames as Key
. This map is returned by reference (second argument). It takes a vector of VariableNames as first argument, corresponding to those solution variables for whose reference concentrations are required.
Reimplemented from FuelCellShop::Material::CatalystBase.
|
virtual |
Member function used to change the values in the parameter file for a given list of parameters.
name_dvar
should ideally contain the string as it would appear in the input parameter file.value_dvar
contains the value that the variable should be set at.param
is the ParameterHandler that contains all the information that has been read from file.List of available std::string that can be changed, i.e. name_dvar are
given below:
A/cm^2
]mol/cm^3
]mol/cm^3
]A/cm^2
]mol/cm^3
]Reimplemented from FuelCellShop::Material::CatalystBase.
|
inlinevirtual |
Member function used to specify the reaction for which the kinetic parameters are needed.
Method will fail if any other std::string is passed, other than the ones mentioned below:
Reimplemented from FuelCellShop::Material::CatalystBase.
References check_reaction_implementation(), FuelCellShop::Material::BaseMaterial::name, and FuelCellShop::Material::CatalystBase::name_reaction_kinetics.
|
virtual |
Compute the theroretical cell voltage [Volts
] as a function of temperature, for the reaction specified using set_reaction_kinetics method.
It takes temperature [Kelvin
] as an input argument and returns the voltage.
Reimplemented from FuelCellShop::Material::CatalystBase.
|
private |
Anodic transfer coefficient (HOR), given in the parameter file.
|
private |
Anodic transfer coefficient (ORR), given in the parameter file.
|
private |
Cathodic transfer coefficient (HOR), given in the parameter file.
|
private |
Cathodic transfer coefficient (ORR), given in the parameter file.
|
private |
Reference hydrogen concentration [mol/cm^3
] for HOR, given in the parameter file.
|
private |
Reference proton concentration [mol/cm^3
] for ORR, given in the parameter file.
|
private |
Reference oxygen concentration [mol/cm^3
] for ORR, given in the parameter file.
|
static |
Name of the class.
This name is used to select the layer.
|
private |
Reaction order corresponding to hydrogen gas for HOR, given in the parameter file.
|
private |
Reaction order corresponding to protons for ORR, given in the parameter file.
|
private |
Reaction order corresponding to oxygen gas for ORR, given in the parameter file.
|
private |
Given value of open cell voltage (OCV) for HOR, given in the parameter file.
|
private |
Given value of open cell voltage (OCV) for ORR, given in the parameter file.
|
private |
Reference exchange current density [ \( \mu \) A/cm^2
] for HOR, given in the parameter file.
|
private |
Reference exchange current density [ \( \mu \) A/cm^2
] for ORR, given in the parameter file.
|
private |
Method for kinetics parameters (ORR), given in the parameter file.
|
staticprivate |
Create prototype for the layer.