OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | List of all members
FuelCellShop::Layer::SolidLayer< dim > Class Template Reference

This class characterizes a gas diffusion layer and uses this information to compute effective transport properties. More...

#include <solid_layer.h>

Inheritance diagram for FuelCellShop::Layer::SolidLayer< dim >:
Inheritance graph
[legend]
Collaboration diagram for FuelCellShop::Layer::SolidLayer< dim >:
Collaboration graph
[legend]

Public Member Functions

 SolidLayer (std::string name)
 Constructor.
 
 ~SolidLayer ()
 Destructor.
 
void declare_parameters (ParameterHandler &param) const
 Declare parameters for a parameter file.
 
void set_parameters (const std::vector< std::string > &name_dvar, const std::vector< double > &value_dvar, ParameterHandler &param)
 Member function used to set new parameters values in the optimization loop.
 
void initialize (ParameterHandler &param)
 Member function used to read in data and initialize the necessary data to compute the coefficients.
 
void set_solid_and_compute (FuelCellShop::Material::FiberBase *, double)
 Member function that sets the material in the layer and the temperature.
 
virtual void effective_electron_conductivity (double &) const
 Compute the effective electron conductivity in the Solid.
 
virtual void effective_electron_conductivity (Tensor< 2, dim > &) const
 Compute the effective electron conductivity in the solid.
 
virtual void effective_electron_conductivity (const double &, Tensor< 2, dim > &) const
 Compute the effective electron conductivity in the solid.
 
virtual void derivative_effective_electron_conductivity (std::vector< Tensor< 2, dim > > &) const
 Compute the derivative of the effective electron conductivity in the GDL with respect to either the solution or design parameters.
 
virtual void effective_thermal_conductivity (double &) const
 Compute the effective thermal conductivity (isotropic) in the GDL.
 
virtual void effective_thermal_conductivity (Tensor< 2, dim > &) const
 Compute the effective thermal conductivity (anisotropic) in the GDL.
 
virtual void effective_thermal_conductivity (const double &, const double &, double &) const
 Compute the effective thermal conductivity (isotropic) in the GDL.
 
virtual void effective_thermal_conductivity (std::vector< Tensor< 2, dim > > &) const
 Compute the effective thermal conductivity (anisotropic) in the GDL, dependent on various solution variables, eg: Temperature.
 
virtual void derivative_effective_thermal_conductivity (std::vector< Tensor< 2, dim > > &) const
 Compute the derivative of the effective thermal conductivity in the GDL with respect to either the solution or design parameters.
 
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 test_class ()
 Class test.
 
- 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 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.
 

Protected Attributes

std::vector< unsigned int > boundary_ids
 Boundary ids.
 
double temperature
 Temperature used to compute gases.
 
FuelCellShop::Material::FiberBasesolid
 Data member that stores the solid material the layer is made of.
 
double electrical_conductivity
 Variable to store electcical conducivity.
 
- Protected Attributes inherited from FuelCellShop::Layer::BaseLayer< dim >
const std::string name
 Name of the layer.
 
unsigned int material_id
 Identification number.
 
std::vector< Point< dim > > point
 Coordinates of the point where we would like to compute the effective properties.
 
std::vector< VariableNamesderivative_flags
 Flags for derivatives: These flags are used to request derivatives.
 
std::map< VariableNames, double > constant_solutions
 Map storing values of solution variables constant in a particular application.
 

Additional Inherited Members

- Protected Member Functions inherited from FuelCellShop::Layer::BaseLayer< dim >
 BaseLayer ()
 Constructor.
 
 BaseLayer (const std::string &name)
 Constructor.
 
virtual ~BaseLayer ()
 Destructor.
 
virtual void declare_parameters (const std::string &object_name, ParameterHandler &param) const
 Declare parameters for a parameter file.
 
virtual void set_parameters (const std::string &object_name, const std::vector< std::string > &name_dvar, const std::vector< double > &value_dvar, ParameterHandler &param)
 Member function used to change the values in the parameter file for a given list of parameters.
 

Detailed Description

template<int dim>
class FuelCellShop::Layer::SolidLayer< dim >

This class characterizes a gas diffusion layer and uses this information to compute effective transport properties.

It is use to store an identification number for the layer and its boundary conditions as well as the geometry of the layer.

!!!!! UNDER CONSTRUCTION !!!!!!!

Constructor & Destructor Documentation

template<int dim>
FuelCellShop::Layer::SolidLayer< dim >::SolidLayer ( std::string  name)

Constructor.

template<int dim>
FuelCellShop::Layer::SolidLayer< dim >::~SolidLayer ( )

Destructor.

Member Function Documentation

template<int dim>
void FuelCellShop::Layer::SolidLayer< dim >::declare_parameters ( ParameterHandler &  param) const
virtual

Declare parameters for a parameter file.

