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::MicroScale::BasePSD< dim > Class Template Referenceabstract

Pore Size Distribution. More...

#include <PSD_base.h>

Inheritance diagram for FuelCellShop::MicroScale::BasePSD< dim >:
Inheritance graph
[legend]
Collaboration diagram for FuelCellShop::MicroScale::BasePSD< dim >:
Collaboration graph
[legend]

Public Member Functions

Destructor
virtual ~BasePSD ()
 Destructor. More...
 
Initalization
virtual const std::type_info & get_base_type () const
 This member function return the name of the type of layer, i.e. More...
 
void set_porosity (double porosity)
 
double get_porosity () const
 
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...
 
virtual void set_constant_solution (const double &value, const VariableNames &name)
 Set those solution variables which are constant in the particular application. More...
 
virtual void set_solution (const std::vector< SolutionVariable > &)
 If the effective properties in the psd depend on the solution, the solution for a given cell should be passed to the class using this member function. More...
 
virtual void set_temperature (const SolutionVariable &T_in)
 Member function used to set the temperature [Kelvin] at every quadrature point inside the cell. More...
 
virtual void set_capillary_pressure (const SolutionVariable &C_in)
 Member function used to set the capillary pressure [psi] at every quadrature point inside the cell. More...
 
virtual void set_critical_radius ()
 Member function used to set the critical radius [nm] at every quadrature point inside the cell. More...
 
virtual void get_PSD_plot ()
 This function is used to create PSD configuration plot by outputing all the numbers. More...
 
virtual void set_saturation ()
 Member function used to set the saturation at every quadrature point inside the cell. More...
 
virtual void initialize (ParameterHandler &param)
 Member function used to set the saturation at every quadrature point inside the cell. More...
 
Accessors and info
const std::string & name_psd () const
 Return the name of the PSD. More...
 
virtual void print_psd_properties () const
 This function prints out the psd properties. More...
 
virtual void get_saturation (std::vector< double > &) const =0
 This function is used to compute the saturation by using PSD, the saturation is represented by $ \frac {V_water} { V_total} \quad $. More...
 
virtual void get_derivative_saturation (std::vector< double > &) const =0
 
virtual void get_global_saturated_permeability (double &) const =0
 This function is used to compute the saturated_permeability by using PSD. More...
 
virtual void get_relative_liquid_permeability (std::vector< double > &) const =0
 This function is used to compute the liquid_permeability by using PSD. More...
 
virtual void get_derivative_relative_liquid_permeability (std::vector< double > &) const =0
 This function is used to compute the liquid_permeability by using PSD. More...
 
virtual void get_relative_gas_permeability (std::vector< double > &) const =0
 This function is used to compute the gas_permeability by using PSD. More...
 
virtual void get_liquid_gas_interfacial_surface (std::vector< double > &) const =0
 This function is used to compute the liquid_gas_interfacial_surface by using PSD. More...
 
virtual void get_derivative_liquid_gas_interfacial_surface (std::vector< double > &) const =0
 This function is used to compute the liquid_gas_interfacial_surface by using PSD. More...
 
virtual void get_wetted_wall_surface_area (std::vector< double > &) const =0
 This function is used to compute the pore_wetted_wall by using PSD. More...
 
virtual void get_knudsen_radius (std::vector< double > &) const =0
 This function is used to compute the knudsen_radius by using PSD. More...
 

Static Public Member Functions

Instance Delivery (Functions)
static void declare_PSD_parameters (ParameterHandler &param)
 Function used to declare all the data necessary in the parameter files for all BasePSD children. More...
 
static boost::shared_ptr
< FuelCellShop::MicroScale::BasePSD
< dim > > 
create_PSD (const std::string &psd_section_name, ParameterHandler &param)
 Function used to select the appropriate CatalystLayer type as specified in the ParameterHandler under line. More...
 

Protected Types

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

Protected Member Functions

Constructors, destructor, and parameter initalization
 BasePSD ()
 Constructor. More...
 
 BasePSD (const std::string &name)
 Constructor. More...
 
virtual void declare_parameters (ParameterHandler &param) const
 Declare parameters for a parameter file. More...
 
void _initialize (ParameterHandler &param)
 Member function used to read in data and initialize the necessary data to compute the coefficients. More...
 
