18 #ifndef _FUELCELLSHOP__NAFION_H
19 #define _FUELCELLSHOP__NAFION_H
22 #include <deal.II/base/parameter_handler.h>
23 #include <deal.II/base/point.h>
24 #include <deal.II/base/function.h>
25 #include <deal.II/lac/vector.h>
26 #include <deal.II/fe/fe_values.h>
33 namespace FuelCellShop
99 friend class ::NafionTest;
160 virtual void initialize (ParameterHandler ¶m);
356 virtual boost::shared_ptr<FuelCellShop::Material::PolymerElectrolyteBase >
create_replica ()
379 Assert(index>=1 && index<=6, ExcMessage(
"Wrong index input in Nafion::modify_parameters."));
virtual double get_d2Hlambda_dT2(const double &) const
Compute of sorbed water in the Nafion as a function of .
static Nafion const * PROTOTYPE
Create prototype for the layer.
Definition: nafion.h:363
virtual void thermoosmotic_coeff_derivative(std::map< VariableNames, std::vector< double > > &) const
Compute the derivatives of thermo-osmotic diffusion coefficient, at every quadrature point in the cel...
virtual double get_dHlambda_dT(const double &) const
Compute of sorbed water in the Nafion as a function of .
std::string method_enthalpy_sorption
Method/semi-empirical relation to compute enthalpy of sorption of water.
Definition: polymer_electrolyte_material_base.h:740
virtual void thermoosmotic_coeff(std::vector< double > &) const
Compute the thermo-osmotic diffusion coefficient, [gm/ (cm-s-K )], inside the nafion at every quadrat...
const std::string name
Name of the layer.
Definition: base_material.h:155
Nafion(const bool)
PROTOTYE Constructor.
VariableNames
The enumeration containing the names of some of the available FCST solution variables and their deriv...
Definition: system_management.h:63
virtual void declare_parameters(ParameterHandler ¶m) const
Declare parameters.
virtual void initialize(ParameterHandler ¶m)
Member function used to read in data and initialize the necessary data from the parameter file to com...
std::string method_electroosmotic_drag
Method/semi-empirical relation to compute Electro-osmotic drag.
Definition: polymer_electrolyte_material_base.h:730
static const std::string concrete_name
Name of the class.
Definition: nafion.h:91
virtual void electroosmotic_drag(std::vector< double > &) const
Compute the electro-osmotic drag coefficient inside the nafion at every quadrature point in the cell...
virtual void sorption_enthalpy(std::vector< double > &) const
Compute the enthalpy of sorption [J/mol] of water in Nafion, at all quadrature points in the cell...
virtual void water_diffusivity(double &, const double, const double) const
Compute the water diffusivity, [cm^2/s], inside the nafion at every quadrature point in the cell...
virtual void sorption_isotherm(std::vector< double > &) const
Compute the equilibrium water content, , inside the Nafion for vapor-equilibriated case...
std::string method_diffusivity
Method/semi-empirical relation to compute water diffusivity.
Definition: polymer_electrolyte_material_base.h:725
virtual void sorption_enthalpy_derivative(std::map< VariableNames, std::vector< double > > &) const
Compute the derivatives of enthalpy of sorption of water, at every quadrature point in the cell...
virtual void electroosmotic_drag_derivative(std::map< VariableNames, std::vector< double > > &) const
Compute the derivatives of electro-osmotic drag coefficient, at every quadrature point in the cell...
virtual double get_Hlambda(const double &) const
Compute the molar enthalpy, [J/mol] of sorbed water in the Nafion as a function of ...
virtual void proton_conductivity(double &, const double, const double) const
Compute the proton conductivity, [S/cm], inside the nafion, at every quadrature point in the cell...
Class used to store data and provide information regarding the electrolyte.
Definition: nafion.h:83
std::string method_sorption
Method to compute equilibrium water content value from sorption isotherm.
Definition: polymer_electrolyte_material_base.h:720
virtual void water_diffusivity_derivative(std::map< VariableNames, std::vector< double > > &) const
Compute the derivatives of water diffusivity at every quadrature point in the cell.
virtual void proton_diffusivity(double &) const
Compute the proton diffusivity, [cm^2/s], inside the nafion for constant case.
This class implements the interface to compute the properties of a "standard" polymer electrolyte mem...
Definition: polymer_electrolyte_material_base.h:59
std::map< std::string, double > springer_coeffs
Map for proton conductivity's coefficients; used with "Springer" method.
Definition: nafion.h:402
virtual boost::shared_ptr< FuelCellShop::Material::PolymerElectrolyteBase > create_replica()
This member function is used to create an object of type Nafion material.
Definition: nafion.h:356
virtual void proton_conductivity_derivative(std::map< VariableNames, std::vector< double > > &) const
Compute the derivatives of proton conductivity at every quadrature point in the cell.
virtual void hydrogen_diffusivity(double &) const
Compute the hydrogen diffusivity, [cm^2/s], inside the nafion for a constant .
std::string method_conductivity
Method/Semi-empirical relation to compute protonic conductivity.
Definition: polymer_electrolyte_material_base.h:715
std::string method_thermoosmosis
Method/semi-empirical relation to compute thermo-osmotic diffusion coefficient.
Definition: polymer_electrolyte_material_base.h:735
virtual void oxygen_diffusivity(double &, const double) const
Compute the oxygen diffusivity, [cm^2/s], inside the nafion for a given .
void modify_parameters(const unsigned int &index, const std::string &method)
Method to modify parameters, without declaring and initializing the parameter file.
Definition: nafion.h:377
virtual void oxygen_diffusivity_derivative(std::map< VariableNames, std::vector< double > > &) const
Compute the derivatives of oxygen diffusivity, at every quadrature point in the cell.
virtual void sorption_isotherm_derivative(std::map< VariableNames, std::vector< double > > &) const
Compute the derivatives for water sorption source terms, , at every quadrature point in the cell...