OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
FuelCellShop::Material::BaseMaterial Class Reference

Virtual class used to provide the interface for all material classes. More...

#include <base_material.h>

Inheritance diagram for FuelCellShop::Material::BaseMaterial:
Inheritance graph
[legend]

Public Member Functions

Initalization
virtual void initialize (ParameterHandler &)
 Member function used to read in data and initialize the necessary data to compute the coefficients.
 
void set_derivative_flags (const std::vector< VariableNames > &flags)
 Set the variables for which you would like to compute the derivatives.
 
Accessors and info
const std::string & name_material ()
 Return the name of the layer.
 
virtual void print_material_properties () const
 This function prints out the material properties.
 

Protected Member Functions

Constructors, destructor, and parameter initalization
 BaseMaterial ()
 Constructor.
 
 BaseMaterial (const std::string &name)
 Constructor.
 
virtual ~BaseMaterial ()
 Destructor.
 
virtual void declare_parameters (ParameterHandler &) const
 Declare parameters for a parameter file.
 
virtual void set_parameters (const std::vector< std::string > &, const std::vector< double > &, ParameterHandler &)
 Member function used to change the values in the parameter file for a given list of parameters.
 

Protected Attributes

Internal variables
const std::string name
 Name of the layer.
 
std::vector< VariableNamesderivative_flags
 Flags for derivatives: These flags are used to request derivatives.
 

Detailed Description

Virtual class used to provide the interface for all material classes.

No object of type BaseMaterial should ever be created.

Todo:
create a proper tree for materials. I think it should go, material_base, then childs: electrolyte, catalyst support, catalyst (...)

Constructor & Destructor Documentation

FuelCellShop::Material::BaseMaterial::BaseMaterial ( )
inlineprotected

Constructor.

FuelCellShop::Material::BaseMaterial::BaseMaterial ( const std::string &  name)
inlineprotected

Constructor.

Deprecated:
Material classes should not take any string. The string is not used for anything.
virtual FuelCellShop::Material::BaseMaterial::~BaseMaterial ( )
inlineprotectedvirtual

Destructor.

Member Function Documentation

virtual void FuelCellShop::Material::BaseMaterial::declare_parameters ( ParameterHandler &  ) const
inlineprotectedvirtual
virtual void FuelCellShop::Material::BaseMaterial::initialize ( ParameterHandler &  )
inlinevirtual

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

Warning
This is a PureFunction and it does not initialize anything, so please do not call this function in the children.

Reimplemented in FuelCellShop::Material::PolymerElectrolyteBase, FuelCellShop::Material::CatalystBase, FuelCellShop::Material::CatalystSupportBase, FuelCellShop::Material::Nafion, FuelCellShop::Material::CarbonBlack, FuelCellShop::Material::Platinum, FuelCellShop::Material::MaterialPlateBase, FuelCellShop::Material::MaterialPlateGraphite, FuelCellShop::Material::FiberBase, and FuelCellShop::Material::CarbonFiber.

Referenced by FuelCellShop::Material::FiberBase::initialize(), and FuelCellShop::Material::MaterialPlateBase::initialize().

Here is the caller graph for this function:

const std::string& FuelCellShop::Material::BaseMaterial::name_material ( )
inline

Return the name of the layer.

virtual void FuelCellShop::Material::BaseMaterial::print_material_properties ( ) const
inlinevirtual

This function prints out the material properties.

void FuelCellShop::Material::BaseMaterial::set_derivative_flags ( const std::vector< VariableNames > &  flags)
inline

Set the variables for which you would like to compute the derivatives.

virtual void FuelCellShop::Material::BaseMaterial::set_parameters ( const std::vector< std::string > &  ,
const std::vector< double > &  ,
ParameterHandler &   
)
inlineprotectedvirtual

Member function used to change the values in the parameter file for a given list of parameters.

  • name_param should ideally contain the string as it would appear in the input file, i.e. "Thickness of the agglomerate radius"
  • value_param contains the value that the variable should be set at
  • param is the ParameterHandler that contains all the information that has been read from file
Warning
This is a PureFunction and it does not declare anything, so please do not call this function in the children.

Reimplemented in FuelCellShop::Material::PolymerElectrolyteBase, FuelCellShop::Material::CatalystBase, FuelCellShop::Material::CatalystSupportBase, FuelCellShop::Material::Nafion, FuelCellShop::Material::CarbonBlack, FuelCellShop::Material::Platinum, FuelCellShop::Material::MaterialPlateBase, FuelCellShop::Material::MaterialPlateGraphite, FuelCellShop::Material::FiberBase, and FuelCellShop::Material::CarbonFiber.

Referenced by FuelCellShop::Material::FiberBase::set_parameters(), and FuelCellShop::Material::MaterialPlateBase::set_parameters().

Here is the caller graph for this function:

Member Data Documentation

std::vector<VariableNames> FuelCellShop::Material::BaseMaterial::derivative_flags
protected

Flags for derivatives: These flags are used to request derivatives.

const std::string FuelCellShop::Material::BaseMaterial::name
protected

Name of the layer.

This value is used as a header in a subsection for the parameter file where all the information concerning this layer is held

Referenced by FuelCellShop::Kinetics::BaseKinetics::current_density(), declare_parameters(), and FuelCellShop::Material::Platinum::set_reaction_kinetics().


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