OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SGL_24_BA.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_BA.h
11 // - Description: Header file for a specific type of gas diffusion layer, i.e. SIGRACET 24 BA
12 // - Developers: M. Secanell
13 // - Id: $Id: SGL_24_BA.h 2605 2014-08-15 03:36:44Z secanell $
14 //
15 //---------------------------------------------------------------------------
16 
17 #ifndef _FUELCELLSHOP__SGL_24_BA_H
18 #define _FUELCELLSHOP__SGL_24_BA_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  {
50  template <int dim>
51  class SGL24BA :
52  public GasDiffusionLayer<dim>
53  {
54  public:
55 
71  static const std::string concrete_name;
72 
74 
75 
85  SGL24BA();
86 
94  SGL24BA(const std::string& name);
95 
98  {}
99 
106  void declare_parameters (ParameterHandler &param) const
107  {
108  declare_parameters(this->name, param);
109  }
110 
115  virtual void initialize (ParameterHandler &param);
117 
119 
120 
123  void effective_gas_diffusivity(Table<2, Tensor<2,dim> >&) const;
127  void effective_electron_conductivity(Tensor<2,dim>&) const;
131  void effective_thermal_conductivity(Tensor<2,dim>&) const;
133 
134  private:
136 
137 
145  void declare_parameters (const std::string& name,
146  ParameterHandler &param) const;
148 
150 
155  virtual boost::shared_ptr<FuelCellShop::Layer::GasDiffusionLayer<dim> > create_replica (const std::string &name)
156  {
157  return boost::shared_ptr<FuelCellShop::Layer::GasDiffusionLayer<dim> > (new FuelCellShop::Layer::SGL24BA<dim> (name));
158  }
162  static SGL24BA<dim> const* PROTOTYPE;
164 
166 
167 
168  Tensor<2, dim> porosity_over_tortuosity;
176  Tensor<2, dim> electron_conductivity;
184  Tensor<2, dim> thermal_conductivity;
192  };
193  }
194 }
195 
196 #endif
197 
double thermal_conductivity_Y
Effective thermal conductivity (W/m-K) in Y direction.
Definition: SGL_24_BA.h:188
~SGL24BA()
Destructor.
Definition: SGL_24_BA.h:97
Tensor< 2, dim > porosity_over_tortuosity
Tensor of effective porosity over tortuosity used for gas diffusivity.
Definition: SGL_24_BA.h:168
Virtual class used to provide the interface for all GasDiffusionLayer children.
Definition: gas_diffusion_layer.h:105
double thermal_conductivity_Z
Effective thermal conductivity (W/m-K) in Z direction.
Definition: SGL_24_BA.h:190
double porosity_over_tortuosity_Y
Effective porosity over tortuosity used for gas diffusivity in Y direction.
Definition: SGL_24_BA.h:172
double porosity_over_tortuosity_Z
Effective porosity over tortuosity used for gas diffusivity in Z direction.
Definition: SGL_24_BA.h:174
This class defines a SGL-24-BA GDL, for which effective transport properties are constant.
Definition: SGL_24_BA.h:51
void declare_parameters(ParameterHandler &param) const
Definition: SGL_24_BA.h:106
double electron_conductivity_X
Effective electronic conductivity in X direction.
Definition: SGL_24_BA.h:178
double thermal_conductivity_X
Effective thermal conductivity (W/m-K) in X direction.
Definition: SGL_24_BA.h:186
Tensor< 2, dim > thermal_conductivity
Effective thermal conductivity (W/m-K) in X direction.
Definition: SGL_24_BA.h:184
static const std::string concrete_name
Concrete name used for objects of this class.
Definition: SGL_24_BA.h:71
double electron_conductivity_Z
Effective electronic conductivity in Z direction.
Definition: SGL_24_BA.h:182
double electron_conductivity_Y
Effective electronic conductivity in Y direction.
Definition: SGL_24_BA.h:180
virtual boost::shared_ptr< FuelCellShop::Layer::GasDiffusionLayer< dim > > create_replica(const std::string &name)
This member function is used to create an object of type gas diffusion layer.
Definition: SGL_24_BA.h:155
static SGL24BA< dim > const * PROTOTYPE
Create prototype for the layer.
Definition: SGL_24_BA.h:162
double porosity_over_tortuosity_X
Effective porosity over tortuosity used for gas diffusivity in X direction.
Definition: SGL_24_BA.h:170
Tensor< 2, dim > electron_conductivity
Tensor storing the effective electronic conductivity.
Definition: SGL_24_BA.h:176