OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
dummy_MPL.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: Dummy_MPL.h
11 // - Description: Header file for a user defined MPL
12 // - Developers: Marc Secanell
13 //
14 //---------------------------------------------------------------------------
15 
16 #ifndef _FUELCELLSHOP__DUMMY_MPL_H
17 #define _FUELCELLSHOP__DUMMY_MPL_H
18 
19 // FCST classes
21 #include <utils/fcst_units.h>
22 
23 using namespace dealii;
24 
25 namespace FuelCellShop
26 {
27  namespace Layer
28  {
35  template <int dim>
36  class DummyMPL :
37  public MicroPorousLayer<dim>
38  {
39  public:
55  static const std::string concrete_name;
56 
58 
59 
62  DummyMPL();
63 
66  {}
67 
76  void declare_parameters (ParameterHandler &param) const
77  {
78  declare_parameters(this->name, param);
79  };
80 
81  void initialize (ParameterHandler &param);
83 
85 
86 
89  void effective_gas_diffusivity(Table<2, Tensor<2,dim> >&prop_eff) const;
90 
91  void effective_gas_diffusivity(std::vector< Tensor<2,dim> >& prop_eff_vec) const;
92 
93  void derivative_effective_gas_diffusivity(std::map< VariableNames, std::vector< Tensor<2,dim> > >&dprop_eff) const;
97  void effective_electron_conductivity(Tensor<2,dim>&) const;
101  void effective_thermal_conductivity(Tensor<2,dim>&) const;
103 
104  private:
112  DummyMPL(std::string name);
114 
115 
123  void declare_parameters (std::string name, ParameterHandler &param) const;
124 
126 
127 
132  virtual boost::shared_ptr<FuelCellShop::Layer::MicroPorousLayer<dim> > create_replica (const std::string &name)
133  {
134  return boost::shared_ptr<FuelCellShop::Layer::MicroPorousLayer<dim> > (new FuelCellShop::Layer::DummyMPL<dim> (name));
135  }
137 
139 
142  static DummyMPL<dim> const* PROTOTYPE;
144 
146 
147 
149 
150  };
151 
152  }
153 }
154 
155 #endif
This class defines an MPL with all effective properties given via input file.
Definition: dummy_MPL.h:36
static DummyMPL< dim > const * PROTOTYPE
Create prototype for the layer.
Definition: dummy_MPL.h:142
VariableNames
The enumeration containing the names of some of the available FCST solution variables and their deriv...
Definition: system_management.h:63
void declare_parameters(ParameterHandler &param) const
Declare parameters for a parameter file.
Definition: dummy_MPL.h:76
Virtual class used to provide the interface for all MicroPorousLayer children.
Definition: micro_porous_layer.h:102
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: dummy_MPL.h:132
static const std::string concrete_name
Concrete name used for objects of this class.
Definition: dummy_MPL.h:55
~DummyMPL()
Destructor.
Definition: dummy_MPL.h:65