OpenFCST: The open-source Fuel Cell Simulation Toolbox
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
fcst
include
equations
lambda_transport_equation.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: lambda_transport_equation.h
11
// - Description: Equation class for Lambda Transport (using Springer Model)
12
// - Developers: Madhur Bhaiya
13
// - Id: $Id: lambda_transport_equation.h 1465 2013-08-30 22:42:25Z madhur $
14
//
15
//---------------------------------------------------------------------------
16
17
#ifndef _FCST_FUELCELLSHOP_EQUATION_LAMBDA_TRANSPORT_EQUATION_H_
18
#define _FCST_FUELCELLSHOP_EQUATION_LAMBDA_TRANSPORT_EQUATION_H_
19
20
// FCST includes
21
#include "
utils/fcst_constants.h
"
22
#include "
utils/fcst_utilities.h
"
23
24
#include "
equations/equation_base.h
"
25
26
#include "
layers/catalyst_layer.h
"
27
#include "
layers/membrane_layer.h
"
28
29
// STD
30
#include <sstream>
31
#include <string>
32
33
namespace
FuelCellShop
34
{
35
namespace
Equation
36
{
126
template
<
int
dim>
127
class
LambdaTransportEquation
:
public
EquationBase
<dim>
128
{
129
public
:
130
132
133
137
LambdaTransportEquation
(
FuelCell::SystemManagement
&
system_management
);
138
142
virtual
~LambdaTransportEquation
();
143
147
virtual
void
declare_parameters
(ParameterHandler& param)
const
;
148
152
virtual
void
initialize
(ParameterHandler& param);
153
155
156
158
161
virtual
void
assemble_cell_matrix
(
AppFrame::MatrixVector
& cell_matrices,
162
const
typename
AppFrame::DoFApplication<dim>::CellInfo
& cell_info,
163
FuelCellShop::Layer::BaseLayer<dim>
*
const
layer);
164
168
virtual
void
assemble_cell_residual
(
AppFrame::FEVector
& cell_rhs,
169
const
typename
AppFrame::DoFApplication<dim>::CellInfo
& cell_info,
170
FuelCellShop::Layer::BaseLayer<dim>
*
const
layer);
171
176
virtual
void
assemble_bdry_matrix
(
AppFrame::MatrixVector
& bdry_matrices,
177
const
typename
AppFrame::DoFApplication<dim>::FaceInfo
& bdry_info,
178
FuelCellShop::Layer::BaseLayer<dim>
*
const
layer){};
179
184
virtual
void
assemble_bdry_residual
(
AppFrame::FEVector
& bdry_rhs,
185
const
typename
AppFrame::DoFApplication<dim>::FaceInfo
& bdry_info,
186
FuelCellShop::Layer::BaseLayer<dim>
*
const
layer){};
187
189
191
192
196
virtual
void
print_equation_info
()
const
;
197
199
200
protected
:
201
203
204
209
virtual
void
make_assemblers_generic_constant_data
();
210
219
virtual
void
make_assemblers_cell_constant_data
(
const
typename
AppFrame::DoFApplication<dim>::CellInfo
& cell_info);
220
231
virtual
void
make_assemblers_bdry_constant_data
(
const
typename
AppFrame::DoFApplication<dim>::FaceInfo
& bdry_info){};
232
237
virtual
void
make_assemblers_cell_variable_data
(
const
typename
AppFrame::DoFApplication<dim>::CellInfo
& cell_info,
238
FuelCellShop::Layer::BaseLayer<dim>
*
const
layer);
239
246
virtual
void
make_assemblers_bdry_variable_data
(
const
typename
AppFrame::DoFApplication<dim>::FaceInfo
& bdry_info,
247
FuelCellShop::Layer::BaseLayer<dim>
*
const
layer){};
248
250
252
253
258
virtual
void
make_internal_cell_couplings
();
259
266
virtual
void
make_boundary_types
(){};
267
274
virtual
void
make_output_types
()
275
{};
276
278
280
281
287
const
std::string
name_base_variable
;
288
292
VariableInfo
phi_m
;
293
297
VariableInfo
lambda
;
298
302
VariableInfo
t_rev
;
303
307
double
F
;
308
310
312
313
317
double
rho_dry_cell
;
318
322
double
EW_cell
;
323
327
std::vector<double>
nDrag_cell
;
328
333
std::vector<double>
dnDrag_dlambda_cell
;
334
339
std::vector<double>
sigmaMeff_cell
;
340
346
std::vector<double>
dsigmaMeff_dT_cell
;
347
353
std::vector<double>
dsigmaMeff_dlambda_cell
;
354
359
std::vector<double>
Dlambdaeff_cell
;
360
366
std::vector<double>
dDlambdaeff_dT_cell
;
367
373
std::vector<double>
dDlambdaeff_dlambda_cell
;
374
379
std::vector< Tensor<1,dim> >
grad_phiM_cell_old
;
380
385
std::vector< Tensor<1,dim> >
grad_T_cell_old
;
386
394
std::vector< std::vector<double> >
phi_lambda_cell
;
395
403
std::vector< std::vector< Tensor<1,dim> > >
grad_phi_lambda_cell
;
404
412
std::vector< std::vector< Tensor<1,dim> > >
grad_phi_T_cell
;
413
421
std::vector< std::vector< Tensor<1,dim> > >
grad_phi_phiM_cell
;
422
424
429
bool
cell_residual_counter
;
430
435
unsigned
int
last_iter_cell
;
436
437
};
438
}
// Equation
439
}
// FuelCellShop
440
441
#endif
Generated on Fri Aug 30 2013 17:15:54 for OpenFCST: The open-source Fuel Cell Simulation Toolbox by
1.8.2