www.mooseframework.org
VectorPostprocessor.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* DO NOT MODIFY THIS HEADER */
3 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
4 /* */
5 /* (c) 2010 Battelle Energy Alliance, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by Battelle Energy Alliance, LLC */
9 /* Under Contract No. DE-AC07-05ID14517 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* See COPYRIGHT for full restrictions */
13 /****************************************************************/
14 
15 #ifndef VECTORPOSTPROCESSOR_H
16 #define VECTORPOSTPROCESSOR_H
17 
18 // MOOSE includes
19 #include "MooseTypes.h"
20 #include "OutputInterface.h"
21 
22 // libMesh
23 #include "libmesh/parallel.h"
24 
25 // Forward declarations
26 class FEProblemBase;
27 class InputParameters;
28 class SamplerBase;
31 
32 template <typename T>
34 
35 template <>
37 
42 {
43 public:
44  VectorPostprocessor(const InputParameters & parameters);
45 
46  virtual ~VectorPostprocessor() = default;
47 
51  virtual VectorPostprocessorValue & getVector(const std::string & vector_name);
52 
56  std::string PPName() { return _vpp_name; }
57 
58 protected:
62  VectorPostprocessorValue & declareVector(const std::string & vector_name);
63 
65  std::string _vpp_name;
66 
69 
70  friend class SamplerBase;
71 
72 private:
74 
75  std::map<std::string, VectorPostprocessorValue> _thread_local_vectors;
76 };
77 
78 #endif
Base class for VectorPostprocessors that need to do "sampling" of values in the domain.
Definition: SamplerBase.h:46
FEProblemBase * _vpp_fe_problem
Pointer to FEProblemBase.
std::string _vpp_name
The name of the VectorPostprocessor.
A class to provide an common interface to objects requiring "outputs" option.
InputParameters validParams< VectorPostprocessor >()
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual VectorPostprocessorValue & getVector(const std::string &vector_name)
This will get called to actually grab the final value the VectorPostprocessor has calculated...
VectorPostprocessorValue & declareVector(const std::string &vector_name)
Register a new vector to fill up.
VectorPostprocessor(const InputParameters &parameters)
std::map< std::string, VectorPostprocessorValue > _thread_local_vectors
InputParameters validParams()
std::vector< Real > VectorPostprocessorValue
Definition: MooseTypes.h:74
std::string PPName()
Returns the name of the VectorPostprocessor.
Base class for Postprocessors that produce a vector of values.
virtual ~VectorPostprocessor()=default
unsigned int THREAD_ID
Definition: MooseTypes.h:79