OpenFCST: The open-source Fuel Cell Simulation Toolbox
|
This class defines a SGL-24-BC MPL, for which effective transport properties are constant. More...
#include <SGL_24_BC.h>
Public Member Functions | |
Constructors, destructor, and initalization | |
SGL24BC () | |
Replica Constructor. | |
SGL24BC (std::string name) | |
Constructor. | |
~SGL24BC () | |
Destructor. | |
void | declare_parameters (ParameterHandler ¶m) const |
Declare parameters for a parameter file. | |
Accessors and info | |
void | effective_gas_diffusivity (Table< 2, Tensor< 2, dim > > &prop_eff) const |
Returns the effective diffusivity of the media. | |
void | effective_electron_conductivity (Tensor< 2, dim > &) const |
Returns the effective electron conductivity of the media. | |
Public Member Functions inherited from FuelCellShop::Layer::MicroPorousLayer< dim > | |
void | initialize (ParameterHandler ¶m) |
Member function used to read in data and initialize the necessary data to compute the coefficients. | |
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 | effective_gas_diffusivity (const double &property, double &effective_property) const |
Compute the effective property in the pores. | |
virtual void | effective_gas_diffusivity (const double &property, Tensor< 2, dim > &effective_property) const |
Compute the effective property in the pores. | |
virtual void | effective_electron_conductivity (double &) const |
Compute the effective conductivity. | |
virtual bool | set_method_effective_transport_property_solid (std::string) |
Specify the methodology to be used to compute the effective properties for the porous phase. | |
virtual void | effective_transport_property_solid (const double &property, double &effective_property) const |
Compute the effective property of a property that is defined by the network of fibres. | |
virtual void | effective_transport_property_solid (const Tensor< 2, dim > &property, Tensor< 2, dim > &effective_property) const |
Compute the effective property of a property that is defined by the network of fibres. | |
Public Member Functions inherited from FuelCellShop::Layer::PorousLayer< dim > | |
void | set_gases_and_compute (std::vector< FuelCellShop::Material::PureGas * > &gases_in, const double &pressure_in, const double &temperature_in) |
Member function used to store all the gases that are in the pore space in the gas diffusion layer as well as their temperature [Kelvin ] and total pressure [atm ]. | |
void | compute_gas_diffusion (FuelCellShop::Material::PureGas *solute_gas, FuelCellShop::Material::PureGas *solvent_gas) |
Member function used to compute bulk diffusion coefficients and derivatives w.r.t temperature for non-isothermal case and store inside the layer. | |
void | set_gases (std::vector< FuelCellShop::Material::PureGas * > &gases_in, const double &pressure_in) |
Member function used to store all the gases that are in the pore space in the porous layer. | |
void | set_temperature (const SolutionVariable &T_in) |
Member function used to set the temperature ]Kelvin ] at every quadrature point inside the cell. | |
FuelCellShop::Material::PureGas * | get_gas_pointer (int index) const |
Return the FuelCellShop::Material::PureGas pointer that is stored inside the class in the ith position. | |
std::vector < FuelCellShop::Material::PureGas * > | get_gases () const |
Returns the vector of FuelCellShop::Material::PureGas pointers stored in the porous layer. | |
void | get_gas_index (FuelCellShop::Material::PureGas *gas_type, int &index) const |
Return the gas index in the GDL class. | |
void | get_T_and_p (double &T, double &p) const |
Return the constant temperature [Kelvin ] and constant pressure [atm ] inside the layer. | |
void | get_p (double &p) const |
Return the constant pressure [atm ] inside 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 () const |
This virtual class should be used for any derived class to be able to test the functionality of the class. | |
Public Member Functions inherited from FuelCellShop::Layer::BaseLayer< dim > | |
virtual void | set_derivative_flags (const std::vector< VariableNames > &flags) |
Set the variables for which you would like to compute the derivatives. | |
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_constant_solution (const double &value, const VariableNames &name) |
Set those solution variables which are constant in the particular application. | |
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 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. | |
Static Public Attributes inherited from FuelCellShop::Layer::MicroPorousLayer< dim > | |
static const std::string | concrete_name |
Concrete name used for objects of this class. | |
Private Member Functions | |
Declaration | |
void | declare_parameters (std::string name, ParameterHandler ¶m) const |
Declare parameters for a parameter file. | |
Instance Delivery (function) | |
virtual boost::shared_ptr < FuelCellShop::Layer::MicroPorousLayer < dim > > | create_replica (const std::string &name) |
This member function is used to create an object of type micro porous layer. | |
Private Attributes | |
Internal variables | |
Tensor< 2, dim > | porosity_over_tortuosity |
Tensor of effective porosity over tortuosity used for gas diffusivity. | |
double | porosity_over_tortuosity_X |
Effective porosity over tortuosity used for gas diffusivity in X direction. | |
double | porosity_over_tortuosity_Y |
Effective porosity over tortuosity used for gas diffusivity in Y direction. | |
double | porosity_over_tortuosity_Z |
Effective porosity over tortuosity used for gas diffusivity in Z direction. | |
Tensor< 2, dim > | electron_conductivity |
Tensor storing the effective electronic conductivity. | |
double | electron_conductivity_X |
Effective electronic conductivity in X direction. | |
double | electron_conductivity_Y |
Effective electronic conductivity in Y direction. | |
double | electron_conductivity_Z |
Effective electronic conductivity in Z direction. | |
Static Private Attributes | |
Instance Delivery (Data member) | |
static SGL24BC< dim > const * | PROTOTYPE |
Create prototype for the layer. | |
Additional Inherited Members | |
Static Public Member Functions inherited from FuelCellShop::Layer::MicroPorousLayer< dim > | |
static void | declare_MicroPorousLayer_parameters (const std::string &mpl_section_name, ParameterHandler ¶m) |
Function used to declare all the data necessary in the parameter files former all MicroPorousLayer children. | |
static void | set_MicroPorousLayer_parameters (const std::vector< std::string > &name_dvar, const std::vector< double > &value_dvar, const std::string &mpl_section_name, ParameterHandler ¶m) |
This routine is only used for optimization and parameteric studies purposes when using the Dakota Interface. | |
static boost::shared_ptr < FuelCellShop::Layer::MicroPorousLayer < dim > > | create_MicroPorousLayer (const std::string &mpl_section_name, ParameterHandler ¶m) |
Function used to select the appropriate MicroPorousLayer. | |
Protected Types inherited from FuelCellShop::Layer::MicroPorousLayer< dim > | |
typedef std::map< std::string, MicroPorousLayer< dim > * > | _mapFactory |
This object is used to store all objects of type MicroPorousLayer. | |
Protected Member Functions inherited from FuelCellShop::Layer::MicroPorousLayer< dim > | |
MicroPorousLayer () | |
Replica Constructor. | |
MicroPorousLayer (const std::string &name) | |
Constructor. | |
~MicroPorousLayer () | |
Destructor. | |
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. | |
Protected Member Functions inherited from FuelCellShop::Layer::PorousLayer< dim > | |
PorousLayer (const std::string &name) | |
Constructor. | |
PorousLayer () | |
Constructor. | |
virtual | ~PorousLayer () |
Destructor. | |
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) |
Member function used to change the values in the parameter file for a given list of parameters. | |
virtual void | gas_diffusion_coefficients (Table< 2, double > &) const |
Return the molecular diffusivty all the gases assigned to the layer using set_gases_and_compute. | |
virtual void | derivative_gas_diffusion_coefficients (std::vector< Table< 2, double > > &) const |
Return the derivative of the molecular diffusion coefficient with respect to the derivative flags for all the gases assigned to the layer using set_gases_and_compute. | |
Static Protected Member Functions inherited from FuelCellShop::Layer::MicroPorousLayer< dim > | |
static _mapFactory * | get_mapFactory () |
Return the map library that stores all childrens of this class. | |
Protected Attributes inherited from FuelCellShop::Layer::PorousLayer< dim > | |
std::string | diffusion_species_name |
If GDL properties are stored inside the class (e.g DummyGDL) then, return the property stored under coefficient_name name. | |
std::vector < FuelCellShop::Material::PureGas * > | gases |
Gases inside the layer. | |
double | temperature |
Temperature [Kelvin ] used to compute gas diffusivity. | |
double | pressure |
Total pressure [atm ] used to compute gas diffusivity. | |
SolutionVariable | T_vector |
Temperature at every quadrature point inside the cell. | |
Table< 2, double > | D_ECtheory |
Tensor of diffusion coefficients – This are computed with setting up the gas so that they do not need to be recomputed all the time. | |
std::vector< Table< 2, double > > | dD_ECtheory_dx |
Vector of tensors for the derivative of the diffusion coefficients – This are computed with setting up the gas so that they do not need to be recomputed all the time. | |
std::vector< double > | D_bulk |
Vector of bulk diffusion coefficients at every quadrature point inside the cell. | |
std::vector< double > | dD_bulk_dT |
Vector of derivative of bulk diffusion coefficients w.r.t temperature, at every quadrature point inside the cell. | |
This class defines a SGL-24-BC MPL, for which effective transport properties are constant.
FuelCellShop::Layer::SGL24BC< dim >::SGL24BC | ( | ) |
Replica Constructor.
FuelCellShop::Layer::SGL24BC< dim >::SGL24BC | ( | std::string | name | ) |
Constructor.
|
inline |
Destructor.
|
inlineprivatevirtual |
This member function is used to create an object of type micro porous layer.
Reimplemented from FuelCellShop::Layer::MicroPorousLayer< dim >.
|
inlinevirtual |
Declare parameters for a parameter file.
Reimplemented from FuelCellShop::Layer::MicroPorousLayer< dim >.
|
inlineprivate |
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.
|
virtual |
Returns the effective electron conductivity of the media.
Reimplemented from FuelCellShop::Layer::MicroPorousLayer< dim >.
|
virtual |
Returns the effective diffusivity of the media.
Reimplemented from FuelCellShop::Layer::MicroPorousLayer< 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
|
private |
Tensor storing the effective electronic conductivity.
|
private |
Effective electronic conductivity in X direction.
|
private |
Effective electronic conductivity in Y direction.
|
private |
Effective electronic conductivity in Z direction.
|
private |
Tensor of effective porosity over tortuosity used for gas diffusivity.
|
private |
Effective porosity over tortuosity used for gas diffusivity in X direction.
|
private |
Effective porosity over tortuosity used for gas diffusivity in Y direction.
|
private |
Effective porosity over tortuosity used for gas diffusivity in Z direction.
|
staticprivate |
Create prototype for the layer.