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. More... | |
Platinum (const bool) | |
PROTOTYE Constructor. More... | |
~Platinum () | |
Destructor. More... | |
virtual void | declare_parameters (ParameterHandler ¶m) const |
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. More... | |
Kinetic Parameter Accessors | |
virtual void | alpha_anodic (double &) const |
Return anodic transfer coefficient for the reaction specified using set_reaction_kinetics method. More... | |
virtual void | alpha_cathodic (double &) const |
Return cathodic transfer coefficient for the reaction specified using set_reaction_kinetics method. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
virtual void | set_reaction_kinetics (const ReactionNames name) |
Member function used to specify the reaction for which the kinetic parameters are needed. More... | |
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. More... | |
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. More... | |
ReactionNames | get_reaction_name () const |
Member function to return the name of the reaction set in the catalyst material class. More... | |
std::string | get_kinetic_parameter_method () const |
Member function to return method for kinetics parameters (ORR). More... | |
double | get_density () const |
Obtain the density [gm/cm^3 ]. More... | |
Public Member Functions inherited from FuelCellShop::Material::BaseMaterial | |
void | set_derivative_flags (const std::vector< VariableNames > &flags) |
Set the names of FCST solution variables with respect to which you would like to compute the derivatives of material properties. More... | |
const std::string & | name_material () const |
Return the name of the layer. More... | |
virtual void | print_material_properties () const |
This function prints out the material properties. More... | |
Static Public Attributes | |
static const std::string | concrete_name |
Name of the class. More... | |
Protected Member Functions | |
virtual bool | check_reaction_implementation (const ReactionNames name) const |
Check that whether a particular reaction is implemented in the class or not. More... | |
Protected Member Functions inherited from FuelCellShop::Material::CatalystBase | |
CatalystBase (std::string name) | |
Constructor. More... | |
CatalystBase () | |
Constructor. More... | |
virtual | ~CatalystBase () |
Destructor. More... | |
virtual bool | check_reaction_implementation (const std::string) const |
Check that whether a particular reaction is implemented in the class or not. More... | |
Protected Member Functions inherited from FuelCellShop::Material::BaseMaterial | |
BaseMaterial () | |
Constructor. More... | |
BaseMaterial (const std::string &name) | |
Constructor. More... | |
virtual | ~BaseMaterial () |
Destructor. More... | |
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. More... | |
Private Attributes | |
Internal Data | |
double | alpha_a_ORR |
Anodic transfer coefficient (ORR), given in the parameter file. More... | |
double | alpha_c_ORR |
Cathodic transfer coefficient (ORR), given in the parameter file. More... | |
double | given_OCV_ORR |
Given value of open cell voltage (OCV) for ORR, given in the parameter file. More... | |
double | given_OCV_HOR |
Given value of open cell voltage (OCV) for HOR, given in the parameter file. More... | |
double | i_0_ref_ORR |
Reference exchange current density [ A/cm^2 ] for ORR, given in the parameter file. More... | |
double | c_O2_ref_ORR |
Reference oxygen concentration [mol/cm^3 ] for ORR, given in the parameter file. More... | |
double | c_H_ref_ORR |
Reference proton concentration [mol/cm^3 ] for ORR, given in the parameter file. More... | |
double | gamma_O2_ORR |
Reaction order corresponding to oxygen gas for ORR, given in the parameter file. More... | |
double | gamma_H_ORR |
Reaction order corresponding to protons for ORR, given in the parameter file. More... | |
double | alpha_a_HOR |
Anodic transfer coefficient (HOR), given in the parameter file. More... | |
double | alpha_c_HOR |
Cathodic transfer coefficient (HOR), given in the parameter file. More... | |
double | i_0_ref_HOR |
Reference exchange current density [ A/cm^2 ] for HOR, given in the parameter file. More... | |
double | c_H2_ref_HOR |
Reference hydrogen concentration [mol/cm^3 ] for HOR, given in the parameter file. More... | |
double | gamma_H2_HOR |
Reaction order corresponding to hydrogen gas for HOR, given in the parameter file. More... | |
Static Private Attributes | |
Instance Delivery (PROTOTYPE) | |
static Platinum const * | PROTOTYPE |
Create prototype for the layer. More... | |
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. More... | |
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. More... | |
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. More... | |
Static Protected Member Functions inherited from FuelCellShop::Material::CatalystBase | |
static _mapFactory * | get_mapFactory () |
Protected Attributes inherited from FuelCellShop::Material::CatalystBase | |
ReactionNames | name_reaction_kinetics |
Reaction name for which the class returns kinetic parameters. More... | |
std::string | method_kinetics_ORR |
Method for kinetics parameters (ORR), given in the parameter file. More... | |
double | density |
Density of catalyst particles [gm/cm^3 ]. More... | |
Protected Attributes inherited from FuelCellShop::Material::BaseMaterial | |
const std::string | name |
Name of the layer. More... | |
std::vector< VariableNames > | derivative_flags |
Flags for derivatives: These flags are used to request derivatives of material properties. More... | |
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.
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.
|
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 [ A/cm^2
] for HOR, given in the parameter file.
|
private |
Reference exchange current density [ A/cm^2
] for ORR, given in the parameter file.
|
staticprivate |
Create prototype for the layer.