OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
dummy_GDL.h
Go to the documentation of this file.
1 //---------------------------------------------------------------------------
2 //
3 // FCST: Fuel Cell Simulation Toolbox
4 //
5 // Copyright (C) 2011-13 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: dummy_GDL.h
11 // - Description: Implementation of a GDL class that setup us all properties from file
12 // - Developers: M. Secanell
13 // - $Id: dummy_GDL.h 2605 2014-08-15 03:36:44Z secanell $
14 //
15 //---------------------------------------------------------------------------
16 
17 #ifndef _FUELCELLSHOP__DUMMY_GDL_H
18 #define _FUELCELLSHOP__DUMMY_GDL_H
19 
20 // FCST classes
21 #include <utils/fcst_units.h>
23 
24 using namespace dealii;
25 
26 namespace FuelCellShop
27 {
28  namespace Layer
29  {
36  template <int dim>
37  class DummyGDL :
38  public GasDiffusionLayer<dim>
39  {
40  public:
41 
57  static const std::string concrete_name;
58 
59 
61 
62 
73  DummyGDL();
74 
77  {}
78 
85  void declare_parameters (ParameterHandler &param) const
86  {
87  this->declare_parameters(this->name, param);
88  }
89 
94  virtual void initialize (ParameterHandler &param);
95 
97 
99 
100 
105  virtual void effective_gas_diffusivity(std::vector< Tensor<2,dim> >& prop_eff_vec) const;
106 
115  virtual void effective_gas_diffusivity(Table< 2, double> &) const;
116 
125  virtual void effective_gas_diffusivity(Table< 2, Tensor< 2, dim > > &) const;
126 
130  virtual void derivative_effective_gas_diffusivity(std::map< VariableNames, std::vector< Tensor<2,dim> > >&) const;
131 
135  virtual void effective_electron_conductivity(double& ) const;
139  virtual void effective_electron_conductivity(Tensor<2,dim>& ) const;
143  virtual void effective_thermal_conductivity(std::vector< Tensor<2,dim> >& prop_eff) const;
147  virtual void derivative_effective_thermal_conductivity(std::vector< Tensor<2,dim> >& dK_dT) const;
149  private:
151 
152 
157  DummyGDL(std::string name);
158 
163  virtual void declare_parameters (const std::string& name,
164  ParameterHandler &param) const;
165 
166 
168 
170 
175  virtual boost::shared_ptr<FuelCellShop::Layer::GasDiffusionLayer<dim> > create_replica (const std::string &name)
176  {
177  return boost::shared_ptr<FuelCellShop::Layer::GasDiffusionLayer<dim> > (new FuelCellShop::Layer::DummyGDL<dim> (name));
178  }
180 
182 
185  static DummyGDL<dim> const* PROTOTYPE;
187 
189 
192  std::vector<double> D_D0;
196  double porosity;
198  std::vector<double> D_O2;
200  std::vector<double> D_wv;
202  std::vector<double> sigma_e;
204  std::vector<double> k_T;
206  };
207 
208  }
209 
210 }
211 
212 #endif
static const std::string concrete_name
Concrete name used for objects of this class.
Definition: dummy_GDL.h:57
~DummyGDL()
Destructor.
Definition: dummy_GDL.h:76
Virtual class used to provide the interface for all GasDiffusionLayer children.
Definition: gas_diffusion_layer.h:105
std::vector< double > k_T
Solid network thermal conductivity.
Definition: dummy_GDL.h:204
VariableNames
The enumeration containing the names of some of the available FCST solution variables and their deriv...
Definition: system_management.h:63
This class is used when we want to input the effective properties to the GDL directly, without taking into account the structure of the GDL \ UNDER DEVELOPMENT.
Definition: dummy_GDL.h:37
std::vector< double > sigma_e
Solid network conductivity.
Definition: dummy_GDL.h:202
double porosity
Porosity of the GDL.
Definition: dummy_GDL.h:196
std::vector< double > D_wv
Water vapour diffusion coefficient.
Definition: dummy_GDL.h:200
bool anisotropy
Anisotropy ?
Definition: dummy_GDL.h:194
void declare_parameters(ParameterHandler &param) const
Declare parameters for a parameter file.
Definition: dummy_GDL.h:85
std::vector< double > D_O2
Oxygen diffusion coefficient.
Definition: dummy_GDL.h:198
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: dummy_GDL.h:175
std::string method_eff_property_pores
Method used to compute the effective properties in the pores.
Definition: dummy_GDL.h:190
std::vector< double > D_D0
Diffusibility.
Definition: dummy_GDL.h:192
static DummyGDL< dim > const * PROTOTYPE
Definition: dummy_GDL.h:185