Instance Delivery (Private functions)
virtual boost::shared_ptr
< FuelCellShop::MicroScale::BasePSD
< dim > > 
create_replica (const std::string &name)
 This member function is used to create an object of type gas diffusion layer. More...
 

Static Protected Member Functions

Instance Delivery (Function)
static _mapFactoryget_mapFactory ()
 Return the map library that stores all childrens of this class. More...
 

Protected Attributes

Internal variables
const std::string name
 Name of the psd. More...
 
std::vector< VariableNamesderivative_flags
 Flags for derivatives: These flags are used to request derivatives of material properties. More...
 
std::map< VariableNames, double > constant_solutions
 Map storing values of solution variables constant in a particular application. More...
 
double gamma
 The gamma is the Water-air interface surface tension. More...
 
double contact_angle
 The contact_angle is the contact angle between air and water. More...
 
double lamda
 The lamda is measured from the mercury intrusion experiment. More...
 
double F_HI
 The F_HI is the fraction of the total volume corresponding to the hydrophilic pores. More...
 
double F_HO
 The F_HO is the fraction of the total volume corresponding to the hydrophobic pores. More...
 
std::vector< double > f_k
 The f_k is the contribution of the log-normal distribution k to the total PSD. More...
 
std::vector< double > r_k
 The r_k is the characteristic pore size of the distribution k. More...
 
std::vector< double > s_k
 The s_k is the spread of the distribution k. More...
 
double por
 The por is the porosity inherited from the layer class. More...
 

Detailed Description

template<int dim>
class FuelCellShop::MicroScale::BasePSD< dim >

Pore Size Distribution.

Based on the results of the mecury intrusion experiment, this class calculates effective transport properties such as relative liquid permeability, permeability and knudsen radius, using a bundle of capilaries analogy as described in reference [1].

Note
This class is a virtual class, i.e. you should not create an object of this class. This class only implements the declare_parameters and initialization of data sections for the children. All other functions are virtual, i.e. this class only declares the interface for all child classes. Therefore, the PSD children classes need to reimplemented all the functions declared here.

Input parameters

The input parameter section declared in the PSD base class is shown below.

An exampe of a PSD section is provided below:

* subsection PSD parameters
* subsection BasePSD
* set psd type = HIPSD
* set Gamma = 0.24
* set lamda = 1.0
* set probability P_b = 1
* set Contact angle = 90
* set Volume fraction Hydrophilic = 0.5
* set Volume fraction Hydrophobic
* set Mode probability global = 0.72, 0.28
* set Mode characteristic radius global = 34.0, 14.2
* set Mode width global = 0.35, 1.0
* end
* end
*

Usage details

To create a PSD object in the layer class, you need to call the static function declare_PSD_parameters first to declare all the parameters in its children classes. Then using create_PSD with the concrete_name to generate the shared pointer which you can use. The PSD_type is the concrete_name for the particular PSD you want to create.

* //--------- IN DECLARE_PARAMETERS ------------------------------------------------------
* template <int dim>
* void
* NAME::GasDiffusionLayer<dim>::declare_parameters(ParameterHandler& param)
* {
* (...)
* // Declare section on the input file where all info will be stored.
* (...)
* }
*
* //--------- IN INITIALIZE ------------------------------------------------------
* template <int dim>
* void
* NAME::GasDiffusionLayer<dim>::_initialize(ParameterHandler& param)
* {
* param.enter_subsection("PSD parameters");
* param.enter_subsection("BasePSD");
* PSD_type = param.get("psd type");
* param.leave_subsection();
* param.leave_subsection();
*
*
* (...)
* }
*

References

[1] Pedro Abdiel Mateo Villanueva, A MIXED WETTABILITY PORE SIZE DISTRIBUTION MODEL FOR THE ANALYSIS OF WATER TRANSPORT IN PEMFC MATERIALS, M. Sc. thesis, University of Alberta, 2013

Author
J. Zhou

Marc Secanell

Date
2014

Member Typedef Documentation

template<int dim>
typedef std::map< std::string, BasePSD<dim>* > FuelCellShop::MicroScale::BasePSD< dim >::_mapFactory
protected

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

Constructor & Destructor Documentation

template<int dim>
virtual FuelCellShop::MicroScale::BasePSD< dim >::~BasePSD ( )
inlinevirtual

Destructor.

