OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
polymer_electrolyte_material_base.h
Go to the documentation of this file.
1 //---------------------------------------------------------------------------
2 //
3 // FCST: Fuel Cell Simulation Toolbox
4 //
5 // Copyright (C) 2006-13 by Energy Systems Design Laboratory, University of Alberta
6 //
7 // This software is distributed under the MIT License.
8 // For more information, see the README file in /doc/LICENSE
9 //
10 // - Class: polymer_electrolyte_material_base.h
11 // - Description: base class for polymer electrolyte materials e.g. Nafion
12 // - Developers: M. Secanell and Madhur Bhaiya
13 // - Id: $Id: polymer_electrolyte_material_base.h 2605 2014-08-15 03:36:44Z secanell $
14 //
15 //---------------------------------------------------------------------------
16 
17 #ifndef _FUELCELLSHOP_POLYMER_ELECTROLYTE_MATERIAL_BASE__H
18 #define _FUELCELLSHOP_POLYMER_ELECTROLYTE_MATERIAL_BASE__H
19 
20 // Include deal.II classes
21 #include <deal.II/base/parameter_handler.h>
22 #include <deal.II/base/point.h>
23 #include <deal.II/base/function.h>
24 #include <deal.II/lac/vector.h>
25 #include <deal.II/fe/fe_values.h>
26 
27 // Include FCST classes
29 #include <materials/PureGas.h>
30 #include <utils/fcst_utilities.h>
31 
32 
33 
34 namespace FuelCellShop
35 {
36  namespace Material
37  {
60  :
61  public BaseMaterial
62  {
63  public:
65 
66 
71  static void declare_PolymerElectrolyte_parameters (ParameterHandler &param)
72  {
73 
74  for (typename FuelCellShop::Material::PolymerElectrolyteBase::_mapFactory::iterator iterator = FuelCellShop::Material::PolymerElectrolyteBase::get_mapFactory()->begin();
76  iterator++)
77  {
78  iterator->second->declare_parameters(param);
79  }
80  }
81 
100  static boost::shared_ptr<FuelCellShop::Material::PolymerElectrolyteBase > create_PolymerElectrolyte (ParameterHandler &param,
101  std::string polymer_electrolyte_name)
102  {
103  boost::shared_ptr<FuelCellShop::Material::PolymerElectrolyteBase > pointer;
104 
105  typename FuelCellShop::Material::PolymerElectrolyteBase::_mapFactory::iterator iterator = FuelCellShop::Material::PolymerElectrolyteBase::get_mapFactory()->find(polymer_electrolyte_name);
106 
108  {
109  if (iterator->second)
110  {
111  pointer = iterator->second->create_replica();
112  }
113  else
114  {
115  FcstUtilities::log<<"Pointer not initialized"<<std::endl;
116  abort();
117  }
118  }
119  else
120  {
121  FcstUtilities::log<<"Concrete name in FuelCellShop::Material::PolymerElectrolyteBase::create_PolymerElectrolyte does not exist"<<std::endl;
122  abort();
123  }
124 
125  pointer->initialize(param);
126 
127  return pointer;
128  }
130 
132 
133 
139  virtual void sorption_isotherm(std::vector<double>&) const
140  {
141  const std::type_info& info = typeid(*this);
142  FcstUtilities::log << "Pure function " << __FUNCTION__
143  << " called in Class "
144  << info.name() << std::endl;
145  }
153  virtual void sorption_isotherm_derivative(std::map < VariableNames, std::vector<double> >&) const
154  {
155  const std::type_info& info = typeid(*this);
156  FcstUtilities::log << "Pure function " << __FUNCTION__
157  << " called in Class "
158  << info.name() << std::endl;
159  }
160 
166  virtual void proton_conductivity(double&) const
167  {
168  const std::type_info& info = typeid(*this);
169  FcstUtilities::log << "Pure function " << __FUNCTION__
170  << " called in Class "
171  << info.name() << std::endl;
172  }
178  virtual void proton_conductivity(std::vector<double>&) const
179  {
180  const std::type_info& info = typeid(*this);
181  FcstUtilities::log << "Pure function " << __FUNCTION__
182  << " called in Class "
183  << info.name() << std::endl;
184  }
191  virtual void proton_conductivity_derivative(std::map< VariableNames, std::vector<double> >&) const
192  {
193  const std::type_info& info = typeid(*this);
194  FcstUtilities::log << "Pure function " << __FUNCTION__
195  << " called in Class "
196  << info.name() << std::endl;
197  }
198 
204  virtual void water_diffusivity(double&) const
205  {
206  const std::type_info& info = typeid(*this);
207  FcstUtilities::log << "Pure function " << __FUNCTION__
208  << " called in Class "
209  << info.name() << std::endl;
210  }
216  virtual void water_diffusivity(std::vector<double>&) const
217  {
218  const std::type_info& info = typeid(*this);
219  FcstUtilities::log << "Pure function " << __FUNCTION__
220  << " called in Class "
221  << info.name() << std::endl;
222  }
229  virtual void water_diffusivity_derivative(std::map< VariableNames, std::vector<double> >&) const
230  {
231  const std::type_info& info = typeid(*this);
232  FcstUtilities::log << "Pure function " << __FUNCTION__
233  << " called in Class "
234  << info.name() << std::endl;
235  }
236 
242  virtual void electroosmotic_drag(std::vector<double>&) const
243  {
244  const std::type_info& info = typeid(*this);
245  FcstUtilities::log << "Pure function " << __FUNCTION__
246  << " called in Class "
247  << info.name() << std::endl;
248  }
255  virtual void electroosmotic_drag_derivative(std::map< VariableNames, std::vector<double> >&) const
256  {
257  const std::type_info& info = typeid(*this);
258  FcstUtilities::log << "Pure function " << __FUNCTION__
259  << " called in Class "
260  << info.name() << std::endl;
261  }
262 
268  virtual void thermoosmotic_coeff(std::vector<double>&) const
269  {
270  const std::type_info& info = typeid(*this);
271  FcstUtilities::log << "Pure function " << __FUNCTION__
272  << " called in Class "
273  << info.name() << std::endl;
274  }
281  virtual void thermoosmotic_coeff_derivative(std::map< VariableNames, std::vector<double> >&) const
282  {
283  const std::type_info& info = typeid(*this);
284  FcstUtilities::log << "Pure function " << __FUNCTION__
285  << " called in Class "
286  << info.name() << std::endl;
287  }
288 
294  virtual void oxygen_diffusivity(double&) const
295  {
296  const std::type_info& info = typeid(*this);
297  FcstUtilities::log << "Pure function " << __FUNCTION__
298  << " called in Class "
299  << info.name() << std::endl;
300  }
306  virtual void hydrogen_diffusivity(double&) const
307  {
308  const std::type_info& info = typeid(*this);
309  FcstUtilities::log << "Pure function " << __FUNCTION__
310  << " called in Class "
311  << info.name() << std::endl;
312  }
318  virtual void oxygen_diffusivity(std::vector<double>&) const
319  {
320  const std::type_info& info = typeid(*this);
321  FcstUtilities::log << "Pure function " << __FUNCTION__
322  << " called in Class "
323  << info.name() << std::endl;
324  }
331  virtual void oxygen_diffusivity_derivative(std::map< VariableNames, std::vector<double> >&) const
332  {
333  const std::type_info& info = typeid(*this);
334  FcstUtilities::log << "Pure function " << __FUNCTION__
335  << " called in Class "
336  << info.name() << std::endl;
337  }
338 
344  virtual void proton_diffusivity(double&) const
345  {
346  const std::type_info& info = typeid(*this);
347  FcstUtilities::log << "Pure function " << __FUNCTION__
348  << " called in Class "
349  << info.name() << std::endl;
350  }
351 
357  virtual void sorption_enthalpy(std::vector<double>& ) const
358  {
359  const std::type_info& info = typeid(*this);
360  FcstUtilities::log << "Pure function " << __FUNCTION__
361  << " called in Class "
362  << info.name() << std::endl;
363  }
370  virtual void sorption_enthalpy_derivative(std::map< VariableNames, std::vector<double> >&) const
371  {
372  const std::type_info& info = typeid(*this);
373  FcstUtilities::log << "Pure function " << __FUNCTION__
374  << " called in Class "
375  << info.name() << std::endl;
376  }
377 
379 
381 
382 
388  virtual double get_Hlambda(const double&) const
389  {
390  const std::type_info& info = typeid(*this);
391  FcstUtilities::log << "Pure function " << __FUNCTION__
392  << " called in Class "
393  << info.name() << std::endl;
394  }
395 
401  virtual double get_dHlambda_dT(const double&) const
402  {
403  const std::type_info& info = typeid(*this);
404  FcstUtilities::log << "Pure function " << __FUNCTION__
405  << " called in Class "
406  << info.name() << std::endl;
407  }
408 
414  virtual double get_d2Hlambda_dT2(const double&) const
415  {
416  const std::type_info& info = typeid(*this);
417  FcstUtilities::log << "Pure function " << __FUNCTION__
418  << " called in Class "
419  << info.name() << std::endl;
420  }
422 
424 
425 
427  inline double get_density() const
428  {
429  return rho_M;
430  }
431 
433  inline double get_H_O2() const
434  {
435  return H_O2;
436  }
437 
439  inline double get_H_H2() const
440  {
441  return H_H2;
442  }
443 
445  inline double get_EW() const
446  {
447  return EW;
448  }
449 
451  inline double get_permittivity() const
452  {
453  return permittivity;
454  }
455 
457 
459 
460 
464  inline void set_p_t(const double& p_t)
465  {
466  p_total = p_t;
467  }
468 
472  inline void set_T (const double& Temp)
473  {
474  T = Temp;
475  }
476 
480  inline void set_lambda(const double& L)
481  {
482  lambda = L;
483  }
484 
491  {
492  Assert( ((l_in.is_initialized()) && (l_in.get_variablename() == membrane_water_content)),
493  ExcMessage("Input solution variable not initialized properly in PolymerElectrolyteBase::set_membrane_water_content method.") );
494 
495  lambda_var = l_in;
496 
497  if ( !T_var.is_initialized() )
499  }
500 
507  {
508  Assert( ((T_in.is_initialized()) && (T_in.get_variablename() == temperature_of_REV)),
509  ExcMessage("Input solution variable not initialized properly in PolymerElectrolyteBase::set_temperature method.") );
510 
511  T_var = T_in;
512 
513  if ( !lambda_var.is_initialized() )
515  }
516 
524  {
525  Assert( ((x_in.is_initialized()) && (x_in.get_variablename() == water_molar_fraction)),
526  ExcMessage("Input solution variable not initialized properly in PolymerElectrolyteBase::set_water_molar_fraction method.") );
527 
528  xwater_var = x_in;
529 
530  if ( !T_var.is_initialized() )
532  }
534 
535  protected:
537 
538 
542  : BaseMaterial(name)
543  {
544  lambda = 12.0;
545  T = 0.0; // Used for assertion to throw error, if temperature values are not set.
546  p_total = 0.0; // Used for assertion to throw error, if pressure values are not set.
547 
549  };
550 
555  : FuelCellShop::Material::BaseMaterial()
556  {
557  lambda = 12.0;
558  T = 0.0; // Used for assertion to throw error, if temperature values are not set.
559  p_total = 0.0; // Used for assertion to throw error, if pressure values are not set.
560 
562  };
563 
568  {
569  delete water_mat;
570  };
571 
576  virtual void declare_parameters(ParameterHandler &param) const
577  {
578  const std::type_info& info = typeid(*this);
579  FcstUtilities::log << "Pure function " << __FUNCTION__
580  << " called in Class "
581  << info.name() << std::endl;
582  };
583 
587  virtual void initialize (ParameterHandler &param)
588  {
589  const std::type_info& info = typeid(*this);
590  FcstUtilities::log << "Pure function " << __FUNCTION__
591  << " called in Class "
592  << info.name() << std::endl;
593  };
595 
597 
598 
601  typedef std::map< std::string, FuelCellShop::Material::PolymerElectrolyteBase* > _mapFactory;
603 
605 
606 
610  {
611  static _mapFactory mapFactory;
612  return &mapFactory;
613  }
615 
617 
618 
622  virtual boost::shared_ptr<FuelCellShop::Material::PolymerElectrolyteBase > create_replica ()
623  {
624  const std::type_info& info = typeid(*this);
625  FcstUtilities::log << "Pure function " << __FUNCTION__
626  << " called in Class "
627  << info.name() << std::endl;
628  }
630 
632 
633 
634  double EW;
635 
637  double rho_M;
638 
642  double H_O2;
646  double H_H2;
650  double permittivity;
651 
652 
654  double T;
655 
659  double lambda;
660 
662  double p_total;
663 
664 
668  double sigma_p;
669 
673  double diffusion_w;
674 
679  double given_n_drag;
680 
686 
692 
696  double D_O2;
697 
701  double D_H2;
702 
706  double D_Protons;
708 
710 
711 
715  std::string method_conductivity;
716 
720  std::string method_sorption;
721 
725  std::string method_diffusivity;
726 
731 
735  std::string method_thermoosmosis;
736 
742 
744 
745 
750 
755 
761 
762 
767  };
768  }
769 }
770 
771 #endif
double permittivity
Permittivity of the material.
Definition: polymer_electrolyte_material_base.h:650
double H_H2
Henry&#39;s Constant [Pa-cm^3/mol] for dissolution of hydroge.
Definition: polymer_electrolyte_material_base.h:646
double given_thermoosmotic_coeff
Given thermo-osmotic diffusion coefficient [gm/(cm-s-K )] in the parameter file.
Definition: polymer_electrolyte_material_base.h:685
double T
Temperature [Kelvins] for isothermal case.
Definition: polymer_electrolyte_material_base.h:654
double D_H2
Effective diffusion coefficient of hydrogen [cm^2/s], given in the parameter file.
Definition: polymer_electrolyte_material_base.h:701
double diffusion_w
Diffusion of water in polymer electrolyte (if constant option is used), [cm2/s].
Definition: polymer_electrolyte_material_base.h:673
double H_O2
Henry&#39;s Constant [Pa-cm^3/mol] for dissolution of oxygen.
Definition: polymer_electrolyte_material_base.h:642
double get_H_O2() const
Get Henry&#39;s constant [Pa-cm^3/mol] for oxygen dissolution in the polymer electrolyte.
Definition: polymer_electrolyte_material_base.h:433
virtual void hydrogen_diffusivity(double &) const
Compute the oxygen diffusivity, [cm^2/s], inside the polymer electrolyte for constant case...
Definition: polymer_electrolyte_material_base.h:306
virtual void thermoosmotic_coeff(std::vector< double > &) const
Compute the thermo-osmotic diffusion coefficient, [gm/ (cm-s-K )], inside the polymer electrolyte at ...
Definition: polymer_electrolyte_material_base.h:268
std::string method_enthalpy_sorption
Method/semi-empirical relation to compute enthalpy of sorption of water.
Definition: polymer_electrolyte_material_base.h:740
double p_total
Total pressure (in Pascals).
Definition: polymer_electrolyte_material_base.h:662
VariableNames get_variablename() const
Function to get the VariableNames enumeration corresponding to this struct.
Definition: fcst_variables.h:170
const std::string name
Name of the layer.
Definition: base_material.h:155
double get_EW() const
Get Equivalent Weight (grams of dry polymer electrolyte per moles of ) of the polymer electrolyte mat...
Definition: polymer_electrolyte_material_base.h:445
virtual double get_dHlambda_dT(const double &) const
Compute of sorbed water in the polymer electrolyte as a function of .
Definition: polymer_electrolyte_material_base.h:401
FuelCellShop::Material::WaterVapor * water_mat
Pointer to FuelCellShop::Material::WaterVapor object, dynamically allocated when the class is constru...
Definition: polymer_electrolyte_material_base.h:766
FuelCellShop::SolutionVariable lambda_var
Solution variable, membrane water content .
Definition: polymer_electrolyte_material_base.h:749
virtual void declare_parameters(ParameterHandler &param) const
Declare parameters for a parameter file.
Definition: polymer_electrolyte_material_base.h:576
FuelCellShop::SolutionVariable xwater_var
Solution variable, water vapor molar fraction .
Definition: polymer_electrolyte_material_base.h:759
VariableNames
The enumeration containing the names of some of the available FCST solution variables and their deriv...
Definition: system_management.h:63
double D_Protons
Diffusion coefficient of protons [cm^2/s], given in the parameter file.
Definition: polymer_electrolyte_material_base.h:706
This structure is used to encapsulate data from constant values and variable solution data that is us...
Definition: fcst_variables.h:86
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.
Definition: polymer_electrolyte_material_base.h:191
void set_water_molar_fraction(const FuelCellShop::SolutionVariable &x_in)
Set the solution variable, water vapor molar fraction .
Definition: polymer_electrolyte_material_base.h:523
virtual void oxygen_diffusivity(std::vector< double > &) const
Compute the oxygen diffusivity, [cm^2/s], inside the polymer electrolyte at every quadrature point in...
Definition: polymer_electrolyte_material_base.h:318
std::string method_electroosmotic_drag
Method/semi-empirical relation to compute Electro-osmotic drag.
Definition: polymer_electrolyte_material_base.h:730
virtual double get_d2Hlambda_dT2(const double &) const
Compute of sorbed water in the polymer electrolyte as a function of .
Definition: polymer_electrolyte_material_base.h:414
virtual void sorption_isotherm(std::vector< double > &) const
Compute the equilibrium water content, , inside the polymer electrolyte for vapor-equilibriated case...
Definition: polymer_electrolyte_material_base.h:139
double D_O2
Diffusion coefficient of oxygen [cm^2/s], given in the parameter file.
Definition: polymer_electrolyte_material_base.h:696
std::string method_diffusivity
Method/semi-empirical relation to compute water diffusivity.
Definition: polymer_electrolyte_material_base.h:725
virtual void water_diffusivity(std::vector< double > &) const
Compute the water diffusivity, [cm^2/s], inside the polymer electrolyte at every quadrature point in...
Definition: polymer_electrolyte_material_base.h:216
Definition: system_management.h:76
double get_density() const
Get the density [gm/cm^3] of the dry polymer electrolyte material.
Definition: polymer_electrolyte_material_base.h:427
Definition: system_management.h:73
virtual void oxygen_diffusivity(double &) const
Compute the oxygen diffusivity, [cm^2/s], inside the polymer electrolyte for constant case...
Definition: polymer_electrolyte_material_base.h:294
double get_H_H2() const
Get Henry&#39;s constant [Pa-cm^3/mol] for hydrogen dissolution in the polymer electrolyte.
Definition: polymer_electrolyte_material_base.h:439
virtual void initialize(ParameterHandler &param)
Initialize parameters.
Definition: polymer_electrolyte_material_base.h:587
void set_T(const double &Temp)
Specify the temperature [Kelvin] in the polymer electrolyte for isothermal case.
Definition: polymer_electrolyte_material_base.h:472
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...
Definition: polymer_electrolyte_material_base.h:153
virtual void sorption_enthalpy(std::vector< double > &) const
Compute the enthalpy of sorption [J/mol] of water, at all quadrature points in the cell...
Definition: polymer_electrolyte_material_base.h:357
std::map< std::string, FuelCellShop::Material::PolymerElectrolyteBase * > _mapFactory
This object is used to store all objects of type PolymerElectrolyteBase.
Definition: polymer_electrolyte_material_base.h:601
FCSTLogStream log
Object used to output data to file and, if file attached recorded to a file as well.
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.
Definition: polymer_electrolyte_material_base.h:229
double lambda
Membrane water content, for constant lambda case.
Definition: polymer_electrolyte_material_base.h:659
static _mapFactory * get_mapFactory()
Definition: polymer_electrolyte_material_base.h:609
std::string method_sorption
Method to compute equilibrium water content value from sorption isotherm.
Definition: polymer_electrolyte_material_base.h:720
This class implements the interface to compute the properties of a &quot;standard&quot; polymer electrolyte mem...
Definition: polymer_electrolyte_material_base.h:59
Definition: system_management.h:68
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...
Definition: polymer_electrolyte_material_base.h:370
PolymerElectrolyteBase(std::string name)
Constructor.
Definition: polymer_electrolyte_material_base.h:541
double sigma_p
Proton conductivity value [S/cm], given in the parameter file; used with &quot;Constant&quot; method...
Definition: polymer_electrolyte_material_base.h:668
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...
Definition: polymer_electrolyte_material_base.h:255
double EW
Equivalent weight.
Definition: polymer_electrolyte_material_base.h:634
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.
Definition: polymer_electrolyte_material_base.h:331
virtual ~PolymerElectrolyteBase()
Destructor.
Definition: polymer_electrolyte_material_base.h:567
void set_membrane_water_content(const FuelCellShop::SolutionVariable &l_in)
Set the solution variable, membrane water content .
Definition: polymer_electrolyte_material_base.h:490
virtual boost::shared_ptr< FuelCellShop::Material::PolymerElectrolyteBase > create_replica()
This member function is used to create an object of type PolymerElectrolyteBase.
Definition: polymer_electrolyte_material_base.h:622
PolymerElectrolyteBase()
Constructor.
Definition: polymer_electrolyte_material_base.h:554
void set_lambda(const double &L)
Specify the water content in the polymer electrolyte for constant lambda case.
Definition: polymer_electrolyte_material_base.h:480
void set_temperature(const FuelCellShop::SolutionVariable &T_in)
Set the solution variable, temperature [Kelvin].
Definition: polymer_electrolyte_material_base.h:506
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
static boost::shared_ptr< FuelCellShop::Material::PolymerElectrolyteBase > create_PolymerElectrolyte(ParameterHandler &param, std::string polymer_electrolyte_name)
Function called in create_CatalystLayer and used to select the appropriate PolymerElectrolyteBase chi...
Definition: polymer_electrolyte_material_base.h:100
double given_n_drag
Given electroosmotic drag value in the parameter file.
Definition: polymer_electrolyte_material_base.h:679
virtual void electroosmotic_drag(std::vector< double > &) const
Compute the electro-osmotic drag coefficient inside the polymer electrolyte at every quadrature point...
Definition: polymer_electrolyte_material_base.h:242
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...
Definition: polymer_electrolyte_material_base.h:281
static void declare_PolymerElectrolyte_parameters(ParameterHandler &param)
Function used to declare all the data necessary in the parameter files for all PolymerElectrolyteBase...
Definition: polymer_electrolyte_material_base.h:71
virtual double get_Hlambda(const double &) const
Compute the molar enthalpy, [J/mol] of sorbed water in the polymer electrolyte as a function of ...
Definition: polymer_electrolyte_material_base.h:388
virtual void proton_conductivity(double &) const
Compute the proton conductivity, [S/cm], inside the polymer electrolyte for constant case...
Definition: polymer_electrolyte_material_base.h:166
double rho_M
Dry polymer electrolyte density [gm/cm^3].
Definition: polymer_electrolyte_material_base.h:637
void set_p_t(const double &p_t)
Specify the total pressure in Pascals.
Definition: polymer_electrolyte_material_base.h:464
double given_enthalpy_sorption
Given enthalpy of sorption of water [J/mol] in the parameter file.
Definition: polymer_electrolyte_material_base.h:691
virtual void proton_diffusivity(double &) const
Compute the proton diffusivity, [cm^2/s], inside the polymer electrolyte for constant case...
Definition: polymer_electrolyte_material_base.h:344
double get_permittivity() const
Get permittivity of the polymer electrolyte material.
Definition: polymer_electrolyte_material_base.h:451
virtual void water_diffusivity(double &) const
Compute the water diffusivity, [cm^2/s], inside the polymer electrolyte for constant case...
Definition: polymer_electrolyte_material_base.h:204
Virtual class used to provide the interface for all material classes.
Definition: base_material.h:54
FuelCellShop::SolutionVariable T_var
Solution variable, temperature .
Definition: polymer_electrolyte_material_base.h:754
const bool is_initialized() const
Function to determine whether the structure is initialized or not.
Definition: fcst_variables.h:179
virtual void proton_conductivity(std::vector< double > &) const
Compute the proton conductivity, [S/cm], inside the polymer electrolyte, at every quadrature point i...
Definition: polymer_electrolyte_material_base.h:178
This class describes properties of pure WaterVapor.
Definition: PureGas.h:1134