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::Material::MaterialPlateBase Class Reference

Base class for developing bipolar plate materials. More...

#include <material_plate_base.h>

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

Public Member Functions

 MaterialPlateBase (std::string name)
 Constructor.
 
 ~MaterialPlateBase ()
 Destructor.
 
void declare_parameters (ParameterHandler &param) const
 Declare parameters.
 
void set_parameters (const std::vector< std::string > &name_dvar, const std::vector< double > &value_dvar, ParameterHandler &param)
 Set parameters on the parameter handler object.
 
void initialize (ParameterHandler &param)
 Member function used to read in data and initialize the necessary data to compute the coefficients.
 
virtual double get_electron_conductivity () const
 Member function to compute the electron conductivity (Isotropic properties).
 
virtual void get_electron_conductivity_derivative (double &, std::vector< double > &) const
 Member function to compute the derivatives of the electron conductivity (Isotropic properties) with respect to the solution.
 
virtual double get_thermal_conductivity () const
 Member function to compute the thermal conductivity (Isotropic properties).
 
virtual void get_thermal_conductivity_derivative (double &, std::vector< double > &) const
 Member function to compute the derivatives of the thermal conductivity (Isotropic properties) with respect to the solution.
 
virtual double get_youngs_modulus () const
 Member function to compute the Young's modulus (Isotropic properties).
 
virtual void get_youngs_modulus_derivative (double &, std::vector< double > &) const
 Member function to compute the derivatives of the Young's modulus (Isotropic properties) with respect to the solution.
 
virtual double get_poissons_ratio () const
 Member function to compute the Poisson's ratio (Isotropic properties).
 
virtual void get_poissons_modulus_derivative (double &, std::vector< double > &) const
 Member function to compute the derivatives of the Poisson's ratio (Isotropic properties) with respect to the solution.
 
virtual double get_expansion_coefficient () const
 Member function to compute the expansion coefficient (Isotropic properties).
 
virtual void get_expansion_coefficient_derivative (double &E, std::vector< double > &dE) const
 Member function to compute the derivatives of the expansion coefficient (Isotropic properties) with respect to the solution.
 
- Public Member Functions inherited from FuelCellShop::Material::BaseMaterial
void set_derivative_flags (const std::vector< VariableNames > &flags)
 Set the variables for which you would like to compute the derivatives.
 
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 Attributes

double electron_conductivity
 Variable storing electron conductivity.
 
std::vector< double > electron_conductivity_derivative
 Variable storing electron conductivity derivatives.
 
double thermal_conductivity
 Variable storing thermal conductivity.
 
std::vector< double > thermal_conductivity_derivative
 Variable storing thermal conductivity derivatives.
 
double youngs_modulus
 Variable storing Youngs modulus.
 
std::vector< double > youngs_modulus_derivative
 Variable storing Youngs modulus.
 
double poissons_ratio
 Variable storing Poisson ratio.
 
std::vector< double > poissons_ratio_derivative
 Variable storing Poisson modulus.
 
double expansion_coefficient
 Variable storing expansion coefficient ratio.
 
std::vector< double > expansion_coefficient_derivative
 Variable storing expansion coefficient modulus.
 
- Protected Attributes inherited from FuelCellShop::Material::BaseMaterial
const std::string name
 Name of the layer.
 
std::vector< VariableNamesderivative_flags
 Flags for derivatives: These flags are used to request derivatives.
 

Additional Inherited Members

- Protected Member Functions inherited from FuelCellShop::Material::BaseMaterial
 BaseMaterial ()
 Constructor.
 
 BaseMaterial (const std::string &name)
 Constructor.
 
virtual ~BaseMaterial ()
 Destructor.
 

Detailed Description

Base class for developing bipolar plate materials.

Do not implement a material in this class, this classs is only for setting up the interface. This class returns:

Medium Priority Todo:
Implement a liquid gas so that it can be passed to the member function that computes contact angles

Constructor & Destructor Documentation

FuelCellShop::Material::MaterialPlateBase::MaterialPlateBase ( std::string  name)
inline

Constructor.

FuelCellShop::Material::MaterialPlateBase::~MaterialPlateBase ( )
inline

Destructor.

Member Function Documentation

void FuelCellShop::Material::MaterialPlateBase::declare_parameters ( ParameterHandler &  param) const
inlinevirtual

Declare parameters.

Reimplemented from FuelCellShop::Material::BaseMaterial.

Reimplemented in FuelCellShop::Material::MaterialPlateGraphite.

References FuelCellShop::Material::BaseMaterial::declare_parameters().

Here is the call graph for this function:

virtual double FuelCellShop::Material::MaterialPlateBase::get_electron_conductivity ( ) const
inlinevirtual

Member function to compute the electron conductivity (Isotropic properties).

If the electron conductivity depends on the solution, then the solution is set in member function set_solution(std::vector< std::vector< double > * >, std::vector< std::string >)

Reimplemented in FuelCellShop::Material::MaterialPlateGraphite.

virtual void FuelCellShop::Material::MaterialPlateBase::get_electron_conductivity_derivative ( double &  ,
std::vector< double > &   
) const
inlinevirtual