template<int dim>
FuelCellShop::MicroScale::BasePSD< dim >::BasePSD ( )
inlineprotected

Constructor.

Warning
For internal use only.

Constructor used only to create a prototype. Do not use in general since this will not include the name of the section in the parameter file you need.

template<int dim>
FuelCellShop::MicroScale::BasePSD< dim >::BasePSD ( const std::string &  name)
protected

Constructor.

Member Function Documentation

template<int dim>
void FuelCellShop::MicroScale::BasePSD< dim >::_initialize ( ParameterHandler &  param)
protected

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

template<int dim>
static boost::shared_ptr<FuelCellShop::MicroScale::BasePSD<dim> > FuelCellShop::MicroScale::BasePSD< dim >::create_PSD ( const std::string &  psd_section_name,
ParameterHandler &  param 
)
inlinestatic

Function used to select the appropriate CatalystLayer type as specified in the ParameterHandler under line.

* set psd type = PSD_HI
*

current options are [ PSD_HI | PSD_HO | PSD_dual | NonePSD ]

The class will read the appropriate section in the parameter file, i.e. the one with name

Parameters
psd_section_name,createan object of the desired type and return it.

References FuelCellShop::MicroScale::BasePSD< dim >::create_replica(), FuelCellShop::MicroScale::BasePSD< dim >::get_mapFactory(), and FcstUtilities::log.

Here is the call graph for this function:

template<int dim>
virtual boost::shared_ptr<FuelCellShop::MicroScale::BasePSD<dim> > FuelCellShop::MicroScale::BasePSD< dim >::create_replica ( const std::string &  name)
inlineprotectedvirtual

This member function is used to create an object of type gas diffusion layer.

Warning
This class MUST be redeclared in every child.

Reimplemented in FuelCellShop::MicroScale::HOPSD< dim >, FuelCellShop::MicroScale::HIPSD< dim >, FuelCellShop::MicroScale::DualPSD< dim >, and FuelCellShop::MicroScale::NonePSD< dim >.

Referenced by FuelCellShop::MicroScale::BasePSD< dim >::create_PSD().

Here is the caller graph for this function:

template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::declare_parameters ( ParameterHandler &  param) const
protectedvirtual

Declare parameters for a parameter file.

Note
This member function must be called in all children using FuelCellShop::MicroScale::BasePSD<dim>::declare_PSD_parameters(param).

Reimplemented in FuelCellShop::MicroScale::HOPSD< dim >, FuelCellShop::MicroScale::DualPSD< dim >, and FuelCellShop::MicroScale::HIPSD< dim >.

template<int dim>
static void FuelCellShop::MicroScale::BasePSD< dim >::declare_PSD_parameters ( ParameterHandler &  param)
inlinestatic

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

This member function should be used instead of declare_parameters() when we want to use a BasePSD pointer that selects the type of Psd to run at runtime.

Parameters
psd_section_nameName of the section that will encapuslate all the information about the PSD
paramParameterHandler object used to store all information about the simulation. Used to read the parameter file.

The parameter file would look as follows:

subsection psd_section_name set psd type = PSD_dual # Options: PSD_HI | PSD_HO | PSD_dual | NonePSD

References FuelCellShop::MicroScale::BasePSD< dim >::get_mapFactory().

Here is the call graph for this function:

template<int dim>
virtual const std::type_info& FuelCellShop::MicroScale::BasePSD< dim >::get_base_type ( ) const
inlinevirtual

This member function return the name of the type of layer, i.e.

HIPSD HOPSD DualPSD sss

Note that this is necessary if we want to find out not the name of the actual class which can be obtain using

const std::type_info& name = typeid(*this)

but the name of the parent class.

Note
Do not implement this class anywhere other than the following "base" classes: HIPSD HOPSD DualPSD

Reimplemented in FuelCellShop::MicroScale::DualPSD< dim >, FuelCellShop::MicroScale::HOPSD< dim >, FuelCellShop::MicroScale::HIPSD< dim >, and FuelCellShop::MicroScale::NonePSD< dim >.

References FcstUtilities::log.

template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::get_derivative_liquid_gas_interfacial_surface ( std::vector< double > &  ) const
pure virtual

This function is used to compute the liquid_gas_interfacial_surface by using PSD.

Warning
This function is a virtual function and it must be reimplemented in the child class

Implemented in FuelCellShop::MicroScale::HOPSD< dim >, FuelCellShop::MicroScale::HIPSD< dim >, FuelCellShop::MicroScale::DualPSD< dim >, and FuelCellShop::MicroScale::NonePSD< dim >.

template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::get_derivative_relative_liquid_permeability ( std::vector< double > &  ) const
pure virtual

This function is used to compute the liquid_permeability by using PSD.

Warning
This function is a virtual function and it must be reimplemented in the child class

Implemented in FuelCellShop::MicroScale::HOPSD< dim >, FuelCellShop::MicroScale::HIPSD< dim >, FuelCellShop::MicroScale::DualPSD< dim >, and FuelCellShop::MicroScale::NonePSD< dim >.

template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::get_derivative_saturation ( std::vector< double > &  ) const
pure virtual
template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::get_global_saturated_permeability ( double &  ) const
pure virtual

This function is used to compute the saturated_permeability by using PSD.

Warning
This function is a virtual function and it must be reimplemented in the child class

Implemented in FuelCellShop::MicroScale::DualPSD< dim >, FuelCellShop::MicroScale::HOPSD< dim >, FuelCellShop::MicroScale::HIPSD< dim >, and FuelCellShop::MicroScale::NonePSD< dim >.

template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::get_knudsen_radius ( std::vector< double > &  ) const
pure virtual

This function is used to compute the knudsen_radius by using PSD.

Warning
This function is a virtual function and it must be reimplemented in the child class

Implemented in FuelCellShop::MicroScale::HOPSD< dim >, FuelCellShop::MicroScale::HIPSD< dim >, FuelCellShop::MicroScale::DualPSD< dim >, and FuelCellShop::MicroScale::NonePSD< dim >.

template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::get_liquid_gas_interfacial_surface ( std::vector< double > &  ) const
pure virtual

This function is used to compute the liquid_gas_interfacial_surface by using PSD.

Warning
This function is a virtual function and it must be reimplemented in the child class

Implemented in FuelCellShop::MicroScale::HOPSD< dim >, FuelCellShop::MicroScale::HIPSD< dim >, FuelCellShop::MicroScale::DualPSD< dim >, and FuelCellShop::MicroScale::NonePSD< dim >.

template<int dim>
static _mapFactory* FuelCellShop::MicroScale::BasePSD< dim >::get_mapFactory ( )
inlinestaticprotected

Return the map library that stores all childrens of this class.

The declare_parameters of each one of the children that are in the map are called in declare_all_psd.

Warning
In order for children of this class to appear in the map the following four things are necessary
  • a static PROTOTYPE object has to be created. For example, in the .h file:
    * static PSD_dual<dim> const* PROTOTYPE;
    *
    in the .cc file:
    * template <int dim>
    * NAME::PSD_dual<dim> const* NAME::PSD_dual<dim>::PROTOTYPE = new NAME::PSD_dual<dim>();
    *
  • a default constructor which creates the PROTOTYPE is needed, e.g.
    * template <int dim>
    * NAME::PSD_dual<dim>::PSD_dual()
    * : FuelCellShop::psd::BasePSD<dim> ()
    * {
    * deallog<<" Register PSD_dual to FactoryMap"<<std::endl;
    * this->get_mapFactory()->insert(std::pair<std::string, FuelCellShop::psd::BasePSD<dim>* >(concrete_name, this));
    * }
    *
  • a static std::string concrete_name must be declared and initialized to the desired name of the children class. This name is used as the name in the map and as the name of the subsection where its parameters are declared. For example, in the .h file:
    * static const std::string concrete_name;
    *
    in the .cc file:
    * template <int dim>
    * const std::string NAME::PSD_dual<dim>::concrete_name ("PSD_dual");
    *
  • virtual boost::shared_ptr<FuelCellShop::psd::BasePSD<dim> > create_replica () needs to be re-implemented in the child. For example, in the .h file
    * virtual boost::shared_ptr<FuelCellShop::psd::BasePSD<dim> > create_replica (std::string &name)
    * {
    * return boost::shared_ptr<FuelCellShop::psd::PSD_dual<dim> > (new FuelCellShop::psd::PSD_dual<dim> (name));
    * }
    *

Referenced by FuelCellShop::MicroScale::BasePSD< dim >::create_PSD(), and FuelCellShop::MicroScale::BasePSD< dim >::declare_PSD_parameters().

Here is the caller graph for this function:

template<int dim>
double FuelCellShop::MicroScale::BasePSD< dim >::get_porosity ( ) const
inline
  • por is the porosity for the given layer that contains this PSD
template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::get_PSD_plot ( )
inlinevirtual

This function is used to create PSD configuration plot by outputing all the numbers.

template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::get_relative_gas_permeability ( std::vector< double > &  ) const
pure virtual

This function is used to compute the gas_permeability by using PSD.

Warning
This function is a virtual function and it must be reimplemented in the child class

Implemented in FuelCellShop::MicroScale::HOPSD< dim >, FuelCellShop::MicroScale::HIPSD< dim >, FuelCellShop::MicroScale::DualPSD< dim >, and FuelCellShop::MicroScale::NonePSD< dim >.

template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::get_relative_liquid_permeability ( std::vector< double > &  ) const
pure virtual

This function is used to compute the liquid_permeability by using PSD.

Warning
This function is a virtual function and it must be reimplemented in the child class

Implemented in FuelCellShop::MicroScale::HOPSD< dim >, FuelCellShop::MicroScale::HIPSD< dim >, FuelCellShop::MicroScale::DualPSD< dim >, and FuelCellShop::MicroScale::NonePSD< dim >.

template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::get_saturation ( std::vector< double > &  ) const
pure virtual

This function is used to compute the saturation by using PSD, the saturation is represented by $ \frac {V_water} { V_total} \quad $.

The saturation of a porous medium can be obtained by integrating the change of cumulative pore volume fraction as a function of effective pore radius over the whole pore size domain The saturation is represented by $ \frac {V_w} { V_t} \quad $

Warning
This function is a virtual function and it must be reimplemented in the child class

Implemented in FuelCellShop::MicroScale::DualPSD< dim >, FuelCellShop::MicroScale::HOPSD< dim >, FuelCellShop::MicroScale::HIPSD< dim >, and FuelCellShop::MicroScale::NonePSD< dim >.

template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::get_wetted_wall_surface_area ( std::vector< double > &  ) const
pure virtual

This function is used to compute the pore_wetted_wall by using PSD.

Warning
This function is a virtual function and it must be reimplemented in the child class

Implemented in FuelCellShop::MicroScale::HOPSD< dim >, FuelCellShop::MicroScale::HIPSD< dim >, FuelCellShop::MicroScale::DualPSD< dim >, and FuelCellShop::MicroScale::NonePSD< dim >.

template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::initialize ( ParameterHandler &  param)
inlinevirtual

Member function used to set the saturation at every quadrature point inside the cell.

This function should particulary be used in the case of non-isothermal application. It needs to be implemented at each iteration to reduce the computational time.

Reimplemented in FuelCellShop::MicroScale::DualPSD< dim >, FuelCellShop::MicroScale::HIPSD< dim >, and FuelCellShop::MicroScale::HOPSD< dim >.

template<int dim>
const std::string& FuelCellShop::MicroScale::BasePSD< dim >::name_psd ( ) const
inline

Return the name of the PSD.

template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::print_psd_properties ( ) const
inlinevirtual

This function prints out the psd properties.

template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::set_capillary_pressure ( const SolutionVariable C_in)
inlinevirtual

Member function used to set the capillary pressure [psi] at every quadrature point inside the cell.

This function should particulary be used in the case of non-isothermal application.

Reimplemented in FuelCellShop::MicroScale::HOPSD< dim >, FuelCellShop::MicroScale::DualPSD< dim >, and FuelCellShop::MicroScale::HIPSD< dim >.

template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::set_constant_solution ( const double &  value,
const VariableNames name 
)
inlinevirtual

Set those solution variables which are constant in the particular application.

If the effective properties in the psd depend on other variables that are usually part of the solution vector but are assumed to be constant in this simulation, the const solution value should be passed to the class using this member function. This method should be called in the initialization section of the application. This function takes value to be set as the first argument and the VariableNames as second argument. For instance, it's required to store constant temperature value for an isothermal application, in that case this method can be used. e.g., in order to set temperature as 353.0 [Kelvin] in the psd, you can use the following code:

