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 (const std::string &name)
 Default constructor. More...
 
 Agglomerate ()
 PROTOTYPE constructor. More...
 
virtual void generate_grid (Triangulation< dim > &triangulation)
 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. More...
 
void reset_material_ids (Triangulation< dim > &triangulation) const
 
- 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 &param, 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

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 &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. More...
 

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. More...
 
static boost::shared_ptr
< FuelCellShop::Geometry::GridBase
< dim > > 
create_GridGenerator (ParameterHandler &param)
 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 _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. 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< dimcenter
 Centre point of the circular/spherical domain. More...
 

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 ( const std::string &  name)
inline

Default constructor.

template<int dim>
FuelCellShop::Geometry::Agglomerate< dim >::Agglomerate ( )
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 ( const std::string &  name)
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)
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: