17 #ifndef _FUELCELLSHOP__LAYER__AGGLOMERATE_BASE_H
18 #define _FUELCELLSHOP__LAYER__AGGLOMERATE_BASE_H
34 namespace FuelCellShop
116 Assert(
false, ExcPureFunctionCalled());
117 return std::vector<double>(
sol_names.size(), 0.0);
147 virtual void make_thread_safe(ParameterHandler ¶m,
unsigned int thread_index);
198 virtual void initialize (ParameterHandler ¶m);
313 boost::shared_ptr<FuelCellShop::Material::CatalystBase >
catalyst;
320 boost::shared_ptr<FuelCellShop::Material::PolymerElectrolyteBase>
electrolyte;
327 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:333
double interface
Definition: agglomerate_base.h:404
virtual void declare_parameters(ParameterHandler ¶m) const
double r_agg
Definition: agglomerate_base.h:361
virtual double compute_thickness_agg()
Member function to compute the thickness of the agglomerate thin film based on the radius and structu...
double delta_agg
Definition: agglomerate_base.h:367
double F()
Faraday constant, .
Definition: fcst_constants.h:38
double phi_S
Definition: agglomerate_base.h:397
double phi_M
Definition: agglomerate_base.h:392
virtual double compute_epsilon_agg()
Compute the volume fraction of nafion inside the agglomerate given the catalyst layer ionomer volume ...
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.
The base class for agglomerate objects in OpenFCST.
Definition: agglomerate_base.h:70
double n_agg
Definition: agglomerate_base.h:424
virtual double compute_n() const
Member function to compute the number of agglomerates.
boost::shared_ptr< FuelCellShop::Material::CatalystBase > catalyst
Boost shared pointer to catalyst object.
Definition: agglomerate_base.h:313
std::map< CLPropNames, double > CL_Properties
Definition: agglomerate_base.h:165
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:114
VariableNames
The enumeration containing the names of some of the available FCST solution variables and their deriv...
Definition: system_management.h:62
double c_H
Definition: agglomerate_base.h:387
virtual void print_properties()
Print out key agglomerate information (name, radius, film thickness, porosity).
virtual double compute_depsilonN_depsilon_agg() const
Inline function to compute This function should only be used to calculate the thin film thickness us...
Properties
Definition: multi_scale_CL.h:212
virtual double compute_dn_depsilon_agg() const
Compute the derivative of n with respect to the porosity of the agglomerate.
FuelCellShop::Layer::MultiScaleCL< deal_II_dimension >::Properties CLPropNames
Definition: agglomerate_base.h:164
double R()
Universal gas constant, .
Definition: fcst_constants.h:33
boost::shared_ptr< FuelCellShop::Material::PolymerElectrolyteBase > electrolyte
Boost shared pointer to electrolyte object.
Definition: agglomerate_base.h:320
double c_R
Definition: agglomerate_base.h:377
std::map< VariableNames, SolutionVariable > solutions
Member data for storing solutions.
Definition: agglomerate_base.h:332
double permittivity_0
Constants.
Definition: agglomerate_base.h:341
virtual double get_film_thickness()=0
VariableNames reactant
Definition: agglomerate_base.h:334
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.).
double pi
Definition: agglomerate_base.h:342
The base class for micro scale objects in OpenFCST.
Definition: micro_scale_base.h:134
double AV
Definition: agglomerate_base.h:355
boost::shared_ptr< FuelCellShop::Kinetics::BaseKinetics > kinetics
Boost shared pointer to kinetics object.
Definition: agglomerate_base.h:327
double D_R_N
Definition: agglomerate_base.h:409
double epsilon_agg
Definition: agglomerate_base.h:372
std::string fixed_agg_variable
Definition: agglomerate_base.h:419
int sol_index
Definition: agglomerate_base.h:335
double P
Definition: agglomerate_base.h:349
double H_R_N
Henry's Constant for primary reactant in nafion, [Pa cm^3/mol].
Definition: agglomerate_base.h:414
double E0()
Permittivity of free space, .
Definition: fcst_constants.h:48
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 ~AgglomerateBase()
Definition: agglomerate_base.h:79
double R
Definition: agglomerate_base.h:344
VariableNames tempReactantName
Definition: agglomerate_base.h:334
double Pi()
.
Definition: fcst_constants.h:43
double F
Definition: agglomerate_base.h:343
AgglomerateBase()
Definition: agglomerate_base.h:171
virtual bool has_derivatives()
Returns true if the class instance can calculate current density derivatives.
Definition: agglomerate_base.h:129
bool has_derivatives_
Definition: agglomerate_base.h:382
virtual double get_radius()=0