17 #ifndef _FUELCELLSHOP__HI__PSD_H 
   18 #define _FUELCELLSHOP__HI__PSD_H 
   23 using namespace dealii;
 
   25 namespace FuelCellShop
 
  108             HIPSD (std::string name);
 
  118             void declare_parameters (ParameterHandler ¶m) 
const;
 
  124             void initialize ( ParameterHandler ¶m);
 
  133                 this->T_vector = T_in;
 
  143                 this->Capillary_pressure_vector = C_in;
 
  145                 critical_radius_is_initialized = 
false;
 
  146                 saturation_is_initialized = 
false;
 
  147                 critical_radius_computed.clear();
 
  148                 saturation_computed.clear();
 
  160                 get_critical_radius(critical_radius_computed);
 
  162                 critical_radius_is_initialized = 
true;
 
  173                 this->get_saturation(saturation_computed);
 
  175                 saturation_is_initialized = 
true;
 
  223             virtual  void get_saturation(std::vector<double>& S) 
const ;
 
  224             virtual  void get_derivative_saturation(std::vector<double>& S) 
const ;
 
  231             virtual  void get_global_saturated_permeability(
double& saturated_permeability) 
const ;
 
  232             virtual  void get_global_saturated_permeability(
const double,
double& ) 
const ;
 
  239             virtual  void get_pore_HI_liquid_saturated_permeability(std::vector<double>& ) 
const ;
 
  241             virtual  void get_derivative_pore_HI_liquid_saturated_permeability(std::vector<double>& ) 
const ;
 
  243             virtual  void get_derivative_pore_HI_liquid_saturated_permeability(
const double porosity, 
const std::vector<double> S,
 
  244                                                                                const std::vector<double> ds_dp,
 
  245                                                                                std::vector<double>& ) 
const ;
 
  248             virtual void  get_pore_HI_liquid_saturated_permeability(
const double porosity, 
const std::vector<double> S,
 
  249                                                                     std::vector<double>& saturated_HI_permeability) 
const ;
 
  255             virtual  void get_relative_liquid_permeability(std::vector<double>& liquid_permeability) 
const ;
 
  256             virtual  void get_derivative_relative_liquid_permeability(std::vector<double>& ) 
const ;
 
  263             virtual  void get_pore_HI_gas_saturated_permeability(std::vector<double>& saturated_HI_permeability) 
const ;
 
  265             virtual void  get_pore_HI_gas_saturated_permeability(
const double porosity, 
const std::vector<double> S,
 
  266                                                                  std::vector<double>& saturated_HI_permeability) 
const ;
 
  272             virtual  void get_relative_gas_permeability(std::vector<double>& gas_permeability) 
const ;
 
  280             virtual  void get_liquid_gas_interfacial_surface(std::vector<double>& HI_liquid_gas_interfacial_surface_a) 
const ;
 
  282             virtual  void get_liquid_gas_interfacial_surface_withoutPb(std::vector<double>& HI_liquid_gas_interfacial_surface) 
const ;
 
  290             virtual  void get_derivative_liquid_gas_interfacial_surface(std::vector<double>& ) 
const ;
 
  292             virtual  void get_derivative_liquid_gas_interfacial_surface_increment(std::vector<double>& ) 
const ;
 
  299             virtual  void get_pore_HI_wetted_wall_surface_area(std::vector<double>& HI_wetted_wall_surface_area) 
const ;
 
  305             virtual  void get_wetted_wall_surface_area(std::vector<double>& wetted_wall_surface_area) 
const ;
 
  314             virtual  void get_pore_knudsen_radius_C1(std::vector<double>& knudsen_radius_C1) 
const ;
 
  322             virtual  void get_pore_knudsen_radius_C3(std::vector<double>& knudsen_radius_C3) 
const ;
 
  328             virtual  void get_knudsen_radius(std::vector<double>& knudsen_radius) 
const ;
 
  333             virtual  void get_diffusivity() 
const ;
 
  348             virtual void get_critical_radius(std::vector<double>& dst) 
const;
 
  349             virtual void get_derivate_critical_radius(std::vector<double>& dst) 
const;
 
  350             virtual void get_maximum_cross_sectional_areas(
double&) 
const;
 
  354             virtual void get_PSD_plot(
const std::vector<double> ,std::vector<double>&) 
const;
 
  365             virtual boost::shared_ptr<FuelCellShop::MicroScale::BasePSD <dim>> 
create_replica (
const std::string &psd_section_name)
 
double contact_angle_HI
Definition: PSD_HI.h:400
 
Definition: system_management.h:78
 
virtual boost::shared_ptr< FuelCellShop::MicroScale::BasePSD< dim > > create_replica(const std::string &psd_section_name)
This member function is used to create an object of type psd. 
Definition: PSD_HI.h:365
 
const std::type_info & get_base_type() const 
This member function returns a type_info object with the name of the base layer type the inherited cl...
Definition: PSD_HI.h:209
 
void set_capillary_pressure(const SolutionVariable &C_in)
Member function used to set the capillary pressure [psi] at every quadrature point inside the cell...
Definition: PSD_HI.h:140
 
static HIPSD< dim > const * PROTOTYPE
PROTOTYPE is the pointer is the dynamic pointer pointing to the HIPSD class itself. 
Definition: PSD_HI.h:375
 
VariableNames get_variablename() const 
Function to get the VariableNames enumeration corresponding to this struct. 
Definition: fcst_variables.h:170
 
static const std::string concrete_name
Concrete name used for objects of this class. 
Definition: PSD_HI.h:190
 
This structure is used to encapsulate data from constant values and variable solution data that is us...
Definition: fcst_variables.h:86
 
std::vector< double > rHI_k
The r_k is the characteristic pore size of the distribution k. 
Definition: PSD_HI.h:393
 
std::vector< double > saturation_computed
Saturation_computed by the get_critical_radius function. 
Definition: PSD_HI.h:426
 
void set_saturation()
Member function used to set the saturation at every quadrature point inside the cell. 
Definition: PSD_HI.h:171
 
Definition: system_management.h:76
 
std::vector< double > critical_radius_computed
Critical_radius_computed by the get_critical_radius function. 
Definition: PSD_HI.h:416
 
bool critical_radius_is_initialized
Check if the critical radius has already been computed by set_critical_radius function. 
Definition: PSD_HI.h:423
 
void set_temperature(const SolutionVariable &T_in)
Member function used to set the temperature [Kelvin] at every quadrature point inside the cell...
Definition: PSD_HI.h:130
 
bool saturation_is_initialized
Check if the saturation has already been computed by set_saturation function. 
Definition: PSD_HI.h:432
 
std::vector< double > sHI_k
The s_k is the spread of the distribution k. 
Definition: PSD_HI.h:398
 
virtual ~HIPSD()
Destructor. 
Definition: PSD_HI.h:113
 
SolutionVariable T_vector
Temperature at every quadrature point inside the cell. 
Definition: PSD_HI.h:405
 
Hydrophilic Pore Size Distribution. 
Definition: PSD_HI.h:89
 
std::vector< double > fHI_k
The f_k is the contribution of the log-normal distribution k to the total PSD. 
Definition: PSD_HI.h:388
 
SolutionVariable Capillary_pressure_vector
Capillary pressure at every quadrature point inside the cell. 
Definition: PSD_HI.h:409
 
Pore Size Distribution. 
Definition: PSD_base.h:129
 
double pressure_c
Constant capillary pressure only for unit_test use. 
Definition: PSD_HI.h:412
 
void set_critical_radius()
Member function used to set the critical radius [nm] at every quadrature point inside the cell...
Definition: PSD_HI.h:158