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