18 #ifndef _FCST_APPLICATION_APP_CATHODE_H_
19 #define _FCST_APPLICATION_APP_CATHODE_H_
43 using namespace dealii;
44 using namespace FuelCell::ApplicationCore;
150 AppCathode( boost::shared_ptr< FuelCell::ApplicationCore::ApplicationData > data =
151 boost::shared_ptr< FuelCell::ApplicationCore::ApplicationData >() );
161 virtual void declare_parameters(ParameterHandler& param);
166 virtual void initialize(ParameterHandler& param);
173 virtual void initialize_solution (
FEVector& initial_guess,
174 std::shared_ptr<Function<dim> > initial_function = std::shared_ptr<Function<dim> >());
201 virtual void dirichlet_bc(std::map<unsigned int, double>& boundary_values)
const;
211 virtual void data_out(
const std::string& filename,
222 virtual void cell_responses(std::vector<double>& dst,
228 void global_responses(std::vector<double>& resp,
239 boost::shared_ptr< FuelCellShop::Geometry::GridBase<dim> >
grid;
267 boost::shared_ptr< FuelCellShop::Layer::GasDiffusionLayer<dim> >
CGDL;
272 boost::shared_ptr< FuelCellShop::Layer::MicroPorousLayer<dim> >
CMPL;
277 boost::shared_ptr< FuelCellShop::Layer::CatalystLayer<dim> >
CCL;
329 virtual void cell_responses_aux(std::vector<double>& dst,
340 param.enter_subsection(
"System management");
342 param.set(
"Number of solution variables",
"3");
343 param.enter_subsection(
"Solution variables");
345 param.set(
"Solution variable 1",
"oxygen_molar_fraction");
346 param.set(
"Solution variable 2",
"protonic_electrical_potential");
347 param.set(
"Solution variable 3",
"electronic_electrical_potential");
349 param.leave_subsection();
351 param.enter_subsection(
"Equations");
353 param.set(
"Equation 1",
"Ficks Transport Equation - oxygen");
354 param.set(
"Equation 2",
"Proton Transport Equation");
355 param.set(
"Equation 3",
"Electron Transport Equation");
357 param.leave_subsection();
359 param.leave_subsection();
360 param.enter_subsection(
"Discretization");
362 param.set(
"Element",
"FESystem[FE_Q(1)^3]");
364 param.leave_subsection();
Class used to store, read from file and define the operating conditions for a fuel cell...
Definition: operating_conditions.h:118
FuelCellShop::Equation::ReactionSourceTerms< dim > reaction_source_terms
The reaction source terms for all underlying equations.
Definition: app_cathode.h:314
FuelCellShop::Equation::FicksTransportEquation< dim > ficks_transport_equation_cathode
Definition: app_cathode.h:293
This class deals with Proton Transport Equation.
Definition: proton_transport_equation.h:132
Class used to calculate the current density at the anode catalyst layer.
Definition: response_current_density.h:180
boost::shared_ptr< FuelCellShop::Layer::GasDiffusionLayer< dim > > CGDL
Cathode GDL.
Definition: app_cathode.h:267
This class deals with Electron Transport Equation.
Definition: electron_transport_equation.h:128
FuelCellShop::PostProcessing::ORRCurrentDensityResponse< dim > ORRCurrent
Definition: app_cathode.h:319
FuelCell::OperatingConditions OC
Operating conditions.
Definition: app_cathode.h:249
FuelCellShop::Equation::FicksTransportEquation< dim > * ficks_transport_equation
This object describes the equations that we are going to solve here.
Definition: app_cathode.h:292
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
FuelCellShop::Equation::ProtonTransportEquation< dim > proton_transport_equation
This object describes the equations that we are going to solve here.
Definition: app_cathode.h:308
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:338
FuelCellShop::Material::Nitrogen solvent
Solvent.
Definition: app_cathode.h:259
This class describes properties of pure nitrogen.
Definition: PureGas.h:1027
boost::shared_ptr< FuelCellShop::Layer::CatalystLayer< dim > > CCL
Cathode CL.
Definition: app_cathode.h:277
FuelCellShop::PostProcessing::HORCurrentDensityResponse< dim > HORCurrent
Definition: app_cathode.h:320
bool anode
Run an anode instead of a cathode:
Definition: app_cathode.h:282
This class assembles the reaction source terms for all other transport equations, if there's any...
Definition: reaction_source_terms.h:37
FuelCellShop::Equation::ElectronTransportEquation< dim > electron_transport_equation
This object describes the equations that we are going to solve here.
Definition: app_cathode.h:301
boost::shared_ptr< FuelCellShop::Layer::MicroPorousLayer< dim > > CMPL
Cathode MPL.
Definition: app_cathode.h:272
This class is used to solve a system of equations similar to the one presented in the journal article...
Definition: app_cathode.h:140
FuelCellShop::Material::Oxygen solute
Solute.
Definition: app_cathode.h:254
boost::shared_ptr< FuelCellShop::Geometry::GridBase< dim > > grid
Grid.
Definition: app_cathode.h:239
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
This class deals with Fick's Transport Equation.
Definition: ficks_transport_equation.h:132
FuelCellShop::Equation::FicksTransportEquation< dim > ficks_transport_equation_anode
Definition: app_cathode.h:294
This class describes properties of pure hydrogen.
Definition: PureGas.h:1081
Class used to calculate the ORR current density and coverages (if provided in the kinetic model) by t...
Definition: response_current_density.h:59
FuelCellShop::Material::Hydrogen solute_anode
Definition: app_cathode.h:255