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::CatalystSupportBase Class Reference

This class implements the interface to compute the properties of a "standard" catalyst support. More...

#include <catalyst_support_base.h>

Inheritance diagram for FuelCellShop::Material::CatalystSupportBase:
Inheritance graph
[legend]
Collaboration diagram for FuelCellShop::Material::CatalystSupportBase:
Collaboration graph
[legend]

Public Member Functions

Information and accessors
virtual double get_electrical_conductivity () const
 Obtain the electrical conductivity [S/cm]. More...
 
virtual double get_thermal_conductivity () const
 Obtain the thermal conductivity [W/(cm-K )]. More...
 
virtual double get_density () const
 Obtain the density [gm/cm^3]. More...
 
- Public Member Functions inherited from FuelCellShop::Material::BaseMaterial
void set_derivative_flags (const std::vector< VariableNames > &flags)
 Set the names of FCST solution variables with respect to which you would like to compute the derivatives of material properties. More...
 
const std::string & name_material () const
 Return the name of the layer. More...
 
virtual void print_material_properties () const
 This function prints out the material properties. More...
 

Static Public Member Functions

Instance Delivery (Public functions)
static void declare_CatalystSupport_parameters (ParameterHandler &param)
 Function used to declare all the data necessary in the parameter files for all CatalystSupportBase children. More...
 
static boost::shared_ptr
< FuelCellShop::Material::CatalystSupportBase
create_CatalystSupport (ParameterHandler &param, std::string support_name)
 Function called in create_CatalystLayer and used to select the appropriate CatalystSupportBase children that will be used in the layer. More...
 

Protected Types

Instance Delivery (Types)
typedef std::map< std::string,
FuelCellShop::Material::CatalystSupportBase * > 
_mapFactory
 This object is used to store all objects of type CatalystSupportBase. More...
 

Protected Member Functions

Constructors, destructor, and parameter initalization
 CatalystSupportBase ()
 Constructor. More...
 
 CatalystSupportBase (std::string name)
 Constructor The constructor initialize parameters using the default values. More...
 
 ~CatalystSupportBase ()
 Destructor. More...
 
virtual void declare_parameters (ParameterHandler &param) const
 Declare parameters for a parameter file. More...
 
virtual void initialize (ParameterHandler &param)
 Initialize parameters. More...
 
Instance Delivery (Private functions)
virtual boost::shared_ptr
< FuelCellShop::Material::CatalystSupportBase
create_replica ()
 This member function is used to create an object of type CatalystSupportBase. More...
 
- Protected Member Functions inherited from FuelCellShop::Material::BaseMaterial
 BaseMaterial ()
 Constructor. More...
 
 BaseMaterial (const std::string &name)
 Constructor. More...
 
virtual ~BaseMaterial ()
 Destructor. More...
 

Static Protected Member Functions

Instance Delivery (Private and static)
static _mapFactoryget_mapFactory ()
 

Protected Attributes

Internal variables
double electrical_conductivity
 Electrical conductivity [S/cm] of catalyst support extrapolated to 100% solid phase. More...
 
double thermal_conductivity
 Thermal conductivity [W/(cm-K )] of catalyst support extrapolated to 100% solid phase. More...
 
double density
 Density of catalyst support [gm/cm^3]. More...
 
- Protected Attributes inherited from FuelCellShop::Material::BaseMaterial
const std::string name
 Name of the layer. More...
 
std::vector< VariableNamesderivative_flags
 Flags for derivatives: These flags are used to request derivatives of material properties. More...
 

Detailed Description

This class implements the interface to compute the properties of a "standard" catalyst support.

Note that there are many types of catalyst supports such as carbon black, carbon nanotubes and 3M organic nano-wiskers. This class serves a common interface for each one of these types. Children should be implemented for each type with appropriate propertes. The properties of each catalyst support materials are implemented in the children classes. This class is used to return physical properties such as density, electrical conductivity and thermal conductivity. This class is normally not required to be used inside the application. Instead, it's used inside the catalyst layer classes to access these above-mentioned physical properties.

Usage Details:

Three accessors methods are available, viz., get_density, get_electrical_conductivity, get_thermal_conductivity, which return double values corresponding to density [gm/cm^3], electrical conductivity [S/cm] and thermal conductivity [W/(cm-K )] respectively, of the catalyst support material.

Author
M. Secanell, 2011-13
Madhur Bhaiya, 2013

Member Typedef Documentation

This object is used to store all objects of type CatalystSupportBase.

Constructor & Destructor Documentation

FuelCellShop::Material::CatalystSupportBase::CatalystSupportBase ( )
inlineprotected

Constructor.

FuelCellShop::Material::CatalystSupportBase::CatalystSupportBase ( std::string  name)
inlineprotected

