| OpenFCST: The open-source Fuel Cell Simulation Toolbox
    | 
Analytical solution to an ionomer-filled agglomerate problem in 1D. More...
#include <agglomerate_ionomer_sun.h>


| Public Member Functions | |
| IonomerAgglomerateSun () | |
| Constructor. | |
| virtual void | set_structure (FuelCellShop::Material::CatalystSupportBase *CS, FuelCellShop::Material::CatalystBase *Cat, FuelCellShop::Material::PolymerElectrolyteBase *PEM, double A, double r, double delta, double epsilon) | 
| Set the composition and structure of the agglomerate. | |
| virtual double | compute_current (double &E_r) | 
| Main function of the class used to compute the current over the whole agglomerate at the local operating conditions. | |
| virtual std::vector< double > | compute_derivative_current () | 
| Function to compute the derivative of the current density at the local operating conditions;. | |
|  Public Member Functions inherited from FuelCellShop::MicroScale::AgglomerateBase | |
| AgglomerateBase () | |
| Constructor. | |
| virtual | ~AgglomerateBase () | 
| Destructor. | |
| void | set_kinetics (FuelCellShop::Kinetics::BaseKinetics *kin) | 
| void | set_solution (const std::map< VariableNames, SolutionVariable > &, const VariableNames &, const int &) | 
| Function for setting the solution variables (reactant concentration, phi_s, phi_m, etc) before we compute current. | |
| void | set_P (double P_Tot) | 
| Set the pressure for the agglomerate. | |
| void | set_T (double Temp) | 
| Set the temperature for the agglomerate. | |
| void | setLoadingWeigths (std::vector< double > weigths) | 
| void | set_conductivity_factor (double temp) | 
| bool | analytical_derivatives () | 
| void | load_initial_guess (std::vector< std::vector< double >> IC) | 
| bool | guess_not_loaded () | 
| void | deep_copy_pointers () | 
| Private Member Functions | |
| void | _initialize () | 
| double | compute_Er (const double k_c, const double D) | 
| Function to compute the effectiveness of the agglomerate core. | |
| double | compute_dEr (const double k_c, const double dk_c, const double D) | 
| Function to compute the derivative of the effectiveness of the agglomerate core. | |
| Additional Inherited Members | |
|  Public Attributes inherited from FuelCellShop::MicroScale::AgglomerateBase | |
| std::vector< std::vector < double > > | results | 
| std::vector< std::string > | column_titles | 
|  Protected Member Functions inherited from FuelCellShop::MicroScale::AgglomerateBase | |
| void | setAV (double newAV) | 
| double | getAV (double location) | 
| void | setUpLoadings () | 
| void | interpolate_initial_data (double z[], double &x, double left_pos, double right_pos, std::vector< double > left_data, std::vector< double > right_data) | 
| bool | use_initial_data (double z[], double &x) | 
|  Protected Attributes inherited from FuelCellShop::MicroScale::AgglomerateBase | |
| double | permittivity_0 | 
| double | pi | 
| double | F | 
| double | R | 
| double | P | 
| double | T | 
| std::vector< double > | loadingWeigths | 
| std::vector< double > | actualLoadings | 
| std::vector< double > | loadingRadii | 
| double | AV | 
| double | maxRadialDimension | 
| bool | IC_loaded | 
| bool | analyticalDerivatives | 
| Variable to check if analytical derivatives are implemented. | |
| FuelCellShop::Material::CatalystSupportBase * | catalyst_support | 
| Object used to calculate the carbon black conductivity in the catalyst layer. | |
| FuelCellShop::Material::CatalystBase * | catalyst | 
| Object used to store the properties of the catalyst used in the layer. | |
| FuelCellShop::Material::PolymerElectrolyteBase * | electrolyte | 
| Object used to calculate the properties of the electrolyte in the catalyst layer. | |
| FuelCellShop::Kinetics::BaseKinetics * | kinetics | 
| Create the kinetics object. | |
| std::vector< double > | co2_final | 
| Vector storing the oxygen concentration profile across the agglomerate. | |
| std::vector< double > | mesh_final | 
| Vector storing the location of the nodes of the mesh used in the numerical agglomerate. | |
| double | cond_factor | 
| Used to modify the proton conductivity in agglomerate. | |
| double | r_agg | 
| Radius of the agglomerate. | |
| double | delta_agg | 
| Thickness of the ionomer thin film. | |
| double | epsilon_agg | 
| Thickness of the ionomer thin film. | |
| double | c_R | 
| Concentration of oxygen at the boundary. | |
| double | phi_M | 
| Electrolyte (Membrane) phase potential at the boundary. | |
| double | phi_S | 
| Solid phase potential through the agglomerate. | |
| double | interface | 
| Value of the boundary between the thin film and agglomerate domain. | |
| double | D_R_N | 
| Oxygen Diffusion. | |
| double | H_R_N | 
| Henry's Constant. | |
| double | R_tol | 
| absolute tolerance in reactant concentration | |
| std::vector< VariableNames > | sol_names | 
| std::map< VariableNames, SolutionVariable > | solutions | 
| VariableNames | reactant | 
| int | sol_index | 
| std::vector< std::vector < double > > | initial_data | 
Analytical solution to an ionomer-filled agglomerate problem in 1D.
Adapted from Source: W. Sun, B. A. Peppley, K. Karan, An improved two-dimensional agglomerate cathode model to study the influence of catalyst layer structural parameters, Electrochimica Acta 50 (16-17) (2005) 3347–3358.
| FuelCellShop::MicroScale::IonomerAgglomerateSun::IonomerAgglomerateSun | ( | ) | 
Constructor.
| 
 | private | 
| 
 | virtual | 
Main function of the class used to compute the current over the whole agglomerate at the local operating conditions.
Implements FuelCellShop::MicroScale::AgglomerateBase.
| 
 | private | 
Function to compute the derivative of the effectiveness of the agglomerate core.
| 
 | virtual | 
Function to compute the derivative of the current density at the local operating conditions;.
Reimplemented from FuelCellShop::MicroScale::AgglomerateBase.
| 
 | private | 
Function to compute the effectiveness of the agglomerate core.
| 
 | virtual | 
Set the composition and structure of the agglomerate.
Implements FuelCellShop::MicroScale::AgglomerateBase.
 1.8.2
 1.8.2