17 #ifndef _FUELCELLSHOP__POSTPROCESSING__DATAOUT_H
18 #define _FUELCELLSHOP__POSTPROCESSING__DATAOUT_H
21 #include <deal.II/numerics/data_out.h>
24 #include <boost/shared_ptr.hpp>
39 using namespace dealii;
41 namespace FuelCellShop
50 namespace PostProcessing
94 public dealii::DataPostprocessor<dim>
116 virtual std::vector<std::string> get_names()
const;
121 virtual std::vector<DataComponentInterpretation::DataComponentInterpretation> get_data_component_interpretation ()
const;
126 virtual UpdateFlags get_needed_update_flags()
const;
134 oxygen_density_name = name;
150 virtual void compute_derived_quantities_vector (
const std::vector< Vector< double > > &uh,
151 const std::vector< std::vector< Tensor< 1, dim > > > & ,
152 const std::vector< std::vector< Tensor< 2, dim > > > & ,
153 const std::vector< Point< dim > > & ,
154 const std::vector< Point<dim> > & ,
155 const types::material_id & mat_id,
156 std::vector< Vector< double > > &computed_quantities)
const;
235 public dealii::DataPostprocessor<dim>
257 virtual std::vector<std::string> get_names()
const;
262 virtual std::vector<DataComponentInterpretation::DataComponentInterpretation> get_data_component_interpretation ()
const;
267 virtual UpdateFlags get_needed_update_flags()
const;
275 hydrogen_density_name = name;
290 virtual void compute_derived_quantities_vector (
const std::vector< Vector< double > > &uh,
291 const std::vector< std::vector< Tensor< 1, dim > > > & ,
292 const std::vector< std::vector< Tensor< 2, dim > > > & ,
293 const std::vector< Point< dim > > & ,
294 const std::vector< Point<dim> > & ,
295 const types::material_id & mat_id,
296 std::vector< Vector< double > > &computed_quantities)
const;
381 public dealii::DataPostprocessorScalar<dim>
399 virtual void compute_derived_quantities_vector (
const std::vector< Vector< double > > &uh,
400 const std::vector< std::vector< Tensor< 1, dim > > > & ,
401 const std::vector< std::vector< Tensor< 2, dim > > > & ,
402 const std::vector< Point< dim > > & ,
403 const std::vector< Point<dim> > & ,
404 const types::material_id & mat_id,
405 std::vector< Vector< double > > &computed_quantities)
const;
423 std::vector< boost::shared_ptr< FuelCellShop::Layer::PorousLayer<dim> > >
porous_layers;
485 public dealii::DataPostprocessorScalar<dim>
505 virtual UpdateFlags get_needed_update_flags()
const;
510 virtual void compute_derived_quantities_vector (
const std::vector< Vector< double > > &uh,
511 const std::vector< std::vector< Tensor< 1, dim > > > & ,
512 const std::vector< std::vector< Tensor< 2, dim > > > & ,
513 const std::vector< Point< dim > > & ,
514 const std::vector< Point<dim> > & ,
515 const types::material_id & mat_id,
516 std::vector< Vector< double > > &computed_quantities)
const;
528 std::vector< boost::shared_ptr< FuelCellShop::Layer::PorousLayer<dim> > >
porous_layers;
543 public dealii::DataPostprocessorScalar<dim>
565 virtual std::vector<std::string> get_names()
const;
570 virtual std::vector<DataComponentInterpretation::DataComponentInterpretation> get_data_component_interpretation ()
const;
575 virtual UpdateFlags get_needed_update_flags()
const;
580 virtual void compute_derived_quantities_vector (
const std::vector< Vector< double > > &uh,
581 const std::vector< std::vector< Tensor< 1, dim > > > & ,
582 const std::vector< std::vector< Tensor< 2, dim > > > & ,
583 const std::vector< Point< dim > > & ,
584 const std::vector< Point<dim> > & ,
585 const types::material_id & mat_id,
586 std::vector< Vector< double > > &computed_quantities)
const;
598 std::vector< boost::shared_ptr< FuelCellShop::Layer::PorousLayer<dim> > >
porous_layers;
FuelCell::OperatingConditions * opCond
Pointer to operating conditions class.
Definition: data_out.h:603
std::vector< boost::shared_ptr< FuelCellShop::Layer::PorousLayer< dim > > > porous_layers
Vector of pointer to PorousLayer objects.
Definition: data_out.h:423
Class used to store, read from file and define the operating conditions for a fuel cell...
Definition: operating_conditions.h:118
FuelCell::OperatingConditions * opCond
Pointer to operating conditions class.
Definition: data_out.h:173
FuelCell::SystemManagement * system_management
Pointer to system management.
Definition: data_out.h:168
FuelCell::OperatingConditions * opCond
Pointer to operating conditions class.
Definition: data_out.h:313
void set_oxygen_density_name(std::string name)
For the case of multi-component solvers, we need to specify which one of the variables contains the o...
Definition: data_out.h:132
FuelCell::SystemManagement * system_management
Pointer to system management.
Definition: data_out.h:418
Class used to output saturation inside the layer.
Definition: data_out.h:541
virtual ~RelativeHumidityDataOut()
Destructor.
Definition: data_out.h:396
boost::shared_ptr< FuelCellShop::Layer::CatalystLayer< dim > > catalyst_layer
Pointer to catalyst layer object.
Definition: data_out.h:163
std::mutex catalyst_layer_mutex
The mutex class used to prevent simultaneous calls to the layer objects from multiple threads...
Definition: data_out.h:321
virtual ~HORCurrentDensityDataOut()
Destructor.
Definition: data_out.h:250
FuelCell::SystemManagement * system_management
Pointer to system management.
Definition: data_out.h:523
FuelCell::OperatingConditions * opCond
Pointer to operating conditions class.
Definition: data_out.h:428
virtual ~SaturationDataOut()
Destructor.
Definition: data_out.h:558
virtual ~CapillaryPressureDataOut()
Destructor.
Definition: data_out.h:500
std::string oxygen_density_name
Set oxygen concentration name.
Definition: data_out.h:186
FuelCellShop::Material::WaterVapor water
WaterVapor object, used to compute saturation pressure as a function of temperature.
Definition: data_out.h:413
boost::shared_ptr< FuelCellShop::Layer::CatalystLayer< dim > > catalyst_layer
Pointer to catalyst layer object.
Definition: data_out.h:303
FuelCell::SystemManagement * system_management
Pointer to system management.
Definition: data_out.h:593
std::mutex catalyst_layer_mutex
The mutex class used to prevent simultaneous calls to the layer objects from multiple threads...
Definition: data_out.h:181
virtual ~ORRCurrentDensityDataOut()
Destructor.
Definition: data_out.h:109
Class used to evaluate the capillary pressure at PorousLayer (viz., GDL, MPL and CL) DoF point in the...
Definition: data_out.h:483
std::vector< boost::shared_ptr< FuelCellShop::Layer::PorousLayer< dim > > > porous_layers
Vector of pointer to PorousLayer objects.
Definition: data_out.h:528
IMPORTANT: Add all new solution variables and equations here !
Definition: system_management.h:300
FuelCell::SystemManagement * system_management
Pointer to system management.
Definition: data_out.h:308
std::string hydrogen_density_name
Set hydrogen density name.
Definition: data_out.h:326
void set_hydrogen_density_name(std::string name)
For the case of multi-component solvers, we need to specify which one of the variables contains the o...
Definition: data_out.h:273
Virtual class used to implement properties that are characteristic of a porous layer.
Definition: porous_layer.h:75
Class used to evaluate the HOR current density, overpotential and effectiveness at catalyst layer DoF...
Definition: data_out.h:233
Class used to evaluate the ORR current density, overpotential, effectiveness and the oxygen coverages...
Definition: data_out.h:92
FuelCell::OperatingConditions * opCond
Pointer to operating conditions class.
Definition: data_out.h:533
std::vector< boost::shared_ptr< FuelCellShop::Layer::PorousLayer< dim > > > porous_layers
Vector of pointer to PorousLayer objects.
Definition: data_out.h:598
Virtual class used to provide the interface for all CatalystLayer children.
Definition: catalyst_layer.h:124
This class describes properties of pure WaterVapor.
Definition: PureGas.h:1134
Class used to evaluate the relative humidity at PorousLayer (viz., GDL, MPL and CL) DoF point in the ...
Definition: data_out.h:379