OpenFCST: The open-source Fuel Cell Simulation Toolbox
|
This function generates a PEMFC grid including a membrane, gas diffusion, microporous, and catalyst layers. More...
#include <geometries.h>
Public Member Functions | |
PemfcMPL () | |
PROTOTYPE constructor. More... | |
virtual void | generate_grid (Triangulation< dim > &triangulation) |
This function generates a full PEMFC grid including gas diffusion, microporous and catalyst layers. 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_channelLength_c () |
Return the Length of the cathode gas channel. More... | |
double | L_channelHeight_c () |
Return the Height of the cathode gas channel. More... | |
double | L_channelEntrance_c () |
Return the Entrance Length of the cathode gas channel. More... | |
double | L_channelExit_c () |
Return the Exit Length 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 | |
PemfcMPL (const std::string &name) | |
Default constructor. More... | |
Instance Delivery (function) | |
virtual boost::shared_ptr < FuelCellShop::Geometry::GridBase < dim > > | create_replica (const std::string &name) |
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 PemfcMPL< 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 |
boost::shared_ptr< GridIn< dim > > | grid_in |
GridIn class object of dealii which allows to read various types of mesh formats. More... | |
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_channelLength_c |
Length of the cathode gas channel. More... | |
double | l_channelHeight_c |
Height of the cathode gas channel. More... | |
double | l_channelEntrance_c |
Entrance length of the cathode gas channel. More... | |
double | l_channelExit_c |
Exit Length 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_Channel |
Number of cells wide cathode channel. 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_Inlet_bid |
Boundary id cathode channel inlet. More... | |
unsigned int | c_Ch_Outlet_bid |
Boundary id cathode channel outlet. More... | |
unsigned int | c_Ch_base_bid |
Boundary id cathode channel entrance/exit base. More... | |
unsigned int | c_Ch_roof_bid |
Boundary id cathode channel entrance/exit roof. 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... | |
unsigned int | a_Ch_Inlet_bid |
Boundary id cathode channel inlet. More... | |
unsigned int | a_Ch_Outlet_bid |
Boundary id cathode channel outlet. More... | |
unsigned int | a_Ch_base_bid |
Boundary id cathode channel entrance/exit base. More... | |
unsigned int | a_Ch_roof_bid |
Boundary id cathode channel entrance/exit roof. 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 a membrane, gas diffusion, microporous, and catalyst layers.
The grid contains all material IDs and boundary IDs and default values are shown below in the generate_grid() function.
If you would like to create a cathode, an anode or an MEA without an MPL, simply set the thickness of the layers you do not want to use to zero. The program will automatically remove that domain from the computational mesh.
Material ID:
Anode GDL 8
Boundary ID:
Symmetric 0
Schematic | | | | | | | |
BID 2 | 8 | |||||
---|---|---|---|---|---|---|
GDL | MPL | CL | Mem | CL | MPL | GDL |
MID| 2 | 3 | 4 | 5 | 6 | 7 | 8 | | | | | | | | | BID1 9 10 4 5 11 12 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 refinements parameter
|
inline |
PROTOTYPE constructor.
References FuelCellShop::Geometry::PemfcMPL< 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 a full PEMFC grid including gas diffusion, microporous and catalyst layers.
The grid contains all material IDs and boundary IDs and default values are shown below Material ID:
Anode GDL 8
Boundary ID:
Symmetric 0
Schematic: | | | | | | | |
BID 2 | 8 | |||||
---|---|---|---|---|---|---|
GDL | MPL | CL | Mem | CL | MPL | GDL |
MID | 2 | 3 | 4 | 5 | 6 | 7 | 8 | | | | | | | | | BID 1 9 10 4 5 11 12 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 refinements parameter
Reimplemented from FuelCellShop::Geometry::GridBase< dim >.
|
static |
Referenced by FuelCellShop::Geometry::PemfcMPL< dim >::PemfcMPL().
|
staticprotected |
Create prototype for the layer.