|
OpenFCST: The open-source Fuel Cell Simulation Toolbox
|
This function generates a PEMFC grid including gas diffusion and catalyst layers. More...
#include <geometries.h>


Public Member Functions | |
| Pemfc (const bool create_replica) | |
| PROTOTYPE constructor. More... | |
| virtual void | generate_grid (Triangulation< dim > &triangulation) const |
| This function builds a grid for a standard PEMFC with gas diffusion layers (GDL) and catalyst layers (CL) More... | |
Public Member Functions inherited from FuelCellShop::Geometry::GridBase< dim > | |
| void | generate_grid_with_curved_boundaries (Triangulation< dim > &triangulation, const types::boundary_id &bdry_id, boost::shared_ptr< Boundary< dim > > boundary) const |
This function is like the previous one generate_grid() but allows to assign a curved boundary boundary to that with the boundary id bdry_id. More... | |
| std::vector< unsigned int > | get_material_id (const std::string) const |
| Return a vector with all material ids associated with string. More... | |
| unsigned int | get_boundary_id (ParameterHandler ¶m, const std::string boundary) const |
| Return boundary id. More... | |
| unsigned int | get_boundary_id (const std::string) const |
| Return boundary id. More... | |
| void | output_grid (const Triangulation< dim > &triangulation, const std::string filename) const |
| Output the grid. More... | |
| void | refine_area (Triangulation< dim > &triangulation, const unsigned int material_id) |
| Refine a certain part of the grid depending on material_ID given. More... | |
| std::string | get_mesh_type () |
| Return the type of mesh that is being used. More... | |
| double | L_channel_c () |
| Return the Width of the cathode gas channel. More... | |
| double | L_land_c () |
| Return the Width of the cathode current collector. More... | |
| double | L_gdl_c () |
| Return the Thickness of the cathode gas diffusion layer. More... | |
| std::vector< double > | L_cat_c () |
| Return the thickness of the cathode catalyst layer. More... | |
| double | L_mpl_c () |
| Return the Thickness of the cathode microporous layer. More... | |
| double | L_mem () |
| Return the Thickness of the membrane. More... | |
| double | L_cat_a () |
| Return the Thickness of the anode catalyst layer. More... | |
| double | L_mpl_a () |
| Return the Thickness of the anode microporous layer. More... | |
| double | L_gdl_a () |
| Return the Thickness of the anode gas diffusion layer. More... | |
| double | L_channel_a () |
| Return the Width of the anode gas channel. More... | |
| double | L_land_a () |
| Return the Width of the anode current collector. More... | |
Static Public Attributes | |
| static const std::string | concrete_name |
Protected Member Functions | |
| Pemfc () | |
| Default constructor. More... | |
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. More... | |
Protected Member Functions inherited from FuelCellShop::Geometry::GridBase< dim > | |
| GridBase () | |
| Constructor. More... | |
| virtual | ~GridBase () |
| Destructor. More... | |
| void | initialize (ParameterHandler ¶m) |
| void | print_material_id_and_boundary_id (const Triangulation< dim > &triangulation) const |
Static Protected Attributes | |
Instance Delivery (Data member) | |
| static Pemfc< dim > const * | PROTOTYPE |
| Create prototype for the layer. More... | |
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. More... | |
| static boost::shared_ptr < FuelCellShop::Geometry::GridBase < dim > > | create_GridGenerator (ParameterHandler ¶m) |
| Generate the appropriate mesh generator object based on the parameters in the input file. More... | |
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. More... | |
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. More... | |
| std::string | mesh_name |
| Name of the mesh file. More... | |
| std::string | mesh_type |
| Specify if it is a UNV file, MSH file, etc. More... | |
| unsigned int | num_refine |
| Initial number of refinements. More... | |
| double | l_channel_c |
| Width of the cathode gas channel. More... | |
| double | l_land_c |
| Width of the cathode current collector. More... | |
| double | l_gdl_c |
| Thickness of the cathode gas diffusion layer. More... | |
| double | l_mpl_c |
| Thickness of the cathode microporous layer. More... | |
| std::vector< double > | l_cat_c |
| Thickness of the cathode catalyst layer. More... | |
| double | l_mem |
| Thickness of the membrane. More... | |
| double | l_cat_a |
| Thickness of the anode catalyst layer. More... | |
| double | l_mpl_a |
| Thickness of the anode microporous layer. More... | |
| double | l_gdl_a |
| Thickness of the anode gas diffusion layer. More... | |
| double | l_channel_a |
| Width of the anode gas channel. More... | |
| double | l_land_a |
| Width of the anode current collector. More... | |
| double | l_cube |
| Cube edge for HyperCube mesh. More... | |
| unsigned int | num_vert |
| Number of cells tall the initial grid. More... | |
| unsigned int | num_c_GDL |
| Number of cells wide cathode gas diffusion layer. More... | |
| unsigned int | num_c_MPL |
| Number of cells wide cathode microporous layer. More... | |
| unsigned int | num_c_CL |
| Number of cells wide cathode catalyst layer. More... | |
| unsigned int | num_membrane |
| Number of cells wide membrane layer. More... | |
| unsigned int | num_a_CL |
| Number of cells wide anode catalyst layer. More... | |
| unsigned int | num_a_MPL |
| Number of cells wide anode microporous layer. More... | |
| unsigned int | num_a_GDL |
| Number of cells wide anode gas diffusion layer. More... | |
| unsigned int | test_mid |
| Material id for test cell (GridTest app) More... | |
| unsigned int | c_CC_mid |
| Material id cathode current collector. More... | |
| unsigned int | c_GC_mid |
| Material id cathode gas channel. More... | |
| unsigned int | c_GDL_mid |
| Material id cathode GDL. More... | |
| unsigned int | c_MPL_mid |
| Material id cathode MPL. More... | |
| std::vector< unsigned int > | c_CL_mid |
| Material id cathode catalyst layer. More... | |
| unsigned int | membrane_mid |
| Material id membrane. More... | |
| unsigned int | a_CL_mid |
| Material id anode catalyst layer. More... | |
| unsigned int | a_MPL_mid |
| Material id anode MPL. More... | |
| unsigned int | a_GDL_mid |
| Material id anode GDL. More... | |
| unsigned int | a_CC_mid |
| Material id anode current collector. More... | |
| unsigned int | a_GC_mid |
| Material id anode gas channel. More... | |
| unsigned int | c_Ch_GDL_bid |
| Boundary id cathode channel and GDL. More... | |
| unsigned int | c_BPP_GDL_bid |
| Boundary id cathode BPP and GDL. More... | |
| unsigned int | c_GDL_CL_bid |
| Boundary id cathode GDL and CL. More... | |
| unsigned int | c_CL_Membrane_bid |
| Boundary id cathode CL and membrane. More... | |
| unsigned int | c_GDL_MPL_bid |
| Boundary id cathode GDL and MPL. More... | |
| unsigned int | c_MPL_CL_bid |
| Boundary id cathode MPL and CL. More... | |
| unsigned int | a_Membrane_CL_bid |
| Boundary id anode membrane and CL. More... | |
| unsigned int | a_CL_GDL_bid |
| Boundary id anode CL and GDL. More... | |
| unsigned int | a_GDL_BPP_bid |
| Boundary id anode GDL and BPP. More... | |
| unsigned int | a_GDL_Ch_bid |
| Boundary id anode GDL and channel. More... | |
| unsigned int | a_MPL_GDL_bid |
| Boundary id anode GDL and MPL. More... | |
| unsigned int | a_CL_MPL_bid |
| Boundary id anode MPL and CL. More... | |
| double | r_agg |
| Agglomerate radius. More... | |
| double | delta_agg |
| Electrolyte thin film thickness. More... | |
| unsigned int | r_agg_mid |
| Porous Agglomerate Material ID. More... | |
| unsigned int | delta_agg_mid |
| Electrolyte Thin Film Material ID. More... | |
| unsigned int | r_delta_bid |
| Boundary ID for agglomerate/thin film boundary. More... | |
| unsigned int | delta_bid |
| Boundary ID for thin film external boundary. More... | |
| Point< dim > | center |
| Centre point of the circular/spherical domain. More... | |
This function generates a PEMFC grid 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::Pemfc< 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 builds a grid for a standard PEMFC with gas diffusion layers (GDL) and catalyst layers (CL)
Material ID:
Anode GDL 8
Boundary ID:
Symmetric 0
Schematic | | | | | |
| BID 2 | 8 | |||
|---|---|---|---|---|
| GDL | CL | Mem | CL | GDL |
MID | 2 | 4 | 5 | 6 | 8 | | | | | | | BID 1 3 4 5 6 7 | | | | | | Cathode Anode
Lengths:
Bipolar Plate Rib 0.1cm
Cells:
Membrane 4 cells wide
Note: to automatically refine the grid after grid creation set the number of initial refeinements parameter
Reimplemented from FuelCellShop::Geometry::GridBase< dim >.
|
static |
Referenced by FuelCellShop::Geometry::Pemfc< dim >::Pemfc().
|
staticprotected |
Create prototype for the layer.
1.8.5