OpenFCST: The open-source Fuel Cell Simulation Toolbox
|
This class will contain the implementation of the dual path kinetic kinetic model as developed by Wang et al and described in the following paper: More...
#include <dual_path_kinetics.h>
Public Member Functions | |
Constructor, destructor and initialization | |
DualPathKinetics () | |
Constructor. More... | |
DualPathKinetics (const bool) | |
Constructor. More... | |
~DualPathKinetics () | |
Destructor. More... | |
virtual void | declare_parameters (ParameterHandler ¶m) const |
Declare parameters for a parameter file. More... | |
virtual void | initialize (ParameterHandler ¶m) |
Member function used to read in data and initialize the necessary data to compute the coefficients. More... | |
Initialization | |
virtual void | set_reaction_kinetics (const ReactionNames &name) |
Member function used to set the reaction name in the Dual path kinetics object. More... | |
Computational methods | |
virtual void | current_density (std::vector< double > &) |
Member function that computes the current, at every quadrature point in the cell. More... | |
virtual void | derivative_current (std::map< VariableNames, std::vector< double > > &) |
Function to return the derivative of the current density w.r.t solution variables. More... | |
Public Member Functions inherited from FuelCellShop::Kinetics::BaseKinetics | |
virtual | ~BaseKinetics () |
Destructor. More... | |
virtual bool | has_coverage (const VariableNames &type) |
void | set_electrolyte_potential (const SolutionVariable &phi) |
Set the electrolyte phase potential. More... | |
void | set_solid_potential (const SolutionVariable &phi) |
Set the solid phase potential. More... | |
void | set_temperature (const SolutionVariable &temperature) |
Set temperature. More... | |
void | set_reactant_concentrations (const std::vector< SolutionVariable > &conc_vec) |
Set reactant concentrations at the catalyst/electrolyte interface. More... | |
void | set_derivative_flags (const std::vector< VariableNames > &flags) |
Set the variables for which you would like to compute the derivaitives. More... | |
void | set_catalyst (FuelCellShop::Material::CatalystBase *cat_in) |
Set a pointer to the catalyst that will be used. More... | |
void | set_electrolyte (FuelCellShop::Material::PolymerElectrolyteBase *electrolyte_in) |
Member function used to set the electrolyte pointer to that used by the application. More... | |
virtual void | set_reaction_kinetics (const ReactionNames name) |
Member function used to specify the reaction for which the kinetic parameters are needed, for example for a Platinum catalyst, we can specify that we need the kinetic parameters for either the oxygen reduction reaction (ORR) or the hydrogen oxidation reaction (HOR) More... | |
void | set_p_t (const double &P_Tot) |
Set the total gas pressure [Pascals ] in the cell. More... | |
ReactionNames | get_reaction_name () const |
Returns the name of the reaction that this kinetics class is using. More... | |
FuelCellShop::Material::CatalystBase * | get_cat () const |
Function to get pointer to catalyst class. More... | |
virtual void | compute_coverages (const std::string &name_species, std::vector< double > &coverage) const |
Used to return the coverage of the intermediate species if they are computed. More... | |
virtual void | OH_coverage (std::vector< double > &) const |
Used to return the coverage of the intermediate species if they are computed. More... | |
virtual void | O_coverage (std::vector< double > &) const |
Used to return the coverage of the intermediate species if they are computed. More... | |
Static Public Attributes | |
Instance Delivery (Public variables) | |
static const std::string | concrete_name |
Concrete name used for objects of this class. More... | |
Instance Delivery | |
static DualPathKinetics const * | PROTOTYPE |
Create prototype for the layer. More... | |
virtual boost::shared_ptr < FuelCellShop::Kinetics::BaseKinetics > | create_replica () |
This member function is used to create an object of type gas diffusion layer. More... | |
Kinetics parameters | |
double | ref_conc_H2 |
Reference concentration for hydrogen, . More... | |
double | j_0T |
TV exchange current density [A/cm^2 ]. More... | |
double | j_0H |
HV exchange current density [A/cm^2 ]. More... | |
double | potential_constant |
Potential range constant. More... | |
double | ref_potential |
Reference potential. More... | |
virtual void | init_kin_param () |
Method used to initialize reference concentration of hydrogen for the reaction, and number of quadrature points in the cell. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from FuelCellShop::Kinetics::BaseKinetics | |
static void | declare_Kinetics_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::Kinetics::BaseKinetics > | create_Kinetics (ParameterHandler ¶m, std::string kinetics_name) |
Function called in create_CatalystLayer and used to select the appropriate BaseKinetics type that will be used in the layer. More... | |
Protected Types inherited from FuelCellShop::Kinetics::BaseKinetics | |
typedef std::map< std::string, BaseKinetics * > | _mapFactory |
This object is used to store all objects of type BaseKinetics. More... | |
Protected Member Functions inherited from FuelCellShop::Kinetics::BaseKinetics | |
BaseKinetics () | |
Constructor. More... | |
Static Protected Member Functions inherited from FuelCellShop::Kinetics::BaseKinetics | |
static _mapFactory * | get_mapFactory () |
Protected Attributes inherited from FuelCellShop::Kinetics::BaseKinetics | |
double | R |
Universal gas constant. More... | |
double | F |
Universal Farday's constant. More... | |
double | K |
Boltzmann constant. More... | |
double | p_total |
Total gas pressure [Pascals ] in the cell for isobaric case. More... | |
std::map< VariableNames, SolutionVariable > | reactants_map |
Map of SolutionVariables storing a pointer to the solution vector storing the concentration of each one of the reactants implemented. More... | |
SolutionVariable | phi_m |
Struct storing a pointer to the solution vector for the electrolyte potential. More... | |
SolutionVariable | phi_s |
Struct stroing a pointer to the solution vector for the electronic/solid potential. More... | |
SolutionVariable | T |
Struct stroing a pointer to the solution vector for the temperature. More... | |
bool | kin_param_initialized |
Boolean variable to determine whether init_kin_param has been already called or not. More... | |
ReactionNames | name_reaction_kinetics |
Enumeration with the reaction name for which the class returns kinetic parameters. More... | |
std::vector< VariableNames > | derivative_flags |
Flags for derivatives: These flags are used to request derivatives which are computed using the derivative_current function. More... | |
unsigned int | n_quad |
Number of quadrature points in the cell. More... | |
FuelCellShop::Material::CatalystBase * | catalyst |
Pointer to the catalyst object that is created at the application level and passed to the kinetics class using the set_catalyst function. More... | |
FuelCellShop::Material::PolymerElectrolyteBase * | electrolyte |
Pointer to the electrolyte object created in the application that is used to calculate the properties of the electrolyte in the catalyst layer. More... | |
This class will contain the implementation of the dual path kinetic kinetic model as developed by Wang et al and described in the following paper:
J.X. Wang, T.E. Springer, R.R. Adzic, Dual-pathway kinetic equation for the hydrogen oxidation reaction on pt electrodes, Journal of the Electrochemical Society 153~(9) (2006) A1732–A1740.
In order to use this class, the user needs to provide the following in set_solution
FuelCellShop::Kinetics::DualPathKinetics::DualPathKinetics | ( | ) |
Constructor.
It also initializes the default values for kinetics parameters.
FuelCellShop::Kinetics::DualPathKinetics::DualPathKinetics | ( | const bool | ) |
Constructor.
FuelCellShop::Kinetics::DualPathKinetics::~DualPathKinetics | ( | ) |
Destructor.
|
inlineprotectedvirtual |
This member function is used to create an object of type gas diffusion layer.
Reimplemented from FuelCellShop::Kinetics::BaseKinetics.
|
virtual |
Member function that computes the current, at every quadrature point in the cell.
Reimplemented from FuelCellShop::Kinetics::BaseKinetics.
|
virtual |
Declare parameters for a parameter file.
Reimplemented from FuelCellShop::Kinetics::BaseKinetics.
|
virtual |
Function to return the derivative of the current density w.r.t solution variables.
It returns a map of vectors containing derivative w.r.t solution variables / design variables set using set_derivative_flags method. Each vector can be accessed by using Key
of the map, which correpsonds to the VariableNames (solution/design variable). This method takes input map by reference, hence the map is needed to be created at application/equation level with default arguments and passed inside this method.
Reimplemented from FuelCellShop::Kinetics::BaseKinetics.
|
inlineprotectedvirtual |
Method used to initialize reference concentration of hydrogen for the reaction, and number of quadrature points in the cell.
Implements FuelCellShop::Kinetics::BaseKinetics.
References HOR, and hydrogen_concentration.
|
virtual |
Member function used to read in data and initialize the necessary data to compute the coefficients.
Reimplemented from FuelCellShop::Kinetics::BaseKinetics.
|
inlinevirtual |
Member function used to set the reaction name in the Dual path kinetics object.
It will return error if any string other than "HOR" is passed as an input argument.
References HOR, and FcstUtilities::log.
|
static |
Concrete name used for objects of this class.
This name is used when setting up the subsection where the data is stored in the input file.
The data will be stored under
|
protected |
HV exchange current density [A/cm^2
].
|
protected |
TV exchange current density [A/cm^2
].
|
protected |
Potential range constant.
|
staticprotected |
Create prototype for the layer.
|
protected |
Reference concentration for hydrogen, .
|
protected |
Reference potential.