17 #ifndef _FUELCELLSHOP__DESIGN_FIBROUS_GDL_H
18 #define _FUELCELLSHOP__DESIGN_FIBROUS_GDL_H
23 using namespace dealii;
25 namespace FuelCellShop
77 virtual void initialize (ParameterHandler ¶m);
88 virtual void effective_gas_diffusivity(
const double&,
const double&,
double&)
const;
94 virtual void effective_gas_diffusivity(
const double&,
const double&, Tensor<2,dim>&)
const;
104 virtual void effective_gas_diffusivity(std::vector< Tensor<2,dim> >& )
const;
114 virtual void derivative_effective_gas_diffusivity(std::map<
VariableNames, std::vector< Tensor<2,dim> > >&)
const;
120 virtual void effective_gas_diffusivity(Table< 2, Tensor<2,dim> > &D_eff)
const;
125 virtual void effective_electron_conductivity(
double&)
const;
130 virtual void effective_electron_conductivity(Tensor<2,dim>&)
const;
140 virtual void effective_thermal_conductivity(std::vector< Tensor<2,dim> >&)
const;
144 virtual void derivative_effective_thermal_conductivity(std::vector< Tensor<2,dim> >&)
const;
149 virtual void liquid_permeablity(std::vector< Tensor<2,dim> >& )
const;
155 virtual void derivative_liquid_permeablity(std::map<
VariableNames, std::vector< Tensor<2,dim> > >& )
const;
161 virtual void saturated_liquid_permeablity_PSD(
double&)
const;
162 virtual void relative_liquid_permeability_PSD(std::vector< Tensor<2,dim> >&)
const;
163 virtual void derivative_relative_liquid_permeablity_PSD(std::vector< double >&)
const;
165 virtual void derivative_relative_liquid_permeablity_PSD(std::map<
VariableNames, std::vector< Tensor<2,dim> > >&)
const;
170 virtual void pcapillary(std::vector<double>&)
const;
171 virtual void saturation_from_capillary_equation(std::vector<double>&)
const;
173 virtual void derivative_saturation_from_capillary_equation_PSD(std::vector<double>&)
const;
177 virtual void dpcapillary_dsat(std::vector<double> &)
const;
183 virtual void derivative_dpcapillary_dsat(std::map<
VariableNames, std::vector<double> > &)
const;
189 virtual void interfacial_surface_area(std::vector<double>&)
const;
195 virtual void derivative_interfacial_surface_area(std::map<
VariableNames, std::vector<double> >&)
const;
201 virtual void interfacial_surface_area_PSD(std::vector<double>&)
const;
207 virtual void derivative_interfacial_surface_area_PSD(std::vector<double>&)
const;
208 virtual void derivative_interfacial_surface_area_PSD(std::map<
VariableNames, std::vector<double> >&)
const;
267 virtual void declare_parameters (
const std::string& name,
268 ParameterHandler ¶m)
const;
278 virtual boost::shared_ptr<FuelCellShop::Layer::GasDiffusionLayer<dim> >
create_replica (
const std::string &name)
double PTFE_loading
PTFE loading (% wt) in the GDL.
Definition: design_fibrous_GDL.h:332
static DesignFibrousGDL< dim > const * PROTOTYPE
Prototype declaration.
Definition: design_fibrous_GDL.h:346
std::vector< double > sigma_e
"Bulk" electrical conductivity [S/cm] of the solid material.
Definition: design_fibrous_GDL.h:319
double s_irr
Irreducible liquid water saturation value in the GDL.
Definition: design_fibrous_GDL.h:301
Virtual class used to provide the interface for all GasDiffusionLayer children.
Definition: gas_diffusion_layer.h:105
VariableNames
The enumeration containing the names of some of the available FCST solution variables and their deriv...
Definition: system_management.h:63
bool anisotropy
Boolean flag corresponding to anisotropy.
Definition: design_fibrous_GDL.h:304
virtual boost::shared_ptr< FuelCellShop::Layer::GasDiffusionLayer< dim > > create_replica(const std::string &name)
This member function is used to create an object of type gas diffusion layer.
Definition: design_fibrous_GDL.h:278
std::vector< double > porosity_mu
Network constant.
Definition: design_fibrous_GDL.h:309
std::string method_rel_liquid_permeability
Method used to compute the relative liquid permeability.
Definition: design_fibrous_GDL.h:299
static const std::string concrete_name
Concrete name used for objects of this class.
Definition: design_fibrous_GDL.h:58
std::string method_eff_property_solid
Method used to compute the effective properties in the solid.
Definition: design_fibrous_GDL.h:294
std::vector< double > k_thermal
"Given" thermal conductivity [W/(cm-K)] of the layer.
Definition: design_fibrous_GDL.h:322
double porosity
Porosity of the GDL.
Definition: design_fibrous_GDL.h:288
double solid_phase
Volume fraction of solid phase, i.e.
Definition: design_fibrous_GDL.h:290
std::string method_eff_property_pores
Method used to compute the effective properties in the pores.
Definition: design_fibrous_GDL.h:292
This class defines a GDL made of fibres.
Definition: design_fibrous_GDL.h:38
std::vector< double > porosity_th
Porosity of the GDL threshold.
Definition: design_fibrous_GDL.h:307
std::vector< double > solid_mu
Solid network constant.
Definition: design_fibrous_GDL.h:316
std::string method_capillary_function
Method used to compute capillary pressure as a function of saturation.
Definition: design_fibrous_GDL.h:328
double compaction_pressure
GDL Compaction pressure, .
Definition: design_fibrous_GDL.h:330
std::vector< double > abs_permeability
Absolute permeability [cm^2] of the layer.
Definition: design_fibrous_GDL.h:325
std::vector< double > solid_th
Solid network of the GDL threshold.
Definition: design_fibrous_GDL.h:314
double kumbur_factor
Factor calculated based on Kumbur et al (2007), to be used in capillary pressure computation, given as: .
Definition: design_fibrous_GDL.h:337
std::string method_eff_property_thermal
Method used to compute the effective thermal properties.
Definition: design_fibrous_GDL.h:296
std::vector< double > porosity_gamma
Network constant gamma.
Definition: design_fibrous_GDL.h:311