26 #ifndef GRINS_POSTPROCESSED_QUANTITIES_H
27 #define GRINS_POSTPROCESSED_QUANTITIES_H
30 #include "libmesh/getpot.h"
31 #include "libmesh/fem_function_base.h"
32 #include "libmesh/equation_systems.h"
39 template<
class NumericType>
40 class PostProcessedQuantities :
public libMesh::FEMFunctionBase<NumericType>
48 virtual void init_context(
const libMesh::FEMContext & context);
50 virtual libMesh::UniquePtr<libMesh::FEMFunctionBase<NumericType> >
53 return libMesh::UniquePtr<libMesh::FEMFunctionBase<NumericType> >
57 virtual NumericType
operator()(
const libMesh::FEMContext& context,
58 const libMesh::Point& p,
59 const libMesh::Real time = 0. );
61 virtual void operator()(
const libMesh::FEMContext& context,
62 const libMesh::Point& p,
63 const libMesh::Real time,
64 libMesh::DenseVector<NumericType>& output );
66 virtual NumericType
component(
const libMesh::FEMContext& context,
68 const libMesh::Point& p,
69 libMesh::Real time=0. );
82 libMesh::EquationSystems& equation_systems );
102 #endif //GRINS_POSTPROCESSED_QUANTITIES_H
unsigned int register_quantity(std::string name)
Register quantity to be postprocessed.
virtual void initialize(MultiphysicsSystem &system, libMesh::EquationSystems &equation_systems)
virtual NumericType operator()(const libMesh::FEMContext &context, const libMesh::Point &p, const libMesh::Real time=0.)
MultiphysicsSystem * _multiphysics_sys
std::map< VariableIndex, unsigned int > _quantity_index_var_map
SharedPtr< AssemblyContext > _multiphysics_context
Interface with libMesh for solving Multiphysics problems.
std::map< std::string, unsigned int > _quantity_name_index_map
virtual NumericType component(const libMesh::FEMContext &context, unsigned int i, const libMesh::Point &p, libMesh::Real time=0.)
virtual ~PostProcessedQuantities()
virtual void init_context(const libMesh::FEMContext &context)
virtual void update_quantities(libMesh::EquationSystems &equation_systems)
virtual libMesh::UniquePtr< libMesh::FEMFunctionBase< NumericType > > clone() const
PostProcessedQuantities()