OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SGL_24_BC.h
Go to the documentation of this file.
1 //---------------------------------------------------------------------------
2 //
3 // FCST: Fuel Cell Simulation Toolbox
4 //
5 // Copyright (C) 2012, 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: SGL_24_BC.h
11 // - Description: Header file for a specific type of microporous layer, i.e. SIGRACET 24 BC
12 // - Developers: Madhur Bhaiya
13 // - Id: $Id: SGL_24_BC.h 2605 2014-08-15 03:36:44Z secanell $
14 //
15 //---------------------------------------------------------------------------
16 
17 #ifndef _FUELCELLSHOP__SGL_24_BC_H
18 #define _FUELCELLSHOP__SGL_24_BC_H
19 
20 // FCST classes
23 
24 // Include deal.II classes
25 #include <deal.II/base/parameter_handler.h>
26 #include <deal.II/base/point.h>
27 #include <deal.II/base/function.h>
28 #include <deal.II/lac/vector.h>
29 #include <deal.II/fe/fe_values.h>
30 
31 //Include STL
32 #include<cmath>
33 #include<iostream>
34 
35 using namespace dealii;
36 
37 namespace FuelCellShop
38 {
39  namespace Layer
40  {
49  template <int dim>
50  class SGL24BC :
51  public MicroPorousLayer<dim>
52  {
53  public:
69  static const std::string concrete_name;
70 
72 
73 
76  SGL24BC();
77 
85  SGL24BC(std::string name);
86 
89  {}
90 
99  void declare_parameters (ParameterHandler &param) const
100  {
101  declare_parameters(this->name, param);
102  };
103 
104  void initialize (ParameterHandler &param)
107 
109 
110 
113  void effective_gas_diffusivity(Table<2, Tensor<2,dim> >&prop_eff) const;
117  void effective_electron_conductivity(Tensor<2,dim>&) const;
121  void effective_thermal_conductivity(Tensor<2,dim>&) const;
123 
124  private:
126 
127 
135  void declare_parameters (std::string name, ParameterHandler &param) const
137 
139 
140 
145  virtual boost::shared_ptr<FuelCellShop::Layer::MicroPorousLayer<dim> > create_replica (const std::string &name)
146  {
147  return boost::shared_ptr<FuelCellShop::Layer::MicroPorousLayer<dim> > (new FuelCellShop::Layer::SGL24BC<dim> (name));
148  }
150 
152 
155  static SGL24BC<dim> const* PROTOTYPE;
157 
159 
160 
161  Tensor<2, dim> porosity_over_tortuosity;
169  Tensor<2, dim> electron_conductivity;
177  Tensor<2, dim> thermal_conductivity;
185 
186  };
187 
188  }
189 }
190 
191 #endif
double porosity_over_tortuosity_Y
Effective porosity over tortuosity used for gas diffusivity in Y direction.
Definition: SGL_24_BC.h:165
void initialize(ParameterHandler &param)
Declare parameters for a parameter file.
Tensor< 2, dim > porosity_over_tortuosity
Tensor of effective porosity over tortuosity used for gas diffusivity.
Definition: SGL_24_BC.h:161
static SGL24BC< dim > const * PROTOTYPE
Create prototype for the layer.
Definition: SGL_24_BC.h:155
double porosity_over_tortuosity_Z
Effective porosity over tortuosity used for gas diffusivity in Z direction.
Definition: SGL_24_BC.h:167
Tensor< 2, dim > electron_conductivity
Tensor storing the effective electronic conductivity.
Definition: SGL_24_BC.h:169
virtual boost::shared_ptr< FuelCellShop::Layer::MicroPorousLayer< dim > > create_replica(const std::string &name)
This member function is used to create an object of type micro porous layer.
Definition: SGL_24_BC.h:145
double porosity_over_tortuosity_X
Effective porosity over tortuosity used for gas diffusivity in X direction.
Definition: SGL_24_BC.h:163
void declare_parameters(const std::string &name, ParameterHandler &param) const
Declare parameters for a parameter file.
void declare_parameters(std::string name, ParameterHandler &param) const
Declare parameters for a parameter file.
Definition: SGL_24_BC.h:135
Virtual class used to provide the interface for all MicroPorousLayer children.
Definition: micro_porous_layer.h:102
~SGL24BC()
Destructor.
Definition: SGL_24_BC.h:88
double electron_conductivity_Z
Effective electronic conductivity in Z direction.
Definition: SGL_24_BC.h:175
This class defines a SGL-24-BC MPL, for which effective transport properties are constant.
Definition: SGL_24_BC.h:50
double thermal_conductivity_Y
Effective thermal conductivity (W/m-K) in Y direction.
Definition: SGL_24_BC.h:181
double electron_conductivity_Y
Effective electronic conductivity in Y direction.
Definition: SGL_24_BC.h:173
double electron_conductivity_X
Effective electronic conductivity in X direction.
Definition: SGL_24_BC.h:171
static const std::string concrete_name
Concrete name used for objects of this class.
Definition: SGL_24_BC.h:69
void initialize(ParameterHandler &param)
Declare parameters for a parameter file.
Definition: SGL_24_BC.h:104
void declare_parameters(ParameterHandler &param) const
Declare parameters for a parameter file.
Definition: SGL_24_BC.h:99
double thermal_conductivity_X
Effective thermal conductivity (W/m-K) in X direction.
Definition: SGL_24_BC.h:179
Tensor< 2, dim > thermal_conductivity
Effective thermal conductivity (W/m-K) in X direction.
Definition: SGL_24_BC.h:177
double thermal_conductivity_Z
Effective thermal conductivity (W/m-K) in Z direction.
Definition: SGL_24_BC.h:183