19 #include "libmesh/parallel.h" 25 class VectorPostprocessorData;
109 template <
typename T>
Base class for VectorPostprocessors that need to do "sampling" of values in the domain.
A special version of RestartableData to aid in storing Reporter values.
ScatterVectorPostprocessorValue _scatter_value_old
std::string PPName() const
Returns the name of the VectorPostprocessor.
const ReporterState< T > & state() const
Return a reference to the ReporterState object that is storing the Reporter value.
const MooseEnum & _parallel_type
DISTRIBUTED or REPLICATED.
A class to provide an common interface to objects requiring "outputs" option.
const ScatterVectorPostprocessorValue & getScatterValueOld() const
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
const bool _contains_complete_history
bool containsCompleteHistory() const
Return whether or not this VectorPostprocessor contains complete history.
const ReporterMode REPORTER_MODE_VPP_SCATTER
Every object that can be built by the factory should be derived from this class.
const MooseObject & _vpp_moose_object
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
VectorPostprocessorValue & declareVector(const std::string &vector_name)
Register a new vector to fill up.
std::map< std::string, VectorPostprocessorValue > _thread_local_vectors
InputParameters validParams()
VectorPostprocessorContext(const libMesh::ParallelObject &other, const MooseObject &producer, ReporterState< T > &state)
virtual void copyValuesBack() override
Called by FEProblemBase::advanceState via ReporterData.
FEProblemBase & _vpp_fe_problem
The FEProblemBase.
std::vector< Real > VectorPostprocessorValue
Real ScatterVectorPostprocessorValue
static InputParameters validParams()
ScatterVectorPostprocessorValue _scatter_value
const bool _is_distributed
std::set< std::string > _vector_names
bool isDistributed() const
Return true if the VPP is operating in distributed mode.
Base class for Postprocessors that produce a vector of values.
virtual ~VectorPostprocessor()=default
MooseEnumItem that automatically creates the ID and doesn't allow the ID to be assigned.
const std::set< std::string > & getVectorNames() const
Return the names of the vectors associated with this object.
const ScatterVectorPostprocessorValue & getScatterValue() const
VectorPostprocessor(const MooseObject *moose_object)
const std::string _vpp_name
The name of the VectorPostprocessor.
virtual void finalize() override
Perform automatic parallel communication based on the producer/consumer modes.