17 #ifndef _FUELCELLSHOP__PURESOLID__H 
   18 #define _FUELCELLSHOP__PURESOLID__H 
   27 #include <deal.II/base/parameter_handler.h> 
   39 namespace FuelCellShop
 
  101                          param.enter_subsection(
"Material Database");
 
  103                              param.enter_subsection(
"PureSolid");
 
  105                                  iterator->second->declare_parameters(param);
 
  107                              param.leave_subsection();                             
 
  109                          param.leave_subsection();
 
  120                                                                                            ParameterHandler ¶m)
 
  123                  boost::shared_ptr<FuelCellShop::Material::PureSolid> pointer;
 
  129                      if (iterator->second)
 
  131                          pointer = iterator->second->create_replica(concrete_name);
 
  141                      AssertThrow(
false, ExcMessage(
"Concrete name in FuelCellShop::Material::PureSolid::create_PureSolid does not exist"));
 
  144                  param.enter_subsection(
"Material Database");
 
  146                      param.enter_subsection(
"PureSolid");
 
  148                          pointer->initialize(param);
 
  150                      param.leave_subsection();                             
 
  152                  param.leave_subsection();                
 
  276             virtual boost::shared_ptr<FuelCellShop::Material::PureSolid > 
create_replica (
const std::string &
name)
 
  278                 const std::type_info& info = 
typeid(*this);
 
  280                 << 
" called in Class " 
  281                 << info.name() << std::endl;
 
  387                 const std::type_info& info = 
typeid(*this);
 
  389                 << 
" called in Class " 
  390                 << info.name()  << std::endl;
 
  406                 const std::type_info& info = 
typeid(*this);
 
  408                 << 
" called in Class " 
  409                 << info.name()  << std::endl;
 
  438             virtual boost::shared_ptr<FuelCellShop::Material::PureSolid > 
create_replica (
const std::string &
name)
 
  475             virtual void initialize (ParameterHandler ¶m);
 
  553             virtual boost::shared_ptr<FuelCellShop::Material::PureSolid > 
create_replica (
const std::string &
name)
 
  589             virtual void initialize (ParameterHandler ¶m);
 
This class is a base class for all pure solid materials used in FCST. 
Definition: PureSolid.h:59
 
PureSolid()
Consturctor. 
Definition: PureSolid.h:69
 
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. 
Definition: PureSolid.h:438
 
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. 
Definition: PureSolid.h:553
 
virtual double get_electrical_conductivity(double temperature) const 
Obtain the electrical conductivity units (S/M) 
 
SolidMaterialTypes
Definition: PureSolid.h:32
 
static const std::string concrete_name
Concrete name used for objects of this class. 
Definition: PureSolid.h:563
 
Definition: PureSolid.h:34
 
This class describes properties of pure Dummy. 
Definition: PureSolid.h:487
 
virtual double get_H2_permeability(double temperature) const =0
Obtain the H2_permeability (unit cm3*cm-2*s-1) 
 
static PureSolid const * PROTOTYPE
PROTOTYPE used for pointing to this class. 
Definition: PureSolid.h:266
 
virtual double get_density() const =0
Obtain the density. 
 
const std::string name
Name of the layer. 
Definition: base_material.h:155
 
virtual double get_coefficient_thermal_expansion(double temperature) const =0
Obtain the coefficient_thermal_expansion (microns/m °C) 
 
virtual void declare_parameters(ParameterHandler ¶m) const 
Declare parameters for a parameter file. 
 
virtual void declare_parameters(ParameterHandler ¶m) const 
Declare parameters for a parameter file. 
 
virtual double get_electrical_conductivity(double temperature) const 
Obtain the electrical conductivity units (S/M) 
 
virtual double get_compressive_strength(double temperature) const =0
Obtain the compressive_strength (unit N/mm2) 
 
static Graphite const * PROTOTYPE
PROTOTYPE used for pointing to this class. 
Definition: PureSolid.h:455
 
virtual double get_Delectrical_conductivity_Dtemperature(double temperature) const 
Obtain the derivative of the electrical conductivity. 
Definition: PureSolid.h:385
 
virtual double get_compressive_strength(double temperature) const 
Obtain the coefficient_thermal_expansion units (N/mm2) 
 
double H2_permeability
H2 permeability. 
Definition: PureSolid.h:330
 
virtual void get_Delectrical_conductivity_Dtemperature(std::vector< double >, std::vector< double > &) const 
Obtain the derivative of the electrical conductivity. 
Definition: PureSolid.h:395
 
virtual double get_H2_permeability(double temperature) const 
Obtain the H2_permeability units (cm3*cm-2*s-1) 
 
static const std::string concrete_name
Concrete name used for objects of this class. 
Definition: PureSolid.h:450
 
