OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | List of all members
FuelCellShop::Mixture::BinaryDiffusion Class Referenceabstract

BinaryDiffusion as an abstract class. More...

#include <BinaryDiffusion.h>

Inheritance diagram for FuelCellShop::Mixture::BinaryDiffusion:
Inheritance graph
[legend]
Collaboration diagram for FuelCellShop::Mixture::BinaryDiffusion:
Collaboration graph
[legend]

Public Member Functions

 BinaryDiffusion ()
 
 BinaryDiffusion (FuelCellShop::Material::PureGas &species1, FuelCellShop::Material::PureGas &species2)
 
virtual ~BinaryDiffusion ()
 
virtual char * get_name ()=0
 
virtual char * get_description ()=0
 
virtual enDiffusionModelID get_ID ()=0
 
virtual void compute_diffusion (double &D)=0
 Comupute the diffusion coefficient [in m^2/s] at a given temperature [K] and pressure [atm].
 
virtual void compute_diffusion (std::vector< double > &D_vec)=0
 Compute a vector of diffusion coefficients [in m^2/s] for a non-isothermal, isobaric case.
 
virtual double compute_diffusion (const double &T, const double &p)=0
 
virtual void compute_diffusion (double &D, std::vector< double > &dD)=0
 
virtual void compute_diffusion (const double &T, const double &p, double &D, std::vector< double > &dD)=0
 
virtual void compute_dD (std::vector< double > &dD)=0
 
virtual double compute_dD_dP (const double &T, const double &p)=0
 
virtual double compute_dD_dT (const double &T, const double &p)=0
 
virtual void compute_dD_dT (std::vector< double > &dD_dT_vec)=0
 Method to compute derivative of diffusion coefficient with respect to temperature [in m^2/(s-K)] for a non-isothermal, isobaric case, at all quadrature points of the cell.
 
void set_T_and_p (const double &T, const double &p)
 Method used to set temperature (T) and pressure (p) for diffusion coefficient computation.
 
void set_p (const double &p_atm)
 Method to set pressure (p) for isobaric diffusion coefficient case.
 
void set_temperature (const FuelCellShop::SolutionVariable &T_vec)
 Method to set a vector of temperatures (T) for nonisothermal diffusion coefficient computation.
 
void set_species (FuelCellShop::Material::PureGas &species1, FuelCellShop::Material::PureGas &species2)
 
virtual void scan ()
 
virtual void report ()
 
virtual void report2file (char *filename)
 

Protected Attributes

FuelCellShop::Material::PureGasspecies1
 
FuelCellShop::Material::PureGasspecies2
 
double T
 Temperature [in K] used to compute the diffusion coefficient, unless specified as an input to the member function.
 
double p
 Pressure [in atm] used to compute the diffusion coefficient, unless specified as an input to the member function.
 
FuelCellShop::SolutionVariable T_vector
 Temperature [in K] used to compute the diffusion coefficient.
 

Detailed Description

BinaryDiffusion as an abstract class.

Constructor & Destructor Documentation

FuelCellShop::Mixture::BinaryDiffusion::BinaryDiffusion ( )
FuelCellShop::Mixture::BinaryDiffusion::BinaryDiffusion ( FuelCellShop::Material::PureGas species1,
FuelCellShop::Material::PureGas species2 
)
virtual FuelCellShop::Mixture::BinaryDiffusion::~BinaryDiffusion ( )
virtual

Member Function Documentation

virtual void FuelCellShop::Mixture::BinaryDiffusion::compute_dD ( std::vector< double > &  dD)
pure virtual
virtual double FuelCellShop::Mixture::BinaryDiffusion::compute_dD_dP ( const double &  T,
const double &  p 
)
pure virtual
virtual double FuelCellShop::Mixture::BinaryDiffusion::compute_dD_dT ( const double &  T,
const double &  p 
)
pure virtual
virtual void FuelCellShop::Mixture::BinaryDiffusion::compute_dD_dT ( std::vector< double > &  dD_dT_vec)
pure virtual

Method to compute derivative of diffusion coefficient with respect to temperature [in m^2/(s-K)] for a non-isothermal, isobaric case, at all quadrature points of the cell.

