17 #ifndef _FUELCELLSHOP__HO__PSD_H
18 #define _FUELCELLSHOP__HO__PSD_H
21 #include <base/parameter_handler.h>
22 #include <base/point.h>
23 #include <base/function.h>
24 #include <lac/vector.h>
25 #include <fe/fe_values.h>
38 using namespace dealii;
41 namespace FuelCellShop
126 HOPSD (std::string name);
137 void initialize ( ParameterHandler ¶m );
143 void declare_parameters (ParameterHandler ¶m)
const;
152 this->T_vector = T_in;
162 this->Capillary_pressure_vector = C_in;
164 critical_radius_is_initialized =
false;
165 saturation_is_initialized =
false;
166 critical_radius_computed.clear();
167 saturation_computed.clear();
178 get_critical_radius(critical_radius_computed);
180 critical_radius_is_initialized =
true;
191 get_saturation(saturation_computed);
193 saturation_is_initialized =
true;
222 virtual void get_saturation(std::vector<double>& S)
const ;
230 virtual void get_global_saturated_permeability(
double& saturated_permeability)
const ;
239 virtual void get_pore_HO_liquid_saturated_permeability(std::vector<double>& saturated_HO_permeability)
const ;
245 virtual void get_relative_liquid_permeability(std::vector<double>& liquid_permeability)
const ;
253 virtual void get_pore_HO_gas_saturated_permeability(std::vector<double>& saturated_HO_permeability)
const ;
259 virtual void get_relative_gas_permeability(std::vector<double>& gas_permeability)
const ;
267 virtual void get_liquid_gas_interfacial_surface(std::vector<double>& HO_liquid_gas_interfacial_surface)
const ;
275 virtual void get_pore_HO_wetted_wall_surface_area(std::vector<double>& HO_wetted_wall_surface_area)
const ;
281 virtual void get_wetted_wall_surface_area(std::vector<double>& wetted_wall_surface_area)
const ;
289 virtual void get_pore_knudsen_radius_C2(std::vector<double>& knudsen_radius_C2)
const ;
297 virtual void get_pore_knudsen_radius_C4(std::vector<double>& knudsen_radius_C4)
const ;
303 virtual void get_knudsen_radius(std::vector<double>& knudsen_radius)
const ;
308 virtual void get_diffusivity()
const ;
323 virtual void get_critical_radius(std::vector<double>& dst)
const;
325 virtual const double get_maximum_cross_sectional_areas()
const;
339 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:209
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:339
std::vector< double > rHO_k
The r_k is the characteristic pore size of the distribution k.
Definition: PSD_HO.h:368
Definition: system_management.h:77
Hydrophobic Pore Size Distribution.
Definition: PSD_HO.h:106
std::vector< double > critical_radius_computed
Critical_radius_computed by the get_critical_radius function.
Definition: PSD_HO.h:389
std::vector< double > sHO_k
The s_k is the spread of the distribution k.
Definition: PSD_HO.h:373
VariableNames get_variablename() const
Function to get the VariableNames enumeration corresponding to this struct.
Definition: fcst_variables.h:163
void set_saturation()
Member function used to set the saturation at every quadrature point inside the cell.
Definition: PSD_HO.h:189
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:396
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:159
static HOPSD< dim > const * PROTOTYPE
PROTOTYPE is the pointer is the dynamic pointer pointing to the HOPSD class itself.
Definition: PSD_HO.h:350
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:149
SolutionVariable Capillary_pressure_vector
Capillary pressure at every quadrature point inside the cell.
Definition: PSD_HO.h:381
Definition: system_management.h:75
SolutionVariable T_vector
Temperature at every quadrature point inside the cell.
Definition: PSD_HO.h:377
std::vector< double > saturation_computed
Saturation_computed by the get_critical_radius function.
Definition: PSD_HO.h:399
void set_critical_radius()
Member function used to set the critical radius [nm] at every quadrature point inside the cell...
Definition: PSD_HO.h:176
bool saturation_is_initialized
Check if the saturation has already been computed by set_saturation function.
Definition: PSD_HO.h:405
Pore Size Distribution.
Definition: PSD_base.h:130
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:363
double pressure_c
Constant capillary pressure only for unit_test use.
Definition: PSD_HO.h:385