17 #ifndef _FUELCELLSHOP__LAYER__AGGLOMERATE_BASE_H
18 #define _FUELCELLSHOP__LAYER__AGGLOMERATE_BASE_H
36 namespace FuelCellShop
286 Assert(
false, ExcPureFunctionCalled());
287 return std::vector<double>(
sol_names.size(), 0.0);
317 virtual void make_thread_safe(ParameterHandler ¶m,
unsigned int thread_index);
366 virtual void initialize (ParameterHandler ¶m);
388 boost::shared_ptr<FuelCellShop::Material::CatalystBase >
catalyst;
395 boost::shared_ptr<FuelCellShop::Material::PolymerElectrolyteBase>
electrolyte;
402 boost::shared_ptr<FuelCellShop::Kinetics::BaseKinetics>
kinetics;
void _initialize_film_porosity()
virtual void make_thread_safe(ParameterHandler ¶m, unsigned int thread_index)
std::vector< VariableNames > sol_names
Definition: agglomerate_base.h:408
double interface
Definition: agglomerate_base.h:461
virtual void declare_parameters(ParameterHandler ¶m) const
This class implements methods for calculating geometric parameters of a spherical agglomerate surroun...
Definition: agglomerate_base.h:55
double F()
Faraday constant, .
Definition: fcst_constants.h:37
double phi_S
Definition: agglomerate_base.h:454
double phi_M
Definition: agglomerate_base.h:449
The base class for agglomerate objects in OpenFCST.
Definition: agglomerate_base.h:240
boost::shared_ptr< FuelCellShop::Material::CatalystBase > catalyst
Boost shared pointer to catalyst object.
Definition: agglomerate_base.h:388
SphericalAgglomerateGeometry()
Definition: agglomerate_base.h:73
std::map< CLPropNames, double > CL_Properties
Definition: agglomerate_base.h:335
virtual std::vector< double > compute_derivative_current()
Function to compute the derivative of the current density at the local operating conditions.
Definition: agglomerate_base.h:284
VariableNames
The enumeration containing the names of some of the available FCST solution variables and their deriv...
Definition: system_management.h:63
double c_H
Definition: agglomerate_base.h:444
virtual void print_properties()
Print out key agglomerate information (name, radius, film thickness, porosity).
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.
Properties
Definition: multi_scale_CL.h:202
double r_agg
Definition: agglomerate_base.h:177
FuelCellShop::Layer::MultiScaleCL< deal_II_dimension >::Properties CLPropNames
Definition: agglomerate_base.h:334
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 structu...
double pi
Definition: agglomerate_base.h:60
double epsilon_agg
Definition: agglomerate_base.h:188
double R()
Universal gas constant, .
Definition: fcst_constants.h:32
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 New...
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 New...
boost::shared_ptr< FuelCellShop::Material::PolymerElectrolyteBase > electrolyte
Boost shared pointer to electrolyte object.
Definition: agglomerate_base.h:395
double c_R
Definition: agglomerate_base.h:434
std::map< VariableNames, SolutionVariable > solutions
Member data for storing solutions.
Definition: agglomerate_base.h:407
double permittivity_0
Constants.
Definition: agglomerate_base.h:416
virtual double get_film_thickness()=0
VariableNames reactant
Definition: agglomerate_base.h:409
std::map< CLPropNames, double > CL_Properties
Definition: agglomerate_base.h:67
virtual void initialize(ParameterHandler ¶m)
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.).
The base class for micro scale objects in OpenFCST.
Definition: micro_scale_base.h:134
double AV
Definition: agglomerate_base.h:429
double delta_agg
Definition: agglomerate_base.h:183
FuelCellShop::Layer::MultiScaleCL< deal_II_dimension >::Properties CLPropNames
Definition: agglomerate_base.h:66
boost::shared_ptr< FuelCellShop::Kinetics::BaseKinetics > kinetics
Boost shared pointer to kinetics object.
Definition: agglomerate_base.h:402
double n_agg
Definition: agglomerate_base.h:194
double D_R_N
Definition: agglomerate_base.h:466
std::string fixed_agg_variable
Definition: agglomerate_base.h:476
int sol_index
Definition: agglomerate_base.h:410
double P
Definition: agglomerate_base.h:423
virtual double compute_n(FuelCellShop::Layer::MultiScaleCL< deal_II_dimension > *layer) const
Member function to compute the number of agglomerates.
double H_R_N
Henry's Constant for primary reactant in nafion, [Pa cm^3/mol].
Definition: agglomerate_base.h:471
double E0()
Permittivity of free space, .
Definition: fcst_constants.h:47
virtual ~AgglomerateBase()
Definition: agglomerate_base.h:249
double R
Definition: agglomerate_base.h:418
VariableNames tempReactantName
Definition: agglomerate_base.h:409
double Pi()
.
Definition: fcst_constants.h:42
double F
Definition: agglomerate_base.h:417
AgglomerateBase()
Definition: agglomerate_base.h:341
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 ...
virtual bool has_derivatives()
Returns true if the class instance can calculate current density derivatives.
Definition: agglomerate_base.h:299
bool has_derivatives_
Definition: agglomerate_base.h:439
virtual double get_radius()=0
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.