[P]arallel [Hi]gh-order [Li]brary for [P]DEs  Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
physics_post_processor.h
1 #ifndef __PHYSICS_POST__
2 #define __PHYSICS_POST__
3 
4 #include <deal.II/numerics/data_postprocessor.h>
5 
6 #include "physics/physics.h"
7 #include "physics/model.h"
8 
9 namespace PHiLiP {
10 namespace Postprocess {
11 
13 template <int dim>
15 {
16 public:
18  static std::unique_ptr< dealii::DataPostprocessor<dim> > create_Postprocessor(const Parameters::AllParameters *const parameters_input);
19 };
20 
22 
24 template <int dim, int nstate>
25 class PhysicsPostprocessor : public dealii::DataPostprocessor<dim>
26 {
27 public:
29  explicit PhysicsPostprocessor (const Parameters::AllParameters *const parameters_input);
30 
32  std::shared_ptr < Physics::ModelBase<dim, nstate, double > > model;
33 
35  std::shared_ptr < Physics::PhysicsBase<dim, nstate, double > > physics;
36 
38  virtual void evaluate_vector_field (const dealii::DataPostprocessorInputs::Vector<dim> &inputs, std::vector<dealii::Vector<double>> &computed_quantities) const override;
40  virtual void evaluate_scalar_field (const dealii::DataPostprocessorInputs::Scalar<dim> &inputs, std::vector<dealii::Vector<double>> &computed_quantities) const override;
42  virtual std::vector<std::string> get_names () const override;
44  virtual std::vector<dealii::DataComponentInterpretation::DataComponentInterpretation> get_data_component_interpretation () const override;
46  virtual dealii::UpdateFlags get_needed_update_flags () const override;
47 };
48 
49 } // Postprocess namespace
50 } // PHiLiP namespace
51 
52 #endif
53 
Postprocessor to output solution and other values computed by associated physics. ...
Files for the baseline physics.
Definition: ADTypes.hpp:10
Main parameter class that contains the various other sub-parameter classes.
std::shared_ptr< Physics::ModelBase< dim, nstate, double > > model
Model passed to create_Physics.
std::shared_ptr< Physics::PhysicsBase< dim, nstate, double > > physics
Physics that the post-processor will use to evaluate derived data types.
static std::unique_ptr< dealii::DataPostprocessor< dim > > create_Postprocessor(const Parameters::AllParameters *const parameters_input)
Create the post-processor with the correct template parameters.