Member function to compute the derivatives of the electron conductivity (Isotropic properties) with respect to the solution.

The derivative is computed with respect to the variables that you have indicted using the member function set_derivative_flags(std::vector< std::string > &flags).

Reimplemented in FuelCellShop::Material::MaterialPlateGraphite.

virtual double FuelCellShop::Material::MaterialPlateBase::get_expansion_coefficient ( ) const
inlinevirtual

Member function to compute the expansion coefficient (Isotropic properties).

If the thermal conductivity depends on the solution, then the solution is set in member function set_solution(std::vector< std::vector< double > * >, std::vector< std::string >)

virtual void FuelCellShop::Material::MaterialPlateBase::get_expansion_coefficient_derivative ( double &  E,
std::vector< double > &  dE 
) const
inlinevirtual

Member function to compute the derivatives of the expansion coefficient (Isotropic properties) with respect to the solution.

The derivative is computed with respect to the variables that you have indicted using the member function set_derivative_flags(std::vector< std::string > &flags).

virtual void FuelCellShop::Material::MaterialPlateBase::get_poissons_modulus_derivative ( double &  ,
std::vector< double > &   
) const
inlinevirtual

Member function to compute the derivatives of the Poisson's ratio (Isotropic properties) with respect to the solution.

The derivative is computed with respect to the variables that you have indicted using the member function set_derivative_flags(std::vector< std::string > &flags).

virtual double FuelCellShop::Material::MaterialPlateBase::get_poissons_ratio ( ) const
inlinevirtual

Member function to compute the Poisson's ratio (Isotropic properties).

If the thermal conductivity depends on the solution, then the solution is set in member function set_solution(std::vector< std::vector< double > * >, std::vector< std::string >)

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

Member function to compute the thermal conductivity (Isotropic properties).

If the thermal conductivity depends on the solution, then the solution is set in member function set_solution(std::vector< std::vector< double > * >, std::vector< std::string >)

virtual void FuelCellShop::Material::MaterialPlateBase::get_thermal_conductivity_derivative ( double &  ,
std::vector< double > &   
) const
inlinevirtual

Member function to compute the derivatives of the thermal conductivity (Isotropic properties) with respect to the solution.

The derivative is computed with respect to the variables that you have indicted using the member function set_derivative_flags(std::vector< std::string > &flags).

virtual double FuelCellShop::Material::MaterialPlateBase::get_youngs_modulus ( ) const
inlinevirtual

Member function to compute the Young's modulus (Isotropic properties).

If the thermal conductivity depends on the solution, then the solution is set in member function set_solution(std::vector< std::vector< double > * >, std::vector< std::string >)

virtual void FuelCellShop::Material::MaterialPlateBase::get_youngs_modulus_derivative ( double &  ,
std::vector< double > &   
) const
inlinevirtual

Member function to compute the derivatives of the Young's modulus (Isotropic properties) with respect to the solution.

The derivative is computed with respect to the variables that you have indicted using the member function set_derivative_flags(std::vector< std::string > &flags).

void FuelCellShop::Material::MaterialPlateBase::initialize ( ParameterHandler &  param)
inlinevirtual

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::MaterialPlateGraphite.

References FuelCellShop::Material::BaseMaterial::initialize().

Here is the call graph for this function:

void FuelCellShop::Material::MaterialPlateBase::set_parameters ( const std::vector< std::string > &  name_dvar,
const std::vector< double > &  value_dvar,
ParameterHandler &  param 
)
inlinevirtual

Set parameters on the parameter handler object.

(Only for optimization with DAKOTA)

Reimplemented from FuelCellShop::Material::BaseMaterial.

Reimplemented in FuelCellShop::Material::MaterialPlateGraphite.

References FuelCellShop::Material::BaseMaterial::set_parameters().

Here is the call graph for this function:

Member Data Documentation

double FuelCellShop::Material::MaterialPlateBase::electron_conductivity
protected

Variable storing electron conductivity.

std::vector<double> FuelCellShop::Material::MaterialPlateBase::electron_conductivity_derivative
protected

Variable storing electron conductivity derivatives.

double FuelCellShop::Material::MaterialPlateBase::expansion_coefficient
protected

Variable storing expansion coefficient ratio.

std::vector<double> FuelCellShop::Material::MaterialPlateBase::expansion_coefficient_derivative
protected

Variable storing expansion coefficient modulus.

double FuelCellShop::Material::MaterialPlateBase::poissons_ratio
protected

Variable storing Poisson ratio.

std::vector<double> FuelCellShop::Material::MaterialPlateBase::poissons_ratio_derivative
protected

Variable storing Poisson modulus.

double FuelCellShop::Material::MaterialPlateBase::thermal_conductivity
protected

Variable storing thermal conductivity.

std::vector<double> FuelCellShop::Material::MaterialPlateBase::thermal_conductivity_derivative
protected

Variable storing thermal conductivity derivatives.

double FuelCellShop::Material::MaterialPlateBase::youngs_modulus
protected

Variable storing Youngs modulus.

std::vector<double> FuelCellShop::Material::MaterialPlateBase::youngs_modulus_derivative
protected

Variable storing Youngs modulus.


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