OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
app_ohmic.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: app_ohmic.cc
11 // - Description:
12 // - Developers: M. Sabharwal, M. Secanell
13 //
14 //---------------------------------------------------------------------------
15 
16 #ifndef _FUELCELL__APP_OHMIC__H
17 #define _FUELCELL__APP_OHMIC__H
18 
19 //-- OpenFCST
22 #include <materials/PureGas.h>
23 #include <materials/GasMixture.h>
26 
27 // Use namespace of deal.II
28 using namespace dealii;
29 
30 namespace FuelCell
31 {
32 
33  namespace Application
34  {
35  //---------------------------------------------------------------------------
36  //---------------------------------------------------------------------------
37  //---------------------------------------------------------------------------
80  template<int dim>
82  {
83  public:
84 
86 
87 
91  AppOhmic( boost::shared_ptr< FuelCell::ApplicationCore::ApplicationData > data =
92  boost::shared_ptr< FuelCell::ApplicationCore::ApplicationData >() );
93 
97  ~AppOhmic();
98 
102  virtual void declare_parameters(ParameterHandler& param);
103 
107  virtual void initialize(ParameterHandler& param);
108 
112  virtual void initialize_solution (FEVector& initial_guess,
113  std::shared_ptr<Function<dim> > initial_function = std::shared_ptr<Function<dim> >());
114 
116 
118 
119 
123  virtual void cell_matrix(MatrixVector& cell_matrices,
124  const typename DoFApplication<dim>::CellInfo& cell_info);
125 
129  virtual void cell_residual(FuelCell::ApplicationCore::FEVector& cell_res,
130  const typename DoFApplication<dim>::CellInfo& cell_info);
131 
133 
135 
136 
140  virtual void dirichlet_bc(std::map<unsigned int, double>& boundary_values) const;
141 
145  virtual double evaluate (const FuelCell::ApplicationCore::FEVectors& src);
146 
150  virtual void data_out(const std::string& filename,
151  const FEVectors& src);
152 
154 
156 
157 
161  virtual void bdry_responses(std::vector<double>& dst,
165 
166  protected:
168 
169 
184 
186 
187 
191 
193 
195 
197 
199 
200 
203  boost::shared_ptr< FuelCellShop::Layer::GasDiffusionLayer<dim> > CGDL;
204 
206 
208 
209 
215 
223  private:
229  };
230 
231  } // Application
232 
233 } // FuelCell
234 
235 #endif
Class used to store, read from file and define the operating conditions for a fuel cell...
Definition: operating_conditions.h:118
This class deals with Electron Transport Equation.
Definition: electron_transport_equation.h:128
FuelCell::OperatingConditions OC
Operating conditions.
Definition: app_ohmic.h:190
FuelCellShop::Material::Nitrogen nitrogen
Definition: app_ohmic.h:194
This class is created for the objects handed to the mesh loops.
Definition: mesh_loop_info_objects.h:544
This class describes properties of pure oxygen.
Definition: PureGas.h:974
std::vector< MatrixBlock< FullMatrix< double > > > MatrixVector
The matrix vector used in the mesh loops.
Definition: matrix_block.h:102
The application can be used to simulate a electron transport through a porous media.
Definition: app_ohmic.h:81
This class describes properties of pure nitrogen.
Definition: PureGas.h:1027
FuelCellShop::Equation::ElectronTransportEquation< dim > electron_transport_equation
This object describes the equations that we are going to solve here.
Definition: app_ohmic.h:214
BlockVector< double > FEVector
The vector class used by applications.
Definition: application_data.h:46
The data type used in function calls of Application.
Definition: fe_vectors.h:59
Application handling matrices and assembling the linear system to solve the sensitivity equations...
Definition: optimization_block_matrix_application.h:49
boost::shared_ptr< FuelCellShop::Layer::GasDiffusionLayer< dim > > CGDL
Cathode GDL.
Definition: app_ohmic.h:203
FuelCellShop::Material::Oxygen oxygen
Definition: app_ohmic.h:192