Definition: PureSolid.h:36
 
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. 
Definition: PureSolid.h:276
 
double coefficient_thermal_expansion
Coefficient of Thermal Expansion. 
Definition: PureSolid.h:324
 
virtual double get_density() const 
Obtain the density units (g/cm3) 
 
virtual double get_Dthermal_conductivity_Dtemperature(double temperature) const 
Obtain the derivative of the thermal conductivity. 
Definition: PureSolid.h:404
 
virtual double get_thermal_conductivity(double temperature) const 
Obtain the thermal conductivity units (watts/m K) 
 
static DummySolid const * PROTOTYPE
PROTOTYPE used for pointing to this class. 
Definition: PureSolid.h:568
 
double thermal_conductivity
thermal_conductivity 
Definition: PureSolid.h:321
 
virtual void initialize(ParameterHandler ¶m)
Member function used to read in data and initialize the necessary data to compute the coefficients...
Definition: PureSolid.h:304
 
virtual double get_coefficient_thermal_expansion(double temperature) const 
Obtain the coefficient_thermal_expansion units (microns/m °C) 
 
virtual double get_H2_permeability(double temperature) const 
Obtain the H2_permeability units (cm3*cm-2*s-1) 
 
virtual ~Graphite()
Destructor. 
 
static void declare_PureSolid_parameters(ParameterHandler ¶m)
This routine is used to create a PureSolid with the desired properties. 
Definition: PureSolid.h:94
 
virtual double get_Dthermal_conductivity_Dtemperature(double temperature) const =0
Obtain the derivative of the thermal conductivity. 
 
double Poissons_ratio
Poissons_ratio. 
Definition: PureSolid.h:333
 
virtual double get_Delectrical_conductivity_Dtemperature(double temperature) const =0
Obtain the derivative of the electrical conductivity. 
 
std::map< std::string, PureSolid * > _mapFactory
This object is used to store all objects of type PureSolid. 
Definition: PureSolid.h:211
 
virtual void get_Dthermal_conductivity_Dtemperature(std::vector< double >, std::vector< double > &) const 
Obtain the derivative of the thermal conductivity. 
Definition: PureSolid.h:414
 
FCSTLogStream log
Object used to output data to file and, if file attached recorded to a file as well. 
 
virtual ~PureSolid()
Destructor. 
 
virtual double get_Dthermal_conductivity_Dtemperature(double temperature) const 
Obtain the derivative of the thermal conductivity. 
 
virtual void declare_parameters(ParameterHandler ¶m) const 
Declare parameters for a parameter file. 
Definition: PureSolid.h:298
 
double density
Density. 
Definition: PureSolid.h:315
 
static const std::string concrete_name
Concrete name used for objects of this class. 
Definition: PureSolid.h:246
 
virtual ~DummySolid()
Destructor. 
 
Definition: PureSolid.h:35
 
virtual double get_compressive_strength(double temperature) const 
Obtain the coefficient_thermal_expansion units (N/mm2) 
 
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 ...
Definition: PureSolid.h:119
 
virtual void initialize(ParameterHandler ¶m)
Member function used to read in data and initialize the necessary data to compute the coefficients...
 
This class describes properties of pure Poco Graphite. 
Definition: PureSolid.h:356
 
virtual double get_thermal_conductivity(double temperature) const =0
Obtain the thermal conductivity (watts/m K) 
 
virtual double get_Poissons_ratio(double temperature) const =0
Obtain the Poissons ratio (unitless) 
 
virtual void initialize(ParameterHandler ¶m)
Member function used to read in data and initialize the necessary data to compute the coefficients...
 
virtual double get_Poissons_ratio(double temperature) const 
Obtain the Poissons_ratio units () 
 
virtual double get_electrical_conductivity(double temperature) const =0
Obtain the electrical conductivity units (S/M) 
 
virtual double get_thermal_conductivity(double temperature) const 
Obtain the thermal conductivity units (watts/m K) 
 
double electrical_conductivity
electrical_conductivity 
Definition: PureSolid.h:318
 
double compressive_strength
Compressive strength. 
Definition: PureSolid.h:327
 
virtual double get_density() const 
Obtain the density units (g/cm3) 
 
static _mapFactory * get_mapFactory()
Definition: PureSolid.h:219
 
virtual double get_Delectrical_conductivity_Dtemperature(double temperature) const 
Obtain the derivative of the electrical conductivity. 
 
Virtual class used to provide the interface for all material classes. 
Definition: base_material.h:54
 
virtual double get_Poissons_ratio(double temperature) const 
Obtain the Poissons_ratio units () 
 
virtual double get_coefficient_thermal_expansion(double temperature) const 
Obtain the coefficient_thermal_expansion units (microns/m °C)