17#include "libmesh/vector_value.h"
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Interface for notifications that the mesh has changed.
Base class for MeshDivision objects.
virtual unsigned int divisionIndex(const Elem &elem) const =0
Return the index of the division to which the element belongs.
virtual void meshChanged() override
By default, meshChanged will cause a re-initialization of the necessary data members.
unsigned int getNumDivisions() const
Return the number of divisions.
virtual void initialize()
Set up any data members that would be necessary to obtain the division indices.
static InputParameters validParams()
Class constructor.
virtual unsigned int divisionIndex(const Point &pt) const =0
Return the index of the division to which the point belongs.
const FEProblemBase *const _fe_problem
Pointer to the problem, needed to retrieve pointers to various objects.
void setNumDivisions(const unsigned int ndivs)
Set the number of divisions.
virtual ~MeshDivision()
MeshDivision destructor.
const MooseMesh & _mesh
Mesh that is being divided.
bool coversEntireMesh() const
Returns whether the entire mesh is covered by the division of the mesh, whether every point and eleme...
bool _mesh_fully_indexed
Whether the mesh is fully covered / indexed, all elements and points have a valid index.
unsigned int _num_divs
Number of divisions in the division.
const InputParameters & parameters() const
Get the parameters of the object.
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Every object that can be built by the factory should be derived from this class.
unsigned int INVALID_DIVISION_INDEX
Invalid subdomain id to return when outside the mesh division.
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...