17 #ifndef _FUELCELLSHOP__HI__PSD_H
18 #define _FUELCELLSHOP__HI__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;
40 namespace FuelCellShop
124 HIPSD (std::string name);
134 void declare_parameters (ParameterHandler ¶m)
const;
140 void initialize ( ParameterHandler ¶m);
149 this->T_vector = T_in;
159 this->Capillary_pressure_vector = C_in;
161 critical_radius_is_initialized =
false;
162 saturation_is_initialized =
false;
163 critical_radius_computed.clear();
164 saturation_computed.clear();
176 get_critical_radius(critical_radius_computed);
178 critical_radius_is_initialized =
true;
189 get_saturation(saturation_computed);
191 saturation_is_initialized =
true;
221 virtual void get_saturation(std::vector<double>& S)
const ;
229 virtual void get_global_saturated_permeability(
double& saturated_permeability)
const ;
237 virtual void get_pore_HI_liquid_saturated_permeability(std::vector<double>& liquid_permeability)
const ;
243 virtual void get_relative_liquid_permeability(std::vector<double>& liquid_permeability)
const ;
251 virtual void get_pore_HI_gas_saturated_permeability(std::vector<double>& saturated_HI_permeability)
const ;
257 virtual void get_relative_gas_permeability(std::vector<double>& gas_permeability)
const ;
265 virtual void get_liquid_gas_interfacial_surface(std::vector<double>& HI_liquid_gas_interfacial_surface)
const ;
272 virtual void get_pore_HI_wetted_wall_surface_area(std::vector<double>& HI_wetted_wall_surface_area)
const ;
278 virtual void get_wetted_wall_surface_area(std::vector<double>& wetted_wall_surface_area)
const ;
287 virtual void get_pore_knudsen_radius_C1(std::vector<double>& knudsen_radius_C1)
const ;
295 virtual void get_pore_knudsen_radius_C3(std::vector<double>& knudsen_radius_C3)
const ;
301 virtual void get_knudsen_radius(std::vector<double>& knudsen_radius)
const ;
306 virtual void get_diffusivity()
const ;
321 virtual void get_critical_radius(std::vector<double>& dst)
const;
323 virtual const double get_maximum_cross_sectional_areas()
const;
334 virtual boost::shared_ptr<FuelCellShop::MicroScale::BasePSD <dim>>
create_replica (
const std::string &psd_section_name)
Definition: system_management.h:77
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:334
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:156
static HIPSD< dim > const * PROTOTYPE
PROTOTYPE is the pointer is the dynamic pointer pointing to the HIPSD class itself.
Definition: PSD_HI.h:344
VariableNames get_variablename() const
Function to get the VariableNames enumeration corresponding to this struct.
Definition: fcst_variables.h:163
static const std::string concrete_name
Concrete name used for objects of this class.
Definition: PSD_HI.h:206
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:362
std::vector< double > saturation_computed
Saturation_computed by the get_critical_radius function.
Definition: PSD_HI.h:392
void set_saturation()
Member function used to set the saturation at every quadrature point inside the cell.
Definition: PSD_HI.h:187
Definition: system_management.h:75
std::vector< double > critical_radius_computed
Critical_radius_computed by the get_critical_radius function.
Definition: PSD_HI.h:382
bool critical_radius_is_initialized
Check if the critical radius has already been computed by set_critical_radius function.
Definition: PSD_HI.h:389
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:146
bool saturation_is_initialized
Check if the saturation has already been computed by set_saturation function.
Definition: PSD_HI.h:398
std::vector< double > sHI_k
The s_k is the spread of the distribution k.
Definition: PSD_HI.h:367
SolutionVariable T_vector
Temperature at every quadrature point inside the cell.
Definition: PSD_HI.h:371
Hydrophilic Pore Size Distribution.
Definition: PSD_HI.h:105
~HIPSD()
Destructor.
Definition: PSD_HI.h:129
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:357
SolutionVariable Capillary_pressure_vector
Capillary pressure at every quadrature point inside the cell.
Definition: PSD_HI.h:375
Pore Size Distribution.
Definition: PSD_base.h:130
double pressure_c
Constant capillary pressure only for unit_test use.
Definition: PSD_HI.h:378
void set_critical_radius()
Member function used to set the critical radius [nm] at every quadrature point inside the cell...
Definition: PSD_HI.h:174