Constructor The constructor initialize parameters using the default values.

This is so that if I do not want to call declare_parameters and initialize, I can still use the routine with the hard coded values.

High Priority Todo:
What are we going to do with the Carbon, Nafion, Platinum, etc. classes? i.e. puresolids
FuelCellShop::Material::CatalystSupportBase::~CatalystSupportBase ( )
inlineprotected

Destructor.

Member Function Documentation

static boost::shared_ptr<FuelCellShop::Material::CatalystSupportBase > FuelCellShop::Material::CatalystSupportBase::create_CatalystSupport ( ParameterHandler &  param,
std::string  support_name 
)
inlinestatic

Function called in create_CatalystLayer and used to select the appropriate CatalystSupportBase children that will be used in the layer.

The name of the CatalystSupportBase children object to be used is provided in support_name.

The name of the CatalystSupportBase children object is provided in the ParameterHandler in the CatalystLayer subsection as follows:

* subsection Catalyst Layer Properties <- This name is the name of the catalyst layer subsection where the kinetics are taking place.
* (...)
* set Catalyst support type = CarbonBlack
* (...)
* end
*

current options are [ CarbonBlack ]

References get_mapFactory(), and FcstUtilities::log.

Here is the call graph for this function:

virtual boost::shared_ptr<FuelCellShop::Material::CatalystSupportBase > FuelCellShop::Material::CatalystSupportBase::create_replica ( )
inlineprotectedvirtual

This member function is used to create an object of type CatalystSupportBase.

Warning
This class MUST be redeclared in every child.

Reimplemented in FuelCellShop::Material::CarbonBlack.

References FcstUtilities::log.

static void FuelCellShop::Material::CatalystSupportBase::declare_CatalystSupport_parameters ( ParameterHandler &  param)
inlinestatic

Function used to declare all the data necessary in the parameter files for all CatalystSupportBase children.

References get_mapFactory().

Here is the call graph for this function:

virtual void FuelCellShop::Material::CatalystSupportBase::declare_parameters ( ParameterHandler &  param) const
inlineprotectedvirtual

Declare parameters for a parameter file.

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

Reimplemented from FuelCellShop::Material::BaseMaterial.

Reimplemented in FuelCellShop::Material::CarbonBlack.

References FcstUtilities::log.

virtual double FuelCellShop::Material::CatalystSupportBase::get_density ( ) const
inlinevirtual

Obtain the density [gm/cm^3].

Note
This is an abstract virtual function. Please look at the child classes for its reimplementations (if any).

Reimplemented in FuelCellShop::Material::CarbonBlack.

References FcstUtilities::log.

virtual double FuelCellShop::Material::CatalystSupportBase::get_electrical_conductivity ( ) const
inlinevirtual

Obtain the electrical conductivity [S/cm].

Note
This is an abstract virtual function. Please look at the child classes for its reimplementations (if any).

Reimplemented in FuelCellShop::Material::CarbonBlack.

References FcstUtilities::log.

static _mapFactory* FuelCellShop::Material::CatalystSupportBase::get_mapFactory ( )
inlinestaticprotected

Referenced by create_CatalystSupport(), and declare_CatalystSupport_parameters().

Here is the caller graph for this function:

virtual double FuelCellShop::Material::CatalystSupportBase::get_thermal_conductivity ( ) const
inlinevirtual

Obtain the thermal conductivity [W/(cm-K )].

Note
This is an abstract virtual function. Please look at the child classes for its reimplementations (if any).

Reimplemented in FuelCellShop::Material::CarbonBlack.

References FcstUtilities::log.

virtual void FuelCellShop::Material::CatalystSupportBase::initialize ( ParameterHandler &  param)
inlineprotectedvirtual

Initialize parameters.

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

Reimplemented from FuelCellShop::Material::BaseMaterial.

Reimplemented in FuelCellShop::Material::CarbonBlack.

References FcstUtilities::log.

Member Data Documentation

double FuelCellShop::Material::CatalystSupportBase::density
protected

Density of catalyst support [gm/cm^3].

Referenced by FuelCellShop::Material::CarbonBlack::get_density().

double FuelCellShop::Material::CatalystSupportBase::electrical_conductivity
protected

Electrical conductivity [S/cm] of catalyst support extrapolated to 100% solid phase.

Referenced by FuelCellShop::Material::CarbonBlack::get_electrical_conductivity().

double FuelCellShop::Material::CatalystSupportBase::thermal_conductivity
protected

Thermal conductivity [W/(cm-K )] of catalyst support extrapolated to 100% solid phase.

Referenced by FuelCellShop::Material::CarbonBlack::get_thermal_conductivity().


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