OpenFCST: The open-source Fuel Cell Simulation Toolbox
|
Base class for numerical agglomerates. More...
#include <numerical_agglomerate_base.h>
Protected Member Functions | |
void | setAV (double newAV) |
NumericalAgglomerateBase () | |
Constructor. More... | |
~NumericalAgglomerateBase () | |
Destructor. More... | |
void | update_initial_solution () |
void | save_initial_solution () |
virtual void | declare_parameters (ParameterHandler ¶m) const |
virtual void | initialize (ParameterHandler ¶m) |
double | getAV (double location) |
bool | use_initial_data (double z[], const double &x) |
virtual void | make_thread_safe (ParameterHandler ¶m, unsigned int thread_index) |
Protected Member Functions inherited from FuelCellShop::MicroScale::AgglomerateBase | |
void | _initialize_film_porosity () |
AgglomerateBase () | |
virtual double | get_film_thickness ()=0 |
virtual double | get_radius ()=0 |
Protected Member Functions inherited from FuelCellShop::MicroScale::MicroScaleBase | |
void | set_layer (FuelCellShop::Layer::MultiScaleCL< deal_II_dimension > *_layer) |
MicroScaleBase () | |
virtual void | set_structure ()=0 |
virtual boost::shared_ptr < MicroScaleBase > | create_replica ()=0 |
This member function is used to create an object of MicroScaleBase. More... | |
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 | |
std::vector< std::vector < double > > | final_results |
std::vector< std::vector < double > > | initial_solution |
std::vector< std::string > | column_names |
double | R_tol |
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 |
Private Member Functions | |
void | setUpLoadings () |
FcstUtilities::DatabaseOC | create_OC_snapshot () |
bool | guess_no_longer_valid (const FcstUtilities::DatabaseOC &OC) |
void | interpolate_initial_data (double z[], const double &x, const double &left_pos, const double &right_pos, const std::vector< double > &left_data, const std::vector< double > &right_data) |
Private Attributes | |
FcstUtilities::FCSTdatabase | db |
std::string | db_address |
FcstUtilities::DatabaseOC | database_OC |
bool | push_next |
double | tolerance |
double | maxRadialDimension |
std::vector< double > | loadingWeigths |
std::vector< double > | actualLoadings |
std::vector< double > | loadingRadii |
unsigned int | thread_id |
Additional Inherited Members | |
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 | 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... | |
virtual SolutionMap | compute_current ()=0 |
Function used to compute the current density produced by the micro structure. More... | |
virtual std::string | get_name ()=0 |
Return name of class instance, i.e. More... | |
virtual double | aux_volume_fraction ()=0 |
MicroScale object may have extra contribution to volume of layer, e.g. More... | |
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... | |
Base class for numerical agglomerates.
Base class for numerical agglomerates, implements AgglomerateBase. Provide useful methods and data for numerical agglomerates, such as initial solution storage and retrieval via FCSTDatabase and variable active area profiles.
LIST OF INPUT PARAMETERS FOR THE CLASS.
|
protected |
Constructor.
|
inlineprotected |
Destructor.
|
private |
|
protectedvirtual |
Reimplemented from FuelCellShop::MicroScale::AgglomerateBase.
Reimplemented in FuelCellShop::MicroScale::WaterAgglomerate, FuelCellShop::MicroScale::IonomerAgglomerate, and FuelCellShop::MicroScale::HybridAgglomerate.
Referenced by FuelCellShop::MicroScale::HybridAgglomerate::declare_parameters(), FuelCellShop::MicroScale::IonomerAgglomerate::declare_parameters(), and FuelCellShop::MicroScale::WaterAgglomerate::declare_parameters().
|
protected |
|
private |
|
protectedvirtual |
Reimplemented from FuelCellShop::MicroScale::AgglomerateBase.
Reimplemented in FuelCellShop::MicroScale::WaterAgglomerate, FuelCellShop::MicroScale::IonomerAgglomerate, and FuelCellShop::MicroScale::HybridAgglomerate.
Referenced by FuelCellShop::MicroScale::HybridAgglomerate::initialize(), FuelCellShop::MicroScale::IonomerAgglomerate::initialize(), and FuelCellShop::MicroScale::WaterAgglomerate::initialize().
|
private |
|
protectedvirtual |
Reimplemented from FuelCellShop::MicroScale::AgglomerateBase.
|
protected |
|
inlineprotected |
References FuelCellShop::MicroScale::AgglomerateBase::AV.
|
private |
|
protected |
|
protected |
|
private |
|
protected |
|
private |
|
private |
|
private |
|
protected |
|
protected |
|
private |
|
private |
|
private |
|
private |
|
protected |
|
private |
|
private |