30#include "libmesh/parallel.h"
59#ifdef MOOSE_KOKKOS_ENABLED
107 template <
typename T>
119 template <
typename T>
131 template <
typename T1,
typename T2>
140 template <
typename T1,
typename T2>
201template <
typename T1,
typename T2>
208 const auto pair = std::make_pair(proxy, value);
212 const auto it = std::max_element(all.begin(), all.end());
217template <
typename T1,
typename T2>
223 const auto pair = std::make_pair(proxy, value);
227 const auto it = std::min_element(all.begin(), all.end());
Keeps track of stuff related to assembling.
Interface for sorting dependent vectors of objects.
Interface for objects that need to use distributions.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Interface for objects that need to use functions.
Interface for notifications that the mesh has changed.
Interface for objects acting when the mesh has been displaced.
const std::string & name() const
Get the name of the class.
Every object that can be built by the factory should be derived from this class.
Interface for objects interacting with the PerfGraph.
Interface class for classes which interact with Postprocessors.
Interface to allow object to consume Reporter values.
The Reporter system is comprised of objects that can contain any number of data values.
A class for creating restricted objects.
Interface for objects that need to use samplers.
Generic class for solving transient nonlinear problems.
Base class for a system (of equations)
unsigned int number() const
Gets the number of this system.
void max(const T &r, T &o, Request &req) const
void min(const T &r, T &o, Request &req) const
void allgather(const T &send_data, std::vector< T, A > &recv_data) const
void gatherSum(T &value)
Gather the parallel sum of the variable passed in.
SubProblem & _subproblem
Reference to the Subproblem for this user object.
const std::set< std::string > & getSuppliedItems() override
Return a set containing the names of items owned by the object.
virtual void addPostprocessorDependencyHelper(const PostprocessorName &name) const override
Helper for deriving classes to override to add dependencies when a Postprocessor is requested.
void gatherMin(T &value)
Gather the parallel min of the variable passed in.
bool shouldDuplicateInitialExecution() const
Returns whether or not this user object should be executed twice during the initial condition when de...
std::set< std::string > _depend_uo
Depend UserObjects that to be used both for determining user object sorting and by AuxKernel for find...
void gatherProxyValueMax(T1 &proxy, T2 &value)
Deteremine the value of a variable according to the parallel maximum of the provided proxy.
void gatherMax(T &value)
Gather the parallel max of the variable passed in.
virtual void initialize()=0
Called before execute() is ever called so that data can be cleared.
Assembly & _assembly
Reference to the assembly object for this user object.
std::set< std::string > _supplied_uo
A name of the "supplied" user objects, which is just this object.
virtual bool needThreadedCopy() const
Whether or not a threaded copy of this object is needed when obtaining it in another object,...
static InputParameters validParams()
FEProblemBase & _fe_problem
Reference to the FEProblemBase for this user object.
void gatherProxyValueMin(T1 &proxy, T2 &value)
Determine the value of a variable according to which process has the parallel minimum of the provided...
virtual void addVectorPostprocessorDependencyHelper(const VectorPostprocessorName &name) const override
Helper for deriving classes to override to add dependencies when a VectorPostprocessor is requested.
virtual void addUserObjectDependencyHelper(const UserObjectBase &uo) const override
Helper for deriving classes to override to add dependencies when a UserObject is requested.
const std::set< std::string > & getRequestedItems() override
Return a set containing the names of items requested by the object.
SubProblem & getSubProblem() const
Returns a reference to the subproblem that this postprocessor is tied to.
const bool _duplicate_initial_execution
Whether to execute this object twice on initial.
virtual void finalize()=0
Finalize.
void addReporterDependencyHelper(const ReporterName &reporter_name) override
A method that can be overridden to update the UO dependencies.
const THREAD_ID _tid
Thread ID of this postprocessor.
virtual ~UserObjectBase()=default
unsigned int systemNumber() const
std::set< UserObjectName > getDependObjects() const
Recursively return a set of user objects this user object depends on Note: this can be called only af...
SystemBase & _sys
Reference to the system object for this user object.
Interface for objects that need to use UserObjects.
const Parallel::Communicator & _communicator
processor_id_type n_processors() const