17 #ifndef _FUELCELLSHOP__DUAL__PSD_H
18 #define _FUELCELLSHOP__DUAL__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>
42 using namespace dealii;
44 namespace FuelCellShop
138 void declare_parameters (ParameterHandler ¶m)
const;
143 void initialize (ParameterHandler ¶m );
152 this->T_vector = T_in;
162 this->Capillary_pressure_vector = C_in;
164 psd_hi->set_capillary_pressure(C_in);
165 psd_ho->set_capillary_pressure(C_in);
176 psd_hi->set_critical_radius();
177 psd_ho->set_critical_radius();
189 psd_hi->set_saturation();
190 psd_ho->set_saturation();
226 virtual void get_saturation(std::vector<double>& S)
const ;
234 virtual void get_global_saturated_permeability(
double& saturated_permeability)
const ;
242 virtual void get_relative_liquid_permeability(std::vector<double>& liquid_permeability)
const ;
250 virtual void get_relative_gas_permeability(std::vector<double>& gas_permeability)
const ;
258 virtual void get_liquid_gas_interfacial_surface(std::vector<double>& liquid_gas_interfacial_surface)
const ;
266 virtual void get_wetted_wall_surface_area(std::vector<double>& wetted_wall_surface_area)
const ;
274 virtual void get_knudsen_radius(std::vector<double>& knudsen_radius)
const ;
279 virtual void get_diffusivity()
const ;
289 virtual const double get_critical_radius(
double& p_c)
const;
299 virtual void get_critical_radius(std::vector<double>& dst)
const;
312 virtual boost::shared_ptr<FuelCellShop::MicroScale::BasePSD<dim> >
create_replica (
const std::string &psd_section_name)
Definition: system_management.h:77
Hydrophobic Pore Size Distribution.
Definition: PSD_HO.h:106
VariableNames get_variablename() const
Function to get the VariableNames enumeration corresponding to this struct.
Definition: fcst_variables.h:163
SolutionVariable Capillary_pressure_vector
Capillary pressure at every quadrature point inside the cell.
Definition: PSD_dual.h:345
static const std::string concrete_name
Concrete name used for objects of this class.
Definition: PSD_dual.h:211
This structure is used to encapsulate data from constant values and variable solution data that is us...
Definition: fcst_variables.h:86
HOPSD< dim > * psd_ho
Creating a pointer of PSD hydrophobic class.
Definition: PSD_dual.h:339
Definition: system_management.h:75
SolutionVariable T_vector
Temperature at every quadrature point inside the cell.
Definition: PSD_dual.h:342
void set_critical_radius()
Member function used to set the critical radius [nm] at every quadrature point inside the cell...
Definition: PSD_dual.h:174
Hydrophilic Pore Size Distribution.
Definition: PSD_HI.h:105
HIPSD< dim > * psd_hi
Creating a pointer of PSD hydrophilic class.
Definition: PSD_dual.h:335
void set_temperature(const SolutionVariable &T_in)
Member function used to set the temperature [Kelvin] at every quadrature point inside the cell...
Definition: PSD_dual.h:149
Dual Pore Size Distribution.
Definition: PSD_dual.h:114
Pore Size Distribution.
Definition: PSD_base.h:130
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_dual.h:312
static DualPSD< dim > const * PROTOTYPE
PROTOTYPE is the pointer is the dynamic pointer pointing to the DualPSD class itself.
Definition: PSD_dual.h:323
void set_saturation()
Member function used to set the saturation at every quadrature point inside the cell.
Definition: PSD_dual.h:187
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_dual.h:159