OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Attributes | List of all members
FuelCellShop::Geometry::Agglomerate< dim > Class Template Reference

This function generates an agglomerate with a core and a thin film subdomain. More...

#include <geometries.h>

Inheritance diagram for FuelCellShop::Geometry::Agglomerate< dim >:
Inheritance graph
[legend]
Collaboration diagram for FuelCellShop::Geometry::Agglomerate< dim >:
Collaboration graph
[legend]

Public Member Functions

 Agglomerate ()
 Default constructor.
 
 Agglomerate (const bool create_replica)
 PROTOTYPE constructor.
 
virtual void generate_grid (Triangulation< dim > &triangulation) const
 This function generates an agglomerate grid with a core and thin film subdomain The grid contains all material IDs and boundary IDs and default values are shown below.
 
void reset_material_ids (Triangulation< dim > &triangulation) const
 
- Public Member Functions inherited from FuelCellShop::Geometry::GridBase< dim >
unsigned int get_material_id (ParameterHandler &param, 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 &param, 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

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 &param)
 
void print_material_id_and_boundary_id (const Triangulation< dim > &triangulation) const
 

Static Protected Attributes

Instance Delivery (Data member)
static Agglomerate< 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 &param)
 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 &param)
 Used for optimization.
 
static boost::shared_ptr
< FuelCellShop::Geometry::GridBase
< dim > > 
create_GridGenerator (ParameterHandler &param)
 
- 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 _mapFactoryget_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< dimcenter
 Centre point of the circular/spherical domain.
 

Detailed Description

template<int dim>
class FuelCellShop::Geometry::Agglomerate< dim >

This function generates an agglomerate with a core and a thin film subdomain.

The grid contains all material IDs and boundary IDs and default values are shown below in the generate_grid() function.

Constructor & Destructor Documentation

template<int dim>
FuelCellShop::Geometry::Agglomerate< dim >::Agglomerate ( )
inline

Default constructor.

template<int dim>
FuelCellShop::Geometry::Agglomerate< dim >::Agglomerate ( const bool  create_replica)
inline

PROTOTYPE constructor.

Warning
For internal use only. Use create_GridGenerator instead.

References FuelCellShop::Geometry::Agglomerate< dim >::concrete_name, and FuelCellShop::Geometry::GridBase< dim >::get_mapFactory().

Here is the call graph for this function:

Member Function Documentation

template<int dim>
virtual boost::shared_ptr<FuelCellShop::Geometry::GridBase<dim> > FuelCellShop::Geometry::Agglomerate< dim >::create_replica ( )
inlineprotectedvirtual

This member function is used to create an object of type micro porous layer.

Warning
This class MUST be redeclared in every child.

Reimplemented from FuelCellShop::Geometry::GridBase< dim >.

template<int dim>
virtual void FuelCellShop::Geometry::Agglomerate< dim >::generate_grid ( Triangulation< dim > &  triangulation) const
virtual

This function generates an agglomerate grid with a core and thin film subdomain The grid contains all material IDs and boundary IDs and default values are shown below.

Material ID: Agglomerate Core = 1 Thin Film = 2

Reimplemented from FuelCellShop::Geometry::GridBase< dim >.

template<int dim>
void FuelCellShop::Geometry::Agglomerate< dim >::reset_material_ids ( Triangulation< dim > &  triangulation) const

Member Data Documentation

template<int dim>
const std::string FuelCellShop::Geometry::Agglomerate< dim >::concrete_name
static
template<int dim>
Agglomerate<dim> const* FuelCellShop::Geometry::Agglomerate< dim >::PROTOTYPE
staticprotected

Create prototype for the layer.


The documentation for this class was generated from the following file: