OpenFCST: The open-source Fuel Cell Simulation Toolbox
|
This class implements the necessary information for a Nafion membrane. More...
#include <nafion_membrane.h>
Public Member Functions | |
Constructors, destructor, and initalization | |
NafionMembrane () | |
Replica Constructors. | |
~NafionMembrane () | |
Destructor. | |
Accessors and info | |
virtual void | effective_proton_conductivity (double &) const |
Compute the constant effective proton conductivity of the membrane. | |
virtual void | effective_proton_conductivity (std::vector< double > &) const |
Compute the effective proton conductivity of the membrane at every quadrature point, as a function of solution variables. | |
virtual void | derivative_effective_proton_conductivity (std::map< VariableNames, std::vector< double > > &) const |
Compute the derivative of effective proton conductivity of the membrane with respect to the flags set by set_derivative_flags, at every quadrature point. | |
virtual void | effective_water_diffusivity (double &) const |
Compute the constant effective water diffusivity of the membrane. | |
virtual void | effective_water_diffusivity (std::vector< double > &) const |
Compute the effective water diffusivity of the membrane at every quadrature point, as a function of solution variables. | |
virtual void | derivative_effective_water_diffusivity (std::map< VariableNames, std::vector< double > > &) const |
Compute the derivative of effective water diffusivity of the membrane with respect to the flags set by set_derivative_flags, at every quadrature point. | |
virtual void | effective_oxygen_diffusivity (double &) const |
Compute the constant effective oxygen diffusivity of the membrane. | |
virtual void | effective_oxygen_diffusivity (std::vector< double > &) const |
Compute the effective oxygen diffusivity of the membrane at every quadrature point, as a function of Temperature. | |
virtual void | derivative_effective_oxygen_diffusivity (std::map< VariableNames, std::vector< double > > &) const |
Compute the derivative of effective oxygen diffusivity of the membrane with respect to the flags set by set_derivative_flags, at every quadrature point. | |
Public Member Functions inherited from FuelCellShop::Layer::MembraneLayer< dim > | |
const std::type_info & | get_base_type () const |
This member function returns a type_info object with the name of the base layer type the inherited class belongs to, i.e. | |
virtual void | set_derivative_flags (const std::vector< VariableNames > &flags) |
Method used to set the variables for which you would like to compute the derivatives in the membrane layer. | |
virtual void | set_constant_solution (const double &value, const VariableNames &name) |
Set those solution variables which are constant in the particular application. | |
FuelCellShop::Material::PolymerElectrolyteBase * | get_electrolyte () const |
Method to provide access to the pointer to electrolyte material in the membrane layer. | |
Public Member Functions inherited from FuelCellShop::Layer::BaseLayer< dim > | |
void | set_position (std::vector< Point< dim > > &p) |
Member function used by some applications such as dummyGDL in order to know which value to return. | |
virtual void | set_solution (const std::vector< SolutionVariable > &) |
If the effective properties in the layer depend on the solution, the solution for a given cell should be passed to the class using this member function. | |
bool | belongs_to_material (const char material_id) |
Check if a given cell belongs to the catalyst layer. | |
const std::string & | name_material () |
Return the name of the layer. | |
virtual void | print_layer_properties () const |
This member function is a virtual class that can be used to output to screen information from the layer. | |
virtual bool | test_layer () |
This virtual class should be used for any derived class to be able to test the functionality of the class. | |
unsigned int | get_material_id () |
Return the material id of the layer. | |
Static Public Attributes | |
static const std::string | concrete_name |
Concrete name used for objects of this class. | |
Protected Member Functions | |
Construtor and initalization (Private) | |
NafionMembrane (std::string name) | |
Constructor. | |
void | declare_parameters (const std::string &name, ParameterHandler ¶m) const |
Declare parameters for a parameter file. | |
void | set_parameters (const std::vector< std::string > &name_dvar, const std::vector< double > &value_dvar, const std::string &name, ParameterHandler ¶m) const |
Member function used to set new parameters values in the optimization loop. | |
void | initialize (ParameterHandler ¶m) |
Member function used to read in data and initialize the necessary data to compute the coefficients. | |
Instance Delivery Functions | |
virtual boost::shared_ptr < FuelCellShop::Layer::MembraneLayer < dim > > | create_replica (std::string &name) |
This member function is used to create an object of type gas diffusion layer. | |
Protected Member Functions inherited from FuelCellShop::Layer::MembraneLayer< dim > | |
MembraneLayer () | |
Replica Constructors. | |
MembraneLayer (std::string name) | |
Constructor. | |
~MembraneLayer () | |
Destructor. | |
void | declare_parameters (ParameterHandler ¶m) const |
Declare all necessary parameters in order to compute the coefficients. | |
Protected Member Functions inherited from FuelCellShop::Layer::BaseLayer< dim > | |
BaseLayer () | |
Constructor. | |
BaseLayer (const std::string &name) | |
Constructor. | |
virtual | ~BaseLayer () |
Destructor. | |
virtual void | set_parameters (const std::string &object_name, const std::vector< std::string > &name_dvar, const std::vector< double > &value_dvar, ParameterHandler ¶m) |
Member function used to change the values in the parameter file for a given list of parameters. | |
virtual void | set_parameters (const std::vector< std::string > &name_dvar, const std::vector< double > &value_dvar, ParameterHandler ¶m) |
Set parameters in parameter file. | |
Static Protected Attributes | |
Instance Delivery Data | |
static NafionMembrane< dim > const * | PROTOTYPE |
Create prototype for the layer. | |
Additional Inherited Members | |
Static Public Member Functions inherited from FuelCellShop::Layer::MembraneLayer< dim > | |
static void | declare_MembraneLayer_parameters (std::string pem_section_name, ParameterHandler ¶m) |
Function used to declare all the data necessary in the parameter files for all MembraneLayer children. | |
static void | set_MembraneLayer_parameters (const std::vector< std::string > &name_dvar, const std::vector< double > &value_dvar, const std::string pem_section_name, ParameterHandler ¶m) |
static boost::shared_ptr < FuelCellShop::Layer::MembraneLayer < dim > > | create_MembraneLayer (std::string pem_section_name, ParameterHandler ¶m) |
Function used to select the appropriate MembraneLayer type as specified in the ParameterHandler under line. | |
Protected Types inherited from FuelCellShop::Layer::MembraneLayer< dim > | |
typedef std::map< std::string, MembraneLayer< dim > * > | _mapFactory |
This object is used to store all objects of type GasDiffusionLayer. | |
Static Protected Member Functions inherited from FuelCellShop::Layer::MembraneLayer< dim > | |
static _mapFactory * | get_mapFactory () |
Protected Attributes inherited from FuelCellShop::Layer::MembraneLayer< dim > | |
std::string | electrolyte_type |
Type of membrane. | |
boost::shared_ptr < FuelCellShop::Material::PolymerElectrolyteBase > | electrolyte |
Pointer to the electrolyte object used in the constructor, and it is used to calculate the effective properties of the membrane layer. | |
This class implements the necessary information for a Nafion membrane.
It contains information regarding the material_id used in the mesh to assign cells with that belong to the membrane and provides an interface to compute bulk membrane properties based on the FuelCellShop::Material::Nafion class
For usage information please see MembraneLayer documentation.
FuelCellShop::Layer::NafionMembrane< dim >::NafionMembrane | ( | ) |
Replica Constructors.
Constructor used only to create a prototype. Do not use in general since this will not include the name of the section in the parameter file you need.
FuelCellShop::Layer::NafionMembrane< dim >::~NafionMembrane | ( | ) |
Destructor.
|
protected |
Constructor.
|
inlineprotectedvirtual |
This member function is used to create an object of type gas diffusion layer.
Reimplemented from FuelCellShop::Layer::MembraneLayer< dim >.
References FuelCellShop::Layer::BaseLayer< dim >::name.
|
protectedvirtual |
Declare parameters for a parameter file.
Nothing to declare here other than the declaration of the base layer. However, the member function must be implemented so that the layer has the same structure as other layers.
Reimplemented from FuelCellShop::Layer::MembraneLayer< dim >.
|
virtual |
Compute the derivative of effective oxygen diffusivity of the membrane with respect to the flags set by set_derivative_flags, at every quadrature point.
Reimplemented from FuelCellShop::Layer::MembraneLayer< dim >.
|
virtual |
Compute the derivative of effective proton conductivity of the membrane with respect to the flags set by set_derivative_flags, at every quadrature point.
Reimplemented from FuelCellShop::Layer::MembraneLayer< dim >.
|
virtual |
Compute the derivative of effective water diffusivity of the membrane with respect to the flags set by set_derivative_flags, at every quadrature point.
Reimplemented from FuelCellShop::Layer::MembraneLayer< dim >.
|
virtual |
Compute the constant effective oxygen diffusivity of the membrane.
Reimplemented from FuelCellShop::Layer::MembraneLayer< dim >.
|
virtual |
Compute the effective oxygen diffusivity of the membrane at every quadrature point, as a function of Temperature.
Reimplemented from FuelCellShop::Layer::MembraneLayer< dim >.
|
virtual |
Compute the constant effective proton conductivity of the membrane.
Reimplemented from FuelCellShop::Layer::MembraneLayer< dim >.
|
virtual |
Compute the effective proton conductivity of the membrane at every quadrature point, as a function of solution variables.
Reimplemented from FuelCellShop::Layer::MembraneLayer< dim >.
|
virtual |
Compute the constant effective water diffusivity of the membrane.
Reimplemented from FuelCellShop::Layer::MembraneLayer< dim >.
|
virtual |
Compute the effective water diffusivity of the membrane at every quadrature point, as a function of solution variables.
Reimplemented from FuelCellShop::Layer::MembraneLayer< dim >.
|
protectedvirtual |
Member function used to read in data and initialize the necessary data to compute the coefficients.
Reimplemented from FuelCellShop::Layer::MembraneLayer< dim >.
|
protectedvirtual |
Member function used to set new parameters values in the optimization loop.
Reimplemented from FuelCellShop::Layer::MembraneLayer< dim >.
|
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 store under
|
staticprotected |
Create prototype for the layer.