|
OpenFCST: The open-source Fuel Cell Simulation Toolbox
|
Class implementing water pore agglomerate model developed by Ehsan Sadeghi. More...
#include <agglomerate_water_sadeghi.h>


Public Member Functions | |
| virtual SolutionMap | compute_current () |
| Set the composition and structure of the agglomerate. More... | |
| virtual std::string | get_name () |
| Return name of class instance, i.e. More... | |
| virtual double | aux_volume_fraction () |
| MicroScale object may have extra contribution to volume of layer, e.g. More... | |
Public Member Functions inherited from FuelCellShop::MicroScale::AgglomerateBase | |
| virtual | ~AgglomerateBase () |
| virtual void | print_properties () |
| Print out key agglomerate information (name, radius, film thickness, porosity). More... | |
| virtual std::vector< double > | compute_derivative_current () |
| Function to compute the derivative of the current density at the local operating conditions. More... | |
| virtual bool | has_derivatives () |
| Returns true if the class instance can calculate current density derivatives. More... | |
| virtual void | make_thread_safe (ParameterHandler ¶m, unsigned int thread_index) |
| virtual void | set_solution (const std::map< VariableNames, SolutionVariable > &, const VariableNames &, const int &) |
| Function for setting the solution map(reactant concentration, phi_s, phi_m, etc.). More... | |
Public Member Functions inherited from FuelCellShop::MicroScale::MicroScaleBase | |
| virtual | ~MicroScaleBase () |
| Destructor. More... | |
Static Public Attributes | |
| static const std::string | concrete_name |
Protected Member Functions | |
| virtual double | get_film_thickness () |
| virtual double | get_radius () |
| virtual void | set_structure () |
| WaterConicalPoreAgglomerate () | |
| Constructors. More... | |
| WaterConicalPoreAgglomerate (std::string concrete_name) | |
| virtual boost::shared_ptr < FuelCellShop::MicroScale::MicroScaleBase > | create_replica () |
| This member function is used to create an object of MicroScaleBase. More... | |
| virtual void | declare_parameters (ParameterHandler ¶m) const |
| virtual void | initialize (ParameterHandler ¶m) |
Protected Member Functions inherited from FuelCellShop::MicroScale::AgglomerateBase | |
| void | _initialize_film_porosity () |
| AgglomerateBase () | |
Protected Member Functions inherited from FuelCellShop::MicroScale::MicroScaleBase | |
| void | set_layer (FuelCellShop::Layer::MultiScaleCL< deal_II_dimension > *_layer) |
| MicroScaleBase () | |
Protected Member Functions inherited from FuelCellShop::MicroScale::SphericalAgglomerateGeometry | |
| SphericalAgglomerateGeometry () | |
| virtual double | compute_thickness_agg (FuelCellShop::Layer::MultiScaleCL< deal_II_dimension > *layer) |
| Member function to compute the thickness of the agglomerate thin film based on the radius and structure. More... | |
| virtual double | compute_epsilon_agg (FuelCellShop::Layer::MultiScaleCL< deal_II_dimension > *layer) |
Compute the volume fraction of nafion inside the agglomerate given the catalyst layer ionomer volume fraction , ; size of the agglomerate, ; and, porosity inside the agglomerate, , the necessary ionomer thin film thickness is computed such that the correct volume fractions are obtained. More... | |
| virtual double | compute_epsilon_N (const double delta_agg, const double thickness_agg) const |
| Function used to compute the amount of electrolyte in the catalyst layer. More... | |
| virtual double | compute_depsilonN_dthickness (const double thickness_agg) const |
| Function to compute
This function should only be used to calculate the thin film thickness using Newton's method. More... | |
| virtual double | compute_depsilonN_depsilon_agg (FuelCellShop::Layer::MultiScaleCL< deal_II_dimension > *layer) const |
| Function to compute
This function should only be used to calculate the thin film thickness using Newton's method. More... | |
| virtual double | compute_n (FuelCellShop::Layer::MultiScaleCL< deal_II_dimension > *layer) const |
| Member function to compute the number of agglomerates. More... | |
| virtual double | compute_dn_depsilon_agg (FuelCellShop::Layer::MultiScaleCL< deal_II_dimension > *layer) const |
| Compute the derivative of n with respect to the porosity of the agglomerate. More... | |
Protected Attributes | |
| double | T |
Protected Attributes inherited from FuelCellShop::MicroScale::AgglomerateBase | |
| boost::shared_ptr < FuelCellShop::Material::CatalystBase > | catalyst |
| Boost shared pointer to catalyst object. More... | |
| boost::shared_ptr < FuelCellShop::Material::PolymerElectrolyteBase > | electrolyte |
| Boost shared pointer to electrolyte object. More... | |
| boost::shared_ptr < FuelCellShop::Kinetics::BaseKinetics > | kinetics |
| Boost shared pointer to kinetics object. More... | |
| std::map< VariableNames, SolutionVariable > | solutions |
| Member data for storing solutions. More... | |
| std::vector< VariableNames > | sol_names |
| VariableNames | reactant |
| VariableNames | tempReactantName |
| int | sol_index |
| double | permittivity_0 |
| Constants. More... | |
| double | F |
| double | R |
| double | P |
| double | AV |
| double | c_R |
| bool | has_derivatives_ |
| double | c_H |
| double | phi_M |
| double | phi_S |
| double | interface |
| double | D_R_N |
| double | H_R_N |
| Henry's Constant for primary reactant in nafion, [Pa cm^3/mol]. More... | |
| std::string | fixed_agg_variable |
Protected Attributes inherited from FuelCellShop::MicroScale::MicroScaleBase | |
| FuelCellShop::Layer::MultiScaleCL < deal_II_dimension > * | layer |
Protected Attributes inherited from FuelCellShop::MicroScale::SphericalAgglomerateGeometry | |
| double | pi |
| double | r_agg |
| double | delta_agg |
| double | epsilon_agg |
| double | n_agg |
Static Protected Attributes | |
| static WaterConicalPoreAgglomerate const * | PROTOTYPE |
Private Types | |
| enum | SolutionIteration { Old, New, Intermediate } |
Private Member Functions | |
| bool | initialize_problem (std::string &error_msg) |
| Function for initializing data before problem is solved. More... | |
| bool | interpret_solution (std::string &error_msg) |
| Function for interpreting solution provided by another class. More... | |
| bool | solveProtonPotentials (std::string &error_msg) |
| Functions which solve for Proton Potential and oxygen concentration Profiles across the pore. More... | |
| bool | solveO2 (std::string &error_msg) |
| double | calculate_j (double &E_r) |
| Functions which calculates current density, proton potential and o2 concentration must be solved. More... | |
Private Attributes | |
| std::map< SolutionIteration, std::vector< std::vector < double > > > | PorePotential |
| std::map< SolutionIteration, std::vector< std::vector < double > > > | cO2 |
| std::vector< double > | cHwall |
| std::vector< double > | etaWall |
| std::vector< double > | jWall |
| double | beta |
| double | eta |
| double | alfa |
| double | lambda |
| double | teta |
| double | innerRadius |
| double | outerRadius |
| double | NP |
| double | S_i |
| double | S_o |
| double | eva |
| double | u_0 |
| double | omega |
| double | del_u |
| double | phi_pzc |
| double | u_s |
| int | N |
| int | M |
| double | Helm |
| double | waterRadius |
| double | rel_permittivity |
Friends | |
| class | ::WaterPoreAgglomerateTest |
| Function to compute the derivative of the current density at the local operating conditions;. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from FuelCellShop::MicroScale::MicroScaleBase | |
| static void | declare_MicroScale_parameters (ParameterHandler ¶m) |
| Function used to declare all the data necessary in the parameter files for all MicroScale children. More... | |
| static boost::shared_ptr < FuelCellShop::MicroScale::MicroScaleBase > | create_MicroStructure (ParameterHandler ¶m, FuelCellShop::Layer::MultiScaleCL< deal_II_dimension > *layer) |
| Function used to select the appropriate MicroScale type as specified in the ParameterHandler under line. More... | |
Protected Types inherited from FuelCellShop::MicroScale::AgglomerateBase | |
| typedef FuelCellShop::Layer::MultiScaleCL < deal_II_dimension > ::Properties | CLPropNames |
| typedef std::map< CLPropNames, double > | CL_Properties |
Protected Types inherited from FuelCellShop::MicroScale::MicroScaleBase | |
| typedef std::map< std::string, MicroScaleBase * > | _mapFactory |
| This object is used to store all objects of type MicroScaleBase. More... | |
Protected Types inherited from FuelCellShop::MicroScale::SphericalAgglomerateGeometry | |
| typedef FuelCellShop::Layer::MultiScaleCL < deal_II_dimension > ::Properties | CLPropNames |
| typedef std::map< CLPropNames, double > | CL_Properties |
Static Protected Member Functions inherited from FuelCellShop::MicroScale::MicroScaleBase | |
| static _mapFactory * | get_mapFactory () |
| This member function is used to create an object of type MicroScaleBase. More... | |
Class implementing water pore agglomerate model developed by Ehsan Sadeghi.
WORK IN PROGRESS
|
protected |
Constructors.
|
protected |
|
inlinevirtual |
MicroScale object may have extra contribution to volume of layer, e.g.
water.
Returns a fraction.
Implements FuelCellShop::MicroScale::MicroScaleBase.
|
private |
Functions which calculates current density, proton potential and o2 concentration must be solved.
Return current density in A/cm^3, passes agglomerate effectiveness back by reference
|
virtual |
Set the composition and structure of the agglomerate.
Main function of the class used to compute the current over the whole agglomerate at the local operating conditions
Implements FuelCellShop::MicroScale::MicroScaleBase.
|
inlineprotectedvirtual |
This member function is used to create an object of MicroScaleBase.
Implements FuelCellShop::MicroScale::MicroScaleBase.
|
inlineprotectedvirtual |
Reimplemented from FuelCellShop::MicroScale::AgglomerateBase.
References concrete_name, and FuelCellShop::MicroScale::AgglomerateBase::declare_parameters().

|
inlineprotectedvirtual |
|
inlinevirtual |
Return name of class instance, i.e.
concrete name.
Implements FuelCellShop::MicroScale::MicroScaleBase.
References concrete_name.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Reimplemented from FuelCellShop::MicroScale::AgglomerateBase.
References concrete_name, and FuelCellShop::MicroScale::AgglomerateBase::initialize().

|
private |
Function for initializing data before problem is solved.
Return false if problem cannot be initialized, passes error msg back by reference
|
private |
Function for interpreting solution provided by another class.
Return false if solution is invalid, passes error msg back by reference
|
protectedvirtual |
Implements FuelCellShop::MicroScale::MicroScaleBase.
|
private |
|
private |
Functions which solve for Proton Potential and oxygen concentration Profiles across the pore.
Call these function in the following order: solveProtonPotentials, solveO2.
Return false if they fail to converge, passes error msg back by reference
|
friend |
Function to compute the derivative of the current density at the local operating conditions;.
Friend class for testing purposes.
|
private |
|
private |
|
private |
|
private |
|
static |
Referenced by declare_parameters(), get_name(), and initialize().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprotected |
|
private |
|
private |
|
private |
|
protected |
|
private |
|
private |
|
private |
|
private |
1.8.5