OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PSD_none.h
Go to the documentation of this file.
1 //---------------------------------------------------------------------------
2 //
3 // FCST: Fuel Cell Simulation Toolbox
4 //
5 // Copyright (C) 2013 by Energy Systems Design Laboratory, University of Alberta
6 //
7 // This software is distributed under the MIT License.
8 // For more information, see the README file in /doc/LICENSE
9 //
10 // - Class: PSD_base.h
11 // - Description: Base class for pore size distribution model.
12 // - Developers: 2009-13 by Marc Secanell, University of Alberta
13 // 2013-14 by Jie Zhou, University of Alberta
14 // - $ $
15 //
16 //---------------------------------------------------------------------------
17 #ifndef _FUELCELLSHOP__NONE__PSD_H
18 #define _FUELCELLSHOP__NONE__PSD_H
19 
20 // Include OpenFCST routines:
21 #include <microscale/PSD_base.h>
22 
23 using namespace dealii;
24 
25 namespace FuelCellShop
26 {
27 
28 
29  namespace MicroScale
30  {
40  template <int dim>
41  class NonePSD
42  :
43  public BasePSD<dim>
44  {
45  public:
47 
48 
51  NonePSD();
52 
56  NonePSD (std::string name);
57 
61  ~NonePSD() {}
62 
76  static const std::string concrete_name;
77 
79 
81 
82 
95  const std::type_info& get_base_type() const
96  {
97  return typeid(NonePSD<dim>);
98  }
99 
106  virtual inline void get_saturation(std::vector<double>& S) const {}
107  virtual inline void get_derivative_saturation(std::vector<double>& S) const {}
114  virtual inline void get_global_saturated_permeability(double& saturated_permeability) const {}
115 
122  virtual inline void get_relative_liquid_permeability(std::vector<double>& liquid_permeability) const {}
123  virtual inline void get_derivative_relative_liquid_permeability(std::vector<double>& liquid_permeability) const {}
130  virtual inline void get_relative_gas_permeability(std::vector<double>& gas_permeability) const {}
131 
138  virtual inline void get_liquid_gas_interfacial_surface(std::vector<double>& HI_liquid_gas_interfacial_surface) const {}
139 
146  virtual inline void get_derivative_liquid_gas_interfacial_surface(std::vector<double>& ) const {}
147 
154  virtual inline void get_wetted_wall_surface_area(std::vector<double>& wetted_wall_surface_area) const {}
155 
156 
163  virtual inline void get_knudsen_radius(std::vector<double>& knudsen_radius) const {}
164 
170  virtual inline void get_diffusivity() const {}
171  virtual inline void get_PSD_plot() const {}
173 
174  protected:
175 
177 
178 
181  virtual boost::shared_ptr<FuelCellShop::MicroScale::BasePSD <dim>> create_replica (const std::string &psd_section_name)
182  {
183  return boost::shared_ptr<FuelCellShop::MicroScale::BasePSD <dim>> (new FuelCellShop::MicroScale::NonePSD<dim> (psd_section_name));
184  }
186 
188 
191  static NonePSD<dim> const* PROTOTYPE;
193  };
194 
195  } // PSD
196 
197 } // FuelCellShop
198 
199 #endif
static const std::string concrete_name
Concrete name used for objects of this class.
Definition: PSD_none.h:76
virtual void get_liquid_gas_interfacial_surface(std::vector< double > &HI_liquid_gas_interfacial_surface) const
This function is used to compute the liquid_gas_interfacial_surface by using PSD. ...
Definition: PSD_none.h:138
virtual void get_derivative_saturation(std::vector< double > &S) const
Definition: PSD_none.h:107
virtual boost::shared_ptr< FuelCellShop::MicroScale::BasePSD< dim > > create_replica(const std::string &psd_section_name)
This member function is used to create an object of type psd.
Definition: PSD_none.h:181
virtual void get_PSD_plot() const
Definition: PSD_none.h:171
virtual void get_knudsen_radius(std::vector< double > &knudsen_radius) const
This function is used to compute the knudsen_radius by using PSD.
Definition: PSD_none.h:163
const std::type_info & get_base_type() const
This member function returns a type_info object with the name of the base layer type the inherited cl...
Definition: PSD_none.h:95
virtual void get_diffusivity() const
This function is used to compute the diffusivity by using PSD.
Definition: PSD_none.h:170
virtual void get_wetted_wall_surface_area(std::vector< double > &wetted_wall_surface_area) const
This function is used to compute the pore_wetted_wall by using PSD.
Definition: PSD_none.h:154
virtual void get_relative_gas_permeability(std::vector< double > &gas_permeability) const
This function is used to compute the gas_permeability by using PSD.
Definition: PSD_none.h:130
virtual void get_relative_liquid_permeability(std::vector< double > &liquid_permeability) const
This function is used to compute the liquid_permeability by using PSD.
Definition: PSD_none.h:122
virtual void get_derivative_relative_liquid_permeability(std::vector< double > &liquid_permeability) const
This function is used to compute the liquid_permeability by using PSD.
Definition: PSD_none.h:123
virtual void get_global_saturated_permeability(double &saturated_permeability) const
This function is used to compute the saturated_permeability by using PSD.
Definition: PSD_none.h:114
virtual void get_saturation(std::vector< double > &S) const
This function is used to compute the saturation by using PSD.
Definition: PSD_none.h:106
virtual void get_derivative_liquid_gas_interfacial_surface(std::vector< double > &) const
This function is used to compute the liquid_gas_interfacial_surface by using PSD. ...
Definition: PSD_none.h:146
This is a class for the layer does not contain PSD information.
Definition: PSD_none.h:41
Pore Size Distribution.
Definition: PSD_base.h:129
static NonePSD< dim > const * PROTOTYPE
PROTOTYPE is the pointer is the dynamic pointer pointing to the NonePSD class itself.
Definition: PSD_none.h:191
~NonePSD()
Destructor.
Definition: PSD_none.h:61