OpenFCST: The open-source Fuel Cell Simulation Toolbox
|
This function generates a grid for a cathode including gas diffusion and catalyst layers. More...
#include <geometries.h>
Public Member Functions | |
Cathode (const bool create_replica) | |
PROTOTYPE constructor. | |
virtual void | generate_grid (Triangulation< dim > &triangulation) const |
This function generates the cathode side of the PEMFC grid including gas diffusion and catalyst layers. | |
virtual unsigned int | get_material_id (const std::string) const |
Return material id. | |
Public Member Functions inherited from FuelCellShop::Geometry::GridBase< dim > | |
unsigned int | get_material_id (ParameterHandler ¶m, const std::string material) const |
Return material id. | |
unsigned int | get_boundary_id (ParameterHandler ¶m, const std::string boundary) const |
Return boundary id. | |
unsigned int | get_boundary_id (const std::string) const |
Return boundary id. | |
void | output_grid (const Triangulation< dim > &triangulation, const std::string filename) const |
Output the grid. | |
void | refine_area (Triangulation< dim > &triangulation, const unsigned int material_id) |
Refine a certain part of the grid depending on material_ID given. | |
std::string | get_mesh_type () |
Return the type of mesh that is being used. | |
double | L_channel_c () |
Return the Width of the cathode gas channel. | |
double | L_land_c () |
Return the Width of the cathode current collector. | |
double | L_gdl_c () |
Return the Thickness of the cathode gas diffusion layer. | |
double | L_cat_c () |
Return the thickness of the cathode catalyst layer. | |
double | L_mpl_c () |
Return the Thickness of the cathode microporous layer. | |
double | L_mem () |
Return the Thickness of the membrane. | |
double | L_cat_a () |
Return the Thickness of the anode catalyst layer. | |
double | L_mpl_a () |
Return the Thickness of the anode microporous layer. | |
double | L_gdl_a () |
Return the Thickness of the anode gas diffusion layer. | |
double | L_channel_a () |
Return the Width of the anode gas channel. | |
double | L_land_a () |
Return the Width of the anode current collector. | |
Static Public Attributes | |
static const std::string | concrete_name |
Concrete name of object. | |
Protected Member Functions | |
Cathode () | |
Default constructor. | |
Instance Delivery (function) | |
virtual boost::shared_ptr < FuelCellShop::Geometry::GridBase < dim > > | create_replica () |
This member function is used to create an object of type micro porous layer. | |
Protected Member Functions inherited from FuelCellShop::Geometry::GridBase< dim > | |
GridBase () | |
Constructor. | |
virtual | ~GridBase () |
Destructor. | |
void | initialize (ParameterHandler ¶m) |
void | print_material_id_and_boundary_id (const Triangulation< dim > &triangulation) const |
Static Protected Attributes | |
Instance Delivery (Data member) | |
static Cathode< dim > const * | PROTOTYPE |
Create prototype for the layer. | |
Additional Inherited Members | |
Static Public Member Functions inherited from FuelCellShop::Geometry::GridBase< dim > | |
static void | declare_GridGenerator_parameters (ParameterHandler ¶m) |
Function used to declare all the data necessary in the parameter files for all GridBase children. | |
static void | set_GridGenerator_parameters (const std::vector< std::string > &name_dvar, const std::vector< double > &value_dvar, ParameterHandler ¶m) |
Used for optimization. | |
static boost::shared_ptr < FuelCellShop::Geometry::GridBase < dim > > | create_GridGenerator (ParameterHandler ¶m) |
Public Attributes inherited from FuelCellShop::Geometry::GridBase< dim > | |
bool | read_from_file |
Protected Types inherited from FuelCellShop::Geometry::GridBase< dim > | |
typedef std::map< std::string, GridBase< dim > * > | _mapFactory |
This object is used to store all objects of type GasDiffusionLayer. | |
Static Protected Member Functions inherited from FuelCellShop::Geometry::GridBase< dim > | |
static _mapFactory * | get_mapFactory () |
Protected Attributes inherited from FuelCellShop::Geometry::GridBase< dim > | |
std::string | mesh_type_name |
Specify if you would like to load a mesh from file or if you would like a module from the mesh generator Options: File | Cathode | Anode | CathodeMPL | Pemfc | PemfcMPL. | |
std::string | mesh_name |
Name of the mesh file. | |
std::string | mesh_type |
Specify if it is a UNV file, MSH file, etc. | |
unsigned int | num_refine |
Initial number of refinements. | |
double | l_channel_c |
Width of the cathode gas channel. | |
double | l_land_c |
Width of the cathode current collector. | |
double | l_gdl_c |
Thickness of the cathode gas diffusion layer. | |
double | l_mpl_c |
Thickness of the cathode microporous layer. | |
double | l_cat_c |
Thickness of the cathode catalyst layer. | |
double | l_mem |
Thickness of the membrane. | |
double | l_cat_a |
Thickness of the anode catalyst layer. | |
double | l_mpl_a |
Thickness of the anode microporous layer. | |
double | l_gdl_a |
Thickness of the anode gas diffusion layer. | |
double | l_channel_a |
Width of the anode gas channel. | |
double | l_land_a |
Width of the anode current collector. | |
unsigned int | num_vert |
Number of cells tall the initial grid. | |
unsigned int | num_c_GDL |
Number of cells wide cathode gas diffusion layer. | |
unsigned int | num_c_MPL |
Number of cells wide cathode microporous layer. | |
unsigned int | num_c_CL |
Number of cells wide cathode catalyst layer. | |
unsigned int | num_membrane |
Number of cells wide membrane layer. | |
unsigned int | num_a_CL |
Number of cells wide anode catalyst layer. | |
unsigned int | num_a_MPL |
Number of cells wide anode microporous layer. | |
unsigned int | num_a_GDL |
Number of cells wide anode gas diffusion layer. | |
unsigned int | test_mid |
Material id for test cell (GridTest app) | |
unsigned int | c_CC_mid |
Material id cathode current collector. | |
unsigned int | c_GC_mid |
Material id cathode gas channel. | |
unsigned int | c_GDL_mid |
Material id cathode GDL. | |
unsigned int | c_MPL_mid |
Material id cathode MPL. | |
unsigned int | c_CL_mid |
Material id cathode catalyst layer. | |
unsigned int | membrane_mid |
Material id membrane. | |
unsigned int | a_CL_mid |
Material id anode catalyst layer. | |
unsigned int | a_MPL_mid |
Material id anode MPL. | |
unsigned int | a_GDL_mid |
Material id anode GDL. | |
unsigned int | a_CC_mid |
Material id anode current collector. | |
unsigned int | a_GC_mid |
Material id anode gas channel. | |
unsigned int | c_Ch_GDL_bid |
Boundary id cathode channel and GDL. | |
unsigned int | c_BPP_GDL_bid |
Boundary id cathode BPP and GDL. | |
unsigned int | c_GDL_CL_bid |
Boundary id cathode GDL and CL. | |
unsigned int | c_CL_Membrane_bid |
Boundary id cathode CL and membrane. | |
unsigned int | c_GDL_MPL_bid |
Boundary id cathode GDL and MPL. | |
unsigned int | c_MPL_CL_bid |
Boundary id cathode MPL and CL. | |
unsigned int | a_Membrane_CL_bid |
Boundary id anode membrane and CL. | |
unsigned int | a_CL_GDL_bid |
Boundary id anode CL and GDL. | |
unsigned int | a_GDL_BPP_bid |
Boundary id anode GDL and BPP. | |
unsigned int | a_GDL_Ch_bid |
Boundary id anode GDL and channel. | |
unsigned int | a_MPL_GDL_bid |
Boundary id anode GDL and MPL. | |
unsigned int | a_CL_MPL_bid |
Boundary id anode MPL and CL. | |
double | r_agg |
Agglomerate radius. | |
double | delta_agg |
Electrolyte thin film thickness. | |
unsigned int | r_agg_mid |
Porous Agglomerate Material ID. | |
unsigned int | delta_agg_mid |
Electrolyte Thin Film Material ID. | |
unsigned int | r_delta_bid |
Boundary ID for agglomerate/thin film boundary. | |
unsigned int | delta_bid |
Boundary ID for thin film external boundary. | |
Point< dim > | center |
Centre point of the circular/spherical domain. | |
This function generates a grid for a cathode including gas diffusion and catalyst layers.
The grid contains all material IDs and boundary IDs and default values are shown below in the generate_grid() function.
|
inline |
PROTOTYPE constructor.
References FuelCellShop::Geometry::Cathode< dim >::concrete_name, and FuelCellShop::Geometry::GridBase< dim >::get_mapFactory().
|
inlineprotected |
Default constructor.
|
inlineprotectedvirtual |
This member function is used to create an object of type micro porous layer.
Reimplemented from FuelCellShop::Geometry::GridBase< dim >.
|
virtual |
This function generates the cathode side of the PEMFC grid including gas diffusion and catalyst layers.
The grid contains all material IDs and boundary IDs and default values are shown below Material ID
Boundary ID
NOTE: IF YOU DON'T WANT TO USE A BOUNDARY SET IT TO 255
Schematic | | |
BID 2 | |
---|---|
GDL | CL |
MID | 2 | 4 | | | | BID 1 3 4 | | | Anode
Lengths
Cells :
Anode CL 1 cell wide
Note: to automatically refine the grid after grid creation set the number of initial refeinements parameter
Reimplemented from FuelCellShop::Geometry::GridBase< dim >.
|
virtual |
Return material id.
Reimplemented from FuelCellShop::Geometry::GridBase< dim >.
|
static |
Concrete name of object.
Referenced by FuelCellShop::Geometry::Cathode< dim >::Cathode().
|
staticprotected |
Create prototype for the layer.