The parameters that need to be declared are

  • Porosity (default : 0.3) Represents the porosity in the GDL
  • Method effective transport properties in pores (default: Bruggemann) Other options "Given|Bruggemann|Percolation|Mezedur"
  • Method effective transport properties in solid (default: Bruggemann) Other options "Given|Bruggemann|Percolation|Mezedur"

Reimplemented from FuelCellShop::Layer::BaseLayer< dim >.

template<int dim>
virtual void FuelCellShop::Layer::SolidLayer< dim >::derivative_effective_electron_conductivity ( std::vector< Tensor< 2, dim > > &  ) const
inlinevirtual

Compute the derivative of the effective electron conductivity in the GDL with respect to either the solution or design parameters.

The parameters with respect to which the derivatives are computed are setup in FuelCellShop::Layer::set_derivative_flags()

template<int dim>
virtual void FuelCellShop::Layer::SolidLayer< dim >::derivative_effective_thermal_conductivity ( std::vector< Tensor< 2, dim > > &  ) const
inlinevirtual

Compute the derivative of the effective thermal conductivity in the GDL with respect to either the solution or design parameters.

The parameters with respect to which the derivatives are computed are setup in FuelCellShop::Layer::set_derivative_flags()

template<int dim>
virtual void FuelCellShop::Layer::SolidLayer< dim >::effective_electron_conductivity ( double &  ) const
virtual

Compute the effective electron conductivity in the Solid.

template<int dim>
virtual void FuelCellShop::Layer::SolidLayer< dim >::effective_electron_conductivity ( Tensor< 2, dim > &  ) const
inlinevirtual

Compute the effective electron conductivity in the solid.

template<int dim>
virtual void FuelCellShop::Layer::SolidLayer< dim >::effective_electron_conductivity ( const double &  ,
Tensor< 2, dim > &   
) const
inlinevirtual

Compute the effective electron conductivity in the solid.

template<int dim>
virtual void FuelCellShop::Layer::SolidLayer< dim >::effective_thermal_conductivity ( double &  ) const
inlinevirtual

Compute the effective thermal conductivity (isotropic) in the GDL.

template<int dim>
virtual void FuelCellShop::Layer::SolidLayer< dim >::effective_thermal_conductivity ( Tensor< 2, dim > &  ) const
inlinevirtual

Compute the effective thermal conductivity (anisotropic) in the GDL.

template<int dim>
virtual void FuelCellShop::Layer::SolidLayer< dim >::effective_thermal_conductivity ( const double &  ,
const double &  ,
double &   
) const
inlinevirtual

Compute the effective thermal conductivity (isotropic) in the GDL.

template<int dim>
virtual void FuelCellShop::Layer::SolidLayer< dim >::effective_thermal_conductivity ( std::vector< Tensor< 2, dim > > &  ) const
inlinevirtual

Compute the effective thermal conductivity (anisotropic) in the GDL, dependent on various solution variables, eg: Temperature.

template<int dim>
const std::type_info& FuelCellShop::Layer::SolidLayer< dim >::get_base_type ( ) const
inlinevirtual

This member function returns a type_info object with the name of the base layer type the inherited class belongs to, i.e.

Note that this is necessary if we want to find out not the name of the actual class which can be obtain using

const std::type_info& name = typeid(*this)

but the name of the parent class.

Note
Do not re-implement this class in children classes

Reimplemented from FuelCellShop::Layer::BaseLayer< dim >.

template<int dim>
void FuelCellShop::Layer::SolidLayer< dim >::initialize ( ParameterHandler &  param)
virtual

Member function used to read in data and initialize the necessary data to compute the coefficients.

Reimplemented from FuelCellShop::Layer::BaseLayer< dim >.

template<int dim>
void FuelCellShop::Layer::SolidLayer< dim >::set_parameters ( const std::vector< std::string > &  name_dvar,
const std::vector< double > &  value_dvar,
ParameterHandler &  param 
)
virtual

Member function used to set new parameters values in the optimization loop.

Reimplemented from FuelCellShop::Layer::BaseLayer< dim >.

template<int dim>
void FuelCellShop::Layer::SolidLayer< dim >::set_solid_and_compute ( FuelCellShop::Material::FiberBase ,
double   
)

Member function that sets the material in the layer and the temperature.

template<int dim>
virtual void FuelCellShop::Layer::SolidLayer< dim >::test_class ( )
virtual

Class test.

Member Data Documentation

template<int dim>
std::vector<unsigned int> FuelCellShop::Layer::SolidLayer< dim >::boundary_ids
protected

Boundary ids.

template<int dim>
double FuelCellShop::Layer::SolidLayer< dim >::electrical_conductivity
protected

Variable to store electcical conducivity.

Data member that stores the solid material the layer is made of.

template<int dim>
double FuelCellShop::Layer::SolidLayer< dim >::temperature
protected

Temperature used to compute gases.


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