OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Static Public Attributes | Protected Member Functions | List of all members
FuelCellShop::Material::Platinum Class Reference

#include <platinum.h>

Inheritance diagram for FuelCellShop::Material::Platinum:
Inheritance graph
[legend]
Collaboration diagram for FuelCellShop::Material::Platinum:
Collaboration graph
[legend]

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 &param) const
 
virtual void initialize (ParameterHandler &param)
 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 [ $ \mu $ 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 [ $ \mu $ 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 &param)
 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 &param, 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 _mapFactoryget_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< VariableNamesderivative_flags
 Flags for derivatives: These flags are used to request derivatives of material properties. More...
 

Constructor & Destructor Documentation

FuelCellShop::Material::Platinum::Platinum ( std::string  name = "Platinum")

Constructor.

FuelCellShop::Material::Platinum::Platinum ( const bool  )

PROTOTYE Constructor.

Warning
For internal use only.
FuelCellShop::Material::Platinum::~Platinum ( )

Destructor.

Member Function Documentation

virtual void FuelCellShop::Material::Platinum::alpha_anodic ( double &  ) const
virtual

Return anodic transfer coefficient for the reaction specified using set_reaction_kinetics method.

Reimplemented from FuelCellShop::Material::CatalystBase.

virtual void FuelCellShop::Material::Platinum::alpha_cathodic ( double &  ) const
virtual

Return cathodic transfer coefficient for the reaction specified using set_reaction_kinetics method.

Reimplemented from FuelCellShop::Material::CatalystBase.

virtual bool FuelCellShop::Material::Platinum::check_reaction_implementation ( const ReactionNames  name) const
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.

References HOR, and ORR.

Referenced by set_reaction_kinetics().

Here is the caller graph for this function:

virtual boost::shared_ptr<FuelCellShop::Material::CatalystBase > FuelCellShop::Material::Platinum::create_replica ( )
inlineprivatevirtual

This member function is used to create an object of type gas diffusion layer.

Warning
This class MUST be redeclared in every child.

Reimplemented from FuelCellShop::Material::CatalystBase.

virtual void FuelCellShop::Material::Platinum::declare_parameters ( ParameterHandler &  param) const
virtual
High Priority Todo:
THIS SHOULD BE PRIVATE

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:

* (...) <- Other sections here
* subsection Materials
* subsection name <- This value is specified during the constructor. By default Platinum
* set Density [g/cm^3] = 21.5
* //############ Oxygen Reduction Reaction Parameters ############
* set Anodic transfer coefficient (ORR) = 0.5
* set Cathodic transfer coefficient (ORR) = 1.0
* set Method for kinetics parameters (ORR) = Parthasarathy # Options are: Given|Parthasarathy|Parthasarathy_hcd|Double_trap|Neyerlin
* set Given Open Cell Voltage (ORR) [V] = 1.229
* set Given Open Cell Voltage (HOR) [V] = 0.0
* set Reference exchange current density (ORR) [uA/cm2] = 2.707e-2
* set Reference oxygen concentration (ORR) = 0.725e-5
* set Reference proton concentration (ORR) = 1.818e-3
* set Oxygen reaction order (ORR) = 1.0
* set Proton reaction order (ORR) = 1.0
* //############ Hydrogen Oxidation Reaction Parameters ############
* set Anodic transfer coefficient (HOR) = 0.5
* set Cathodic transfer coefficient (HOR) = 0.5
* set Reference exchange current density (HOR) [uA/cm2] = 1e6
* set Reference hydrogen concentration (HOR) = 5.64e-5
* set Hydrogen reaction order (HOR) = 0.25
* end
* end
* (...)
*

Reimplemented from FuelCellShop::Material::CatalystBase.

virtual double FuelCellShop::Material::Platinum::derivative_exchange_current_density ( const double &  ) const
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 double FuelCellShop::Material::Platinum::dvoltage_cell_th_dT ( const double &  ) const
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 double FuelCellShop::Material::Platinum::exchange_current_density ( const double &  ) const
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 void FuelCellShop::Material::Platinum::initialize ( ParameterHandler &  param)
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 void FuelCellShop::Material::Platinum::reaction_order ( const std::vector< VariableNames > &  ,
std::map< VariableNames, double > &   
) const
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 void FuelCellShop::Material::Platinum::reference_concentration ( const std::vector< VariableNames > &  ,
std::map< VariableNames, double > &   
) const
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 void FuelCellShop::Material::Platinum::set_reaction_kinetics ( const ReactionNames  name)
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:

  • "ORR"
  • "HOR"

Reimplemented from FuelCellShop::Material::CatalystBase.

References check_reaction_implementation(), FuelCellShop::Material::BaseMaterial::name, and FuelCellShop::Material::CatalystBase::name_reaction_kinetics.

Here is the call graph for this function:

virtual double FuelCellShop::Material::Platinum::voltage_cell_th ( const double &  ) const
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.

Member Data Documentation

double FuelCellShop::Material::Platinum::alpha_a_HOR
private

Anodic transfer coefficient (HOR), given in the parameter file.

double FuelCellShop::Material::Platinum::alpha_a_ORR
private

Anodic transfer coefficient (ORR), given in the parameter file.

double FuelCellShop::Material::Platinum::alpha_c_HOR
private

Cathodic transfer coefficient (HOR), given in the parameter file.

double FuelCellShop::Material::Platinum::alpha_c_ORR
private

Cathodic transfer coefficient (ORR), given in the parameter file.

double FuelCellShop::Material::Platinum::c_H2_ref_HOR
private

Reference hydrogen concentration [mol/cm^3] for HOR, given in the parameter file.

double FuelCellShop::Material::Platinum::c_H_ref_ORR
private

Reference proton concentration [mol/cm^3] for ORR, given in the parameter file.

double FuelCellShop::Material::Platinum::c_O2_ref_ORR
private

Reference oxygen concentration [mol/cm^3] for ORR, given in the parameter file.

const std::string FuelCellShop::Material::Platinum::concrete_name
static

Name of the class.

This name is used to select the layer.

double FuelCellShop::Material::Platinum::gamma_H2_HOR
private

Reaction order corresponding to hydrogen gas for HOR, given in the parameter file.

double FuelCellShop::Material::Platinum::gamma_H_ORR
private

Reaction order corresponding to protons for ORR, given in the parameter file.

double FuelCellShop::Material::Platinum::gamma_O2_ORR
private

Reaction order corresponding to oxygen gas for ORR, given in the parameter file.

double FuelCellShop::Material::Platinum::given_OCV_HOR
private

Given value of open cell voltage (OCV) for HOR, given in the parameter file.

double FuelCellShop::Material::Platinum::given_OCV_ORR
private

Given value of open cell voltage (OCV) for ORR, given in the parameter file.

double FuelCellShop::Material::Platinum::i_0_ref_HOR
private

Reference exchange current density [ $ \mu $ A/cm^2] for HOR, given in the parameter file.

double FuelCellShop::Material::Platinum::i_0_ref_ORR
private

Reference exchange current density [ $ \mu $ A/cm^2] for ORR, given in the parameter file.

Platinum const* FuelCellShop::Material::Platinum::PROTOTYPE
staticprivate

Create prototype for the layer.


The documentation for this class was generated from the following file: