16 #include "libmesh/parallel_algebra.h" 28 "Automatically generates Sub-App positions from centroids of elements in the parent app " 46 for (
const auto & elem_ptr : parent_app_mesh.
getMesh().active_local_element_ptr_range())
48 _positions.push_back(elem_ptr->vertex_average());
void allgather(const T &send_data, std::vector< T, A > &recv_data) const
const std::string & _name
The name of this class, reference to value stored in InputParameters.
static InputParameters validParams()
Automatically generates Sub-App positions from centroids of elements in the master mesh...
const Parallel::Communicator & comm() const
MultiApp Implementation for Transient Apps.
FEProblemBase & _fe_problem
The FEProblemBase this MultiApp is part of.
CentroidMultiApp(const InputParameters ¶meters)
static InputParameters validParams()
virtual void fillPositions() override
fill in _positions with the positions of the sub-aps
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
static InputParameters validParams()
An interface that restricts an object to subdomains via the 'blocks' input parameter.
virtual MooseMesh & mesh() override
registerMooseObject("MooseApp", CentroidMultiApp)
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
std::vector< Point > _positions
The positions of all of the apps, using input constant vectors (to be deprecated) ...
bool hasBlocks(const SubdomainName &name) const
Test if the supplied block name is valid for this object.