* // In the initialization section of the application.
* psd.set_constant_solution(353.0, VariableNames::temperature_of_REV);
*
template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::set_critical_radius ( )
inlinevirtual

Member function used to set the critical radius [nm] at every quadrature point inside the cell.

This function should particulary be used in the case of non-isothermal application. It needs to be implemented at each iteration to reduce the computational time.

Reimplemented in FuelCellShop::MicroScale::HOPSD< dim >, FuelCellShop::MicroScale::HIPSD< dim >, and FuelCellShop::MicroScale::DualPSD< dim >.

template<int dim>
void FuelCellShop::MicroScale::BasePSD< dim >::set_derivative_flags ( const std::vector< VariableNames > &  flags)
inline

Set the names of FCST solution variables with respect to which you would like to compute the derivatives of material properties.

template<int dim>
void FuelCellShop::MicroScale::BasePSD< dim >::set_porosity ( double  porosity)
inline
  • por is the porosity for the given layer that contains this PSD
template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::set_saturation ( )
inlinevirtual

Member function used to set the saturation at every quadrature point inside the cell.

This function should particulary be used in the case of non-isothermal application. It needs to be implemented at each iteration to reduce the computational time.

Reimplemented in FuelCellShop::MicroScale::HOPSD< dim >, FuelCellShop::MicroScale::HIPSD< dim >, and FuelCellShop::MicroScale::DualPSD< dim >.

template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::set_solution ( const std::vector< SolutionVariable > &  )
inlinevirtual

If the effective properties in the psd depend on the solution, the solution for a given cell should be passed to the class using this member function.

It is used to set SolutionVariable structure inside the psd. This structure stores the solution variable values at all quadrature points in the cell. For sample usage details, please see documentation of FuelCellShop::SolutionVariable structure.

Note, this function in the base psd sets the interface. It has to be reimplemented in respective child psd classes for respective uses.

Note
Use only for solution variables.
template<int dim>
virtual void FuelCellShop::MicroScale::BasePSD< dim >::set_temperature ( const SolutionVariable T_in)
inlinevirtual

Member function used to set the temperature [Kelvin] at every quadrature point inside the cell.

This function should particulary be used in the case of non-isothermal application.

Reimplemented in FuelCellShop::MicroScale::HOPSD< dim >, FuelCellShop::MicroScale::DualPSD< dim >, and FuelCellShop::MicroScale::HIPSD< dim >.

Member Data Documentation

template<int dim>
std::map< VariableNames, double > FuelCellShop::MicroScale::BasePSD< dim >::constant_solutions
protected

Map storing values of solution variables constant in a particular application.

template<int dim>
double FuelCellShop::MicroScale::BasePSD< dim >::contact_angle
protected

The contact_angle is the contact angle between air and water.

template<int dim>
std::vector<VariableNames> FuelCellShop::MicroScale::BasePSD< dim >::derivative_flags
protected

Flags for derivatives: These flags are used to request derivatives of material properties.

template<int dim>
double FuelCellShop::MicroScale::BasePSD< dim >::F_HI
protected

The F_HI is the fraction of the total volume corresponding to the hydrophilic pores.

template<int dim>
double FuelCellShop::MicroScale::BasePSD< dim >::F_HO
protected

The F_HO is the fraction of the total volume corresponding to the hydrophobic pores.

template<int dim>
std::vector<double> FuelCellShop::MicroScale::BasePSD< dim >::f_k
protected

The f_k is the contribution of the log-normal distribution k to the total PSD.

template<int dim>
double FuelCellShop::MicroScale::BasePSD< dim >::gamma
protected

The gamma is the Water-air interface surface tension.

template<int dim>
double FuelCellShop::MicroScale::BasePSD< dim >::lamda
protected

The lamda is measured from the mercury intrusion experiment.

template<int dim>
const std::string FuelCellShop::MicroScale::BasePSD< dim >::name
protected

Name of the psd.

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

template<int dim>
double FuelCellShop::MicroScale::BasePSD< dim >::por
protected

The por is the porosity inherited from the layer class.

template<int dim>
std::vector<double> FuelCellShop::MicroScale::BasePSD< dim >::r_k
protected

The r_k is the characteristic pore size of the distribution k.

template<int dim>
std::vector<double> FuelCellShop::MicroScale::BasePSD< dim >::s_k
protected

The s_k is the spread of the distribution k.


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