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 deal.II classes
21 #include <base/parameter_handler.h>
22 #include <base/point.h>
23 #include <base/function.h>
24 #include <lac/vector.h>
25 #include <fe/fe_values.h>
26 
27 //Include STL
28 #include <cmath>
29 #include <iostream>
30 
31 // Include OpenFCST routines:
34 #include "utils/fcst_utilities.h"
35 #include "utils/fcst_constants.h"
36 #include "PSD_base.h"
37 
38 using namespace dealii;
39 
40 namespace FuelCellShop
41 {
42 
43 
44  namespace MicroScale
45  {
55  template <int dim>
56  class NonePSD
57  :
58  public BasePSD<dim>
59  {
60  public:
62 
63 
66  NonePSD();
67 
71  NonePSD (std::string name);
72 
76  ~NonePSD() {}
77 
91  static const std::string concrete_name;
92 
94 
96 
97 
103  virtual inline void get_saturation(std::vector<double>& S) const {}
104 
111  virtual inline void get_global_saturated_permeability(double& saturated_permeability) const {}
112 
119  virtual inline void get_relative_liquid_permeability(std::vector<double>& liquid_permeability) const {}
120 
127  virtual inline void get_relative_gas_permeability(std::vector<double>& gas_permeability) const {}
128 
135  virtual inline void get_liquid_gas_interfacial_surface(std::vector<double>& HI_liquid_gas_interfacial_surface) const {}
136 
143  virtual inline void get_wetted_wall_surface_area(std::vector<double>& wetted_wall_surface_area) const {}
144 
145 
152  virtual inline void get_knudsen_radius(std::vector<double>& knudsen_radius) const {}
153 
159  virtual inline void get_diffusivity() const {}
161 
162  protected:
163 
165 
166 
169  virtual boost::shared_ptr<FuelCellShop::MicroScale::BasePSD <dim>> create_replica (const std::string &psd_section_name)
170  {
171  return boost::shared_ptr<FuelCellShop::MicroScale::BasePSD <dim>> (new FuelCellShop::MicroScale::NonePSD<dim> (psd_section_name));
172  }
174 
176 
179  static NonePSD<dim> const* PROTOTYPE;
181  };
182 
183  } // PSD
184 
185 } // FuelCellShop
186 
187 #endif
static const std::string concrete_name
Concrete name used for objects of this class.
Definition: PSD_none.h:91
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:135
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:169
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:152
virtual void get_diffusivity() const
This function is used to compute the diffusivity by using PSD.
Definition: PSD_none.h:159
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:143
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:127
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:119
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:111
virtual void get_saturation(std::vector< double > &S) const
This function is used to compute the saturation by using PSD.
Definition: PSD_none.h:103
This is a class for the layer does not contain PSD information.
Definition: PSD_none.h:56
Pore Size Distribution.
Definition: PSD_base.h:130
static NonePSD< dim > const * PROTOTYPE
PROTOTYPE is the pointer is the dynamic pointer pointing to the NonePSD class itself.
Definition: PSD_none.h:179
~NonePSD()
Destructor.
Definition: PSD_none.h:76