OpenFCST: The open-source Fuel Cell Simulation Toolbox
|
This class is a base class for all pure solid materials used in FCST. More...
#include <PureSolid.h>
Public Types | |
Instance Delivery (Types) | |
typedef std::map< std::string, PureSolid * > | _mapFactory |
This object is used to store all objects of type PureSolid. More... | |
Public Member Functions | |
Service functions. | |
virtual double | get_density () const =0 |
Obtain the density. More... | |
virtual double | get_electrical_conductivity (double temperature) const =0 |
Obtain the electrical conductivity units (S/M) More... | |
virtual void | get_electrical_conductivity (std::vector< double > temperature, std::vector< double > &dst) const =0 |
Obtain the electrical conductivity (S/M). More... | |
virtual double | get_Delectrical_conductivity_Dtemperature (double temperature) const =0 |
Obtain the derivative of the electrical conductivity. More... | |
virtual void | get_Delectrical_conductivity_Dtemperature (std::vector< double > temperature, std::vector< double > &dst) const =0 |
Obtain the derivative of the electrical conductivity. More... | |
virtual double | get_thermal_conductivity (double temperature) const =0 |
Obtain the thermal conductivity (watts/m K) More... | |
virtual void | get_thermal_conductivity (std::vector< double > temperature, std::vector< double > &dst) const =0 |
Obtain the thermal conductivity (watts/m K) More... | |
virtual double | get_Dthermal_conductivity_Dtemperature (double temperature) const =0 |
Obtain the derivative of the thermal conductivity. More... | |
virtual void | get_Dthermal_conductivity_Dtemperature (std::vector< double > temperature, std::vector< double > &dst) const =0 |
Obtain the derivative of the thermal conductivity. More... | |
virtual double | get_coefficient_thermal_expansion (double temperature) const =0 |
Obtain the coefficient_thermal_expansion (microns/m °C) More... | |
virtual double | get_compressive_strength (double temperature) const =0 |
Obtain the compressive_strength (unit N/mm2) More... | |
virtual double | get_H2_permeability (double temperature) const =0 |
Obtain the H2_permeability (unit cm3*cm-2*s-1) More... | |
virtual double | get_Poissons_ratio (double temperature) const =0 |
Obtain the Poissons ratio (unitless) 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 (Private and static) | |
static _mapFactory * | get_mapFactory () |
Protected Member Functions | |
Instance Delivery (Private functions) | |
virtual boost::shared_ptr < FuelCellShop::Material::PureSolid > | create_replica (const std::string &name) |
This member function is used to create an object of type PureSolid Material. More... | |
Protected Member Functions inherited from FuelCellShop::Material::BaseMaterial | |
BaseMaterial () | |
Constructor. More... | |
BaseMaterial (const std::string &name) | |
Constructor. More... | |
virtual | ~BaseMaterial () |
Destructor. More... | |
Protected Attributes | |
Accessors and info | |
double | density |
Density. More... | |
double | electrical_conductivity |
electrical_conductivity More... | |
double | thermal_conductivity |
thermal_conductivity More... | |
double | coefficient_thermal_expansion |
Coefficient of Thermal Expansion. More... | |
double | compressive_strength |
Compressive strength. More... | |
double | H2_permeability |
H2 permeability. More... | |
double | Poissons_ratio |
Poissons_ratio. More... | |
Protected Attributes inherited from FuelCellShop::Material::BaseMaterial | |
const std::string | name |
Name of the layer. More... | |
std::vector< VariableNames > | derivative_flags |
Flags for derivatives: These flags are used to request derivatives of material properties. More... | |
Static Protected Attributes | |
Instance Delivery (Public variables) | |
static const std::string | concrete_name |
Concrete name used for objects of this class. More... | |
static PureSolid const * | PROTOTYPE |
PROTOTYPE used for pointing to this class. More... | |
Constructors, destructor and initialization | |
PureSolid () | |
Consturctor. More... | |
virtual | ~PureSolid () |
Destructor. More... | |
static void | declare_PureSolid_parameters (ParameterHandler ¶m) |
This routine is used to create a PureSolid with the desired properties. More... | |
static boost::shared_ptr < FuelCellShop::Material::PureSolid > | create_PureSolid (std::string concrete_name, ParameterHandler ¶m) |
This function returns a boost shared ptr of a certain material with the name of concrete_name and it initializes the PureSolid material with the desired properties. More... | |
PureSolid (const std::string &name) | |
Constructor. More... | |
virtual void | declare_parameters (ParameterHandler ¶m) const |
Declare parameters for a parameter file. More... | |
virtual void | initialize (ParameterHandler ¶m) |
Member function used to read in data and initialize the necessary data to compute the coefficients. More... | |
This class is a base class for all pure solid materials used in FCST.
This class contains data provided by its children and implements the methods by means of which different properties of pure solid materials can be computed.
typedef std::map< std::string, PureSolid* > FuelCellShop::Material::PureSolid::_mapFactory |
|
inline |
Consturctor.
|
virtual |
Destructor.
|
protected |
Constructor.
|
inlinestatic |
This function returns a boost shared ptr of a certain material with the name of concrete_name and it initializes the PureSolid material with the desired properties.
References get_mapFactory(), and FcstUtilities::log.
|
inlineprotectedvirtual |
This member function is used to create an object of type PureSolid Material.
Reimplemented in FuelCellShop::Material::DummySolid, and FuelCellShop::Material::Graphite.
References FcstUtilities::log.
|
inlineprotectedvirtual |
Declare parameters for a parameter file.
Reimplemented from FuelCellShop::Material::BaseMaterial.
Reimplemented in FuelCellShop::Material::DummySolid, and FuelCellShop::Material::Graphite.
|
inlinestatic |
This routine is used to create a PureSolid with the desired properties.
concrete_name | should contain a string with the concrete_name of the PureSolid child that you would like to create. |
param | should contain the ParameterHandler handler from which you would harvest any necessary data under subsection * * subsection Material Database
* subsection Pure Solid
* subsection concrete_name
*
* end
* end
* end
*
|
References get_mapFactory().
|
pure virtual |
Obtain the coefficient_thermal_expansion (microns/m °C)
Implemented in FuelCellShop::Material::DummySolid, and FuelCellShop::Material::Graphite.
|
pure virtual |
Obtain the compressive_strength (unit N/mm2)
Implemented in FuelCellShop::Material::DummySolid, and FuelCellShop::Material::Graphite.
|
pure virtual |
Obtain the derivative of the electrical conductivity.
Implemented in FuelCellShop::Material::DummySolid, and FuelCellShop::Material::Graphite.
|
pure virtual |
Obtain the derivative of the electrical conductivity.
Implemented in FuelCellShop::Material::DummySolid, and FuelCellShop::Material::Graphite.
|
pure virtual |
Obtain the density.
Implemented in FuelCellShop::Material::DummySolid, and FuelCellShop::Material::Graphite.
|
pure virtual |
Obtain the derivative of the thermal conductivity.
Implemented in FuelCellShop::Material::DummySolid, and FuelCellShop::Material::Graphite.
|
pure virtual |
Obtain the derivative of the thermal conductivity.
Implemented in FuelCellShop::Material::DummySolid, and FuelCellShop::Material::Graphite.
|
pure virtual |
Obtain the electrical conductivity units (S/M)
Implemented in FuelCellShop::Material::DummySolid, and FuelCellShop::Material::Graphite.
|
pure virtual |
Obtain the electrical conductivity (S/M).
Implemented in FuelCellShop::Material::DummySolid, and FuelCellShop::Material::Graphite.
|
pure virtual |
Obtain the H2_permeability (unit cm3*cm-2*s-1)
Implemented in FuelCellShop::Material::DummySolid, and FuelCellShop::Material::Graphite.
|
inlinestatic |
Referenced by create_PureSolid(), and declare_PureSolid_parameters().
|
pure virtual |
Obtain the Poissons ratio (unitless)
Implemented in FuelCellShop::Material::DummySolid, and FuelCellShop::Material::Graphite.
|
pure virtual |
Obtain the thermal conductivity (watts/m K)
Implemented in FuelCellShop::Material::DummySolid, and FuelCellShop::Material::Graphite.
|
pure virtual |
Obtain the thermal conductivity (watts/m K)
Implemented in FuelCellShop::Material::DummySolid, and FuelCellShop::Material::Graphite.
|
inlineprotectedvirtual |
Member function used to read in data and initialize the necessary data to compute the coefficients.
Reimplemented from FuelCellShop::Material::BaseMaterial.
Reimplemented in FuelCellShop::Material::DummySolid, and FuelCellShop::Material::Graphite.
|
protected |
Coefficient of Thermal Expansion.
|
protected |
Compressive strength.
|
staticprotected |
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
|
protected |
Density.
|
protected |
electrical_conductivity
|
protected |
H2 permeability.
|
protected |
Poissons_ratio.
|
staticprotected |
PROTOTYPE used for pointing to this class.
This pointer is used when setting up the subsection where the data is stored in the input file.
The data will be store under
|
protected |
thermal_conductivity