To specify temperatures, use the member function #set_T_vector and to specify pressure, use the member function set_p. The given temperatures and pressure should be in Kelvin and atmospheres.

Implemented in FuelCellShop::Mixture::ChapmanEnskog.

virtual void FuelCellShop::Mixture::BinaryDiffusion::compute_diffusion ( double &  D)
pure virtual

Comupute the diffusion coefficient [in m^2/s] at a given temperature [K] and pressure [atm].

To specify tempertaure and pressure use the member function set_T_and_p(). The given temperature and pressure should be in Kelvin and atmospheres.

Implemented in FuelCellShop::Mixture::FerrellHimmelblau, FuelCellShop::Mixture::HanBartelsInterpolation, FuelCellShop::Mixture::WilkeChang, and FuelCellShop::Mixture::ChapmanEnskog.

virtual void FuelCellShop::Mixture::BinaryDiffusion::compute_diffusion ( std::vector< double > &  D_vec)
pure virtual

Compute a vector of diffusion coefficients [in m^2/s] for a non-isothermal, isobaric case.

To specify temperatures, use the member function #set_T_vector and to specify pressure, use the member function set_p. The given temperatures and pressure should be in Kelvin and atmospheres.

Implemented in FuelCellShop::Mixture::ChapmanEnskog.

virtual double FuelCellShop::Mixture::BinaryDiffusion::compute_diffusion ( const double &  T,
const double &  p 
)
pure virtual
virtual void FuelCellShop::Mixture::BinaryDiffusion::compute_diffusion ( double &  D,
std::vector< double > &  dD 
)
pure virtual
virtual void FuelCellShop::Mixture::BinaryDiffusion::compute_diffusion ( const double &  T,
const double &  p,
double &  D,
std::vector< double > &  dD 
)
pure virtual
virtual char* FuelCellShop::Mixture::BinaryDiffusion::get_description ( )
pure virtual
virtual enDiffusionModelID FuelCellShop::Mixture::BinaryDiffusion::get_ID ( )
pure virtual
virtual char* FuelCellShop::Mixture::BinaryDiffusion::get_name ( )
pure virtual
virtual void FuelCellShop::Mixture::BinaryDiffusion::report ( )
virtual
virtual void FuelCellShop::Mixture::BinaryDiffusion::report2file ( char *  filename)
virtual
virtual void FuelCellShop::Mixture::BinaryDiffusion::scan ( )
virtual
void FuelCellShop::Mixture::BinaryDiffusion::set_p ( const double &  p_atm)

Method to set pressure (p) for isobaric diffusion coefficient case.

Unit for p: atmospheres (atm)

void FuelCellShop::Mixture::BinaryDiffusion::set_species ( FuelCellShop::Material::PureGas species1,
FuelCellShop::Material::PureGas species2 
)
void FuelCellShop::Mixture::BinaryDiffusion::set_T_and_p ( const double &  T,
const double &  p 
)

Method used to set temperature (T) and pressure (p) for diffusion coefficient computation.

  • Unit for T: Kelvin (K)
  • Unit for p: atmospheres (atm)
void FuelCellShop::Mixture::BinaryDiffusion::set_temperature ( const FuelCellShop::SolutionVariable T_vec)

Method to set a vector of temperatures (T) for nonisothermal diffusion coefficient computation.

  • Unit for T: Kelvin (K)

Member Data Documentation

double FuelCellShop::Mixture::BinaryDiffusion::p
protected

Pressure [in atm] used to compute the diffusion coefficient, unless specified as an input to the member function.

FuelCellShop::Material::PureGas* FuelCellShop::Mixture::BinaryDiffusion::species1
protected
FuelCellShop::Material::PureGas * FuelCellShop::Mixture::BinaryDiffusion::species2
protected
double FuelCellShop::Mixture::BinaryDiffusion::T
protected

Temperature [in K] used to compute the diffusion coefficient, unless specified as an input to the member function.

FuelCellShop::SolutionVariable FuelCellShop::Mixture::BinaryDiffusion::T_vector
protected

Temperature [in K] used to compute the diffusion coefficient.

This container is used in the case of nonisothermal applications. This container is filled using set_temperature method.


The documentation for this class was generated from the following file: