17 #ifndef _FUELCELLSHOP__HO__PSD_H 
   18 #define _FUELCELLSHOP__HO__PSD_H 
   23 using namespace dealii;
 
   26 namespace FuelCellShop
 
  111             HOPSD (std::string name);
 
  122              void initialize ( ParameterHandler ¶m );
 
  128              void declare_parameters (ParameterHandler ¶m) 
const;
 
  137                  this->T_vector = T_in;
 
  147                  this->Capillary_pressure_vector = C_in;
 
  149                  critical_radius_is_initialized = 
false;
 
  150                  saturation_is_initialized = 
false;
 
  151                  critical_radius_computed.clear();
 
  152                  saturation_computed.clear();
 
  163                  get_critical_radius(critical_radius_computed);
 
  165                  critical_radius_is_initialized = 
true;
 
  176                  get_saturation(saturation_computed);
 
  178                  saturation_is_initialized = 
true;
 
  225             virtual  void get_saturation(std::vector<double>& S) 
const ;
 
  226             virtual  void get_derivative_saturation(std::vector<double>& ) 
const ;
 
  234             virtual  void get_global_saturated_permeability(
double& saturated_permeability) 
const ;
 
  235             virtual  void get_global_saturated_permeability(
const double,
double& ) 
const ;
 
  243             virtual  void get_pore_HO_liquid_saturated_permeability(std::vector<double>& saturated_HO_permeability) 
const ;
 
  245             virtual  void get_derivative_pore_HO_liquid_saturated_permeability(std::vector<double>& ) 
const ;
 
  247             virtual  void get_derivative_pore_HO_liquid_saturated_permeability(
const double porosity, 
const std::vector<double> S,
 
  248                                                                                const std::vector<double> ds_dp,
 
  249                                                                                std::vector<double>& ) 
const ;
 
  251             virtual  void get_pore_HO_liquid_saturated_permeability(
const double porosity, 
const std::vector<double> S,
 
  252                                                                     std::vector<double>& saturated_HO_permeability) 
const ;
 
  258             virtual  void get_relative_liquid_permeability(std::vector<double>& liquid_permeability) 
const ;
 
  260             virtual  void get_derivative_relative_liquid_permeability(std::vector<double>& ) 
const ;
 
  268             virtual  void get_pore_HO_gas_saturated_permeability(std::vector<double>& saturated_HO_permeability) 
const ;
 
  270             virtual void  get_pore_HO_gas_saturated_permeability(
const double porosity, 
const std::vector<double> S,
 
  271                                                                  std::vector<double>& saturated_HO_permeability) 
const ;
 
  277             virtual  void get_relative_gas_permeability(std::vector<double>& gas_permeability) 
const ;
 
  285             virtual  void get_liquid_gas_interfacial_surface(std::vector<double>& HO_liquid_gas_interfacial_surface_a) 
const ;
 
  287             virtual  void get_liquid_gas_interfacial_surface_withoutPb(std::vector<double>& HO_liquid_gas_interfacial_surface) 
const ;
 
  295             virtual  void get_derivative_liquid_gas_interfacial_surface_increment(std::vector<double>& ) 
const ;
 
  296             virtual  void get_derivative_liquid_gas_interfacial_surface(std::vector<double>& ) 
const ;
 
  304             virtual  void get_pore_HO_wetted_wall_surface_area(std::vector<double>& HO_wetted_wall_surface_area) 
const ;
 
  310             virtual  void get_wetted_wall_surface_area(std::vector<double>& wetted_wall_surface_area) 
const ;
 
  318             virtual  void get_pore_knudsen_radius_C2(std::vector<double>& knudsen_radius_C2) 
const ;
 
  326             virtual  void get_pore_knudsen_radius_C4(std::vector<double>& knudsen_radius_C4) 
const ;
 
  332             virtual  void get_knudsen_radius(std::vector<double>& knudsen_radius) 
const ;
 
  337             virtual  void get_diffusivity() 
const ;
 
  352             virtual  void get_critical_radius(std::vector<double>& dst) 
const;
 
  353             virtual void get_derivate_critical_radius(std::vector<double>& dst) 
const;
 
  354             virtual  void get_maximum_cross_sectional_areas(
double&) 
const;
 
  359             virtual void get_PSD_plot(
const std::vector<double> ,std::vector<double>&) 
const;
 
  372             virtual boost::shared_ptr<FuelCellShop::MicroScale::BasePSD <dim>> 
create_replica (
const std::string &psd_section_name)
 
static const std::string concrete_name
Concrete name used for objects of this class. 
Definition: PSD_HO.h:194
 
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_HO.h:372
 
std::vector< double > rHO_k
The r_k is the characteristic pore size of the distribution k. 
Definition: PSD_HO.h:401
 
Definition: system_management.h:78
 
Hydrophobic Pore Size Distribution. 
Definition: PSD_HO.h:91
 
std::vector< double > critical_radius_computed
Critical_radius_computed by the get_critical_radius function. 
Definition: PSD_HO.h:424
 
std::vector< double > sHO_k
The s_k is the spread of the distribution k. 
Definition: PSD_HO.h:406
 
VariableNames get_variablename() const 
Function to get the VariableNames enumeration corresponding to this struct. 
Definition: fcst_variables.h:170
 
void set_saturation()
Member function used to set the saturation at every quadrature point inside the cell. 
Definition: PSD_HO.h:174
 
This structure is used to encapsulate data from constant values and variable solution data that is us...
Definition: fcst_variables.h:86
 
bool critical_radius_is_initialized
Check if the critical radius has already been computed by set_critical_radius function. 
Definition: PSD_HO.h:431
 
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_HO.h:144
 
static HOPSD< dim > const * PROTOTYPE
PROTOTYPE is the pointer is the dynamic pointer pointing to the HOPSD class itself. 
Definition: PSD_HO.h:383
 
double contact_angle_HO
Definition: PSD_HO.h:408
 
void set_temperature(const SolutionVariable &T_in)
Member function used to set the temperature [Kelvin] at every quadrature point inside the cell...
Definition: PSD_HO.h:134
 
SolutionVariable Capillary_pressure_vector
Capillary pressure at every quadrature point inside the cell. 
Definition: PSD_HO.h:416
 
Definition: system_management.h:76
 
SolutionVariable T_vector
Temperature at every quadrature point inside the cell. 
Definition: PSD_HO.h:412
 
std::vector< double > saturation_computed
Saturation_computed by the get_critical_radius function. 
Definition: PSD_HO.h:434
 
void set_critical_radius()
Member function used to set the critical radius [nm] at every quadrature point inside the cell...
Definition: PSD_HO.h:161
 
bool saturation_is_initialized
Check if the saturation has already been computed by set_saturation function. 
Definition: PSD_HO.h:440
 
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_HO.h:211
 
Pore Size Distribution. 
Definition: PSD_base.h:129
 
std::vector< double > fHO_k
The f_k is the contribution of the log-normal distribution k to the total PSD. 
Definition: PSD_HO.h:396
 
double pressure_c
Constant capillary pressure only for unit_test use. 
Definition: PSD_HO.h:420