18 #ifndef _FCST_APPLICATION_APP_CATHODE_H_
19 #define _FCST_APPLICATION_APP_CATHODE_H_
21 #include "boost/shared_ptr.hpp"
50 using namespace dealii;
51 using namespace FuelCell::ApplicationCore;
157 AppCathode( boost::shared_ptr< FuelCell::ApplicationCore::ApplicationData > data =
158 boost::shared_ptr< FuelCell::ApplicationCore::ApplicationData >() );
168 virtual void declare_parameters(ParameterHandler& param);
173 virtual void initialize(ParameterHandler& param);
180 virtual void initialize_solution (
FEVector& initial_guess,
181 std::shared_ptr<Function<dim> > initial_function = std::shared_ptr<Function<dim> >());
208 virtual void dirichlet_bc(std::map<unsigned int, double>& boundary_values)
const;
218 virtual void data_out(
const std::string& filename,
229 virtual void cell_responses(std::vector<double>& dst,
235 void global_responses(std::vector<double>& resp,
246 boost::shared_ptr< FuelCellShop::Geometry::GridBase<dim> >
grid;
275 boost::shared_ptr< FuelCellShop::Layer::GasDiffusionLayer<dim> >
CGDL;
280 boost::shared_ptr< FuelCellShop::Layer::MicroPorousLayer<dim> >
CMPL;
285 boost::shared_ptr< FuelCellShop::Layer::CatalystLayer<dim> >
CCL;
327 virtual void cell_responses_aux(std::vector<double>& dst,
338 param.enter_subsection(
"System management");
340 param.set(
"Number of solution variables",
"3");
341 param.enter_subsection(
"Solution variables");
343 param.set(
"Solution variable 1",
"oxygen_molar_fraction");
344 param.set(
"Solution variable 2",
"protonic_electrical_potential");
345 param.set(
"Solution variable 3",
"electronic_electrical_potential");
347 param.leave_subsection();
349 param.enter_subsection(
"Equations");
351 param.set(
"Equation 1",
"Ficks Transport Equation - oxygen");
352 param.set(
"Equation 2",
"Proton Transport Equation");
353 param.set(
"Equation 3",
"Electron Transport Equation");
355 param.leave_subsection();
357 param.leave_subsection();
358 param.enter_subsection(
"Discretization");
360 param.set(
"Element",
"FESystem[FE_Q(1)^3]");
362 param.leave_subsection();
Class used to store, read from file and define the operating conditions for a fuel cell...
Definition: operating_conditions.h:110
FuelCellShop::Equation::ReactionSourceTerms< dim > reaction_source_terms
The reaction source terms for all underlying equations.
Definition: app_cathode.h:315
This class deals with Proton Transport Equation.
Definition: proton_transport_equation.h:138
boost::shared_ptr< FuelCellShop::Layer::GasDiffusionLayer< dim > > CGDL
Cathode GDL.
Definition: app_cathode.h:275
This class deals with Electron Transport Equation.
Definition: electron_transport_equation.h:130
FuelCellShop::PostProcessing::ORRCurrentDensityResponse< dim > ORRCurrent
Definition: app_cathode.h:320
FuelCell::OperatingConditions OC
Operating conditions.
Definition: app_cathode.h:256
This class deals with Ficks Transport Equation.
Definition: new_ficks_transport_equation.h:132
This class is created for the objects handed to the mesh loops.
Definition: mesh_loop_info_objects.h:625
This class describes properties of pure oxygen.
Definition: PureGas.h:980
FuelCellShop::Equation::ProtonTransportEquation< dim > proton_transport_equation
This object describes the equations that we are going to solve here.
Definition: app_cathode.h:309
std::vector< MatrixBlock< FullMatrix< double > > > MatrixVector
The matrix vector used in the mesh loops.
Definition: matrix_block.h:102
void set_default_parameters_for_application(ParameterHandler ¶m)
Function to modify the default values of the data file in order to make sure that the equations match...
Definition: app_cathode.h:336
FuelCellShop::Material::Nitrogen solvent
Solvent.
Definition: app_cathode.h:266
This class describes properties of pure nitrogen.
Definition: PureGas.h:1039
boost::shared_ptr< FuelCellShop::Layer::CatalystLayer< dim > > CCL
Cathode CL.
Definition: app_cathode.h:285
This class assembles the reaction source terms for all other transport equations, if there's any...
Definition: reaction_source_terms.h:60
FuelCellShop::Equation::NewFicksTransportEquation< dim > ficks_transport_equation
This object describes the equations that we are going to solve here.
Definition: app_cathode.h:295
FuelCellShop::Equation::ElectronTransportEquation< dim > electron_transport_equation
This object describes the equations that we are going to solve here.
Definition: app_cathode.h:302
boost::shared_ptr< FuelCellShop::Layer::MicroPorousLayer< dim > > CMPL
Cathode MPL.
Definition: app_cathode.h:280
This class is used to solve a system of equations similar to the one presented in the journal article...
Definition: app_cathode.h:147
FuelCellShop::Material::Oxygen solute
Solute.
Definition: app_cathode.h:261
boost::shared_ptr< FuelCellShop::Geometry::GridBase< dim > > grid
Grid.
Definition: app_cathode.h:246
BlockVector< double > FEVector
The vector class used by applications.
Definition: application_data.h:39
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:62
Class used to calculate the ORR current density and coverages (if provided in the kinetic model) by t...
Definition: response_current_density.h:74