| 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. | |
| 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) | |
|  Public Member Functions inherited from FuelCellShop::Geometry::GridBase< dim > | |
| unsigned int | get_material_id (ParameterHandler ¶m, const std::string material) const | 
| Return material id. | |
| virtual unsigned int | get_material_id (const std::string) 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 | 
| Protected Member Functions | |
| Pemfc () | |
| 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 Pemfc< 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 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.2
 1.8.2