16 #include "libmesh/parallel_algebra.h"    17 #include "libmesh/mesh.h"    18 #include "libmesh/elem.h"    19 #include "libmesh/fe.h"    32       "Automatically generates sub-App positions from the elemental quadrature points, with the "    33       "default quadrature, in the parent mesh.");
    50   for (
auto & elem : 
mesh.active_local_element_ptr_range())
    53     const FEFamily mapping_family = FEMap::map_fe_type(*elem);
    54     FEType fe_type(elem->default_order(), mapping_family);
    58     std::unique_ptr<FEBase> fe(
FEBase::build(elem->dim(), fe_type));
    61     fe->attach_quadrature_rule(qrule.get());
    66     const std::vector<Point> & q_points = fe->get_xyz();
    70       for (
const auto & q : q_points)
 
std::unique_ptr< FEGenericBase< Real > > build(const unsigned int dim, const FEType &fet)
void allgather(const T &send_data, std::vector< T, A > &recv_data) const
static InputParameters validParams()
const std::string & _name
The name of this class. 
static InputParameters validParams()
const Parallel::Communicator & comm() const
MultiApp Implementation for Transient Apps. 
registerMooseObject("MooseApp", QuadraturePointMultiApp)
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
FEProblemBase & _fe_problem
The FEProblemBase this MultiApp is part of. 
QuadraturePointMultiApp(const InputParameters ¶meters)
static InputParameters validParams()
std::unique_ptr< QBase > default_quadrature_rule(const unsigned int dim, const int extraorder=0) const
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...
An interface that restricts an object to subdomains via the 'blocks' input parameter. 
virtual MooseMesh & mesh() override
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
std::vector< Point > _positions
The positions of all of the apps, using input constant vectors (to be deprecated) ...
void fillPositions() override
must fill in _positions with the positions of the sub-aps 
bool hasBlocks(const SubdomainName &name) const
Test if the supplied block name is valid for this object. 
Automatically generates sub-App positions with elemental quadrature points of the parent mesh...