libMesh
|
In parallel meshes where a ghost element has neighbors which do not exist on the local processor, the ghost element's neighbors are set to point to the singleton RemoteElement instead. More...
#include <remote_elem.h>
Public Types | |
enum | RefinementState { COARSEN = 0, DO_NOTHING, REFINE, JUST_REFINED, JUST_COARSENED, INACTIVE, COARSEN_INACTIVE, INVALID_REFINEMENTSTATE } |
Enumeration of possible element refinement states. More... | |
typedef Elem *const * | NeighborPtrIter |
Nested "classes" for use iterating over all neighbors of an element. More... | |
typedef Predicates::multi_predicate | Predicate |
Useful iterator typedefs. More... | |
Public Member Functions | |
RemoteElem (RemoteElem &&)=delete | |
RemoteElem (const RemoteElem &)=delete | |
RemoteElem & | operator= (const RemoteElem &)=delete |
RemoteElem & | operator= (RemoteElem &&)=delete |
virtual | ~RemoteElem () |
Sets remote_elem to nullptr. More... | |
virtual Point | master_point (const unsigned int) const override |
virtual Node *& | set_node (const unsigned int i) override |
virtual dof_id_type | key (const unsigned int) const override |
virtual unsigned int | which_node_am_i (unsigned int, unsigned int) const override |
virtual bool | is_remote () const override |
virtual void | connectivity (const unsigned int, const IOPackage, std::vector< dof_id_type > &) const override |
virtual ElemType | type () const override |
virtual unsigned short | dim () const override |
virtual unsigned int | n_nodes () const override |
virtual unsigned int | n_sides () const override |
virtual unsigned int | n_vertices () const override |
virtual unsigned int | n_edges () const override |
virtual unsigned int | n_faces () const override |
virtual unsigned int | n_children () const override |
virtual bool | is_vertex (const unsigned int) const override |
virtual bool | is_edge (const unsigned int) const override |
virtual bool | is_face (const unsigned int) const override |
virtual bool | is_node_on_side (const unsigned int, const unsigned int) const override |
virtual std::vector< unsigned int > | nodes_on_side (const unsigned int) const override |
virtual bool | is_child_on_side (const unsigned int, const unsigned int) const override |
virtual bool | is_edge_on_side (const unsigned int, const unsigned int) const override |
virtual bool | is_node_on_edge (const unsigned int, const unsigned int) const override |
virtual unsigned int | n_sub_elem () const override |
virtual std::unique_ptr< Elem > | side_ptr (const unsigned int) override |
virtual void | side_ptr (std::unique_ptr< Elem > &, const unsigned int) override |
Resets the loose element side , which may currently point to a different side than i or even a different element than this , to point to side i on this . More... | |
virtual std::unique_ptr< Elem > | build_side_ptr (const unsigned int, bool) override |
virtual void | build_side_ptr (std::unique_ptr< Elem > &, const unsigned int) override |
Resets the loose element side , which may currently point to a different side than i or even a different element than this , to point to side i on this . More... | |
virtual std::unique_ptr< Elem > | build_edge_ptr (const unsigned int) override |
virtual Order | default_order () const override |
virtual bool | infinite () const override |
virtual float | embedding_matrix (const unsigned int, const unsigned int, const unsigned int) const override |
Matrix that transforms the parents nodes into the children's nodes. More... | |
virtual dof_id_type | key (const unsigned int s) const=0 |
Don't hide Elem::key() defined in the base class. More... | |
virtual dof_id_type | key () const |
Don't hide Elem::key() defined in the base class. More... | |
const Point & | point (const unsigned int i) const |
Point & | point (const unsigned int i) |
dof_id_type | node_id (const unsigned int i) const |
unsigned int | local_node (const dof_id_type i) const |
unsigned int | get_node_index (const Node *node_ptr) const |
const Node *const * | get_nodes () const |
const Node * | node_ptr (const unsigned int i) const |
Node * | node_ptr (const unsigned int i) |
const Node & | node_ref (const unsigned int i) const |
Node & | node_ref (const unsigned int i) |
SimpleRange< NodeRefIter > | node_ref_range () |
Returns a range with all nodes of an element, usable in range-based for loops. More... | |
SimpleRange< ConstNodeRefIter > | node_ref_range () const |
subdomain_id_type | subdomain_id () const |
subdomain_id_type & | subdomain_id () |
const Elem * | reference_elem () const |
virtual dof_id_type | key () const |
bool | operator== (const Elem &rhs) const |
const Elem * | neighbor_ptr (unsigned int i) const |
Elem * | neighbor_ptr (unsigned int i) |
SimpleRange< NeighborPtrIter > | neighbor_ptr_range () |
Returns a range with all neighbors of an element, usable in range-based for loops. More... | |
SimpleRange< ConstNeighborPtrIter > | neighbor_ptr_range () const |
const Elem * | topological_neighbor (const unsigned int i, const MeshBase &mesh, const PointLocatorBase &point_locator, const PeriodicBoundaries *pb) const |
Elem * | topological_neighbor (const unsigned int i, MeshBase &mesh, const PointLocatorBase &point_locator, const PeriodicBoundaries *pb) |
bool | has_topological_neighbor (const Elem *elem, const MeshBase &mesh, const PointLocatorBase &point_locator, const PeriodicBoundaries *pb) const |
void | set_neighbor (const unsigned int i, Elem *n) |
Assigns n as the \( i^{th} \) neighbor. More... | |
bool | has_neighbor (const Elem *elem) const |
Elem * | child_neighbor (Elem *elem) |
const Elem * | child_neighbor (const Elem *elem) const |
bool | on_boundary () const |
bool | is_semilocal (const processor_id_type my_pid) const |
unsigned int | which_neighbor_am_i (const Elem *e) const |
This function tells you which neighbor e is. More... | |
unsigned int | which_side_am_i (const Elem *e) const |
This function tells you which side the boundary element e is. More... | |
bool | contains_vertex_of (const Elem *e) const |
bool | contains_edge_of (const Elem *e) const |
void | find_point_neighbors (const Point &p, std::set< const Elem * > &neighbor_set) const |
This function finds all active elements (including this one) which are in the same manifold as this element and which touch the current active element at the specified point, which should be a point in the current element. More... | |
void | find_point_neighbors (std::set< const Elem * > &neighbor_set) const |
This function finds all active elements (including this one) in the same manifold as this element which touch this active element at any point. More... | |
void | find_point_neighbors (std::set< const Elem * > &neighbor_set, const Elem *start_elem) const |
This function finds all active elements (including this one) in the same manifold as start_elem (which must be active and must touch this element) which touch this element at any point. More... | |
void | find_point_neighbors (std::set< Elem * > &neighbor_set, Elem *start_elem) |
Non-const version of function above. More... | |
void | find_edge_neighbors (const Point &p1, const Point &p2, std::set< const Elem * > &neighbor_set) const |
This function finds all active elements in the same manifold as this element which touch the current active element along the whole edge defined by the two points p1 and p2 . More... | |
void | find_edge_neighbors (std::set< const Elem * > &neighbor_set) const |
This function finds all active elements in the same manifold as this element which touch the current active element along any edge (more precisely, at at least two points). More... | |
void | find_interior_neighbors (std::set< const Elem * > &neighbor_set) const |
This function finds all active elements (not including this one) in the parent manifold of this element whose intersection with this element has non-zero measure. More... | |
void | find_interior_neighbors (std::set< Elem * > &neighbor_set) |
Non-const version of function above that fills up a vector of non-const Elem pointers instead. More... | |
void | remove_links_to_me () |
Resets this element's neighbors' appropriate neighbor pointers and its parent's and children's appropriate pointers to point to null instead of to this. More... | |
void | make_links_to_me_remote () |
Resets this element's neighbors' appropriate neighbor pointers and its parent's and children's appropriate pointers to point to the global remote_elem instead of this. More... | |
void | make_links_to_me_local (unsigned int n, unsigned int neighbor_side) |
Resets the neighbor_side pointers of our nth neighbor (and its descendants, if appropriate) to point to this Elem instead of to the global remote_elem. More... | |
void | write_connectivity (std::ostream &out, const IOPackage iop) const |
Writes the element connectivity for various IO packages to the passed ostream "out". More... | |
IntRange< unsigned short > | node_index_range () const |
virtual unsigned int | n_nodes_in_child (unsigned int) const |
IntRange< unsigned short > | side_index_range () const |
unsigned int | n_neighbors () const |
IntRange< unsigned short > | edge_index_range () const |
virtual unsigned int | is_vertex_on_child (unsigned int, unsigned int n) const |
virtual bool | is_vertex_on_parent (unsigned int c, unsigned int n) const |
virtual unsigned int | opposite_side (const unsigned int s) const |
virtual unsigned int | opposite_node (const unsigned int n, const unsigned int s) const |
std::unique_ptr< const Elem > | side_ptr (unsigned int i) const |
void | side_ptr (std::unique_ptr< const Elem > &side, const unsigned int i) const |
std::unique_ptr< const Elem > | build_side_ptr (const unsigned int i, bool proxy=true) const |
void | build_side_ptr (std::unique_ptr< const Elem > &side, const unsigned int i) const |
std::unique_ptr< const Elem > | build_edge_ptr (const unsigned int i) const |
virtual Point | centroid () const |
virtual Real | hmin () const |
virtual Real | hmax () const |
virtual Real | volume () const |
virtual BoundingBox | loose_bounding_box () const |
virtual Real | quality (const ElemQuality q) const |
virtual std::pair< Real, Real > | qual_bounds (const ElemQuality) const |
virtual bool | contains_point (const Point &p, Real tol=TOLERANCE) const |
virtual bool | close_to_point (const Point &p, Real tol) const |
virtual bool | has_affine_map () const |
virtual bool | is_linear () const |
void | print_info (std::ostream &os=libMesh::out) const |
Prints relevant information about the element. More... | |
std::string | get_info () const |
Prints relevant information about the element to a string. More... | |
bool | active () const |
bool | ancestor () const |
bool | subactive () const |
bool | has_children () const |
bool | has_ancestor_children () const |
bool | is_ancestor_of (const Elem *descendant) const |
const Elem * | parent () const |
Elem * | parent () |
void | set_parent (Elem *p) |
Sets the pointer to the element's parent. More... | |
const Elem * | top_parent () const |
const Elem * | interior_parent () const |
Elem * | interior_parent () |
void | set_interior_parent (Elem *p) |
Sets the pointer to the element's interior_parent. More... | |
Real | length (const unsigned int n1, const unsigned int n2) const |
virtual unsigned int | n_second_order_adjacent_vertices (const unsigned int n) const |
virtual unsigned short int | second_order_adjacent_vertex (const unsigned int n, const unsigned int v) const |
virtual std::pair< unsigned short int, unsigned short int > | second_order_child_vertex (const unsigned int n) const |
unsigned int | level () const |
unsigned int | p_level () const |
ElemMappingType | mapping_type () const |
void | set_mapping_type (const ElemMappingType type) |
Sets the value of the mapping type for the element. More... | |
unsigned char | mapping_data () const |
void | set_mapping_data (const unsigned char data) |
Sets the value of the mapping data for the element. More... | |
const Elem * | raw_child_ptr (unsigned int i) const |
const Elem * | child_ptr (unsigned int i) const |
Elem * | child_ptr (unsigned int i) |
SimpleRange< ChildRefIter > | child_ref_range () |
Returns a range with all children of a parent element, usable in range-based for loops. More... | |
SimpleRange< ConstChildRefIter > | child_ref_range () const |
unsigned int | which_child_am_i (const Elem *e) const |
virtual bool | is_child_on_edge (const unsigned int c, const unsigned int e) const |
void | add_child (Elem *elem) |
Adds a child pointer to the array of children of this element. More... | |
void | add_child (Elem *elem, unsigned int c) |
Adds a new child pointer to the specified index in the array of children of this element. More... | |
void | replace_child (Elem *elem, unsigned int c) |
Replaces the child pointer at the specified index in the child array. More... | |
void | family_tree (std::vector< const Elem * > &family, bool reset=true) const |
Fills the vector family with the children of this element, recursively. More... | |
void | family_tree (std::vector< Elem * > &family, bool reset=true) |
Non-const version of function above; fills a vector of non-const pointers. More... | |
void | total_family_tree (std::vector< const Elem * > &family, bool reset=true) const |
Same as the family_tree() member, but also adds any subactive descendants. More... | |
void | total_family_tree (std::vector< Elem * > &family, bool reset=true) |
Non-const version of function above; fills a vector of non-const pointers. More... | |
void | active_family_tree (std::vector< const Elem * > &active_family, bool reset=true) const |
Same as the family_tree() member, but only adds the active children. More... | |
void | active_family_tree (std::vector< Elem * > &active_family, bool reset=true) |
Non-const version of function above; fills a vector of non-const pointers. More... | |
void | family_tree_by_side (std::vector< const Elem * > &family, unsigned int side, bool reset=true) const |
Same as the family_tree() member, but only adds elements which are next to side . More... | |
void | family_tree_by_side (std::vector< Elem * > &family, unsigned int side, bool reset=true) |
Non-const version of function above; fills a vector of non-const pointers. More... | |
void | active_family_tree_by_side (std::vector< const Elem * > &family, unsigned int side, bool reset=true) const |
Same as the active_family_tree() member, but only adds elements which are next to side . More... | |
void | active_family_tree_by_side (std::vector< Elem * > &family, unsigned int side, bool reset=true) |
Non-const version of function above; fills a vector of non-const pointers. More... | |
void | family_tree_by_neighbor (std::vector< const Elem * > &family, const Elem *neighbor, bool reset=true) const |
Same as the family_tree() member, but only adds elements which are next to neighbor . More... | |
void | family_tree_by_neighbor (std::vector< Elem * > &family, Elem *neighbor, bool reset=true) |
Non-const version of function above; fills a vector of non-const pointers. More... | |
void | total_family_tree_by_neighbor (std::vector< const Elem * > &family, const Elem *neighbor, bool reset=true) const |
Same as the family_tree_by_neighbor() member, but also adds any subactive descendants. More... | |
void | total_family_tree_by_neighbor (std::vector< Elem * > &family, Elem *neighbor, bool reset=true) |
Non-const version of function above; fills a vector of non-const pointers. More... | |
void | family_tree_by_subneighbor (std::vector< const Elem * > &family, const Elem *neighbor, const Elem *subneighbor, bool reset=true) const |
Same as the family_tree() member, but only adds elements which are next to subneighbor . More... | |
void | family_tree_by_subneighbor (std::vector< Elem * > &family, Elem *neighbor, Elem *subneighbor, bool reset=true) |
Non-const version of function above; fills a vector of non-const pointers. More... | |
void | total_family_tree_by_subneighbor (std::vector< const Elem * > &family, const Elem *neighbor, const Elem *subneighbor, bool reset=true) const |
Same as the family_tree_by_subneighbor() member, but also adds any subactive descendants. More... | |
void | total_family_tree_by_subneighbor (std::vector< Elem * > &family, Elem *neighbor, Elem *subneighbor, bool reset=true) |
Non-const version of function above; fills a vector of non-const pointers. More... | |
void | active_family_tree_by_neighbor (std::vector< const Elem * > &family, const Elem *neighbor, bool reset=true) const |
Same as the active_family_tree() member, but only adds elements which are next to neighbor . More... | |
void | active_family_tree_by_neighbor (std::vector< Elem * > &family, Elem *neighbor, bool reset=true) |
Non-const version of function above; fills a vector of non-const pointers. More... | |
void | active_family_tree_by_topological_neighbor (std::vector< const Elem * > &family, const Elem *neighbor, const MeshBase &mesh, const PointLocatorBase &point_locator, const PeriodicBoundaries *pb, bool reset=true) const |
Same as the active_family_tree_by_neighbor() member, but the neighbor here may be a topological (e.g. More... | |
void | active_family_tree_by_topological_neighbor (std::vector< Elem * > &family, Elem *neighbor, const MeshBase &mesh, const PointLocatorBase &point_locator, const PeriodicBoundaries *pb, bool reset=true) |
Non-const version of function above; fills a vector of non-const pointers. More... | |
RefinementState | refinement_flag () const |
void | set_refinement_flag (const RefinementState rflag) |
Sets the value of the refinement flag for the element. More... | |
RefinementState | p_refinement_flag () const |
void | set_p_refinement_flag (const RefinementState pflag) |
Sets the value of the p-refinement flag for the element. More... | |
unsigned int | max_descendant_p_level () const |
unsigned int | min_p_level_by_neighbor (const Elem *neighbor, unsigned int current_min) const |
unsigned int | min_new_p_level_by_neighbor (const Elem *neighbor, unsigned int current_min) const |
void | set_p_level (const unsigned int p) |
Sets the value of the p-refinement level for the element. More... | |
void | hack_p_level (const unsigned int p) |
Sets the value of the p-refinement level for the element without altering the p-level of its ancestors. More... | |
virtual void | refine (MeshRefinement &mesh_refinement) |
Refine the element. More... | |
void | coarsen () |
Coarsen the element. More... | |
void | contract () |
Contract an active element, i.e. More... | |
void | libmesh_assert_valid_neighbors () const |
Checks for consistent neighbor links on this element. More... | |
void | libmesh_assert_valid_node_pointers () const |
Checks for a valid id and pointers to nodes with valid ids on this element. More... | |
side_iterator | boundary_sides_begin () |
Iterator accessor functions. More... | |
side_iterator | boundary_sides_end () |
virtual bool | is_mid_infinite_edge_node (const unsigned int) const |
virtual Point | origin () const |
virtual unsigned int | as_parent_node (unsigned int c, unsigned int n) const |
virtual const std::vector< std::pair< unsigned char, unsigned char > > & | parent_bracketing_nodes (unsigned int c, unsigned int n) const |
virtual const std::vector< std::pair< dof_id_type, dof_id_type > > | bracketing_nodes (unsigned int c, unsigned int n) const |
virtual unsigned int | embedding_matrix_version () const |
void | nullify_neighbors () |
Replaces this element with nullptr for all of its neighbors. More... | |
void | clear_old_dof_object () |
Sets the old_dof_object to nullptr. More... | |
void | set_old_dof_object () |
Sets the old_dof_object to a copy of this . More... | |
void | clear_dofs () |
Clear the DofMap data structures holding degree of freedom data. More... | |
void | invalidate_dofs (const unsigned int sys_num=libMesh::invalid_uint) |
Sets all degree of freedom numbers to invalid_id . More... | |
void | invalidate_id () |
Sets the id to invalid_id . More... | |
void | invalidate_processor_id () |
Sets the processor id to invalid_processor_id . More... | |
void | invalidate () |
Invalidates all the indices for this DofObject . More... | |
unsigned int | n_dofs (const unsigned int s, const unsigned int var=libMesh::invalid_uint) const |
dof_id_type | id () const |
dof_id_type & | set_id () |
void | set_id (const dof_id_type dofid) |
Sets the id for this DofObject . More... | |
unique_id_type | unique_id () const |
unique_id_type & | set_unique_id () |
bool | valid_id () const |
bool | valid_unique_id () const |
processor_id_type | processor_id () const |
processor_id_type & | processor_id () |
void | processor_id (const processor_id_type pid) |
Sets the processor_id for this DofObject . More... | |
bool | valid_processor_id () const |
unsigned int | n_systems () const |
unsigned int | n_pseudo_systems () const |
void | set_n_systems (const unsigned int s) |
Sets the number of systems for this DofObject . More... | |
void | set_extra_integer (const unsigned int index, const dof_id_type value) |
Sets the value on this object of the extra integer associated with index , which should have been obtained via a call to MeshBase::add_elem_integer or MeshBase::add_node_integer . More... | |
dof_id_type | get_extra_integer (const unsigned int index) const |
Gets the value on this object of the extra integer associated with index , which should have been obtained via a call to MeshBase::add_elem_integer or MeshBase::add_node_integer . More... | |
template<typename T > | |
void | set_extra_datum (const unsigned int index, const T value) |
Sets the value on this object of the extra datum associated with index , which should have been obtained via a call to MeshBase::add_elem_datum or MeshBase::add_node_datum using the same type T. More... | |
template<typename T > | |
T | get_extra_datum (const unsigned int index) const |
Gets the value on this object of the extra datum associated with index , which should have been obtained via a call to MeshBase::add_elem_datum or MeshBase::add_node_datum using the same type T. More... | |
void | add_system () |
Adds an additional system to the DofObject . More... | |
unsigned int | n_var_groups (const unsigned int s) const |
unsigned int | n_vars (const unsigned int s, const unsigned int vg) const |
unsigned int | n_vars (const unsigned int s) const |
void | set_n_vars_per_group (const unsigned int s, const std::vector< unsigned int > &nvpg) |
Sets number of variables in each group associated with system s for this DofObject . More... | |
unsigned int | n_comp (const unsigned int s, const unsigned int var) const |
unsigned int | n_comp_group (const unsigned int s, const unsigned int vg) const |
void | set_n_comp (const unsigned int s, const unsigned int var, const unsigned int ncomp) |
Sets the number of components for Variable var of system s associated with this DofObject . More... | |
void | set_n_comp_group (const unsigned int s, const unsigned int vg, const unsigned int ncomp) |
Sets the number of components for VariableGroup vg of system s associated with this DofObject . More... | |
dof_id_type | dof_number (const unsigned int s, const unsigned int var, const unsigned int comp) const |
dof_id_type | dof_number (const unsigned int s, const unsigned int vg, const unsigned int vig, const unsigned int comp, const unsigned int n_comp) const |
std::pair< unsigned int, unsigned int > | var_to_vg_and_offset (const unsigned int s, const unsigned int var) const |
void | set_dof_number (const unsigned int s, const unsigned int var, const unsigned int comp, const dof_id_type dn) |
Sets the global degree of freedom number for variable var , component comp for system s associated with this DofObject . More... | |
bool | has_dofs (const unsigned int s=libMesh::invalid_uint) const |
void | set_vg_dof_base (const unsigned int s, const unsigned int vg, const dof_id_type db) |
VariableGroup DoF indices are indexed as id = base + var_in_vg*ncomp + comp This method allows for direct access to the base. More... | |
dof_id_type | vg_dof_base (const unsigned int s, const unsigned int vg) const |
VariableGroup DoF indices are indexed as id = base + var_in_vg*ncomp + comp This method allows for direct access to the base. More... | |
void | add_extra_integers (const unsigned int n_integers) |
Assigns a set of extra integers to this DofObject . More... | |
unsigned int | n_extra_integers () const |
Returns how many extra integers are associated to the DofObject . More... | |
bool | has_extra_integers () const |
Returns whether extra integers are associated to the DofObject . More... | |
unsigned int | packed_indexing_size () const |
If we pack our indices into an buffer for communications, how many ints do we need? More... | |
void | unpack_indexing (std::vector< largest_id_type >::const_iterator begin) |
A method for creating our index buffer from packed data - basically with our current implementation we investigate the size term and then copy. More... | |
void | pack_indexing (std::back_insert_iterator< std::vector< largest_id_type >> target) const |
A method for creating packed data from our index buffer - basically a copy with prepended size with our current implementation. More... | |
void | debug_buffer () const |
Print our buffer for debugging. More... | |
void | print_dof_info () const |
Print out info for debugging. More... | |
void | set_buffer (const std::vector< dof_id_type > &buf) |
Static Public Member Functions | |
static const Elem & | create () |
Return a reference to the global RemoteElem singleton object. More... | |
static void | print_info (std::ostream &out=libMesh::out) |
Prints the reference information, by default to libMesh::out . More... | |
static void | print_info (std::ostream &out=libMesh::out) |
Prints the reference information, by default to libMesh::out . More... | |
static std::string | get_info () |
Gets a string containing the reference information. More... | |
static std::string | get_info () |
Gets a string containing the reference information. More... | |
static ElemType | second_order_equivalent_type (const ElemType et, const bool full_ordered=true) |
static ElemType | first_order_equivalent_type (const ElemType et) |
static std::unique_ptr< Elem > | build (const ElemType type, Elem *p=nullptr) |
static unsigned int | n_objects () |
Prints the number of outstanding (created, but not yet destroyed) objects. More... | |
static unsigned int | n_objects () |
Prints the number of outstanding (created, but not yet destroyed) objects. More... | |
static void | enable_print_counter_info () |
Methods to enable/disable the reference counter output from print_info() More... | |
static void | enable_print_counter_info () |
Methods to enable/disable the reference counter output from print_info() More... | |
static void | disable_print_counter_info () |
static void | disable_print_counter_info () |
static unsigned int | unpackable_indexing_size (std::vector< largest_id_type >::const_iterator begin) |
If we have indices packed into an buffer for communications, how much of that buffer applies to this dof object? More... | |
static void | setup () |
Setup function. More... | |
static void | cleanup () |
Cleanup function. More... | |
Public Attributes | |
LIBMESH_ENABLE_TOPOLOGY_CACHES | |
const typedef Elem *const * | ConstNeighborPtrIter |
DofObject * | old_dof_object |
This object on the last mesh. More... | |
Static Public Attributes | |
static const dof_id_type | remote_elem_id = static_cast<dof_id_type>(-2) |
A unique id to distinguish remote element links. More... | |
static const subdomain_id_type | invalid_subdomain_id = std::numeric_limits<subdomain_id_type>::max() |
A static integral constant representing an invalid subdomain id. More... | |
static const unsigned int | type_to_n_nodes_map [INVALID_ELEM] |
This array maps the integer representation of the ElemType enum to the number of nodes in the element. More... | |
static const unsigned int | max_n_nodes = 27 |
The maximum number of nodes any element can contain. More... | |
static const unsigned int | type_to_n_sides_map [INVALID_ELEM] |
This array maps the integer representation of the ElemType enum to the number of sides on the element. More... | |
static const unsigned int | type_to_n_edges_map [INVALID_ELEM] |
This array maps the integer representation of the ElemType enum to the number of edges on the element. More... | |
static const dof_id_type | invalid_id = static_cast<dof_id_type>(-1) |
An invalid id to distinguish an uninitialized DofObject . More... | |
static const unique_id_type | invalid_unique_id = static_cast<unique_id_type>(-1) |
An invalid unique_id to distinguish an uninitialized DofObject . More... | |
static const processor_id_type | invalid_processor_id = static_cast<processor_id_type>(-1) |
An invalid processor_id to distinguish DoFs that have not been assigned to a processor. More... | |
Protected Types | |
typedef std::map< std::string, std::pair< unsigned int, unsigned int > > | Counts |
Data structure to log the information. More... | |
typedef std::map< std::string, std::pair< unsigned int, unsigned int > > | Counts |
Data structure to log the information. More... | |
Protected Member Functions | |
template<typename Subclass > | |
void | simple_build_side_ptr (std::unique_ptr< Elem > &side, const unsigned int i, ElemType sidetype) |
An implementation for simple (all sides equal) elements. More... | |
template<typename Subclass , typename Mapclass > | |
void | simple_side_ptr (std::unique_ptr< Elem > &side, const unsigned int i, ElemType sidetype) |
An implementation for simple (all sides equal) elements. More... | |
virtual std::vector< std::vector< std::vector< std::vector< std::pair< unsigned char, unsigned char > > > > > & | _get_bracketing_node_cache () const |
Elem subclasses which don't do their own bracketing node calculations will need to supply a static cache, since the default calculation is slow. More... | |
virtual std::vector< std::vector< std::vector< signed char > > > & | _get_parent_indices_cache () const |
Elem subclasses which don't do their own child-to-parent node calculations will need to supply a static cache, since the default calculation is slow. More... | |
void | increment_constructor_count (const std::string &name) |
Increments the construction counter. More... | |
void | increment_constructor_count (const std::string &name) |
Increments the construction counter. More... | |
void | increment_destructor_count (const std::string &name) |
Increments the destruction counter. More... | |
void | increment_destructor_count (const std::string &name) |
Increments the destruction counter. More... | |
Static Protected Member Functions | |
static dof_id_type | compute_key (dof_id_type n0) |
static dof_id_type | compute_key (dof_id_type n0, dof_id_type n1) |
static dof_id_type | compute_key (dof_id_type n0, dof_id_type n1, dof_id_type n2) |
static dof_id_type | compute_key (dof_id_type n0, dof_id_type n1, dof_id_type n2, dof_id_type n3) |
Protected Attributes | |
Elem * | _elemlinks_data [1] |
Data for link to (nullptr!) parent. More... | |
Node ** | _nodes |
Pointers to the nodes we are connected to. More... | |
Elem ** | _elemlinks |
Pointers to this element's parent and neighbors, and for lower-dimensional elements' interior_parent. More... | |
Elem ** | _children |
Pointers to this element's children. More... | |
subdomain_id_type | _sbd_id |
The subdomain to which this element belongs. More... | |
unsigned char | _rflag |
h refinement flag. More... | |
unsigned char | _pflag |
p refinement flag. More... | |
unsigned char | _p_level |
p refinement level - the difference between the polynomial degree on this element and the minimum polynomial degree on the mesh. More... | |
unsigned char | _map_type |
Mapping function type; currently either 0 (LAGRANGE) or 1 (RATIONAL_BERNSTEIN). More... | |
unsigned char | _map_data |
Mapping function data; currently used when needed to store the RATIONAL_BERNSTEIN nodal weight data index. More... | |
Static Protected Attributes | |
static Counts | _counts |
Actually holds the data. More... | |
static Counts | _counts |
Actually holds the data. More... | |
static Threads::atomic< unsigned int > | _n_objects |
The number of objects. More... | |
static Threads::atomic< unsigned int > | _n_objects |
The number of objects. More... | |
static Threads::spin_mutex | _mutex |
Mutual exclusion object to enable thread-safe reference counting. More... | |
static Threads::spin_mutex | _mutex |
Mutual exclusion object to enable thread-safe reference counting. More... | |
static bool | _enable_print_counter = true |
Flag to control whether reference count information is printed when print_info is called. More... | |
static bool | _enable_print_counter = true |
Flag to control whether reference count information is printed when print_info is called. More... | |
Private Types | |
typedef dof_id_type | index_t |
DoF index information. More... | |
typedef std::vector< index_t > | index_buffer_t |
Private Member Functions | |
RemoteElem () | |
Constructor. More... | |
bool | point_test (const Point &p, Real box_tol, Real map_tol) const |
Shared private implementation used by the contains_point() and close_to_point() routines. More... | |
void | set_child (unsigned int c, Elem *elem) |
Sets the pointer to the \( i^{th} \) child for this element. More... | |
SideIter | _first_side () |
Side iterator helper functions. More... | |
SideIter | _last_side () |
unsigned int | var_to_vg (const unsigned int s, const unsigned int var) const |
Utility function - for variable var in system s , figure out what variable group it lives in. More... | |
unsigned int | system_var_to_vg_var (const unsigned int s, const unsigned int vg, const unsigned int var) const |
Utility function - for variable var in system s , figure out what variable group it lives in. More... | |
unsigned int | start_idx (const unsigned int s) const |
The starting index for system s . More... | |
unsigned int | end_idx (const unsigned int s) const |
The ending index for system s . More... | |
unsigned int | start_idx_ints () const |
The starting index for an extra_integers pseudosystem. More... | |
unsigned int | end_idx_ints () const |
The ending index for an extra_integers pseudosystem. More... | |
Private Attributes | |
unique_id_type | _unique_id |
A globally unique id, guaranteed not to change as the mesh is repartitioned or adapted. More... | |
dof_id_type | _id |
The id of the DofObject . More... | |
processor_id_type | _processor_id |
The processor_id of the DofObject . More... | |
index_buffer_t | _idx_buf |
Static Private Attributes | |
static const index_t | ncv_magic = 256 |
Above we introduced the chimera ncv, which is a hybrid of the form ncv = ncv_magic*nv + nc where nv are the number of identical variables of a given type, and nc is the number of components for this set of variables. More... | |
static const index_t | ncv_magic_exp = 8 |
In parallel meshes where a ghost element has neighbors which do not exist on the local processor, the ghost element's neighbors are set to point to the singleton RemoteElement instead.
Library code can then distinguish between such elements and boundary elements (with nullptr neighbors).
Used by ParallelMesh to represent an Elem owned by another processor.
Definition at line 44 of file remote_elem.h.
|
protectedinherited |
Data structure to log the information.
The log is identified by the class name.
Definition at line 117 of file reference_counter.h.
|
protectedinherited |
Data structure to log the information.
The log is identified by the class name.
Definition at line 117 of file reference_counter.h.
|
privateinherited |
Definition at line 612 of file dof_object.h.
|
privateinherited |
DoF index information.
This is packed into a contiguous buffer of the following format:
* [hdr end_0 end_1 ... end_{nps-2} (ncv_0 idx_0 ncv_1 idx_1 ... ncv_nv idx_nv)_0 * (ncv_0 idx_0 ncv_1 idx_1 ... ncv_nv idx_nv)_1 * ... * (ncv_0 idx_0 ncv_1 idx_1 ... ncv_nv idx_nv)_{nps-2} ] *
'hdr' determines whether this DofObject
has_extra_integers()
associated with it; iff so then it is negative.
The total number of "pseudo systems" is nps := abs(hdr).
The total number of true systems is
* ns = hdr, hdr >= 0 * = abs(hdr) - 1, otherwise. *
'end_s' is the index past the end of the variable group (or integer) storage for (pseudo) system s
.
As a first example, consider the case of 4 systems, with 3, 0, 1, 2 variable groups, respectively. The _idx_buf then looks like:
* [4 10 10 12 () (ncv_0 idx_0 ncv_1 idx_1 ncv_2 idx_2) () (ncv_0 idx_0) (ncv_0 idx_0 ncv_1 idx_1)] * [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15] *
The ending index for each (pseudo) system is then given by:
* end_s = _idx_buf.size(), s == (nps-1), * = _idx_buf[s+1] + has_extra_integers(), otherwise. *
The starting indices are not specifically stored, but rather inferred as follows:
start_s = abs(_idx_buf[s])
Now, the defining characteristic of the VariableGroup
is that it supports an arbitrary number of variables of the same type. At the DofObject
level, what that means is that each Variable
in the VariableGroup
will have the same number of nonzero components, and they can all be indexed from the same base number. We use this information in the ncv_# and idx_# entries as follows:
ncv_# = n_vars*ncv_magic + n_comp for variable group # idx_# = base_offset for variable group #
the DoF index for a particular component c of variable v within that group is then given by
idx_var = idx_# + n_comp*v + c
When hdr is negative when cast to a signed type, then we interpret that to mean there exists one pseudo-system following the true systems, one for which the _idx_buf data stores the values associated with add_extra_integer entries, not ncv and idx data associated with system variables. We still return only the number of true systems for n_systems(), but we report has_extra_integers() as true iff hdr is negative, and abs(hdr) will reflect the total number of pseudo-systems, n_systems()+1.
E.g. if we had added two extra integers to the example case above, the _idx_buf then looks like:
* [-5 11 11 13 17 () (ncv_0 idx_0 ncv_1 idx_1 ncv_2 idx_2) () (ncv_0 idx_0) (ncv_0 idx_0 ncv_1 idx_1) (xtra1 xtra2)] * [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18] *
Definition at line 611 of file dof_object.h.
|
inherited |
|
inherited |
|
inherited |
|
inlineprivate |
Constructor.
Private to force use of the create()
member.
Definition at line 58 of file remote_elem.h.
References libMesh::DofObject::set_id().
Referenced by create().
|
delete |
|
delete |
|
virtual |
Sets remote_elem to nullptr.
Definition at line 60 of file remote_elem.C.
References libMesh::remote_elem.
|
inlineprivateinherited |
Side iterator helper functions.
Used to replace the begin() and end() functions of the STL containers.
Definition at line 2884 of file elem.h.
Referenced by libMesh::Elem::boundary_sides_begin().
|
inlineprotectedvirtualinherited |
Elem subclasses which don't do their own bracketing node calculations will need to supply a static cache, since the default calculation is slow.
Definition at line 1707 of file elem.h.
Referenced by libMesh::Elem::parent_bracketing_nodes().
|
inlineprotectedvirtualinherited |
Elem subclasses which don't do their own child-to-parent node calculations will need to supply a static cache, since the default calculation is slow.
Definition at line 1721 of file elem.h.
Referenced by libMesh::Elem::as_parent_node().
|
inlineprivateinherited |
Definition at line 2892 of file elem.h.
References libMesh::Elem::n_neighbors().
Referenced by libMesh::Elem::boundary_sides_begin(), and libMesh::Elem::boundary_sides_end().
|
inlineinherited |
true
if the element is active (i.e. has no active descendants) or AMR is disabled, false
otherwise.Definition at line 2345 of file elem.h.
References libMesh::Elem::COARSEN_INACTIVE, libMesh::Elem::INACTIVE, and libMesh::Elem::refinement_flag().
Referenced by libMesh::DofMap::_dof_indices(), libMesh::DofMap::_node_dof_indices(), libMesh::HPCoarsenTest::add_projection(), libMesh::Elem::ancestor(), assemble_ellipticdg(), libMesh::Patch::build_around_element(), libMesh::Elem::coarsen(), compute_jacobian(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::FEAbstract::compute_periodic_node_constraints(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_proj_constraints(), compute_residual(), libMesh::connect_families(), libMesh::UnstructuredMesh::contract(), libMesh::Elem::contract(), libMesh::DofMap::dof_indices(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::find_dofs_to_send(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::Elem::find_point_neighbors(), libMesh::ReplicatedMesh::get_disconnected_subdomains(), libMesh::Elem::get_info(), libMesh::ErrorVector::is_active_elem(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_flags(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_p_levels(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::Elem::make_links_to_me_local(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::Elem::max_descendant_p_level(), libMesh::Elem::min_new_p_level_by_neighbor(), libMesh::Elem::min_p_level_by_neighbor(), libMesh::DofMap::old_dof_indices(), libMesh::PointLocatorTree::operator()(), libMesh::Elem::refine(), libMesh::Elem::subactive(), libMesh::Parallel::sync_element_data_by_parent_id(), libMesh::MeshRefinement::test_level_one(), EquationSystemsTest::testRefineThenReinitPreserveFlags(), and libMesh::Parallel::Packing< Elem * >::unpack().
|
inherited |
Same as the family_tree()
member, but only adds the active children.
Can be thought of as removing all the inactive elements from the vector created by family_tree
, but is implemented more efficiently.
Definition at line 1473 of file elem.C.
References libMesh::ElemInternal::active_family_tree().
Referenced by libMesh::MeshCommunication::delete_remote_elements(), and libMesh::SiblingCoupling::operator()().
|
inherited |
Non-const version of function above; fills a vector of non-const pointers.
Definition at line 1481 of file elem.C.
References libMesh::ElemInternal::active_family_tree().
|
inherited |
Same as the active_family_tree()
member, but only adds elements which are next to neighbor
.
Definition at line 1601 of file elem.C.
References libMesh::ElemInternal::active_family_tree_by_neighbor().
Referenced by libMesh::DefaultCoupling::operator()().
|
inherited |
Non-const version of function above; fills a vector of non-const pointers.
Definition at line 1610 of file elem.C.
References libMesh::ElemInternal::active_family_tree_by_neighbor().
|
inherited |
Same as the active_family_tree()
member, but only adds elements which are next to side
.
Definition at line 1507 of file elem.C.
References libMesh::ElemInternal::active_family_tree_by_side().
Referenced by libMesh::Nemesis_IO_Helper::write_sidesets().
|
inherited |
Non-const version of function above; fills a vector of non-const pointers.
Definition at line 1516 of file elem.C.
References libMesh::ElemInternal::active_family_tree_by_side().
|
inherited |
Same as the active_family_tree_by_neighbor()
member, but the neighbor
here may be a topological (e.g.
periodic boundary condition) neighbor, not just a local neighbor.
Definition at line 1619 of file elem.C.
References libMesh::ElemInternal::active_family_tree_by_topological_neighbor(), and mesh.
Referenced by libMesh::DefaultCoupling::operator()().
|
inherited |
Non-const version of function above; fills a vector of non-const pointers.
Definition at line 1633 of file elem.C.
References libMesh::ElemInternal::active_family_tree_by_topological_neighbor(), and mesh.
|
inherited |
Adds a child pointer to the array of children of this element.
If this is the first child to be added, this method allocates memory in the parent's _children array, otherwise, it just sets the pointer.
Definition at line 1384 of file elem.C.
References libMesh::Elem::_children, libMesh::Elem::n_children(), libMesh::Elem::parent(), libMesh::remote_elem, and libMesh::Elem::set_child().
Referenced by libMesh::UnstructuredMesh::all_first_order(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::CheckpointIO::read_connectivity(), libMesh::CheckpointIO::read_remote_elem(), libMesh::XdrIO::read_serialized_connectivity(), and libMesh::Parallel::Packing< Elem * >::unpack().
Adds a new child pointer to the specified index in the array of children of this element.
If this is the first child to be added, this method allocates memory in the parent's _children array, otherwise, it just sets the pointer.
Definition at line 1411 of file elem.C.
References libMesh::Elem::_children, libMesh::Elem::child_ptr(), libMesh::Elem::has_children(), libMesh::libmesh_assert(), libMesh::Elem::n_children(), libMesh::Elem::parent(), libMesh::remote_elem, and libMesh::Elem::set_child().
|
inherited |
Assigns a set of extra integers to this DofObject
.
There will now be n_integers
associated; this replaces, not augments, any previous count.
If non-integer data is in the set, each datum of type T should be counted sizeof(T)/sizeof(dof_id_type) times in n_integers
.
Definition at line 503 of file dof_object.C.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::invalid_id, and libMesh::DofObject::n_extra_integers().
Referenced by libMesh::ReplicatedMesh::add_elem(), libMesh::DistributedMesh::add_elem(), libMesh::ReplicatedMesh::add_node(), libMesh::DistributedMesh::add_node(), libMesh::ReplicatedMesh::add_point(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::UnstructuredMesh::create_submesh(), libMesh::ReplicatedMesh::insert_elem(), libMesh::DistributedMesh::insert_elem(), libMesh::ReplicatedMesh::insert_node(), DofObjectTest< Node >::testAddExtraData(), DofObjectTest< Node >::testAddSystemExtraInts(), DofObjectTest< Node >::testSetNSystemsExtraInts(), and DofObjectTest< Node >::testSetNVariableGroupsExtraInts().
|
inherited |
Adds an additional system to the DofObject
.
Definition at line 208 of file dof_object.C.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::has_extra_integers(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), libMesh::DofObject::n_vars(), and libMesh::DofObject::set_n_systems().
Referenced by DofObjectTest< Node >::testAddSystemExtraInts().
|
inherited |
true
if the element is an ancestor (i.e. has an active child or ancestor child), false
otherwise or when AMR is disabled. Definition at line 1350 of file elem.C.
References libMesh::Elem::active(), libMesh::Elem::child_ref_range(), libMesh::Elem::has_children(), libMesh::libmesh_assert(), libMesh::remote_elem, and libMesh::Elem::subactive().
Referenced by libMesh::UnstructuredMesh::contract(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::Elem::get_info(), and libMesh::Elem::refine().
|
virtualinherited |
n
of child c
, or invalid_uint
if no such parent node exists. Definition at line 1726 of file elem.C.
References libMesh::Elem::_get_parent_indices_cache(), libMesh::Elem::embedding_matrix(), libMesh::Elem::embedding_matrix_version(), libMesh::invalid_uint, libMesh::Elem::n_children(), libMesh::Elem::n_nodes(), libMesh::Elem::n_nodes_in_child(), and libMesh::parent_indices_mutex.
Referenced by libMesh::MeshRefinement::add_node(), and libMesh::Elem::parent_bracketing_nodes().
|
inherited |
Iterator accessor functions.
Definition at line 2599 of file elem.C.
References libMesh::Elem::_first_side(), and libMesh::Elem::_last_side().
|
inherited |
|
virtualinherited |
n
of child c
. Definition at line 1999 of file elem.C.
References libMesh::Elem::build(), libMesh::Elem::child_ptr(), libMesh::Elem::default_order(), libMesh::FIRST, libMesh::HEX20, libMesh::DofObject::invalid_id, libMesh::Elem::n_nodes(), libMesh::Elem::n_nodes_in_child(), libMesh::Elem::node_id(), libMesh::Elem::parent_bracketing_nodes(), libMesh::Elem::second_order_equivalent_type(), and libMesh::Elem::type().
Referenced by libMesh::MeshRefinement::add_node(), and libMesh::TopologyMap::fill().
|
staticinherited |
type
wrapped in a smart pointer. Definition at line 246 of file elem.C.
References libMesh::EDGE2, libMesh::EDGE3, libMesh::EDGE4, libMesh::HEX20, libMesh::HEX27, libMesh::HEX8, libMesh::INFEDGE2, libMesh::INFHEX16, libMesh::INFHEX18, libMesh::INFHEX8, libMesh::INFPRISM12, libMesh::INFPRISM6, libMesh::INFQUAD4, libMesh::INFQUAD6, libMesh::NODEELEM, libMesh::PRISM15, libMesh::PRISM18, libMesh::PRISM6, libMesh::PYRAMID13, libMesh::PYRAMID14, libMesh::PYRAMID5, libMesh::QUAD4, libMesh::QUAD8, libMesh::QUAD9, libMesh::QUADSHELL4, libMesh::QUADSHELL8, libMesh::TET10, libMesh::TET4, libMesh::TRI3, libMesh::TRI3SUBDIVISION, libMesh::TRI6, libMesh::TRISHELL3, and libMesh::Elem::type().
Referenced by libMesh::GMVIO::_read_one_cell(), libMesh::UnstructuredMesh::all_first_order(), libMesh::UnstructuredMesh::all_second_order(), libMesh::Elem::bracketing_nodes(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), ExtraIntegersTest::build_mesh(), ContainsPointTest::containsPointTri3Helper(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::UnstructuredMesh::create_submesh(), libMesh::MeshTools::Modification::flatten(), libMesh::RBEIMEvaluation::legacy_write_out_interpolation_points_elem(), libMesh::RBDataDeserialization::load_rb_eim_evaluation_data(), libMesh::Elem::parent_bracketing_nodes(), libMesh::Nemesis_IO::read(), libMesh::ExodusII_IO::read(), libMesh::VTKIO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::ExodusII_IO_Helper::read_edge_blocks(), libMesh::AbaqusIO::read_elements(), libMesh::UCDIO::read_implementation(), libMesh::DynaIO::read_mesh(), libMesh::GmshIO::read_mesh(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::Elem::refine(), ElemTest< elem_type >::setUp(), RationalMapTest< elem_type >::setUp(), FETest< order, family, elem_type >::setUp(), ContainsPointTest::testContainsPointTet4(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), DofMapTest::testDofOwner(), PointLocatorTest::testLocator(), EquationSystemsTest::testPostInitAddElem(), libMesh::Parallel::Packing< Elem * >::unpack(), and libMesh::GMVIO::write_ascii_old_impl().
|
inlineinherited |
|
inlineoverridevirtual |
i
wrapped in a smart pointer.The element returned is full-ordered. For example, calling build_edge_ptr(0) on a 20-noded hex will build a 3-noded edge coincident with edge 0 and pass back the pointer. A std::unique_ptr<Elem>
is returned to prevent a memory leak. This way the user need not remember to delete the object.
The const version of this function is non-virtual; it simply calls the virtual non-const version and const_casts the return type.
Implements libMesh::Elem.
Definition at line 182 of file remote_elem.h.
|
inlineinherited |
|
inlineoverridevirtual |
i
wrapped in a smart pointer.The element returned is full-ordered, in contrast to the side method. For example, calling build_side_ptr(0) on a 20-noded hex will build a 8-noded quadrilateral coincident with face 0 and pass back the pointer. A std::unique_ptr<Elem>
is returned to prevent a memory leak. This way the user need not remember to delete the object.
The second argument, which is true by default, specifies that a "proxy" element (of type Side) will be returned. This type of value is useful because it does not allocate additional memory, and is usually sufficient for FE calculation purposes. If you really need a full-ordered, non-proxy side object, call this function with proxy=false.
The const version of this function is non-virtual; it simply calls the virtual non-const version and const_casts the return type.
Implements libMesh::Elem.
Definition at line 174 of file remote_elem.h.
|
inlineinherited |
|
inlineoverridevirtual |
Resets the loose element side
, which may currently point to a different side than i
or even a different element than this
, to point to side i
on this
.
If side
is currently an element of the wrong type, it will be freed and a new element allocated; otherwise no memory allocation will occur.
This should not be called with proxy Side elements. This will cause side
to be a full-ordered element, even if it is handed a lower-ordered element that must be replaced.
The const version of this function is non-virtual; it simply calls the virtual non-const version and const_casts the return type.
Implements libMesh::Elem.
Definition at line 178 of file remote_elem.h.
|
virtualinherited |
This method is virtual since some derived elements might want to use shortcuts to compute their centroid.
Definition at line 345 of file elem.C.
References libMesh::TypeVector< T >::add(), and libMesh::Elem::n_vertices().
Referenced by libMesh::UnstructuredMesh::find_neighbors(), A0::interior_assembly(), A1::interior_assembly(), OutputAssembly::interior_assembly(), SlitFunc::operator()(), libMesh::LocationMap< T >::point_of(), libMesh::FE< Dim, LAGRANGE_VEC >::shape(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv(), DefaultCouplingTest::testCoupling(), and PointNeighborCouplingTest::testCoupling().
elem
is a neighbor of a child of this element, a pointer to that child, otherwise nullptr
. Definition at line 2139 of file elem.h.
References libMesh::Elem::neighbor_ptr_range().
elem
is a neighbor of a child of this element, a pointer to that child, otherwise nullptr
. Definition at line 2127 of file elem.h.
References libMesh::Elem::neighbor_ptr_range().
Definition at line 2576 of file elem.h.
References libMesh::Elem::_children, and libMesh::libmesh_assert().
Definition at line 2567 of file elem.h.
References libMesh::Elem::_children, and libMesh::libmesh_assert().
Referenced by libMesh::Elem::add_child(), libMesh::UnstructuredMesh::all_first_order(), libMesh::Elem::bracketing_nodes(), libMesh::Elem::coarsen(), libMesh::FEGenericBase< FEOutputType< T >::type >::coarsened_dof_values(), libMesh::TopologyMap::fill(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::Elem::is_vertex_on_parent(), libMesh::Elem::make_links_to_me_remote(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectEdges::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectSides::operator()(), libMesh::Elem::refine(), libMesh::Elem::replace_child(), libMesh::Parallel::sync_element_data_by_parent_id(), EquationSystemsTest::testRefineThenReinitPreserveFlags(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::Elem::which_child_am_i(), and libMesh::CheckpointIO::write_remote_elem().
|
inlineinherited |
Returns a range with all children of a parent element, usable in range-based for loops.
The exact type of the return value here may be subject to change in future libMesh releases, but the iterators will always dereference to produce a reference to a child element.
Definition at line 1839 of file elem.h.
References libMesh::Elem::_children, libMesh::libmesh_assert(), and libMesh::Elem::n_children().
Referenced by libMesh::HPCoarsenTest::add_projection(), libMesh::Elem::ancestor(), libMesh::OldSolutionBase< Output, point_output >::check_old_context(), libMesh::Elem::coarsen(), libMesh::FEGenericBase< FEOutputType< T >::type >::coarsened_dof_values(), libMesh::connect_children(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::Elem::has_ancestor_children(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Elem >(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::Elem::make_links_to_me_remote(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::Elem::max_descendant_p_level(), libMesh::Elem::min_new_p_level_by_neighbor(), libMesh::Elem::min_p_level_by_neighbor(), libMesh::Elem::set_p_level(), and libMesh::Partitioner::set_parent_processor_ids().
|
inlineinherited |
Definition at line 1847 of file elem.h.
References libMesh::Elem::_children, libMesh::libmesh_assert(), and libMesh::Elem::n_children().
|
staticinherited |
Cleanup function.
Removes all dynamically created Singleton
objects.
Definition at line 96 of file libmesh_singleton.C.
References libMesh::as_range(), and libMesh::libmesh_assert().
|
inlineinherited |
Clear the DofMap
data structures holding degree of freedom data.
If any extra integers are associated with this DofObject
, their count and values are unchanged.
Definition at line 737 of file dof_object.h.
References libMesh::DofObject::set_n_systems().
Referenced by libMesh::DofObject::~DofObject().
|
inherited |
Sets the old_dof_object
to nullptr.
Definition at line 142 of file dof_object.C.
References libMesh::DofObject::old_dof_object.
Referenced by libMesh::DofObject::operator=(), libMesh::DofObject::set_old_dof_object(), libMesh::DofObject::unpack_indexing(), and libMesh::DofObject::~DofObject().
true
if this element is "close" to the point p, where "close" is determined by the tolerance tol. Definition at line 2119 of file elem.C.
References libMesh::Elem::point_test().
Referenced by assemble_SchroedingerEquation().
|
inherited |
Coarsen the element.
This function is non-virtual since it is the same for all element types.
Definition at line 163 of file elem_refinement.C.
References libMesh::Elem::active(), libMesh::TypeVector< T >::add_scaled(), libMesh::Elem::child_ptr(), libMesh::Elem::child_ref_range(), libMesh::Elem::COARSEN, libMesh::Elem::COARSEN_INACTIVE, libMesh::Elem::embedding_matrix(), libMesh::Elem::INACTIVE, libMesh::Elem::JUST_COARSENED, libMesh::libmesh_assert(), libMesh::Elem::n_children(), libMesh::Elem::n_nodes(), libMesh::Elem::node_index_range(), libMesh::Elem::point(), libMesh::Elem::refinement_flag(), libMesh::remote_elem, libMesh::Elem::set_p_level(), and libMesh::Elem::set_refinement_flag().
|
inlinestaticprotectedinherited |
Definition at line 2683 of file elem.h.
Referenced by libMesh::Tet::key(), libMesh::Prism::key(), libMesh::Tri::key(), libMesh::Pyramid::key(), libMesh::Hex::key(), libMesh::Edge::key(), libMesh::InfPrism::key(), libMesh::InfQuad6::key(), libMesh::Quad::key(), libMesh::InfHex::key(), libMesh::Quad9::key(), libMesh::Quad8::key(), libMesh::Tri6::key(), libMesh::InfQuad::key(), libMesh::Edge2::key(), libMesh::Hex27::key(), libMesh::Prism18::key(), libMesh::Pyramid14::key(), libMesh::Edge4::key(), libMesh::InfHex18::key(), libMesh::Edge3::key(), and libMesh::Tet4::key().
|
inlinestaticprotectedinherited |
Definition at line 2691 of file elem.h.
References libMesh::Utility::hashword2(), and swap().
|
inlinestaticprotectedinherited |
Definition at line 2703 of file elem.h.
References libMesh::Utility::hashword(), libMesh::libmesh_assert(), and swap().
|
inlinestaticprotectedinherited |
Definition at line 2737 of file elem.h.
References libMesh::Utility::hashword(), libMesh::libmesh_assert(), and swap().
|
inlineoverridevirtual |
Implements libMesh::Elem.
Definition at line 104 of file remote_elem.h.
|
inherited |
true
if an edge of e
is contained in this element. (Internally, this is done by checking whether at least two vertices of e
are contained in this element). Definition at line 539 of file elem.C.
References libMesh::Elem::contains_point(), libMesh::Elem::n_vertices(), and libMesh::Elem::point().
Referenced by libMesh::Elem::find_edge_neighbors().
true
if the point p is contained in this element, false otherwise.For linear elements, performs an initial tight bounding box check (as an optimization step) and (if that passes) then uses the user-defined tolerance "tol" in a call to inverse_map() to actually test if the point is in the element. For quadratic elements, the bounding box optimization is skipped, and only the inverse_map() steps are performed.
Reimplemented in libMesh::InfHex, libMesh::InfPrism, libMesh::InfQuad4, libMesh::Tet4, and libMesh::Tri3.
Definition at line 2094 of file elem.C.
References libMesh::err, libMesh::Elem::point_test(), and libMesh::TOLERANCE.
Referenced by libMesh::Elem::contains_edge_of(), libMesh::Elem::contains_vertex_of(), libMesh::Elem::find_edge_neighbors(), libMesh::Elem::find_point_neighbors(), libMesh::PointLocatorTree::operator()(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), NavierSystem::side_constraint(), RationalMapTest< elem_type >::testContainsPoint(), FETest< order, family, elem_type >::testGradU(), FETest< order, family, elem_type >::testGradUComp(), PointLocatorTest::testLocator(), and FETest< order, family, elem_type >::testU().
|
inherited |
true
if a vertex of e
is contained in this element. Definition at line 528 of file elem.C.
References libMesh::Elem::contains_point(), libMesh::Elem::n_vertices(), and libMesh::Elem::point().
|
inherited |
Contract an active element, i.e.
remove pointers to any subactive children. This should only be called via MeshRefinement::contract, which will also remove subactive children from the mesh.
Definition at line 230 of file elem_refinement.C.
References libMesh::Elem::_children, libMesh::Elem::active(), libMesh::Elem::DO_NOTHING, libMesh::Elem::JUST_COARSENED, libMesh::libmesh_assert(), libMesh::Elem::refinement_flag(), and libMesh::Elem::set_refinement_flag().
Referenced by libMesh::UnstructuredMesh::contract().
|
static |
Return a reference to the global RemoteElem
singleton object.
Definition at line 69 of file remote_elem.C.
References libMesh::remote_elem, and RemoteElem().
|
inherited |
Print our buffer for debugging.
Definition at line 654 of file dof_object.C.
References libMesh::DofObject::_idx_buf, libMesh::MeshTools::Generation::Private::idx(), and libMesh::out.
|
inlineoverridevirtual |
Implements libMesh::Elem.
Definition at line 185 of file remote_elem.h.
|
inlineoverridevirtual |
Implements libMesh::Elem.
Definition at line 112 of file remote_elem.h.
|
staticinherited |
Definition at line 106 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::LibMeshInit::LibMeshInit().
|
staticinherited |
Definition at line 106 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::LibMeshInit::LibMeshInit().
|
inlineinherited |
var
, component comp
for system s
associated with this DofObject
When partitioning and DoF numbering have been performed by libMesh, every current DoF on this DofObject will belong to its processor.
Definition at line 956 of file dof_object.h.
References libMesh::DofObject::n_comp(), libMesh::DofObject::n_comp_group(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_vars(), and libMesh::DofObject::var_to_vg_and_offset().
Referenced by libMesh::DofMap::_dof_indices(), libMesh::DofMap::_node_dof_indices(), libMesh::DynaIO::add_spline_constraints(), libMesh::DofMap::allgather_recursive_constraints(), assemble_matrix_and_rhs(), assemble_shell(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::DofMap::constrain_p_dofs(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::dof_indices(), libMesh::DofObject::DofObject(), libMesh::OldSolutionCoefs< Output, point_output >::eval_at_node(), libMesh::OldSolutionValue< Output, point_output >::eval_at_node(), libMesh::OldSolutionCoefs< Output, point_output >::eval_old_dofs(), libMesh::OldSolutionValue< Output, point_output >::eval_old_dofs(), fill_dirichlet_bc(), libMesh::Node::get_info(), libMesh::Elem::get_info(), libMesh::DofMap::local_variable_indices(), main(), libMesh::DofMap::old_dof_indices(), libMesh::BuildProjectionList::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectEdges::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectSides::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectInteriors::operator()(), libMesh::DofObject::operator=(), libMesh::DofObject::print_dof_info(), LinearElasticityWithContact::residual_and_jacobian(), libMesh::HPCoarsenTest::select_refinement(), libMesh::DofObject::set_dof_number(), libMesh::DofMap::set_nonlocal_dof_objects(), ParsedFEMFunctionTest::setUp(), DofObjectTest< Node >::testJensEftangBug(), DofObjectTest< Node >::testManualDofCalculation(), libMesh::BoundaryVolumeSolutionTransfer::transfer_boundary_volume(), libMesh::DTKAdapter::update_variable_values(), and libMesh::Nemesis_IO_Helper::write_nodal_solution().
|
inlineinherited |
vg
, variable index vig
within the group, component comp
out of n_comp
, for system s
on this DofObject
Even users who need to call dof_number from user code probably don't want to call this overload.
Definition at line 977 of file dof_object.h.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::invalid_id, libMesh::DofObject::n_comp(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), libMesh::DofObject::n_vars(), and libMesh::DofObject::start_idx().
|
inlineinherited |
Definition at line 2179 of file elem.h.
References libMesh::Elem::n_edges().
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::coarsened_dof_values(), libMesh::BoundaryInfo::copy_boundary_ids(), libMesh::ElemCutter::find_intersection_points(), libMesh::Parallel::Packing< const Elem * >::pack(), and libMesh::Parallel::Packing< Elem * >::unpack().
|
inlineoverridevirtual |
Matrix that transforms the parents nodes into the children's nodes.
Implements libMesh::Elem.
Definition at line 201 of file remote_elem.h.
|
inlinevirtualinherited |
Some element types may use a different embedding matrix depending on their geometric characteristics.
Reimplemented in libMesh::Tet.
Definition at line 1649 of file elem.h.
Referenced by libMesh::Elem::as_parent_node(), and libMesh::Elem::parent_bracketing_nodes().
|
staticinherited |
Methods to enable/disable the reference counter output from print_info()
Definition at line 100 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
|
staticinherited |
Methods to enable/disable the reference counter output from print_info()
Definition at line 100 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
The ending index for system s
.
Definition at line 1172 of file dof_object.h.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::n_pseudo_systems(), and libMesh::DofObject::n_systems().
Referenced by libMesh::DofObject::n_var_groups(), and libMesh::DofObject::set_n_vars_per_group().
|
inlineprivateinherited |
The ending index for an extra_integers pseudosystem.
Definition at line 1199 of file dof_object.h.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::has_extra_integers(), and libMesh::libmesh_assert().
|
inherited |
Fills the vector family
with the children of this element, recursively.
Calling this method on a twice-refined element will give you the element itself, its direct children, and their children, etc... When the optional parameter reset
is true, the vector will be cleared before the element and its descendants are added.
The family tree only includes ancestor and active elements. To include subactive elements as well, use total_family_tree().
Definition at line 1441 of file elem.C.
References libMesh::ElemInternal::family_tree().
|
inherited |
Non-const version of function above; fills a vector of non-const pointers.
Definition at line 1449 of file elem.C.
References libMesh::ElemInternal::family_tree().
|
inherited |
Same as the family_tree()
member, but only adds elements which are next to neighbor
.
Definition at line 1525 of file elem.C.
References libMesh::ElemInternal::family_tree_by_neighbor().
|
inherited |
Non-const version of function above; fills a vector of non-const pointers.
Definition at line 1534 of file elem.C.
References libMesh::ElemInternal::family_tree_by_neighbor().
|
inherited |
Same as the family_tree()
member, but only adds elements which are next to side
.
Definition at line 1489 of file elem.C.
References libMesh::ElemInternal::family_tree_by_side().
Referenced by libMesh::Elem::make_links_to_me_local().
|
inherited |
Non-const version of function above; fills a vector of non-const pointers.
Definition at line 1498 of file elem.C.
References libMesh::ElemInternal::family_tree_by_side().
|
inherited |
Same as the family_tree()
member, but only adds elements which are next to subneighbor
.
Only applicable when this->has_neighbor(neighbor)
and neighbor->is_ancestor(subneighbor)
Definition at line 1561 of file elem.C.
References libMesh::ElemInternal::family_tree_by_subneighbor().
|
inherited |
Non-const version of function above; fills a vector of non-const pointers.
Definition at line 1571 of file elem.C.
References libMesh::ElemInternal::family_tree_by_subneighbor().
|
inherited |
This function finds all active elements in the same manifold as this element which touch the current active element along the whole edge defined by the two points p1
and p2
.
Definition at line 646 of file elem.C.
References libMesh::Elem::contains_point(), end, libMesh::Elem::find_point_neighbors(), and libMesh::libmesh_assert().
Referenced by libMesh::MeshRefinement::enforce_mismatch_limit_prior_to_refinement().
|
inherited |
This function finds all active elements in the same manifold as this element which touch the current active element along any edge (more precisely, at at least two points).
In this case, elements are included even if they do not touch a whole edge of this element.
Definition at line 673 of file elem.C.
References libMesh::Elem::contains_edge_of(), and libMesh::remote_elem.
|
inherited |
This function finds all active elements (not including this one) in the parent manifold of this element whose intersection with this element has non-zero measure.
Definition at line 735 of file elem.C.
References libMesh::ElemInternal::find_interior_neighbors().
|
inherited |
Non-const version of function above that fills up a vector of non-const Elem pointers instead.
Definition at line 742 of file elem.C.
References libMesh::ElemInternal::find_interior_neighbors().
|
inherited |
This function finds all active elements (including this one) which are in the same manifold as this element and which touch the current active element at the specified point, which should be a point in the current element.
Elements which are not "in the same manifold" (e.g. the interior_parent of a boundary element) will not be found with this method.
Elements which overlap the specified point but which are only connected to the current element via elements which do not overlap that point (e.g. in a folded or tangled mesh) are not considered to "touch" the current element and will not be found with this method.
Definition at line 560 of file elem.C.
References libMesh::Elem::active(), libMesh::Elem::contains_point(), libMesh::libmesh_assert(), and libMesh::remote_elem.
Referenced by libMesh::MeshRefinement::enforce_mismatch_limit_prior_to_refinement(), libMesh::Elem::find_edge_neighbors(), libMesh::MeshFunction::find_element(), libMesh::Elem::find_point_neighbors(), libMesh::ReplicatedMesh::get_boundary_points(), and libMesh::Elem::is_semilocal().
|
inherited |
This function finds all active elements (including this one) in the same manifold as this element which touch this active element at any point.
Definition at line 623 of file elem.C.
References libMesh::Elem::find_point_neighbors().
|
inherited |
This function finds all active elements (including this one) in the same manifold as start_elem (which must be active and must touch this element) which touch this element at any point.
Definition at line 630 of file elem.C.
References libMesh::ElemInternal::find_point_neighbors().
|
inherited |
Non-const version of function above.
Fills a set of non-const Elem pointers.
Definition at line 638 of file elem.C.
References libMesh::ElemInternal::find_point_neighbors().
INVALID_ELEM
for first-order or other elements that cannot be converted into lower order equivalents.For example, when this
is a TET10
, then TET4
is returned.
Definition at line 2369 of file elem.C.
References libMesh::EDGE2, libMesh::EDGE3, libMesh::EDGE4, libMesh::HEX20, libMesh::HEX27, libMesh::HEX8, libMesh::INFEDGE2, libMesh::INFHEX16, libMesh::INFHEX18, libMesh::INFHEX8, libMesh::INFPRISM12, libMesh::INFPRISM6, libMesh::INFQUAD4, libMesh::INFQUAD6, libMesh::INVALID_ELEM, libMesh::NODEELEM, libMesh::PRISM15, libMesh::PRISM18, libMesh::PRISM6, libMesh::PYRAMID13, libMesh::PYRAMID14, libMesh::PYRAMID5, libMesh::QUAD4, libMesh::QUAD8, libMesh::QUAD9, libMesh::QUADSHELL4, libMesh::QUADSHELL8, libMesh::TET10, libMesh::TET4, libMesh::TRI3, libMesh::TRI6, and libMesh::TRISHELL3.
Referenced by libMesh::UnstructuredMesh::all_first_order(), SideTest< ElemClass, side_type, indexbegin, indexend >::testSidePtr(), SideTest< ElemClass, side_type, indexbegin, indexend >::testSidePtrFill(), and libMesh::GMVIO::write_ascii_old_impl().
|
inlineinherited |
Gets the value on this object of the extra datum associated with index
, which should have been obtained via a call to MeshBase::add_elem_datum
or MeshBase::add_node_datum
using the same type T.
Definition at line 1062 of file dof_object.h.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::n_extra_integers(), libMesh::DofObject::n_systems(), and libMesh::DofObject::start_idx_ints().
Referenced by libMesh::FE< Dim, LAGRANGE_VEC >::shape(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv(), and DofObjectTest< Node >::testAddExtraData().
|
inlineinherited |
Gets the value on this object of the extra integer associated with index
, which should have been obtained via a call to MeshBase::add_elem_integer
or MeshBase::add_node_integer
.
Definition at line 1026 of file dof_object.h.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::n_extra_integers(), libMesh::DofObject::n_systems(), and libMesh::DofObject::start_idx_ints().
Referenced by libMesh::CheckpointIO::read_connectivity(), libMesh::DofObject::set_n_vars_per_group(), DofObjectTest< Node >::testAddExtraData(), DofObjectTest< Node >::testAddSystemExtraInts(), DofObjectTest< Node >::testSetNSystemsExtraInts(), and DofObjectTest< Node >::testSetNVariableGroupsExtraInts().
|
staticinherited |
Gets a string containing the reference information.
Definition at line 47 of file reference_counter.C.
References libMesh::ReferenceCounter::_counts, and libMesh::Quality::name().
Referenced by libMesh::ReferenceCounter::print_info().
|
staticinherited |
Gets a string containing the reference information.
Definition at line 47 of file reference_counter.C.
References libMesh::ReferenceCounter::_counts, and libMesh::Quality::name().
Referenced by libMesh::ReferenceCounter::print_info().
|
inherited |
Prints relevant information about the element to a string.
Definition at line 2233 of file elem.C.
References libMesh::Elem::active(), libMesh::Elem::ancestor(), libMesh::Elem::dim(), libMesh::DofObject::dof_number(), libMesh::Utility::enum_to_string(), libMesh::Elem::has_children(), libMesh::Elem::hmax(), libMesh::Elem::hmin(), libMesh::DofObject::id(), libMesh::Elem::infinite(), libMesh::Elem::level(), libMesh::DofObject::n_comp(), libMesh::Elem::n_nodes(), libMesh::Elem::n_sides(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_vars(), libMesh::Elem::neighbor_ptr(), libMesh::Elem::node_index_range(), libMesh::Elem::node_ref(), libMesh::Elem::origin(), libMesh::Elem::p_level(), libMesh::Elem::p_refinement_flag(), libMesh::Elem::parent(), libMesh::DofObject::processor_id(), libMesh::Elem::refinement_flag(), libMesh::Elem::side_index_range(), libMesh::Elem::subactive(), libMesh::Elem::type(), libMesh::DofObject::unique_id(), libMesh::DofObject::valid_id(), libMesh::DofObject::valid_unique_id(), and libMesh::Elem::volume().
Referenced by libMesh::Elem::print_info().
Node
pointer node_ptr
, or invalid_id
if node_ptr
is not a local node. Definition at line 2047 of file elem.h.
References libMesh::Elem::_nodes, libMesh::invalid_uint, libMesh::Elem::n_nodes(), and libMesh::Elem::node_ptr().
Referenced by libMesh::OldSolutionValue< Output, point_output >::eval_at_node(), libMesh::ElemCutter::find_intersection_points(), and libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()().
|
inlineinherited |
Definition at line 2001 of file elem.h.
References libMesh::Elem::_nodes.
Referenced by libMesh::DofMap::dof_indices(), and libMesh::DofMap::old_dof_indices().
|
inlineinherited |
Sets the value of the p-refinement level for the element without altering the p-level of its ancestors.
Definition at line 2668 of file elem.h.
References libMesh::Elem::_p_level, libMesh::Elem::JUST_REFINED, and libMesh::Elem::p_refinement_flag().
Referenced by libMesh::CheckpointIO::read_connectivity(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::HPCoarsenTest::select_refinement(), and libMesh::Parallel::Packing< Elem * >::unpack().
|
inlinevirtualinherited |
true
if the element map is definitely affine (i.e. the same at every quadrature point) within numerical tolerances. Reimplemented in libMesh::NodeElem, libMesh::Pyramid14, libMesh::Prism15, libMesh::Prism18, libMesh::Pyramid13, libMesh::Hex20, libMesh::Hex27, libMesh::Tet10, libMesh::Tet4, libMesh::Tri6, libMesh::Hex8, libMesh::Quad8, libMesh::Quad9, libMesh::Tri3, libMesh::Edge4, libMesh::Prism6, libMesh::Pyramid5, libMesh::Edge3, libMesh::Quad4, libMesh::Edge2, and libMesh::Tri3Subdivision.
Definition at line 938 of file elem.h.
Referenced by libMesh::FEMap::compute_map().
|
inlineinherited |
true
if the element has any descendants other than its immediate children, false
otherwise, or if AMR is disabled. Definition at line 2397 of file elem.h.
References libMesh::Elem::_children, and libMesh::Elem::child_ref_range().
|
inlineinherited |
true
if the element has any children (active or not), false
otherwise, or if AMR is disabled. Definition at line 2383 of file elem.h.
References libMesh::Elem::_children.
Referenced by libMesh::Elem::add_child(), libMesh::Elem::ancestor(), libMesh::connect_children(), libMesh::connect_families(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::Elem::get_info(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Elem >(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::Elem::make_links_to_me_local(), libMesh::Elem::make_links_to_me_remote(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::FEMSystem::mesh_position_set(), libMesh::Parallel::Packing< const Elem * >::pack(), libMesh::Elem::remove_links_to_me(), libMesh::Elem::replace_child(), libMesh::Elem::set_child(), libMesh::Elem::subactive(), libMesh::Parallel::sync_element_data_by_parent_id(), libMesh::Parallel::Packing< Elem * >::unpack(), and libMesh::Elem::which_child_am_i().
|
inlineinherited |
true
if any system has variables which have been assigned, false
otherwise. Definition at line 1138 of file dof_object.h.
References libMesh::invalid_uint, libMesh::DofObject::n_systems(), and libMesh::DofObject::n_vars().
Referenced by libMesh::DofMap::old_dof_indices(), and libMesh::Parallel::Packing< Node * >::unpack().
|
inlineinherited |
Returns whether extra integers are associated to the DofObject
.
Definition at line 1100 of file dof_object.h.
References libMesh::DofObject::_idx_buf.
Referenced by libMesh::DofObject::add_system(), libMesh::DofObject::end_idx_ints(), libMesh::DofObject::set_n_vars_per_group(), libMesh::DofObject::start_idx_ints(), DofObjectTest< Node >::testAddExtraData(), DofObjectTest< Node >::testAddSystemExtraInts(), and DofObjectTest< Node >::testSetNSystemsExtraInts().
|
inlineinherited |
true
if the element elem
in question is a neighbor of this element, false
otherwise. Definition at line 2115 of file elem.h.
References libMesh::Elem::neighbor_ptr_range().
Referenced by libMesh::Elem::has_topological_neighbor(), libMesh::MeshRefinement::has_topological_neighbor(), libMesh::Elem::min_new_p_level_by_neighbor(), libMesh::Elem::min_p_level_by_neighbor(), and libMesh::Elem::on_boundary().
|
inherited |
true
if the element elem
in question is a neighbor or topological neighbor of this element, false
otherwise. Definition at line 902 of file elem.C.
References libMesh::Elem::has_neighbor(), mesh, libMesh::Elem::side_index_range(), and libMesh::Elem::topological_neighbor().
Referenced by libMesh::MeshRefinement::has_topological_neighbor().
|
virtualinherited |
Definition at line 379 of file elem.C.
References libMesh::Elem::n_vertices(), libMesh::Elem::point(), libMesh::Real, and std::sqrt().
Referenced by libMesh::DiscontinuityMeasure::boundary_side_integration(), libMesh::KellyErrorEstimator::boundary_side_integration(), libMesh::OldSolutionBase< Output, point_output >::check_old_context(), libMesh::Elem::get_info(), libMesh::LaplacianErrorEstimator::internal_side_integration(), libMesh::DiscontinuityMeasure::internal_side_integration(), libMesh::KellyErrorEstimator::internal_side_integration(), and libMesh::Elem::point_test().
|
virtualinherited |
Definition at line 359 of file elem.C.
References libMesh::Elem::n_vertices(), libMesh::Elem::point(), libMesh::Real, and std::sqrt().
Referenced by assemble_SchroedingerEquation(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::MeshTools::Modification::distort(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::Elem::get_info(), libMesh::FEMSystem::numerical_jacobian(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), and libMesh::ReplicatedMesh::stitching_helper().
|
inlineinherited |
id
for this DofObject
Definition at line 767 of file dof_object.h.
References libMesh::DofObject::_id, libMesh::libmesh_assert(), and libMesh::DofObject::valid_id().
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::MeshTools::Subdivision::add_boundary_ghosts(), add_cube_convex_hull_to_mesh(), libMesh::ReplicatedMesh::add_elem(), libMesh::DistributedMesh::add_elem(), libMesh::BoundaryInfo::add_elements(), libMesh::TopologyMap::add_node(), libMesh::ReplicatedMesh::add_node(), libMesh::DistributedMesh::add_node(), libMesh::DistributedMesh::add_point(), libMesh::UnstructuredMesh::all_first_order(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), assemble_ellipticdg(), assemble_SchroedingerEquation(), libMesh::Partitioner::build_graph(), libMesh::InfElemBuilder::build_inf_elem(), compute_jacobian(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), compute_residual(), libMesh::FEMap::compute_single_point_map(), libMesh::MeshRefinement::create_parent_error_vector(), libMesh::ReplicatedMesh::delete_elem(), libMesh::DistributedMesh::delete_elem(), libMesh::ReplicatedMesh::delete_node(), libMesh::DistributedMesh::delete_node(), libMesh::DistributedMesh::DistributedMesh(), libMesh::DTKAdapter::DTKAdapter(), libMesh::UNVIO::elements_out(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::find_dofs_to_send(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::MeshTools::find_nodal_neighbors(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_error_fraction(), libMesh::MeshRefinement::flag_elements_by_error_tolerance(), libMesh::MeshTools::Modification::flatten(), libMesh::ReplicatedMesh::get_boundary_points(), libMesh::ReplicatedMesh::get_disconnected_subdomains(), libMesh::Node::get_info(), libMesh::Elem::get_info(), libMesh::DofMap::get_local_constraints(), libMesh::ParmetisPartitioner::initialize(), libMesh::TreeNode< N >::insert(), libMesh::ReplicatedMesh::insert_elem(), libMesh::DistributedMesh::insert_elem(), libMesh::ReplicatedMesh::insert_node(), libMesh::FEMap::inverse_map(), libMesh::RBEIMEvaluation::legacy_write_out_interpolation_points_elem(), libMesh::MeshTools::libmesh_assert_valid_amr_elem_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::Tri3Subdivision::local_node_number(), main(), LinearElasticityWithContact::move_mesh(), libMesh::Elem::node_id(), libMesh::VTKIO::nodes_to_vtk(), libMesh::CompareElemIdsByLevel::operator()(), libMesh::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::PatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::DistributedMesh::own_node(), libMesh::Parallel::Packing< const Node * >::pack(), libMesh::Parallel::Packing< const Elem * >::pack(), libMesh::MetisPartitioner::partition_range(), libMesh::DofObject::print_dof_info(), libMesh::DistributedMesh::query_elem_ptr(), libMesh::DistributedMesh::query_node_ptr(), libMesh::Nemesis_IO::read(), libMesh::ExodusII_IO::read(), libMesh::AbaqusIO::read_elements(), libMesh::DynaIO::read_mesh(), libMesh::DistributedMesh::renumber_elem(), libMesh::DistributedMesh::renumber_node(), libMesh::DistributedMesh::renumber_nodes_and_elements(), libMesh::DofMap::scatter_constraints(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::MeshTools::Modification::smooth(), libMesh::BoundaryInfo::sync(), libMesh::Parallel::sync_dofobject_data_by_id(), libMesh::Parallel::sync_element_data_by_parent_id(), libMesh::Parallel::sync_node_data_by_element_id_once(), DefaultCouplingTest::testCoupling(), MixedDimensionMeshTest::testPointLocatorTree(), DofObjectTest< Node >::testSetId(), libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::ExodusII_IO_Helper::write_elements(), libMesh::GmshIO::write_mesh(), libMesh::ExodusII_IO_Helper::write_nodal_coordinates(), and libMesh::XdrIO::write_serialized_nodes().
|
inlineprotectedinherited |
Increments the construction counter.
Should be called in the constructor of any derived class that will be reference counted.
Definition at line 181 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
|
inlineprotectedinherited |
Increments the construction counter.
Should be called in the constructor of any derived class that will be reference counted.
Definition at line 181 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
|
inlineprotectedinherited |
Increments the destruction counter.
Should be called in the destructor of any derived class that will be reference counted.
Definition at line 194 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
|
inlineprotectedinherited |
Increments the destruction counter.
Should be called in the destructor of any derived class that will be reference counted.
Definition at line 194 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
|
inlineoverridevirtual |
true
if the element is an infinite element, false
otherwise. Implements libMesh::Elem.
Definition at line 190 of file remote_elem.h.
|
inherited |
Definition at line 784 of file elem.C.
References libMesh::Elem::_elemlinks, libMesh::Elem::dim(), libMesh::Elem::level(), libMesh::libmesh_assert(), libMesh::Elem::n_sides(), and libMesh::remote_elem.
|
inherited |
In some cases it is desirable to extract the boundary (or a subset thereof) of a D-dimensional mesh as a (D-1)-dimensional manifold. In this case we may want to know the 'parent' element from which the manifold elements were extracted. We can easily do that for the level-0 manifold elements by storing the D-dimensional parent. This method provides access to that element.
This method is not safe to call if this->dim() == LIBMESH_DIM; in such cases no data storage for an interior parent pointer has been allocated.
Definition at line 749 of file elem.C.
References libMesh::Elem::_elemlinks, libMesh::Elem::dim(), libMesh::Elem::level(), libMesh::libmesh_assert(), libMesh::Elem::n_sides(), and libMesh::remote_elem.
Referenced by libMesh::UnstructuredMesh::find_neighbors(), libMesh::BoundaryInfo::get_side_and_node_maps(), libMesh::MeshTools::libmesh_assert_valid_amr_interior_parents(), libMesh::Parallel::Packing< const Elem * >::pack(), BoundaryMeshTest::sanityCheck(), MixedDimensionMeshTest::testMesh(), MixedDimensionNonUniformRefinement::testMesh(), MixedDimensionNonUniformRefinementTriangle::testMesh(), MixedDimensionNonUniformRefinement3D::testMesh(), libMesh::BoundaryVolumeSolutionTransfer::transfer_boundary_volume(), libMesh::BoundaryVolumeSolutionTransfer::transfer_volume_boundary(), and libMesh::Parallel::Packing< Elem * >::unpack().
|
inlineinherited |
Invalidates all the indices for this DofObject
.
Definition at line 727 of file dof_object.h.
References libMesh::DofObject::invalidate_dofs(), libMesh::DofObject::invalidate_id(), and libMesh::DofObject::invalidate_processor_id().
Referenced by libMesh::DofObject::DofObject().
|
inlineinherited |
Sets all degree of freedom numbers to invalid_id
.
Definition at line 690 of file dof_object.h.
References libMesh::DofObject::invalid_id, libMesh::DofObject::n_comp_group(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), and libMesh::DofObject::set_vg_dof_base().
Referenced by libMesh::DofObject::invalidate().
|
inlineinherited |
Sets the id to invalid_id
.
Definition at line 711 of file dof_object.h.
References libMesh::DofObject::invalid_id, and libMesh::DofObject::set_id().
Referenced by libMesh::DofObject::invalidate(), and DofObjectTest< Node >::testInvalidateId().
|
inlineinherited |
Sets the processor id to invalid_processor_id
.
Definition at line 719 of file dof_object.h.
References libMesh::DofObject::invalid_processor_id, and libMesh::DofObject::processor_id().
Referenced by libMesh::DofObject::invalidate(), libMesh::Partitioner::set_parent_processor_ids(), and DofObjectTest< Node >::testInvalidateProcId().
|
inlineinherited |
true
if descendant
is a child of this
, or a child of a child of this
, etc., false
otherwise or if AMR is disabled. Definition at line 2413 of file elem.h.
References libMesh::Elem::parent().
Referenced by libMesh::UnstructuredMesh::find_neighbors().
|
virtualinherited |
true
if the specified child is on the specified edge. Definition at line 1646 of file elem.C.
References libMesh::Elem::build_edge_ptr(), libMesh::Elem::n_children(), and libMesh::Elem::n_edges().
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::coarsened_dof_values(), libMesh::BoundaryInfo::edge_boundary_ids(), and libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectEdges::operator()().
|
inlineoverridevirtual |
true
if the specified child is on the specified side. Implements libMesh::Elem.
Definition at line 152 of file remote_elem.h.
|
inlineoverridevirtual |
true
if the specified (local) node number is an edge. Implements libMesh::Elem.
Definition at line 136 of file remote_elem.h.
|
inlineoverridevirtual |
true
if the specified edge is on the specified side. Implements libMesh::Elem.
Definition at line 156 of file remote_elem.h.
|
inlineoverridevirtual |
true
if the specified (local) node number is a face. Implements libMesh::Elem.
Definition at line 139 of file remote_elem.h.
|
inlinevirtualinherited |
true
if the Lagrange shape functions on this element are linear. Reimplemented in libMesh::NodeElem, libMesh::Tet4, libMesh::Tri3, libMesh::Edge2, and libMesh::Tri3Subdivision.
Definition at line 944 of file elem.h.
Referenced by libMesh::FEMap::init_reference_to_physical_map().
|
inlinevirtualinherited |
true
if the specified (local) node number is a "mid-edge" node on an infinite element edge.This is false for all nodes on non-infinite elements, so we won't make it pure virtual, to simplify their code.
Reimplemented in libMesh::InfQuad, libMesh::InfPrism, libMesh::InfHex, and libMesh::InfEdge2.
Definition at line 1584 of file elem.h.
References libMesh::Elem::infinite(), and libMesh::libmesh_assert().
Referenced by libMesh::Elem::parent_bracketing_nodes().
|
inlineoverridevirtual |
true
if the specified (local) node number is on the specified edge. Implements libMesh::Elem.
Definition at line 160 of file remote_elem.h.
|
inlineoverridevirtual |
true
if the specified (local) node number is on the specified side. Implements libMesh::Elem.
Definition at line 142 of file remote_elem.h.
|
inlineoverridevirtual |
true
if this element is remote, false otherwise.A remote element (see RemoteElem
) is a syntactic convenience – it is a placeholder for an element which exists on some other processor. Local elements are required to have valid neighbors, and these ghost elements may have remote neighbors for data structure consistency. The use of remote elements helps ensure that any element we may access has a nullptr
neighbor only if it lies on the physical boundary of the domain.
Reimplemented from libMesh::Elem.
Definition at line 101 of file remote_elem.h.
|
inherited |
true
if this element is semilocal to the calling processor, which must specify its rank. Definition at line 460 of file elem.C.
References libMesh::Elem::find_point_neighbors().
|
inlineoverridevirtual |
true
if the specified (local) node number is a vertex. Implements libMesh::Elem.
Definition at line 133 of file remote_elem.h.
|
inlinevirtualinherited |
true
if the specified child has a vertex at the specified (child-local) node number. Except in odd cases like pyramid refinement the child will have the same local structure as the parent element. Definition at line 681 of file elem.h.
References libMesh::Elem::is_vertex().
Referenced by libMesh::Elem::parent_bracketing_nodes().
true
if this element has a vertex at the specified (child-local) node number n
of the specified child c
. Definition at line 2671 of file elem.C.
References libMesh::Elem::child_ptr(), libMesh::libmesh_ignore(), libMesh::Elem::n_vertices(), and libMesh::Elem::node_ptr().
Referenced by libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()().
dof_id_type libMesh::Elem::key |
|
virtualinherited |
Reimplemented in libMesh::Tri, libMesh::Tet4, libMesh::Edge3, libMesh::Edge4, libMesh::Edge2, libMesh::Quad9, and libMesh::Quad.
Definition at line 410 of file elem.C.
References libMesh::Utility::hashword(), libMesh::Elem::n_nodes(), and libMesh::Elem::node_id().
Referenced by libMesh::InfQuad6::key(), libMesh::Prism18::key(), libMesh::Pyramid14::key(), and libMesh::InfHex18::key().
virtual dof_id_type libMesh::Elem::key |
Don't hide Elem::key() defined in the base class.
|
inlineoverridevirtual |
s
side of this element. The id is not necessarily unique, but should be close. This is particularly useful in the MeshBase::find_neighbors()
routine. Implements libMesh::Elem.
Definition at line 94 of file remote_elem.h.
Useful for computing the lengths of the sides of elements.
Definition at line 399 of file elem.C.
References libMesh::Elem::n_vertices(), and libMesh::Elem::point().
Referenced by libMesh::Hex::quality(), libMesh::InfHex::quality(), and libMesh::Quad::quality().
|
inlineinherited |
If the element's parent is nullptr
then by convention it is at level 0, otherwise it is simply at one level greater than its parent.
Definition at line 2478 of file elem.h.
References libMesh::Elem::dim(), libMesh::Elem::level(), and libMesh::Elem::parent().
Referenced by libMesh::BoundaryInfo::add_edge(), libMesh::BoundaryInfo::add_shellface(), libMesh::BoundaryInfo::add_side(), libMesh::UnstructuredMesh::all_second_order(), assemble_ellipticdg(), libMesh::BoundaryInfo::boundary_ids(), compute_jacobian(), libMesh::FEAbstract::compute_node_constraints(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::FEAbstract::compute_periodic_node_constraints(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_proj_constraints(), compute_residual(), libMesh::BoundaryInfo::edge_boundary_ids(), libMesh::MeshRefinement::enforce_mismatch_limit_prior_to_refinement(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::MeshTools::find_hanging_nodes_and_parents(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::Elem::get_info(), libMesh::Elem::interior_parent(), libMesh::Elem::level(), libMesh::MeshTools::libmesh_assert_valid_amr_interior_parents(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::Elem::make_links_to_me_local(), libMesh::Elem::make_links_to_me_remote(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::Elem::nullify_neighbors(), libMesh::CompareElemIdsByLevel::operator()(), libMesh::Parallel::Packing< const Elem * >::pack(), libMesh::Parallel::Packing< const Elem * >::packable_size(), libMesh::BoundaryInfo::remove_edge(), libMesh::Elem::remove_links_to_me(), libMesh::BoundaryInfo::remove_shellface(), libMesh::BoundaryInfo::remove_side(), BoundaryMeshTest::sanityCheck(), libMesh::BoundaryInfo::shellface_boundary_ids(), libMesh::BoundaryInfo::side_with_boundary_id(), libMesh::ReplicatedMesh::stitching_helper(), libMesh::MeshRefinement::test_level_one(), libMesh::Elem::top_parent(), libMesh::Elem::topological_neighbor(), libMesh::Parallel::Packing< Elem * >::unpack(), and libMesh::Elem::which_neighbor_am_i().
|
inherited |
Checks for consistent neighbor links on this element.
Definition at line 935 of file elem.C.
References libMesh::Elem::dim(), libMesh::libmesh_assert(), libMesh::Elem::n_neighbors(), libMesh::Elem::neighbor_ptr(), libMesh::Elem::parent(), libMesh::remote_elem, libMesh::Elem::side_index_range(), libMesh::Elem::subactive(), and libMesh::Elem::which_neighbor_am_i().
|
inherited |
Checks for a valid id and pointers to nodes with valid ids on this element.
Definition at line 923 of file elem.C.
References libMesh::libmesh_assert(), libMesh::Elem::node_index_range(), libMesh::Elem::node_ptr(), and libMesh::DofObject::valid_id().
|
inlineinherited |
Definition at line 1989 of file elem.h.
References libMesh::invalid_uint, libMesh::Elem::n_nodes(), and libMesh::Elem::node_id().
Referenced by libMesh::ReplicatedMesh::stitching_helper().
|
virtualinherited |
The base class implementation determines a bounding box for the element nodes, which should be sufficient for first order finite elements. Higher order geometric elements will need to override with an implementation which takes curved elements into account.
Reimplemented in libMesh::Quad9, libMesh::Tri6, libMesh::Quad8, libMesh::Hex8, libMesh::Prism6, libMesh::Tri3, libMesh::Pyramid5, libMesh::Edge3, libMesh::Quad4, libMesh::Edge4, and libMesh::Cell.
Definition at line 2649 of file elem.C.
References libMesh::Elem::n_nodes(), and libMesh::Elem::point().
Referenced by libMesh::TreeNode< N >::insert(), libMesh::Quad4::loose_bounding_box(), libMesh::Pyramid5::loose_bounding_box(), libMesh::Tri3::loose_bounding_box(), libMesh::Prism6::loose_bounding_box(), and libMesh::Hex8::loose_bounding_box().
Resets the neighbor_side
pointers of our nth neighbor (and its descendants, if appropriate) to point to this Elem instead of to the global remote_elem.
Used by the library when a formerly remote element is being added to the local processor.
Definition at line 1007 of file elem.C.
References libMesh::Elem::active(), libMesh::Elem::family_tree_by_side(), libMesh::Elem::has_children(), libMesh::Elem::is_remote(), libMesh::Elem::JUST_REFINED, libMesh::Elem::level(), libMesh::libmesh_assert(), libMesh::Elem::neighbor_ptr(), libMesh::Elem::parent(), libMesh::Elem::refinement_flag(), libMesh::remote_elem, and libMesh::Elem::subactive().
Referenced by libMesh::Parallel::Packing< Elem * >::unpack().
|
inherited |
Resets this element's neighbors' appropriate neighbor pointers and its parent's and children's appropriate pointers to point to the global remote_elem instead of this.
Used by the library before an element becomes remote on the local processor.
Definition at line 1085 of file elem.C.
References libMesh::Elem::child_ptr(), libMesh::Elem::child_ref_range(), libMesh::Elem::dim(), libMesh::Elem::has_children(), libMesh::Elem::level(), libMesh::libmesh_assert(), libMesh::Elem::neighbor_ptr_range(), libMesh::Elem::parent(), libMesh::remote_elem, libMesh::Elem::set_child(), libMesh::Elem::subactive(), and libMesh::Elem::which_child_am_i().
Referenced by libMesh::MeshCommunication::delete_remote_elements().
|
inlineinherited |
Definition at line 2540 of file elem.h.
References libMesh::Elem::_map_data.
Referenced by libMesh::FE< Dim, LAGRANGE_VEC >::shape(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv(), and libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv().
|
inlineinherited |
Definition at line 2524 of file elem.h.
References libMesh::Elem::_map_type.
Referenced by libMesh::QComposite< QSubCell >::init(), libMesh::FEMap::map_fe_type(), libMesh::Quad8::volume(), libMesh::Tri6::volume(), libMesh::Quad9::volume(), libMesh::Pyramid13::volume(), libMesh::Tet10::volume(), libMesh::Hex20::volume(), libMesh::Prism15::volume(), libMesh::Pyramid14::volume(), libMesh::Prism18::volume(), and libMesh::Hex27::volume().
Implements libMesh::Elem.
Definition at line 83 of file remote_elem.h.
|
inlineinherited |
Definition at line 2650 of file elem.h.
References libMesh::Elem::_p_level, libMesh::Elem::active(), libMesh::Elem::child_ref_range(), libMesh::libmesh_assert(), libMesh::Elem::p_level(), and libMesh::Elem::subactive().
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::coarsened_dof_values().
|
inherited |
neighbor
. Definition at line 1692 of file elem.C.
References libMesh::Elem::active(), libMesh::Elem::child_ref_range(), libMesh::Elem::COARSEN, libMesh::Elem::has_neighbor(), libMesh::libmesh_assert(), libMesh::Elem::p_level(), libMesh::Elem::p_refinement_flag(), libMesh::Elem::REFINE, libMesh::remote_elem, and libMesh::Elem::subactive().
|
inherited |
neighbor
. Definition at line 1663 of file elem.C.
References libMesh::Elem::active(), libMesh::Elem::child_ref_range(), libMesh::Elem::has_neighbor(), libMesh::libmesh_assert(), libMesh::Elem::p_level(), libMesh::remote_elem, and libMesh::Elem::subactive().
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), and libMesh::FEGenericBase< FEOutputType< T >::type >::compute_proj_constraints().
|
inlineoverridevirtual |
Implements libMesh::Elem.
Definition at line 130 of file remote_elem.h.
|
inlineinherited |
var
of system s
associated with this DofObject
. For example, the HIERARCHIC
shape functions may have multiple DoFs associated with one node. Another example is the MONOMIALs
, where only the elements hold the DoFs. For the different spatial directions, and orders, see FE
. Definition at line 926 of file dof_object.h.
References libMesh::DofObject::n_comp_group(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_vars(), and libMesh::DofObject::var_to_vg().
Referenced by libMesh::DofMap::allgather_recursive_constraints(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::DofMap::constrain_p_dofs(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::DofMap::distribute_dofs(), libMesh::DofObject::dof_number(), libMesh::DofObject::DofObject(), libMesh::OldSolutionCoefs< Output, point_output >::eval_at_node(), libMesh::OldSolutionValue< Output, point_output >::eval_at_node(), libMesh::Node::get_info(), libMesh::Elem::get_info(), libMesh::DofMap::local_variable_indices(), main(), libMesh::DofObject::n_dofs(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::DofObject::operator=(), libMesh::DofObject::print_dof_info(), libMesh::DofObject::set_dof_number(), libMesh::DofObject::set_n_vars_per_group(), and libMesh::DofMap::set_nonlocal_dof_objects().
|
inlineinherited |
VariableGroup
vg
of system s
associated with this DofObject
. For example, the HIERARCHIC
shape functions may have multiple DoFs associated with one node. Another example is the MONOMIALs
, where only the elements hold the DoFs. For the different spatial directions, and orders, see FE
. Definition at line 939 of file dof_object.h.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), libMesh::DofObject::ncv_magic, and libMesh::DofObject::start_idx().
Referenced by libMesh::DofMap::_dof_indices(), libMesh::DofMap::_node_dof_indices(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::DofMap::dof_indices(), libMesh::DofObject::dof_number(), libMesh::OldSolutionCoefs< Output, point_output >::eval_old_dofs(), libMesh::OldSolutionValue< Output, point_output >::eval_old_dofs(), libMesh::DofObject::invalidate_dofs(), libMesh::DofObject::n_comp(), libMesh::DofMap::old_dof_indices(), libMesh::BuildProjectionList::operator()(), libMesh::DofMap::reinit(), libMesh::DofObject::set_dof_number(), libMesh::DofObject::set_n_comp_group(), libMesh::DofObject::set_n_vars_per_group(), and libMesh::DofMap::set_nonlocal_dof_objects().
|
inlineinherited |
s
for this object. Optionally only counts degrees of freedom for variable number var
Definition at line 745 of file dof_object.h.
References libMesh::invalid_uint, libMesh::DofObject::n_comp(), libMesh::DofObject::n_systems(), and libMesh::DofObject::n_vars().
Referenced by libMesh::PetscDMWrapper::add_dofs_helper().
|
inlineoverridevirtual |
Implements libMesh::Elem.
Definition at line 124 of file remote_elem.h.
|
inlineinherited |
Returns how many extra integers are associated to the DofObject
.
If non-integer data has been associated, each datum of type T counts for sizeof(T)/sizeof(dof_id_type) times in the return value.
Definition at line 1082 of file dof_object.h.
References libMesh::DofObject::_idx_buf, and libMesh::DofObject::start_idx_ints().
Referenced by libMesh::DofObject::add_extra_integers(), libMesh::DofObject::get_extra_datum(), libMesh::DofObject::get_extra_integer(), libMesh::CheckpointIO::read_connectivity(), libMesh::CheckpointIO::read_nodes(), libMesh::Elem::refine(), libMesh::DofObject::set_extra_datum(), libMesh::DofObject::set_extra_integer(), libMesh::DofObject::set_n_systems(), libMesh::DofObject::set_n_vars_per_group(), DofObjectTest< Node >::testAddExtraData(), DofObjectTest< Node >::testAddSystemExtraInts(), DofObjectTest< Node >::testSetNSystemsExtraInts(), and DofObjectTest< Node >::testSetNVariableGroupsExtraInts().
|
inlineoverridevirtual |
Implements libMesh::Elem.
Definition at line 127 of file remote_elem.h.
|
inlineinherited |
Only face (or edge in 2D) neighbors are stored, so this method returns n_sides(). At one point we intended to allow derived classes to override this, but too much current libMesh code assumes n_neighbors==n_sides.
Definition at line 631 of file elem.h.
References libMesh::Elem::n_sides().
Referenced by libMesh::Elem::_last_side(), assemble_SchroedingerEquation(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_proj_constraints(), libMesh::MeshTools::find_hanging_nodes_and_parents(), libMesh::Tri3Subdivision::get_ordered_valence(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::Elem::libmesh_assert_valid_neighbors(), libMesh::Elem::neighbor_ptr(), libMesh::Elem::neighbor_ptr_range(), libMesh::Elem::nullify_neighbors(), libMesh::Elem::set_neighbor(), and libMesh::Elem::topological_neighbor().
|
inlineoverridevirtual |
Implements libMesh::Elem.
Definition at line 115 of file remote_elem.h.
Definition at line 600 of file elem.h.
References libMesh::Elem::n_nodes().
Referenced by libMesh::Elem::as_parent_node(), libMesh::Elem::bracketing_nodes(), and libMesh::Elem::parent_bracketing_nodes().
|
inlinestaticinherited |
Prints the number of outstanding (created, but not yet destroyed) objects.
Definition at line 83 of file reference_counter.h.
References libMesh::ReferenceCounter::_n_objects.
|
inlinestaticinherited |
Prints the number of outstanding (created, but not yet destroyed) objects.
Definition at line 83 of file reference_counter.h.
References libMesh::ReferenceCounter::_n_objects.
|
inlineinherited |
DofObject
: n_systems(), plus one iff this->has_extra_integers()
Definition at line 871 of file dof_object.h.
References libMesh::DofObject::_idx_buf, and std::abs().
Referenced by libMesh::DofObject::end_idx(), libMesh::DofObject::set_extra_datum(), and libMesh::DofObject::set_extra_integer().
|
virtualinherited |
This method is useful when converting linear elements to quadratic elements.
n
has to be greater than or equal to this->n_vertices()
. Reimplemented in libMesh::InfHex18, libMesh::Hex27, libMesh::Prism18, libMesh::InfHex16, libMesh::Hex20, libMesh::Prism15, libMesh::Tet10, libMesh::Tri6, libMesh::InfPrism12, libMesh::Quad8, libMesh::InfQuad6, libMesh::Edge4, libMesh::Edge3, libMesh::Pyramid14, libMesh::Pyramid13, and libMesh::Quad9.
Definition at line 2343 of file elem.C.
Referenced by libMesh::UnstructuredMesh::all_second_order(), and libMesh::MeshTools::Modification::smooth().
|
inlineoverridevirtual |
Implements libMesh::Elem.
Definition at line 118 of file remote_elem.h.
|
inlineoverridevirtual |
Implements libMesh::Elem.
Definition at line 164 of file remote_elem.h.
|
inlineinherited |
DofObject
Definition at line 861 of file dof_object.h.
References libMesh::DofObject::_idx_buf.
Referenced by libMesh::DofMap::_dof_indices(), libMesh::DofObject::add_system(), libMesh::DofObject::dof_number(), libMesh::DofObject::DofObject(), libMesh::DofObject::end_idx(), libMesh::OldSolutionCoefs< Output, point_output >::eval_old_dofs(), libMesh::OldSolutionValue< Output, point_output >::eval_old_dofs(), libMesh::DofObject::get_extra_datum(), libMesh::DofObject::get_extra_integer(), libMesh::Node::get_info(), libMesh::Elem::get_info(), libMesh::DofObject::has_dofs(), libMesh::DofObject::invalidate_dofs(), libMesh::DofObject::n_comp(), libMesh::DofObject::n_comp_group(), libMesh::DofObject::n_dofs(), libMesh::DofObject::n_var_groups(), libMesh::DofObject::n_vars(), libMesh::DofMap::old_dof_indices(), libMesh::DofObject::operator=(), libMesh::DofObject::print_dof_info(), libMesh::Elem::refine(), libMesh::DofObject::set_dof_number(), libMesh::DofObject::set_n_comp(), libMesh::DofObject::set_n_comp_group(), libMesh::DofObject::set_n_systems(), libMesh::DofObject::set_n_vars_per_group(), libMesh::DofObject::set_vg_dof_base(), libMesh::DofObject::start_idx(), libMesh::DofObject::start_idx_ints(), DofObjectTest< Node >::testAddSystemExtraInts(), DofObjectTest< Node >::testSetNSystems(), DofObjectTest< Node >::testSetNSystemsExtraInts(), and libMesh::DofObject::vg_dof_base().
VariableGroup
variable groups associated with system s
for this DofObject
Definition at line 881 of file dof_object.h.
References libMesh::DofObject::end_idx(), libMesh::DofObject::n_systems(), and libMesh::DofObject::start_idx().
Referenced by libMesh::DofObject::add_system(), libMesh::DofObject::dof_number(), libMesh::DofObject::DofObject(), libMesh::DofObject::invalidate_dofs(), libMesh::DofObject::n_comp_group(), libMesh::DofObject::n_vars(), libMesh::BuildProjectionList::operator()(), libMesh::DofObject::operator=(), libMesh::DofObject::set_n_comp_group(), libMesh::DofObject::set_n_systems(), libMesh::DofObject::set_n_vars_per_group(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::DofObject::set_vg_dof_base(), DofObjectTest< Node >::testSetNVariableGroups(), DofObjectTest< Node >::testSetNVariableGroupsExtraInts(), libMesh::DofObject::var_to_vg(), libMesh::DofObject::var_to_vg_and_offset(), and libMesh::DofObject::vg_dof_base().
Definition at line 908 of file dof_object.h.
References libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), and libMesh::DofObject::n_vars().
|
inlineinherited |
Variable
variables associated with VariableGroup
vg
in system s
for this DofObject
Definition at line 891 of file dof_object.h.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), libMesh::DofObject::ncv_magic_exp, and libMesh::DofObject::start_idx().
Referenced by libMesh::DofObject::add_system(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::DofMap::distribute_dofs(), libMesh::DofObject::dof_number(), libMesh::DofObject::DofObject(), libMesh::OldSolutionCoefs< Output, point_output >::eval_at_node(), libMesh::OldSolutionValue< Output, point_output >::eval_at_node(), libMesh::Node::get_info(), libMesh::Elem::get_info(), libMesh::DofObject::has_dofs(), libMesh::DofObject::n_comp(), libMesh::DofObject::n_dofs(), libMesh::DofObject::n_vars(), libMesh::BuildProjectionList::operator()(), libMesh::DofObject::operator=(), libMesh::DofObject::print_dof_info(), libMesh::DofObject::set_dof_number(), libMesh::DofObject::set_n_comp(), libMesh::DofObject::set_n_comp_group(), libMesh::DofObject::set_n_systems(), libMesh::DofObject::set_n_vars_per_group(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::DofObject::system_var_to_vg_var(), DofObjectTest< Node >::testAddSystemExtraInts(), DofObjectTest< Node >::testSetNVariableGroups(), DofObjectTest< Node >::testSetNVariableGroupsExtraInts(), libMesh::DofObject::var_to_vg(), and libMesh::DofObject::var_to_vg_and_offset().
|
inlineoverridevirtual |
Implements libMesh::Elem.
Definition at line 121 of file remote_elem.h.
Definition at line 2095 of file elem.h.
References libMesh::Elem::_elemlinks, and libMesh::Elem::n_neighbors().
nullptr
if MeshBase::find_neighbors()
has not been called.MeshBase::find_neighbors()
has been called and this function still returns nullptr
, then the side is on a boundary of the domain. Definition at line 2085 of file elem.h.
References libMesh::Elem::_elemlinks, and libMesh::Elem::n_neighbors().
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::MeshTools::Subdivision::add_boundary_ghosts(), libMesh::BoundaryInfo::add_elements(), libMesh::RBConstruction::add_scaled_matrix_and_vector(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), assemble_ellipticdg(), assemble_SchroedingerEquation(), assembly_with_dg_fem_context(), libMesh::BoundaryInfo::boundary_ids(), libMesh::InfElemBuilder::build_inf_elem(), compute_jacobian(), libMesh::FEAbstract::compute_node_constraints(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::FEAbstract::compute_periodic_node_constraints(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_proj_constraints(), compute_residual(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::BoundaryInfo::edge_boundary_ids(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::MeshTools::find_hanging_nodes_and_parents(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::MeshTools::Subdivision::find_one_ring(), libMesh::MeshTools::Modification::flatten(), libMesh::ReplicatedMesh::get_boundary_points(), libMesh::ReplicatedMesh::get_disconnected_subdomains(), libMesh::Elem::get_info(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::Elem::libmesh_assert_valid_neighbors(), libMesh::Elem::make_links_to_me_local(), libMesh::Elem::nullify_neighbors(), libMesh::DefaultCoupling::operator()(), libMesh::CheckpointIO::read_remote_elem(), libMesh::FE< Dim, LAGRANGE_VEC >::reinit(), libMesh::FE< Dim, LAGRANGE_VEC >::side_map(), libMesh::Elem::SideIter::side_on_boundary(), libMesh::BoundaryInfo::side_with_boundary_id(), libMesh::MeshTools::Modification::smooth(), libMesh::ReplicatedMesh::stitching_helper(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), libMesh::Elem::topological_neighbor(), libMesh::MeshRefinement::topological_neighbor(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::Elem::which_neighbor_am_i(), and libMesh::CheckpointIO::write_remote_elem().
|
inlineinherited |
Returns a range with all neighbors of an element, usable in range-based for loops.
The exact type of the return value here may be subject to change in future libMesh releases, but the iterators will always dereference to produce a pointer to a neighbor element (or a null pointer, for sides which have no neighbors).
Definition at line 2917 of file elem.h.
References libMesh::Elem::_elemlinks, and libMesh::Elem::n_neighbors().
Referenced by libMesh::Elem::child_neighbor(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::Elem::has_neighbor(), libMesh::Elem::make_links_to_me_remote(), libMesh::Parallel::Packing< const Elem * >::pack(), and libMesh::Elem::remove_links_to_me().
|
inlineinherited |
Definition at line 2924 of file elem.h.
References libMesh::Elem::_elemlinks, and libMesh::Elem::n_neighbors().
|
inlineinherited |
Node
i
. Definition at line 1977 of file elem.h.
References libMesh::Elem::_nodes, libMesh::DofObject::id(), libMesh::DofObject::invalid_id, libMesh::libmesh_assert(), and libMesh::Elem::n_nodes().
Referenced by libMesh::UnstructuredMesh::all_first_order(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::Elem::bracketing_nodes(), libMesh::FEMap::compute_face_map(), libMesh::InfEdge2::connectivity(), libMesh::Edge2::connectivity(), libMesh::Edge3::connectivity(), libMesh::Edge4::connectivity(), libMesh::Quad4::connectivity(), libMesh::InfQuad4::connectivity(), libMesh::Prism6::connectivity(), libMesh::Tri3::connectivity(), libMesh::Pyramid5::connectivity(), libMesh::Hex8::connectivity(), libMesh::InfHex8::connectivity(), libMesh::InfPrism6::connectivity(), libMesh::InfQuad6::connectivity(), libMesh::Quad8::connectivity(), libMesh::InfPrism12::connectivity(), libMesh::Tet4::connectivity(), libMesh::Tri6::connectivity(), libMesh::Quad9::connectivity(), libMesh::Tet10::connectivity(), libMesh::Hex20::connectivity(), libMesh::Prism15::connectivity(), libMesh::InfHex16::connectivity(), libMesh::Hex27::connectivity(), libMesh::Prism18::connectivity(), libMesh::InfHex18::connectivity(), libMesh::MeshTools::find_hanging_nodes_and_parents(), libMesh::Tri3Subdivision::get_ordered_node(), libMesh::Tri3Subdivision::get_ordered_valence(), libMesh::Tet::key(), libMesh::Prism::key(), libMesh::Tri::key(), libMesh::Pyramid::key(), libMesh::Hex::key(), libMesh::Edge::key(), libMesh::InfPrism::key(), libMesh::InfQuad6::key(), libMesh::InfHex::key(), libMesh::Quad::key(), libMesh::Quad8::key(), libMesh::Quad9::key(), libMesh::Tri6::key(), libMesh::InfQuad::key(), libMesh::Edge2::key(), libMesh::Hex27::key(), libMesh::Prism18::key(), libMesh::Pyramid14::key(), libMesh::Edge4::key(), libMesh::InfHex18::key(), libMesh::Edge3::key(), libMesh::Tet4::key(), libMesh::Elem::key(), libMesh::RBEIMEvaluation::legacy_write_out_interpolation_points_elem(), libMesh::Elem::local_node(), libMesh::Tri3Subdivision::local_node_number(), libMesh::Elem::operator==(), libMesh::XdrIO::pack_element(), libMesh::CheckpointIO::read_connectivity(), libMesh::FE< Dim, LAGRANGE_VEC >::side_map(), MixedDimensionMeshTest::testMesh(), SlitMeshTest::testMesh(), MixedDimensionNonUniformRefinement::testMesh(), MixedDimensionNonUniformRefinementTriangle::testMesh(), MixedDimensionNonUniformRefinement3D::testMesh(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::Elem::write_connectivity(), and libMesh::ExodusII_IO_Helper::write_elements().
|
inlineinherited |
Definition at line 2170 of file elem.h.
References libMesh::Elem::n_nodes().
Referenced by libMesh::MeshRefinement::add_node(), libMesh::TetGenMeshInterface::assign_nodes_to_elem(), libMesh::Elem::coarsen(), libMesh::FEMap::compute_map(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::MeshTools::Modification::flatten(), libMesh::Elem::get_info(), libMesh::Elem::libmesh_assert_valid_node_pointers(), libMesh::XdrIO::pack_element(), libMesh::TetGenMeshInterface::pointset_convexhull(), libMesh::VTKIO::read(), libMesh::UCDIO::read_implementation(), libMesh::Elem::refine(), libMesh::FE< Dim, LAGRANGE_VEC >::reinit(), libMesh::FE< Dim, LAGRANGE_VEC >::side_map(), libMesh::MeshTools::Modification::smooth(), libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole(), libMesh::TetGenMeshInterface::triangulate_pointset(), libMesh::Elem::write_connectivity(), and libMesh::ExodusII_IO_Helper::write_elements().
Node
i
. Definition at line 2020 of file elem.h.
References libMesh::Elem::_nodes, libMesh::libmesh_assert(), and libMesh::Elem::n_nodes().
Node
i
. Definition at line 2009 of file elem.h.
References libMesh::Elem::_nodes, libMesh::libmesh_assert(), and libMesh::Elem::n_nodes().
Referenced by libMesh::MeshTools::Subdivision::add_boundary_ghosts(), libMesh::BoundaryInfo::add_elements(), libMesh::MeshRefinement::add_node(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), assemble_shell(), libMesh::Quad4::build_side_ptr(), libMesh::InfQuad4::build_side_ptr(), libMesh::Prism6::build_side_ptr(), libMesh::Pyramid5::build_side_ptr(), libMesh::InfHex8::build_side_ptr(), libMesh::InfPrism6::build_side_ptr(), libMesh::Tri3::build_side_ptr(), libMesh::Hex8::build_side_ptr(), libMesh::InfPrism12::build_side_ptr(), libMesh::InfHex18::build_side_ptr(), libMesh::Tet4::build_side_ptr(), libMesh::InfQuad6::build_side_ptr(), libMesh::Quad8::build_side_ptr(), libMesh::InfHex16::build_side_ptr(), libMesh::Tet10::build_side_ptr(), libMesh::Hex20::build_side_ptr(), libMesh::Tri6::build_side_ptr(), libMesh::Prism15::build_side_ptr(), libMesh::Pyramid13::build_side_ptr(), libMesh::Edge::build_side_ptr(), libMesh::Quad9::build_side_ptr(), libMesh::Hex27::build_side_ptr(), libMesh::Prism18::build_side_ptr(), libMesh::Pyramid14::build_side_ptr(), libMesh::FEMap::compute_affine_map(), libMesh::FEMap::compute_map(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::find_dofs_to_send(), libMesh::MeshTools::Subdivision::find_one_ring(), libMesh::MeshTools::Modification::flatten(), libMesh::ReplicatedMesh::get_boundary_points(), libMesh::Elem::get_node_index(), libMesh::Elem::is_vertex_on_parent(), libMesh::MeshTools::libmesh_assert_consistent_distributed_nodes(), libMesh::MeshTools::libmesh_assert_parallel_consistent_new_node_procids(), libMesh::MeshTools::libmesh_assert_valid_boundary_ids(), libMesh::Elem::libmesh_assert_valid_node_pointers(), libMesh::Elem::node_ref(), libMesh::Tri3Subdivision::prepare_subdivision_properties(), libMesh::Tet::side_ptr(), libMesh::Prism::side_ptr(), libMesh::Pyramid::side_ptr(), libMesh::Hex::side_ptr(), libMesh::Tri::side_ptr(), libMesh::Edge::side_ptr(), libMesh::InfPrism::side_ptr(), libMesh::InfHex::side_ptr(), libMesh::Quad::side_ptr(), libMesh::InfQuad::side_ptr(), libMesh::Elem::simple_build_side_ptr(), libMesh::Elem::simple_side_ptr(), libMesh::MeshTools::Modification::smooth(), libMesh::ReplicatedMesh::stitching_helper(), SystemsTest::testDofCouplingWithVarGroups(), and libMesh::ExodusII_IO_Helper::write_elements().
Node
i
. Definition at line 2039 of file elem.h.
References libMesh::Elem::node_ptr().
Node
i
. Definition at line 2031 of file elem.h.
References libMesh::Elem::node_ptr().
Referenced by libMesh::RBDataSerialization::add_elem_to_builder(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::DofMap::constrain_p_dofs(), libMesh::DofMap::dof_indices(), libMesh::TopologyMap::fill(), libMesh::Elem::get_info(), libMesh::MeshCommunication::make_new_node_proc_ids_parallel_consistent(), libMesh::DofMap::old_dof_indices(), ParsedFEMFunctionTest::setUp(), libMesh::FE< Dim, LAGRANGE_VEC >::shape(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv(), libMesh::Parallel::sync_node_data_by_element_id_once(), and SlitMeshRefinedSystemTest::testRestart().
|
inlineinherited |
Returns a range with all nodes of an element, usable in range-based for loops.
The exact type of the return value here may be subject to change in future libMesh releases, but the iterators will always dereference to produce a reference to a Node.
Definition at line 2152 of file elem.h.
References libMesh::Elem::_nodes, and libMesh::Elem::n_nodes().
Referenced by libMesh::MeshTools::Modification::distort(), libMesh::MeshCommunication::make_new_node_proc_ids_parallel_consistent(), libMesh::Parallel::Packing< const Elem * >::pack(), libMesh::Elem::point_test(), libMesh::reconnect_nodes(), libMesh::ReplicatedMesh::renumber_nodes_and_elements(), libMesh::DistributedMesh::renumber_nodes_and_elements(), libMesh::FE< Dim, LAGRANGE_VEC >::shape(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv(), libMesh::BoundaryVolumeSolutionTransfer::transfer_boundary_volume(), and libMesh::BoundaryVolumeSolutionTransfer::transfer_volume_boundary().
|
inlineinherited |
Definition at line 2161 of file elem.h.
References libMesh::Elem::_nodes, and libMesh::Elem::n_nodes().
|
inlineoverridevirtual |
Implements libMesh::Elem.
Definition at line 146 of file remote_elem.h.
|
inherited |
Replaces this element with nullptr
for all of its neighbors.
This is useful when deleting an element.
Definition at line 2317 of file elem.C.
References libMesh::Elem::level(), libMesh::Elem::n_neighbors(), libMesh::Elem::neighbor_ptr(), libMesh::remote_elem, libMesh::Elem::set_neighbor(), libMesh::Elem::side_index_range(), and libMesh::Elem::which_neighbor_am_i().
|
inlineinherited |
true
if this element has a side coincident with a boundary (indicated by a nullptr
neighbor), false
otherwise. Definition at line 2313 of file elem.h.
References libMesh::Elem::has_neighbor().
|
delete |
|
delete |
|
inherited |
true
if two elements are identical, false otherwise. This is true if the elements are connected to identical global nodes, regardless of how those nodes might be numbered local to the elements. Definition at line 428 of file elem.C.
References libMesh::Elem::n_nodes(), libMesh::Elem::node_id(), and libMesh::Elem::type().
|
virtualinherited |
opposite_side(s)
(for a tensor product element), or throws an error otherwise. Reimplemented in libMesh::Quad, libMesh::Edge, and libMesh::Hex.
s
(for a tensor product element), or throws an error otherwise. Reimplemented in libMesh::Quad, libMesh::Edge, and libMesh::Hex.
|
inlinevirtualinherited |
Currently, all infinite elements used in a mesh share the same origin. Override this in infinite element classes.
Reimplemented in libMesh::InfQuad, libMesh::InfEdge2, and libMesh::InfCell.
Definition at line 1593 of file elem.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::combine_base_radial(), libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), libMesh::Elem::get_info(), libMesh::InfFEMap::inverse_map(), and libMesh::InfFEMap::map().
|
inlineinherited |
Definition at line 2512 of file elem.h.
References libMesh::Elem::_p_level.
Referenced by libMesh::DofMap::_node_dof_indices(), libMesh::FEGenericBase< FEOutputType< T >::type >::coarsened_dof_values(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_proj_constraints(), libMesh::DofMap::constrain_p_dofs(), libMesh::DofMap::dof_indices(), libMesh::FE< Dim, LAGRANGE_VEC >::dofs_on_edge(), libMesh::FE< Dim, LAGRANGE_VEC >::dofs_on_side(), libMesh::FE< Dim, LAGRANGE_VEC >::edge_reinit(), libMesh::Elem::Elem(), libMesh::MeshRefinement::enforce_mismatch_limit_prior_to_refinement(), libMesh::Elem::get_info(), libMesh::InfFE< Dim, T_radial, T_map >::init_face_shape_functions(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_p_levels(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::Elem::max_descendant_p_level(), libMesh::Elem::min_new_p_level_by_neighbor(), libMesh::Elem::min_p_level_by_neighbor(), libMesh::FEInterface::n_dofs(), libMesh::DofMap::old_dof_indices(), libMesh::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::PatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectEdges::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectSides::operator()(), libMesh::Parallel::Packing< const Elem * >::pack(), libMesh::XdrIO::pack_element(), libMesh::Elem::refine(), libMesh::FE< Dim, LAGRANGE_VEC >::reinit(), libMesh::InfFE< Dim, T_radial, T_map >::reinit(), libMesh::FEXYZ< Dim >::reinit(), libMesh::HPCoarsenTest::select_refinement(), libMesh::Elem::set_p_level(), libMesh::Elem::set_p_refinement_flag(), libMesh::FE< Dim, LAGRANGE_VEC >::shape(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::side_map(), libMesh::MeshRefinement::test_level_one(), and libMesh::Parallel::Packing< Elem * >::unpack().
|
inlineinherited |
Definition at line 2630 of file elem.h.
References libMesh::Elem::_pflag.
Referenced by libMesh::Elem::get_info(), libMesh::Elem::hack_p_level(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_flags(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshRefinement::make_flags_parallel_consistent(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::Elem::min_new_p_level_by_neighbor(), libMesh::DofMap::old_dof_indices(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectEdges::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectSides::operator()(), libMesh::Parallel::Packing< const Elem * >::pack(), libMesh::Elem::refine(), and libMesh::Parallel::Packing< Elem * >::unpack().
|
inherited |
A method for creating packed data from our index buffer - basically a copy with prepended size with our current implementation.
Definition at line 636 of file dof_object.C.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::old_dof_object, and libMesh::DofObject::pack_indexing().
Referenced by libMesh::Parallel::Packing< const Node * >::pack(), libMesh::Parallel::Packing< const Elem * >::pack(), and libMesh::DofObject::pack_indexing().
|
inherited |
If we pack our indices into an buffer for communications, how many ints do we need?
Definition at line 554 of file dof_object.C.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::old_dof_object, and libMesh::DofObject::packed_indexing_size().
Referenced by libMesh::Parallel::Packing< const Node * >::packable_size(), libMesh::Parallel::Packing< const Elem * >::packable_size(), libMesh::DofObject::packed_indexing_size(), libMesh::Node::packed_size(), libMesh::Parallel::Packing< Node * >::unpack(), and libMesh::Parallel::Packing< Elem * >::unpack().
|
inlineinherited |
nullptr
if the element was not created via refinement. Definition at line 2442 of file elem.h.
References libMesh::Elem::_elemlinks.
|
inlineinherited |
nullptr
if the element was not created via refinement. Definition at line 2434 of file elem.h.
References libMesh::Elem::_elemlinks.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::Elem::add_child(), libMesh::BoundaryInfo::add_elements(), libMesh::UnstructuredMesh::all_first_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::BoundaryInfo::boundary_ids(), libMesh::OldSolutionBase< Output, point_output >::check_old_context(), libMesh::FEMap::compute_face_map(), libMesh::FEAbstract::compute_node_constraints(), libMesh::connect_families(), libMesh::UnstructuredMesh::contract(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::MeshRefinement::create_parent_error_vector(), libMesh::BoundaryInfo::edge_boundary_ids(), libMesh::Elem::Elem(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::OldSolutionCoefs< Output, point_output >::eval_old_dofs(), libMesh::OldSolutionValue< Output, point_output >::eval_old_dofs(), libMesh::MeshTools::find_hanging_nodes_and_parents(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_error_fraction(), libMesh::MeshRefinement::flag_elements_by_error_tolerance(), libMesh::Elem::get_info(), libMesh::InfFE< Dim, T_radial, T_map >::init_face_shape_functions(), libMesh::Elem::is_ancestor_of(), libMesh::Elem::level(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_valid_amr_elem_ids(), libMesh::MeshTools::libmesh_assert_valid_amr_interior_parents(), libMesh::Elem::libmesh_assert_valid_neighbors(), libMesh::MeshTools::libmesh_assert_valid_remote_elems(), libMesh::MeshRefinement::limit_level_mismatch_at_edge(), libMesh::Elem::make_links_to_me_local(), libMesh::Elem::make_links_to_me_remote(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::SiblingCoupling::operator()(), libMesh::BuildProjectionList::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::Parallel::Packing< const Elem * >::pack(), libMesh::BoundaryInfo::raw_boundary_ids(), libMesh::BoundaryInfo::raw_edge_boundary_ids(), libMesh::BoundaryInfo::raw_shellface_boundary_ids(), libMesh::CheckpointIO::read_connectivity(), libMesh::Elem::refine(), libMesh::Elem::remove_links_to_me(), libMesh::HPCoarsenTest::select_refinement(), libMesh::Elem::set_p_level(), libMesh::Partitioner::set_parent_processor_ids(), libMesh::BoundaryInfo::shellface_boundary_ids(), libMesh::BoundaryInfo::side_with_boundary_id(), libMesh::MeshTools::Modification::smooth(), libMesh::Elem::subactive(), libMesh::Parallel::sync_element_data_by_parent_id(), MixedDimensionNonUniformRefinement::testMesh(), MixedDimensionNonUniformRefinementTriangle::testMesh(), MixedDimensionNonUniformRefinement3D::testMesh(), libMesh::Elem::top_parent(), libMesh::Elem::topological_neighbor(), libMesh::Parallel::Packing< Elem * >::unpack(), and libMesh::Elem::which_neighbor_am_i().
|
virtualinherited |
n
of child c
. Definition at line 1794 of file elem.C.
References libMesh::Elem::_get_bracketing_node_cache(), libMesh::TypeVector< T >::absolute_fuzzy_equals(), libMesh::TypeVector< T >::add_scaled(), libMesh::Elem::as_parent_node(), libMesh::Elem::build(), libMesh::Elem::default_order(), libMesh::Elem::embedding_matrix(), libMesh::Elem::embedding_matrix_version(), libMesh::FIRST, libMesh::invalid_uint, libMesh::Elem::is_mid_infinite_edge_node(), libMesh::Elem::is_vertex_on_child(), libMesh::libmesh_assert(), libMesh::Elem::master_point(), libMesh::Elem::n_children(), libMesh::Elem::n_nodes(), libMesh::Elem::n_nodes_in_child(), libMesh::parent_bracketing_nodes_mutex, libMesh::Elem::second_order_equivalent_type(), and libMesh::Elem::type().
Referenced by libMesh::Elem::bracketing_nodes().
Definition at line 1967 of file elem.h.
References libMesh::Elem::_nodes, and libMesh::Elem::n_nodes().
Definition at line 1955 of file elem.h.
References libMesh::Elem::_nodes, libMesh::DofObject::invalid_id, libMesh::libmesh_assert(), and libMesh::Elem::n_nodes().
Referenced by libMesh::PostscriptIO::_compute_edge_bezier_coeffs(), libMesh::MeshTools::Subdivision::add_boundary_ghosts(), libMesh::BoundaryInfo::add_elements(), libMesh::MeshRefinement::add_node(), libMesh::MeshTools::Modification::all_tri(), libMesh::Tet::choose_diagonal(), libMesh::Elem::coarsen(), libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), libMesh::FEMap::compute_edge_map(), libMesh::FEXYZMap::compute_face_map(), libMesh::FEMap::compute_face_map(), libMesh::Elem::contains_edge_of(), libMesh::InfQuad4::contains_point(), libMesh::InfPrism::contains_point(), libMesh::Tri3::contains_point(), libMesh::InfHex::contains_point(), libMesh::Tet4::contains_point(), libMesh::Elem::contains_vertex_of(), libMesh::ElemCutter::cut_2D(), libMesh::ElemCutter::cut_3D(), libMesh::FEMContext::elem_position_get(), libMesh::Quad4::has_affine_map(), libMesh::Edge3::has_affine_map(), libMesh::Prism6::has_affine_map(), libMesh::Edge4::has_affine_map(), libMesh::Quad9::has_affine_map(), libMesh::Quad8::has_affine_map(), libMesh::Hex8::has_affine_map(), libMesh::Tri6::has_affine_map(), libMesh::Tet10::has_affine_map(), libMesh::Hex20::has_affine_map(), libMesh::Hex27::has_affine_map(), libMesh::Prism15::has_affine_map(), libMesh::Prism18::has_affine_map(), libMesh::Elem::hmax(), libMesh::Elem::hmin(), libMesh::Elem::length(), libMesh::Edge4::loose_bounding_box(), libMesh::Edge3::loose_bounding_box(), libMesh::Quad8::loose_bounding_box(), libMesh::Tri6::loose_bounding_box(), libMesh::Quad9::loose_bounding_box(), libMesh::Elem::loose_bounding_box(), libMesh::InfFEMap::map(), libMesh::FEMap::map(), libMesh::FEMap::map_deriv(), libMesh::Tri3::min_and_max_angle(), libMesh::Tet4::min_and_max_angle(), libMesh::FEMSystem::numerical_jacobian(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::InfCell::origin(), libMesh::InfEdge2::origin(), libMesh::InfQuad::origin(), libMesh::PostscriptIO::plot_linear_elem(), libMesh::Hex::quality(), libMesh::Tri::quality(), libMesh::Quad::quality(), libMesh::FE< Dim, LAGRANGE_VEC >::reinit(), libMesh::FE< Dim, LAGRANGE_VEC >::shape(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv(), libMesh::MeshTools::Modification::smooth(), ExtraIntegersTest::test_final_integers(), BoundaryInfoTest::testShellFaceConstraints(), libMesh::Edge2::volume(), libMesh::Quad4::volume(), libMesh::Edge3::volume(), libMesh::Tri3::volume(), libMesh::Pyramid5::volume(), libMesh::Prism6::volume(), libMesh::Edge4::volume(), libMesh::Hex8::volume(), libMesh::Tet4::volume(), libMesh::Quad8::volume(), libMesh::Tri6::volume(), libMesh::Quad9::volume(), libMesh::Pyramid13::volume(), libMesh::Tet10::volume(), libMesh::Hex20::volume(), libMesh::Prism15::volume(), libMesh::Pyramid14::volume(), libMesh::Hex27::volume(), libMesh::Prism18::volume(), and libMesh::Elem::which_side_am_i().
|
privateinherited |
Shared private implementation used by the contains_point() and close_to_point() routines.
The box_tol tolerance is used in the bounding box optimization, the map_tol tolerance is used in the calls to inverse_map() and on_reference_element().
Definition at line 2131 of file elem.C.
References libMesh::Elem::default_order(), libMesh::Elem::dim(), libMesh::FIRST, libMesh::Elem::hmax(), libMesh::FEMap::inverse_map(), libMesh::FEMap::map(), libMesh::Elem::node_ref_range(), std::norm(), libMesh::FEInterface::on_reference_element(), libMesh::Real, and libMesh::Elem::type().
Referenced by libMesh::Elem::close_to_point(), and libMesh::Elem::contains_point().
|
inherited |
Print out info for debugging.
Definition at line 664 of file dof_object.C.
References libMesh::DofObject::dof_number(), libMesh::DofObject::id(), libMesh::DofObject::n_comp(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_vars(), and libMesh::out.
|
inherited |
Prints relevant information about the element.
Definition at line 2225 of file elem.C.
References libMesh::Elem::get_info().
Referenced by libMesh::FEMap::compute_single_point_map(), libMesh::FEMap::inverse_map(), and libMesh::operator<<().
|
staticinherited |
Prints the reference information, by default to libMesh::out
.
Definition at line 87 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().
|
staticinherited |
Prints the reference information, by default to libMesh::out
.
Definition at line 87 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().
|
inlineinherited |
Definition at line 837 of file dof_object.h.
References libMesh::DofObject::_processor_id.
|
inlineinherited |
When partitioning and DoF numbering have been performed by libMesh, every current DoF on this DofObject will belong to its processor.
Definition at line 829 of file dof_object.h.
References libMesh::DofObject::_processor_id.
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::DistributedMesh::add_elem(), libMesh::BoundaryInfo::add_elements(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::DistributedMesh::add_node(), libMesh::MeshRefinement::add_node(), libMesh::ReplicatedMesh::add_point(), libMesh::DistributedMesh::add_point(), libMesh::RBConstruction::add_scaled_matrix_and_vector(), libMesh::UnstructuredMesh::all_first_order(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::Patch::build_around_element(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::Nemesis_IO_Helper::compute_num_global_nodesets(), libMesh::Nemesis_IO_Helper::compute_num_global_sidesets(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubProjector::construct_projection(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::UnstructuredMesh::create_submesh(), libMesh::DistributedMesh::delete_elem(), libMesh::DistributedMesh::delete_node(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::Elem::Elem(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::find_dofs_to_send(), libMesh::MeshFunction::find_element(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::MeshTools::Modification::flatten(), libMesh::Node::get_info(), libMesh::Elem::get_info(), libMesh::DofMap::get_info(), libMesh::DofMap::get_local_constraints(), libMesh::DistributedMesh::insert_elem(), libMesh::DofObject::invalidate_processor_id(), libMesh::RBEIMEvaluation::legacy_write_out_interpolation_points_elem(), libMesh::MeshTools::libmesh_assert_consistent_distributed(), libMesh::MeshTools::libmesh_assert_consistent_distributed_nodes(), libMesh::MeshTools::libmesh_assert_parallel_consistent_new_node_procids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_valid_amr_elem_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::DofMap::local_variable_indices(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshCommunication::make_new_node_proc_ids_parallel_consistent(), AugmentSparsityOnInterface::mesh_reinit(), AugmentSparsityOnNodes::operator()(), OverlappingCouplingFunctor::operator()(), AugmentSparsityOnInterface::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SortAndCopy::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectEdges::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectSides::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectInteriors::operator()(), libMesh::DistributedMesh::own_node(), libMesh::Parallel::Packing< const Node * >::pack(), libMesh::Parallel::Packing< const Elem * >::pack(), libMesh::XdrIO::pack_element(), libMesh::LinearPartitioner::partition_range(), libMesh::SFCPartitioner::partition_range(), libMesh::CentroidPartitioner::partition_range(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::DofObject::processor_id(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::Elem::refine(), libMesh::DofMap::scatter_constraints(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::Partitioner::set_parent_processor_ids(), ParsedFEMFunctionTest::setUp(), libMesh::Parallel::sync_dofobject_data_by_id(), libMesh::Parallel::sync_element_data_by_parent_id(), libMesh::Parallel::sync_node_data_by_element_id_once(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), DofObjectTest< Node >::testInvalidateProcId(), EquationSystemsTest::testPostInitAddElem(), DofObjectTest< Node >::testSetProcId(), BoundaryInfoTest::testShellFaceConstraints(), DofObjectTest< Node >::testValidProcId(), libMesh::Parallel::Packing< Node * >::unpack(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::DTKAdapter::update_variable_values(), libMesh::GmshIO::write_mesh(), and libMesh::Nemesis_IO_Helper::write_sidesets().
|
inlineinherited |
Sets the processor_id
for this DofObject
.
Definition at line 845 of file dof_object.h.
References libMesh::DofObject::processor_id().
|
inlinevirtualinherited |
q
.These are the values suggested by the CUBIT User's Manual. Since this function can have no possible meaning for an abstract Elem, it is an error in the base class.
Reimplemented in libMesh::InfQuad, libMesh::Quad, libMesh::InfHex, libMesh::Tri, libMesh::Hex, and libMesh::Tet.
Definition at line 898 of file elem.h.
Referenced by main().
|
virtualinherited |
q
specified by the user. I don't know what to do for this metric.
Reimplemented in libMesh::InfQuad, libMesh::Quad, libMesh::InfHex, libMesh::Tri, libMesh::Hex, and libMesh::Tet.
Definition at line 1326 of file elem.C.
References libMesh::Utility::enum_to_string(), and libMesh::err.
Referenced by libMesh::Tet::quality(), libMesh::Hex::quality(), libMesh::Tri::quality(), libMesh::InfHex::quality(), and libMesh::Quad::quality().
Definition at line 2558 of file elem.h.
References libMesh::Elem::_children.
Referenced by libMesh::CheckpointIO::read_remote_elem().
|
inherited |
Quad4
elements share the same reference_elem()
. Definition at line 338 of file elem.C.
References libMesh::ReferenceElem::get(), and libMesh::Elem::type().
Referenced by libMesh::QComposite< QSubCell >::init().
|
virtualinherited |
Refine the element.
Definition at line 87 of file elem_refinement.C.
References libMesh::Elem::_children, libMesh::Elem::active(), libMesh::MeshRefinement::add_elem(), libMesh::MeshRefinement::add_node(), libMesh::Elem::ancestor(), libMesh::Elem::build(), libMesh::Elem::child_ptr(), libMesh::Elem::INACTIVE, libMesh::Elem::JUST_REFINED, libMesh::libmesh_assert(), libMesh::Elem::n_children(), libMesh::DofObject::n_extra_integers(), libMesh::DofObject::n_systems(), libMesh::Elem::node_index_range(), libMesh::Elem::p_level(), libMesh::Elem::p_refinement_flag(), libMesh::Elem::parent(), libMesh::DofObject::processor_id(), libMesh::Elem::REFINE, libMesh::Elem::refinement_flag(), libMesh::remote_elem, libMesh::DofObject::set_extra_integer(), libMesh::DofObject::set_n_systems(), libMesh::Elem::set_node(), libMesh::Elem::set_p_level(), libMesh::Elem::set_p_refinement_flag(), libMesh::Elem::set_refinement_flag(), libMesh::Elem::subactive(), and libMesh::Elem::type().
|
inlineinherited |
Definition at line 2614 of file elem.h.
References libMesh::Elem::_rflag.
Referenced by libMesh::Elem::active(), libMesh::OldSolutionBase< Output, point_output >::check_old_context(), libMesh::Elem::coarsen(), libMesh::Elem::contract(), libMesh::MeshRefinement::enforce_mismatch_limit_prior_to_refinement(), libMesh::OldSolutionCoefs< Output, point_output >::eval_at_node(), libMesh::OldSolutionValue< Output, point_output >::eval_at_node(), libMesh::OldSolutionCoefs< Output, point_output >::eval_old_dofs(), libMesh::OldSolutionValue< Output, point_output >::eval_old_dofs(), libMesh::Elem::get_info(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_flags(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshRefinement::make_flags_parallel_consistent(), libMesh::Elem::make_links_to_me_local(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::DofMap::old_dof_indices(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectEdges::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectSides::operator()(), libMesh::Parallel::Packing< const Elem * >::pack(), libMesh::Elem::refine(), EquationSystemsTest::testRefineThenReinitPreserveFlags(), libMesh::MeshRefinement::uniformly_coarsen(), and libMesh::Parallel::Packing< Elem * >::unpack().
|
inherited |
Resets this element's neighbors' appropriate neighbor pointers and its parent's and children's appropriate pointers to point to null instead of to this.
Used by the library before an element is deleted from a mesh.
Definition at line 1191 of file elem.C.
References libMesh::Elem::has_children(), libMesh::Elem::level(), libMesh::libmesh_assert(), libMesh::Elem::neighbor_ptr_range(), libMesh::Elem::parent(), libMesh::remote_elem, and libMesh::Elem::subactive().
Replaces the child pointer at the specified index in the child array.
Definition at line 1430 of file elem.C.
References libMesh::Elem::child_ptr(), libMesh::Elem::has_children(), libMesh::libmesh_assert(), and libMesh::Elem::set_child().
Referenced by libMesh::UnstructuredMesh::all_first_order().
|
virtualinherited |
this->n_vertices()
, while n
has to be greater than or equal to this->n_vertices()
. Reimplemented in libMesh::Edge4, libMesh::Edge3, libMesh::InfHex18, libMesh::Pyramid14, libMesh::Hex27, libMesh::Prism18, libMesh::InfHex16, libMesh::Hex20, libMesh::Prism15, libMesh::Tet10, libMesh::Pyramid13, libMesh::Quad9, libMesh::Tri6, libMesh::InfPrism12, libMesh::Quad8, and libMesh::InfQuad6.
Definition at line 2351 of file elem.C.
Referenced by libMesh::UnstructuredMesh::all_second_order(), and libMesh::MeshTools::Modification::smooth().
|
virtualinherited |
\( n^{th} \)
second-order node on the parent element. For linear elements, (0,0) is returned.this->n_children()
and this->child_ptr(c)->n_vertices()
.n
has to be greater than or equal to this->n_vertices()
.this->node_ptr(n)
== this->child_ptr(c)->node_ptr(v). Reimplemented in libMesh::InfHex18, libMesh::Hex27, libMesh::Prism18, libMesh::InfHex16, libMesh::Hex20, libMesh::Prism15, libMesh::Tet10, libMesh::Quad9, libMesh::Tri6, libMesh::InfPrism12, libMesh::Quad8, libMesh::InfQuad6, and libMesh::Edge3.
|
staticinherited |
For example, when this
is a TET4
, then TET10
is returned.
For some elements, there exist two second-order equivalents, e.g. for Quad4
there is Quad8
and Quad9
. When the optional full_ordered
is true
, then QUAD9
is returned. When full_ordered
is false
, then QUAD8
is returned.
Definition at line 2432 of file elem.C.
References libMesh::EDGE2, libMesh::EDGE3, libMesh::EDGE4, libMesh::Utility::enum_to_string(), libMesh::HEX20, libMesh::HEX27, libMesh::HEX8, libMesh::INFEDGE2, libMesh::INFHEX16, libMesh::INFHEX18, libMesh::INFHEX8, libMesh::INFPRISM12, libMesh::INFPRISM6, libMesh::INFQUAD4, libMesh::INFQUAD6, libMesh::NODEELEM, libMesh::PRISM15, libMesh::PRISM18, libMesh::PRISM6, libMesh::PYRAMID13, libMesh::PYRAMID14, libMesh::PYRAMID5, libMesh::QUAD4, libMesh::QUAD8, libMesh::QUAD9, libMesh::QUADSHELL4, libMesh::QUADSHELL8, libMesh::TET10, libMesh::TET4, libMesh::TRI3, libMesh::TRI6, and libMesh::TRISHELL3.
Referenced by libMesh::UnstructuredMesh::all_second_order(), libMesh::Elem::bracketing_nodes(), and libMesh::Elem::parent_bracketing_nodes().
|
inlineinherited |
Definition at line 650 of file dof_object.h.
References libMesh::DofObject::_idx_buf.
Referenced by DofObjectTest< Node >::testJensEftangBug().
Sets the pointer to the \( i^{th} \) child for this element.
Do not call if this element has no children, i.e. is active.
Definition at line 2586 of file elem.h.
References libMesh::Elem::_children, libMesh::Elem::has_children(), and libMesh::libmesh_assert().
Referenced by libMesh::Elem::add_child(), libMesh::Elem::make_links_to_me_remote(), and libMesh::Elem::replace_child().
|
inherited |
Sets the global degree of freedom number for variable var
, component comp
for system s
associated with this DofObject
.
Definition at line 467 of file dof_object.C.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::dof_number(), libMesh::DofObject::invalid_id, libMesh::libmesh_assert(), libMesh::DofObject::n_comp(), libMesh::DofObject::n_comp_group(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_vars(), libMesh::DofObject::start_idx(), libMesh::DofObject::system_var_to_vg_var(), and libMesh::DofObject::var_to_vg().
|
inlineinherited |
Sets the value on this object of the extra datum associated with index
, which should have been obtained via a call to MeshBase::add_elem_datum
or MeshBase::add_node_datum
using the same type T.
Definition at line 1042 of file dof_object.h.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::n_extra_integers(), libMesh::DofObject::n_pseudo_systems(), libMesh::DofObject::start_idx_ints(), and value.
Referenced by libMesh::DynaIO::read_mesh(), and DofObjectTest< Node >::testAddExtraData().
|
inlineinherited |
Sets the value on this object of the extra integer associated with index
, which should have been obtained via a call to MeshBase::add_elem_integer
or MeshBase::add_node_integer
.
Definition at line 1010 of file dof_object.h.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::n_extra_integers(), libMesh::DofObject::n_pseudo_systems(), libMesh::DofObject::start_idx_ints(), and value.
Referenced by libMesh::UnstructuredMesh::create_submesh(), libMesh::CheckpointIO::read_connectivity(), libMesh::CheckpointIO::read_nodes(), libMesh::Elem::refine(), DofObjectTest< Node >::testAddExtraData(), DofObjectTest< Node >::testAddSystemExtraInts(), DofObjectTest< Node >::testSetNSystemsExtraInts(), and DofObjectTest< Node >::testSetNVariableGroupsExtraInts().
|
inlineinherited |
id
for this DofObject
as a writable reference. Definition at line 776 of file dof_object.h.
References libMesh::DofObject::_id.
Referenced by libMesh::GMVIO::_read_one_cell(), libMesh::ReplicatedMesh::add_elem(), libMesh::DistributedMesh::add_elem(), libMesh::ReplicatedMesh::add_node(), libMesh::DistributedMesh::add_node(), libMesh::UnstructuredMesh::all_first_order(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Subdivision::all_subdivision(), libMesh::MeshTools::Generation::build_cube(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::InfElemBuilder::build_inf_elem(), GetBoundaryPointsTest::build_mesh(), SlitMeshTest::build_mesh(), OverlappingTestBase::build_quad_mesh(), libMesh::UnstructuredMesh::create_submesh(), libMesh::UNVIO::elements_in(), libMesh::MeshTools::Modification::flatten(), libMesh::DofObject::invalidate_id(), libMesh::RBEIMEvaluation::legacy_write_out_interpolation_points_elem(), libMesh::RBDataDeserialization::load_rb_eim_evaluation_data(), libMesh::Node::Node(), libMesh::DistributedMesh::own_node(), libMesh::Nemesis_IO::read(), libMesh::ExodusII_IO::read(), libMesh::VTKIO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::UCDIO::read_implementation(), libMesh::GmshIO::read_mesh(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::OFFIO::read_stream(), libMesh::MatlabIO::read_stream(), RemoteElem(), libMesh::ReplicatedMesh::renumber_elem(), libMesh::DistributedMesh::renumber_elem(), libMesh::ReplicatedMesh::renumber_node(), libMesh::DistributedMesh::renumber_node(), libMesh::ReplicatedMesh::renumber_nodes_and_elements(), libMesh::DofObject::set_id(), DofObjectTest< Node >::testInvalidateId(), EquationSystemsTest::testPostInitAddElem(), SystemsTest::testProjectMatrix3D(), DofObjectTest< Node >::testSetId(), DofObjectTest< Node >::testValidId(), libMesh::Parallel::Packing< Node * >::unpack(), and libMesh::Parallel::Packing< Elem * >::unpack().
|
inlineinherited |
Sets the id
for this DofObject
.
Definition at line 156 of file dof_object.h.
References libMesh::DofObject::set_id().
|
inherited |
Sets the pointer to the element's interior_parent.
Dangerous! Only use this if you know what you are doing!
Definition at line 801 of file elem.C.
References libMesh::Elem::_elemlinks, libMesh::Elem::dim(), libMesh::libmesh_assert(), libMesh::Elem::n_sides(), and libMesh::remote_elem.
Referenced by libMesh::BoundaryInfo::add_elements(), libMesh::Edge::Edge(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::Hex::Hex(), libMesh::InfHex::InfHex(), libMesh::InfQuad::InfQuad(), libMesh::NodeElem::NodeElem(), libMesh::Prism::Prism(), libMesh::Pyramid::Pyramid(), libMesh::Quad::Quad(), libMesh::Tet::Tet(), libMesh::Tri::Tri(), and libMesh::Parallel::Packing< Elem * >::unpack().
|
inlineinherited |
Sets the value of the mapping data for the element.
Definition at line 2548 of file elem.h.
References libMesh::Elem::_map_data, and data.
Referenced by libMesh::ReplicatedMesh::add_elem(), libMesh::DistributedMesh::add_elem(), libMesh::ReplicatedMesh::insert_elem(), and libMesh::DistributedMesh::insert_elem().
|
inlineinherited |
Sets the value of the mapping type for the element.
Definition at line 2532 of file elem.h.
References libMesh::Elem::_map_type, and libMesh::Elem::type().
Referenced by libMesh::ReplicatedMesh::add_elem(), libMesh::DistributedMesh::add_elem(), libMesh::ReplicatedMesh::insert_elem(), and libMesh::DistributedMesh::insert_elem().
|
inherited |
Sets the number of components for Variable
var
of system s
associated with this DofObject
.
Definition at line 398 of file dof_object.C.
References libMesh::DofObject::n_systems(), libMesh::DofObject::n_vars(), libMesh::DofObject::set_n_comp_group(), and libMesh::DofObject::var_to_vg().
|
inherited |
Sets the number of components for VariableGroup
vg
of system s
associated with this DofObject
.
Definition at line 410 of file dof_object.C.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::invalid_id, libMesh::DofObject::n_comp_group(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), libMesh::DofObject::n_vars(), libMesh::DofObject::ncv_magic, and libMesh::DofObject::start_idx().
Referenced by libMesh::DofMap::reinit(), libMesh::DofObject::set_n_comp(), libMesh::DofObject::set_n_vars_per_group(), libMesh::DofMap::set_nonlocal_dof_objects(), and DofObjectTest< Node >::testManualDofCalculation().
|
inherited |
Sets the number of systems for this DofObject
.
If this number is a change, also clears all variable count and DoF indexing associated with this DofObject
.
If any extra integers are associated with this DofObject
, their count and values are unchanged.
Definition at line 165 of file dof_object.C.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::n_extra_integers(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), libMesh::DofObject::n_vars(), and libMesh::DofObject::start_idx_ints().
Referenced by libMesh::DofObject::add_system(), libMesh::DofObject::clear_dofs(), libMesh::Elem::refine(), DofObjectTest< Node >::testManualDofCalculation(), DofObjectTest< Node >::testSetNSystems(), DofObjectTest< Node >::testSetNSystemsExtraInts(), DofObjectTest< Node >::testSetNVariableGroups(), and DofObjectTest< Node >::testSetNVariableGroupsExtraInts().
|
inherited |
Sets number of variables in each group associated with system s
for this DofObject
.
Implicit in this is also setting the number of VariableGroup
variable groups for the system. Has the effect of setting the number of components to 0 even when called even with (nvg == this->n_var_groups(s)).
Definition at line 260 of file dof_object.C.
References libMesh::DofObject::_idx_buf, end, libMesh::DofObject::end_idx(), libMesh::DofObject::get_extra_integer(), libMesh::DofObject::has_extra_integers(), libMesh::DofObject::invalid_id, libMesh::DofObject::n_comp(), libMesh::DofObject::n_comp_group(), libMesh::DofObject::n_extra_integers(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), libMesh::DofObject::n_vars(), libMesh::DofObject::ncv_magic, libMesh::DofObject::set_n_comp_group(), and libMesh::DofObject::start_idx().
Referenced by DofObjectTest< Node >::testManualDofCalculation(), DofObjectTest< Node >::testSetNVariableGroups(), and DofObjectTest< Node >::testSetNVariableGroupsExtraInts().
Assigns n
as the \( i^{th} \) neighbor.
Definition at line 2105 of file elem.h.
References libMesh::Elem::_elemlinks, and libMesh::Elem::n_neighbors().
Referenced by libMesh::MeshTools::Subdivision::add_boundary_ghosts(), libMesh::BoundaryInfo::add_elements(), libMesh::UnstructuredMesh::all_first_order(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::MeshTools::Modification::flatten(), libMesh::Elem::nullify_neighbors(), libMesh::CheckpointIO::read_remote_elem(), libMesh::ReplicatedMesh::stitching_helper(), and libMesh::Parallel::Packing< Elem * >::unpack().
Node
i
as a writable reference. Reimplemented from libMesh::Elem.
Definition at line 86 of file remote_elem.h.
References libMesh::Elem::set_node().
|
inherited |
Sets the old_dof_object
to a copy of this
.
Definition at line 150 of file dof_object.C.
References libMesh::DofObject::clear_old_dof_object(), libMesh::DofObject::DofObject(), libMesh::libmesh_assert(), and libMesh::DofObject::old_dof_object.
|
inherited |
Sets the value of the p-refinement level for the element.
The following functions only apply when AMR is enabled and thus are not present otherwise.
Definition at line 41 of file elem_refinement.C.
References libMesh::Elem::_p_level, libMesh::Elem::child_ref_range(), libMesh::Elem::JUST_COARSENED, libMesh::Elem::JUST_REFINED, libMesh::Elem::p_level(), libMesh::Elem::parent(), libMesh::Elem::set_p_level(), and libMesh::Elem::set_p_refinement_flag().
Referenced by libMesh::UnstructuredMesh::all_first_order(), libMesh::Elem::coarsen(), libMesh::Elem::Elem(), libMesh::Elem::refine(), libMesh::Elem::set_p_level(), and libMesh::Parallel::Packing< Elem * >::unpack().
|
inlineinherited |
Sets the value of the p-refinement flag for the element.
Definition at line 2638 of file elem.h.
References libMesh::Elem::_pflag, libMesh::Elem::JUST_REFINED, and libMesh::Elem::p_level().
Referenced by libMesh::UnstructuredMesh::all_first_order(), libMesh::MeshRefinement::enforce_mismatch_limit_prior_to_refinement(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshRefinement::make_flags_parallel_consistent(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::CheckpointIO::read_connectivity(), libMesh::Elem::refine(), libMesh::Elem::set_p_level(), and libMesh::Parallel::Packing< Elem * >::unpack().
|
inlineinherited |
Sets the pointer to the element's parent.
Dangerous! Only use this if you know what you are doing!
Definition at line 2450 of file elem.h.
References libMesh::Elem::_elemlinks, and libMesh::Elem::dim().
Referenced by libMesh::BoundaryInfo::add_elements(), and libMesh::UnstructuredMesh::all_first_order().
|
inlineinherited |
Sets the value of the refinement flag for the element.
Definition at line 2622 of file elem.h.
References libMesh::Elem::_rflag.
Referenced by libMesh::UnstructuredMesh::all_first_order(), MixedDimensionNonUniformRefinement::build_mesh(), MixedDimensionNonUniformRefinementTriangle::build_mesh(), MixedDimensionNonUniformRefinement3D::build_mesh(), libMesh::Elem::coarsen(), libMesh::Elem::contract(), libMesh::MeshRefinement::enforce_mismatch_limit_prior_to_refinement(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), main(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshRefinement::make_flags_parallel_consistent(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::CheckpointIO::read_connectivity(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::Elem::refine(), EquationSystemsTest::testRefineThenReinitPreserveFlags(), libMesh::MeshRefinement::uniformly_coarsen(), and libMesh::Parallel::Packing< Elem * >::unpack().
|
inlineinherited |
unique_id
for this DofObject
as a writable reference. Definition at line 797 of file dof_object.h.
References libMesh::DofObject::_unique_id.
Referenced by libMesh::ReplicatedMesh::add_elem(), libMesh::DistributedMesh::add_elem(), libMesh::ReplicatedMesh::add_node(), libMesh::DistributedMesh::add_node(), libMesh::ReplicatedMesh::add_point(), libMesh::UnstructuredMesh::all_first_order(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::UnstructuredMesh::create_submesh(), libMesh::MeshTools::Modification::flatten(), libMesh::ReplicatedMesh::insert_elem(), libMesh::DistributedMesh::insert_elem(), libMesh::ReplicatedMesh::insert_node(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::CheckpointIO::read_nodes(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::XdrIO::read_serialized_nodes(), libMesh::Parallel::Packing< Node * >::unpack(), and libMesh::Parallel::Packing< Elem * >::unpack().
|
inlineinherited |
VariableGroup
DoF indices are indexed as id = base + var_in_vg*ncomp + comp This method allows for direct access to the base.
Definition at line 1209 of file dof_object.h.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), libMesh::DofObject::start_idx(), and libMesh::DofObject::vg_dof_base().
Referenced by libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::DofObject::invalidate_dofs(), libMesh::DofMap::reinit(), libMesh::DofMap::set_nonlocal_dof_objects(), and DofObjectTest< Node >::testManualDofCalculation().
|
staticinherited |
Setup function.
Initializes any derived Singleton::Setup
objects. objects.
Definition at line 81 of file libmesh_singleton.C.
References libMesh::libmesh_assert().
Referenced by libMesh::LibMeshInit::LibMeshInit().
|
inlineinherited |
Definition at line 2188 of file elem.h.
References libMesh::Elem::n_sides().
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::MeshTools::Subdivision::add_boundary_ghosts(), libMesh::BoundaryInfo::add_elements(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::FEGenericBase< FEOutputType< T >::type >::coarsened_dof_values(), libMesh::FEAbstract::compute_node_constraints(), libMesh::FEAbstract::compute_periodic_node_constraints(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_proj_constraints(), libMesh::BoundaryInfo::copy_boundary_ids(), libMesh::BoundaryInfo::edge_boundary_ids(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::MeshTools::Modification::flatten(), libMesh::ReplicatedMesh::get_boundary_points(), libMesh::ReplicatedMesh::get_disconnected_subdomains(), libMesh::Elem::get_info(), libMesh::BoundaryInfo::get_side_and_node_maps(), libMesh::Elem::has_topological_neighbor(), libMesh::Elem::libmesh_assert_valid_neighbors(), libMesh::Elem::nullify_neighbors(), libMesh::Parallel::Packing< const Elem * >::pack(), libMesh::PostscriptIO::plot_quadratic_elem(), libMesh::MeshTools::Modification::smooth(), libMesh::ReplicatedMesh::stitching_helper(), and libMesh::Parallel::Packing< Elem * >::unpack().
|
inlineoverridevirtual |
i
.Implements libMesh::Elem.
Definition at line 167 of file remote_elem.h.
|
inlineinherited |
|
inlineoverridevirtual |
Resets the loose element side
, which may currently point to a different side than i
or even a different element than this
, to point to side i
on this
.
If side
is currently an element of the wrong type, it will be freed and a new element allocated; otherwise no memory allocation will occur.
This should not be called with proxy Side elements. This will cause side
to be a minimum-ordered element, even if it is handed a higher-ordered element that must be replaced.
The const version of this function is non-virtual; it simply calls the virtual non-const version and const_casts the return type.
Implements libMesh::Elem.
Definition at line 170 of file remote_elem.h.
|
inlineprotectedinherited |
An implementation for simple (all sides equal) elements.
Definition at line 2252 of file elem.h.
References libMesh::Elem::n_sides(), libMesh::Elem::node_ptr(), and libMesh::Elem::subdomain_id().
|
inlineprotectedinherited |
An implementation for simple (all sides equal) elements.
Definition at line 2277 of file elem.h.
References libMesh::Elem::n_sides(), libMesh::Elem::node_ptr(), and libMesh::Elem::subdomain_id().
The starting index for system s
.
Definition at line 1161 of file dof_object.h.
References libMesh::DofObject::_idx_buf, std::abs(), and libMesh::DofObject::n_systems().
Referenced by libMesh::DofObject::dof_number(), libMesh::DofObject::n_comp_group(), libMesh::DofObject::n_var_groups(), libMesh::DofObject::n_vars(), libMesh::DofObject::set_dof_number(), libMesh::DofObject::set_n_comp_group(), libMesh::DofObject::set_n_vars_per_group(), libMesh::DofObject::set_vg_dof_base(), and libMesh::DofObject::vg_dof_base().
|
inlineprivateinherited |
The starting index for an extra_integers pseudosystem.
Definition at line 1185 of file dof_object.h.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::has_extra_integers(), libMesh::libmesh_assert(), and libMesh::DofObject::n_systems().
Referenced by libMesh::DofObject::get_extra_datum(), libMesh::DofObject::get_extra_integer(), libMesh::DofObject::n_extra_integers(), libMesh::DofObject::set_extra_datum(), libMesh::DofObject::set_extra_integer(), and libMesh::DofObject::set_n_systems().
|
inlineinherited |
true
if the element is subactive (i.e. has no active descendants), false
otherwise or if AMR is disabled. Definition at line 2363 of file elem.h.
References libMesh::Elem::active(), libMesh::Elem::has_children(), and libMesh::Elem::parent().
Referenced by libMesh::HPCoarsenTest::add_projection(), libMesh::Elem::ancestor(), libMesh::FEAbstract::compute_node_constraints(), libMesh::UnstructuredMesh::contract(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::Elem::get_info(), libMesh::Elem::libmesh_assert_valid_neighbors(), libMesh::Elem::make_links_to_me_local(), libMesh::Elem::make_links_to_me_remote(), libMesh::Elem::max_descendant_p_level(), libMesh::Elem::min_new_p_level_by_neighbor(), libMesh::Elem::min_p_level_by_neighbor(), libMesh::Elem::refine(), libMesh::Elem::remove_links_to_me(), libMesh::ReplicatedMesh::stitching_helper(), and libMesh::Parallel::Packing< Elem * >::unpack().
|
inlineinherited |
Definition at line 2077 of file elem.h.
References libMesh::Elem::_sbd_id.
|
inlineinherited |
Definition at line 2069 of file elem.h.
References libMesh::Elem::_sbd_id.
Referenced by libMesh::DofMap::_dof_indices(), libMesh::BoundaryInfo::_find_id_maps(), LinearElasticityWithContact::add_contact_edge_elements(), libMesh::RBDataSerialization::add_elem_to_builder(), libMesh::UnstructuredMesh::all_first_order(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::AbaqusIO::assign_subdomain_ids(), libMesh::MeshTools::Generation::build_extrusion(), MixedDimensionMeshTest::build_mesh(), MixedDimensionNonUniformRefinement::build_mesh(), MixedDimensionNonUniformRefinementTriangle::build_mesh(), MixedDimensionNonUniformRefinement3D::build_mesh(), OverlappingTestBase::build_quad_mesh(), libMesh::Quad4::build_side_ptr(), libMesh::InfQuad4::build_side_ptr(), libMesh::Prism6::build_side_ptr(), libMesh::Pyramid5::build_side_ptr(), libMesh::InfHex8::build_side_ptr(), libMesh::Tri3::build_side_ptr(), libMesh::Hex8::build_side_ptr(), libMesh::InfPrism6::build_side_ptr(), libMesh::InfPrism12::build_side_ptr(), libMesh::Tet4::build_side_ptr(), libMesh::InfHex18::build_side_ptr(), libMesh::InfQuad6::build_side_ptr(), libMesh::Quad8::build_side_ptr(), libMesh::InfHex16::build_side_ptr(), libMesh::Tet10::build_side_ptr(), libMesh::Tri6::build_side_ptr(), libMesh::Hex20::build_side_ptr(), libMesh::Prism15::build_side_ptr(), libMesh::Pyramid13::build_side_ptr(), libMesh::Quad9::build_side_ptr(), libMesh::Hex27::build_side_ptr(), libMesh::Prism18::build_side_ptr(), libMesh::Pyramid14::build_side_ptr(), libMesh::MeshTools::Modification::change_subdomain_id(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_proj_constraints(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::TriangleWrapper::copy_tri_to_mesh(), libMesh::UnstructuredMesh::create_submesh(), libMesh::DofMap::dof_indices(), libMesh::Elem::Elem(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::find_dofs_to_send(), libMesh::MeshTools::Modification::flatten(), MeshExtruderTest::QueryElemSubdomainID::get_subdomain_for_layer(), libMesh::UNVIO::groups_in(), libMesh::RBEIMEvaluation::legacy_write_out_interpolation_points_elem(), libMesh::RBDataDeserialization::load_elem_into_mesh(), libMesh::DofMap::old_dof_indices(), libMesh::Parallel::Packing< const Elem * >::pack(), libMesh::XdrIO::pack_element(), libMesh::Nemesis_IO::read(), libMesh::ExodusII_IO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::UCDIO::read_implementation(), libMesh::GmshIO::read_mesh(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::Prism::side_ptr(), libMesh::Pyramid::side_ptr(), libMesh::Edge::side_ptr(), libMesh::InfPrism::side_ptr(), libMesh::InfHex::side_ptr(), libMesh::InfQuad::side_ptr(), libMesh::Elem::simple_build_side_ptr(), libMesh::Elem::simple_side_ptr(), SystemsTest::testDofCouplingWithVarGroups(), MeshExtruderTest::testExtruder(), SystemsTest::tripleValueTest(), and libMesh::Parallel::Packing< Elem * >::unpack().
|
inlineprivateinherited |
Utility function - for variable var
in system s
, figure out what variable group it lives in.
Definition at line 1271 of file dof_object.h.
References libMesh::DofObject::n_vars().
Referenced by libMesh::DofObject::set_dof_number().
|
inlineinherited |
That is, this
if this is a level-0 element, this element's parent if this is a level-1 element, this element's grandparent if this is a level-2 element, etc...
Definition at line 2460 of file elem.h.
References libMesh::Elem::level(), libMesh::libmesh_assert(), and libMesh::Elem::parent().
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::BoundaryInfo::add_elements(), libMesh::BoundaryInfo::boundary_ids(), libMesh::BoundaryInfo::edge_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_amr_interior_parents(), libMesh::ExodusII_IO::read_elemental_variable(), libMesh::BoundaryInfo::side_with_boundary_id(), and ExtraIntegersTest::test_final_integers().
|
inherited |
Definition at line 865 of file elem.C.
References libMesh::PeriodicBoundaries::boundary(), libMesh::Elem::level(), mesh, libMesh::Elem::n_neighbors(), libMesh::PeriodicBoundaries::neighbor(), libMesh::Elem::neighbor_ptr(), and libMesh::Elem::parent().
Referenced by libMesh::Elem::has_topological_neighbor(), libMesh::DefaultCoupling::operator()(), and libMesh::MeshRefinement::topological_neighbor().
|
inherited |
Definition at line 823 of file elem.C.
References libMesh::PeriodicBoundaries::boundary(), libMesh::Elem::level(), mesh, libMesh::Elem::n_neighbors(), libMesh::PeriodicBoundaries::neighbor(), libMesh::Elem::neighbor_ptr(), and libMesh::Elem::parent().
|
inherited |
Same as the family_tree()
member, but also adds any subactive descendants.
Definition at line 1457 of file elem.C.
References libMesh::ElemInternal::total_family_tree().
Referenced by libMesh::connect_families(), and libMesh::Partitioner::set_parent_processor_ids().
|
inherited |
Non-const version of function above; fills a vector of non-const pointers.
Definition at line 1465 of file elem.C.
References libMesh::ElemInternal::total_family_tree().
|
inherited |
Same as the family_tree_by_neighbor()
member, but also adds any subactive descendants.
Definition at line 1543 of file elem.C.
References libMesh::ElemInternal::total_family_tree_by_neighbor().
|
inherited |
Non-const version of function above; fills a vector of non-const pointers.
Definition at line 1552 of file elem.C.
References libMesh::ElemInternal::total_family_tree_by_neighbor().
|
inherited |
Same as the family_tree_by_subneighbor()
member, but also adds any subactive descendants.
Definition at line 1581 of file elem.C.
References libMesh::ElemInternal::total_family_tree_by_subneighbor().
|
inherited |
Non-const version of function above; fills a vector of non-const pointers.
Definition at line 1591 of file elem.C.
References libMesh::ElemInternal::total_family_tree_by_subneighbor().
|
inlineoverridevirtual |
Implements libMesh::Elem.
Definition at line 109 of file remote_elem.h.
References libMesh::REMOTEELEM.
|
inlineinherited |
unique_id
for this DofObject
Definition at line 784 of file dof_object.h.
References libMesh::DofObject::_unique_id, libMesh::DofObject::invalid_unique_id, libMesh::libmesh_assert(), and libMesh::DofObject::valid_unique_id().
Referenced by libMesh::ReplicatedMesh::add_elem(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::MeshTools::Modification::flatten(), libMesh::Elem::get_info(), libMesh::MeshTools::libmesh_assert_valid_unique_ids(), libMesh::Parallel::Packing< const Node * >::pack(), libMesh::Parallel::Packing< const Elem * >::pack(), libMesh::XdrIO::pack_element(), libMesh::ExodusII_IO::read_elemental_variable(), SlitMeshRefinedSystemTest::testRestart(), and libMesh::XdrIO::write_serialized_nodes().
|
inherited |
A method for creating our index buffer from packed data - basically with our current implementation we investigate the size term and then copy.
Definition at line 589 of file dof_object.C.
References libMesh::DofObject::_idx_buf, std::abs(), libMesh::DofObject::clear_old_dof_object(), libMesh::DofObject::DofObject(), libMesh::libmesh_assert(), libMesh::DofObject::old_dof_object, and libMesh::DofObject::unpack_indexing().
Referenced by libMesh::Parallel::Packing< Node * >::unpack(), libMesh::Parallel::Packing< Elem * >::unpack(), and libMesh::DofObject::unpack_indexing().
|
staticinherited |
If we have indices packed into an buffer for communications, how much of that buffer applies to this dof object?
Definition at line 569 of file dof_object.C.
Referenced by libMesh::Parallel::Packing< const Elem * >::packed_size(), libMesh::Parallel::Packing< const Node * >::packed_size(), and libMesh::Parallel::Packing< Node * >::unpack().
|
inlineinherited |
true
if this DofObject
has a valid id
set, false
otherwise. Definition at line 809 of file dof_object.h.
References libMesh::DofObject::_id, and libMesh::DofObject::invalid_id.
Referenced by libMesh::ReplicatedMesh::add_elem(), libMesh::DistributedMesh::add_elem(), libMesh::ReplicatedMesh::add_node(), libMesh::DistributedMesh::add_node(), libMesh::Node::get_info(), libMesh::Elem::get_info(), libMesh::DofObject::id(), libMesh::Elem::libmesh_assert_valid_node_pointers(), DofObjectTest< Node >::testInvalidateId(), and DofObjectTest< Node >::testValidId().
|
inlineinherited |
true
if this DofObject
has a valid id
set, false
otherwise. Definition at line 853 of file dof_object.h.
References libMesh::DofObject::_processor_id, and libMesh::DofObject::invalid_processor_id.
Referenced by DofObjectTest< Node >::testInvalidateProcId(), and DofObjectTest< Node >::testValidProcId().
|
inlineinherited |
true
if this DofObject
has a valid unique_id
set, false
otherwise. Definition at line 817 of file dof_object.h.
References libMesh::DofObject::_unique_id, and libMesh::DofObject::invalid_unique_id.
Referenced by libMesh::ReplicatedMesh::add_elem(), libMesh::DistributedMesh::add_elem(), libMesh::ReplicatedMesh::add_node(), libMesh::DistributedMesh::add_node(), libMesh::ReplicatedMesh::add_point(), libMesh::Elem::get_info(), libMesh::ReplicatedMesh::insert_elem(), libMesh::DistributedMesh::insert_elem(), libMesh::ReplicatedMesh::insert_node(), libMesh::Parallel::Packing< const Node * >::pack(), libMesh::Parallel::Packing< const Elem * >::pack(), and libMesh::DofObject::unique_id().
|
inlineprivateinherited |
Utility function - for variable var
in system s
, figure out what variable group it lives in.
Definition at line 1253 of file dof_object.h.
References libMesh::DofObject::n_var_groups(), and libMesh::DofObject::n_vars().
Referenced by libMesh::DofObject::n_comp(), libMesh::DofObject::set_dof_number(), and libMesh::DofObject::set_n_comp().
|
inlineinherited |
var
on system s
associated with this DofObject
Definition at line 1112 of file dof_object.h.
References libMesh::DofObject::n_var_groups(), and libMesh::DofObject::n_vars().
Referenced by libMesh::DofMap::_dof_indices(), libMesh::DofMap::_node_dof_indices(), libMesh::DofObject::dof_number(), libMesh::OldSolutionCoefs< Output, point_output >::eval_old_dofs(), and libMesh::OldSolutionValue< Output, point_output >::eval_old_dofs().
|
inlineinherited |
VariableGroup
DoF indices are indexed as id = base + var_in_vg*ncomp + comp This method allows for direct access to the base.
Definition at line 1229 of file dof_object.h.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), and libMesh::DofObject::start_idx().
Referenced by libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::DofMap::reinit(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::DofObject::set_vg_dof_base(), and DofObjectTest< Node >::testManualDofCalculation().
|
virtualinherited |
Reimplemented in libMesh::Hex27, libMesh::Prism18, libMesh::Pyramid14, libMesh::Hex20, libMesh::Prism15, libMesh::Tet10, libMesh::Pyramid13, libMesh::Quad9, libMesh::Tri6, libMesh::Quad8, libMesh::Tet4, libMesh::Hex8, libMesh::Edge4, libMesh::Prism6, libMesh::Pyramid5, libMesh::Tri3, libMesh::Edge3, libMesh::Quad4, and libMesh::Edge2.
Definition at line 2617 of file elem.C.
References libMesh::FEGenericBase< OutputType >::build(), libMesh::Elem::default_order(), libMesh::FEType::default_quadrature_order(), libMesh::Elem::dim(), libMesh::FEMap::map_fe_type(), and libMesh::Real.
Referenced by libMesh::Elem::get_info(), libMesh::Quad8::volume(), libMesh::Tri6::volume(), libMesh::Quad9::volume(), libMesh::Pyramid13::volume(), libMesh::Tet10::volume(), libMesh::Prism15::volume(), libMesh::Hex20::volume(), libMesh::Pyramid14::volume(), libMesh::Hex27::volume(), and libMesh::Prism18::volume().
e
corresponds to.I.e. if c = a->which_child_am_i(e); then a->child_ptr(c) will be e.
Definition at line 2596 of file elem.h.
References libMesh::Elem::child_ptr(), libMesh::Elem::has_children(), libMesh::invalid_uint, libMesh::libmesh_assert(), and libMesh::Elem::n_children().
Referenced by libMesh::BoundaryInfo::boundary_ids(), libMesh::BoundaryInfo::edge_boundary_ids(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::Elem::make_links_to_me_remote(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::Parallel::Packing< const Elem * >::pack(), libMesh::BoundaryInfo::side_with_boundary_id(), libMesh::MeshTools::Modification::smooth(), and libMesh::Parallel::sync_element_data_by_parent_id().
This function tells you which neighbor e
is.
I.e. if s = a->which_neighbor_am_i(e); then a->neighbor(s) will be an ancestor of e.
Definition at line 2323 of file elem.h.
References libMesh::invalid_uint, libMesh::Elem::level(), libMesh::libmesh_assert(), libMesh::Elem::n_sides(), libMesh::Elem::neighbor_ptr(), and libMesh::Elem::parent().
Referenced by assemble_ellipticdg(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_proj_constraints(), libMesh::MeshTools::find_hanging_nodes_and_parents(), libMesh::Elem::libmesh_assert_valid_neighbors(), and libMesh::Elem::nullify_neighbors().
|
inlineoverridevirtual |
side_node
on side side
of this Elem. Simply relies on the side_nodes_map
for each of the derived types. For example, Tri3::which_node_am_i(0, 0) -> 0 Tri3::which_node_am_i(0, 1) -> 1 Tri3::which_node_am_i(1, 0) -> 1 Tri3::which_node_am_i(1, 1) -> 2 etc... Implements libMesh::Elem.
Definition at line 97 of file remote_elem.h.
This function tells you which side the boundary element e
is.
I.e. if e = a->build_side_ptr(s) or e = a->side_ptr(s); then a->which_side_am_i(e) will be s.
e
is made with the nodal positions of this
in order to perform this test. The idea is that the test will return a valid side id if e
either directly shares Node pointers with this
, or was created by exactly copying some of the nodes of this
(e.g. through BoundaryMesh::sync()). In these circumstances, non-fuzzy floating point equality is expected.this
the element which e
is, otherwise invalid_uint
. Definition at line 475 of file elem.C.
References libMesh::invalid_uint, libMesh::Elem::is_node_on_side(), libMesh::libmesh_assert(), libMesh::Elem::n_nodes(), libMesh::Elem::n_sides(), and libMesh::Elem::point().
|
inherited |
Writes the element connectivity for various IO packages to the passed ostream "out".
Not virtual, since it is implemented in the base class.
Definition at line 1283 of file elem.C.
References libMesh::Elem::_nodes, libMesh::Elem::connectivity(), libMesh::INVALID_IO_PACKAGE, libMesh::libmesh_assert(), libMesh::Elem::n_sub_elem(), libMesh::Elem::node_id(), libMesh::Elem::node_index_range(), libMesh::TECPLOT, and libMesh::UCD.
|
protectedinherited |
Pointers to this element's children.
Definition at line 1755 of file elem.h.
Referenced by libMesh::Elem::add_child(), libMesh::Elem::child_ptr(), libMesh::Elem::child_ref_range(), libMesh::Elem::contract(), libMesh::Elem::has_ancestor_children(), libMesh::Elem::has_children(), libMesh::Elem::raw_child_ptr(), libMesh::Elem::refine(), libMesh::Elem::set_child(), and libMesh::Elem::~Elem().
|
staticprotectedinherited |
Actually holds the data.
Definition at line 122 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info(), libMesh::ReferenceCounter::increment_constructor_count(), and libMesh::ReferenceCounter::increment_destructor_count().
|
staticprotectedinherited |
Actually holds the data.
Definition at line 122 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info(), libMesh::ReferenceCounter::increment_constructor_count(), and libMesh::ReferenceCounter::increment_destructor_count().
|
protectedinherited |
Pointers to this element's parent and neighbors, and for lower-dimensional elements' interior_parent.
Definition at line 1749 of file elem.h.
Referenced by libMesh::Elem::Elem(), libMesh::Elem::interior_parent(), libMesh::Elem::neighbor_ptr(), libMesh::Elem::neighbor_ptr_range(), libMesh::Elem::parent(), libMesh::Elem::set_interior_parent(), libMesh::Elem::set_neighbor(), and libMesh::Elem::set_parent().
|
protected |
Data for link to (nullptr!) parent.
Definition at line 216 of file remote_elem.h.
|
staticprotectedinherited |
Flag to control whether reference count information is printed when print_info is called.
Definition at line 141 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), and libMesh::ReferenceCounter::print_info().
|
staticprotectedinherited |
Flag to control whether reference count information is printed when print_info is called.
Definition at line 141 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), and libMesh::ReferenceCounter::print_info().
|
privateinherited |
The id
of the DofObject
.
Definition at line 516 of file dof_object.h.
Referenced by libMesh::DofObject::id(), libMesh::DofObject::operator=(), libMesh::DofObject::set_id(), and libMesh::DofObject::valid_id().
|
privateinherited |
Definition at line 613 of file dof_object.h.
Referenced by libMesh::DofObject::add_extra_integers(), libMesh::DofObject::add_system(), libMesh::DofObject::debug_buffer(), libMesh::DofObject::dof_number(), libMesh::DofObject::end_idx(), libMesh::DofObject::end_idx_ints(), libMesh::DofObject::get_extra_datum(), libMesh::DofObject::get_extra_integer(), libMesh::DofObject::has_extra_integers(), libMesh::DofObject::n_comp_group(), libMesh::DofObject::n_extra_integers(), libMesh::DofObject::n_pseudo_systems(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_vars(), libMesh::DofObject::operator=(), libMesh::DofObject::pack_indexing(), libMesh::DofObject::packed_indexing_size(), libMesh::DofObject::set_buffer(), libMesh::DofObject::set_dof_number(), libMesh::DofObject::set_extra_datum(), libMesh::DofObject::set_extra_integer(), libMesh::DofObject::set_n_comp_group(), libMesh::DofObject::set_n_systems(), libMesh::DofObject::set_n_vars_per_group(), libMesh::DofObject::set_vg_dof_base(), libMesh::DofObject::start_idx(), libMesh::DofObject::start_idx_ints(), libMesh::DofObject::unpack_indexing(), and libMesh::DofObject::vg_dof_base().
|
protectedinherited |
Mapping function data; currently used when needed to store the RATIONAL_BERNSTEIN nodal weight data index.
Definition at line 1797 of file elem.h.
Referenced by libMesh::Elem::Elem(), libMesh::Elem::mapping_data(), and libMesh::Elem::set_mapping_data().
|
protectedinherited |
Mapping function type; currently either 0 (LAGRANGE) or 1 (RATIONAL_BERNSTEIN).
Definition at line 1791 of file elem.h.
Referenced by libMesh::Elem::Elem(), libMesh::Elem::mapping_type(), and libMesh::Elem::set_mapping_type().
|
staticprotectedinherited |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 135 of file reference_counter.h.
|
staticprotectedinherited |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 135 of file reference_counter.h.
|
staticprotectedinherited |
The number of objects.
Print the reference count information when the number returns to 0.
Definition at line 130 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().
|
staticprotectedinherited |
The number of objects.
Print the reference count information when the number returns to 0.
Definition at line 130 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().
|
protectedinherited |
Pointers to the nodes we are connected to.
Definition at line 1743 of file elem.h.
Referenced by libMesh::Prism6::connectivity(), libMesh::Pyramid5::connectivity(), libMesh::Hex8::connectivity(), libMesh::InfHex8::connectivity(), libMesh::InfPrism6::connectivity(), libMesh::Tet4::connectivity(), libMesh::InfPrism12::connectivity(), libMesh::Tet10::connectivity(), libMesh::Hex20::connectivity(), libMesh::Prism15::connectivity(), libMesh::Pyramid13::connectivity(), libMesh::InfHex16::connectivity(), libMesh::Hex27::connectivity(), libMesh::Prism18::connectivity(), libMesh::InfHex18::connectivity(), libMesh::Pyramid14::connectivity(), libMesh::Elem::Elem(), libMesh::Elem::get_node_index(), libMesh::Elem::get_nodes(), libMesh::Tri3Subdivision::local_node_number(), libMesh::Elem::node_id(), libMesh::Elem::node_ptr(), libMesh::Elem::node_ref_range(), libMesh::Elem::point(), libMesh::Elem::set_node(), and libMesh::Elem::write_connectivity().
|
protectedinherited |
p refinement level - the difference between the polynomial degree on this element and the minimum polynomial degree on the mesh.
This is stored as an unsigned char to save space. In theory, these last four bytes might have been padding anyway.
Definition at line 1784 of file elem.h.
Referenced by libMesh::Elem::hack_p_level(), libMesh::Elem::max_descendant_p_level(), libMesh::Elem::p_level(), and libMesh::Elem::set_p_level().
|
protectedinherited |
p refinement flag.
This is stored as an unsigned char to save space.
Definition at line 1774 of file elem.h.
Referenced by libMesh::Elem::p_refinement_flag(), and libMesh::Elem::set_p_refinement_flag().
|
privateinherited |
The processor_id
of the DofObject
.
Degrees of freedom are wholly owned by processors, however they may be duplicated on other processors.
This is stored as an unsigned short int since we cannot expect to be solving on 65000+ processors any time soon, can we??
Definition at line 527 of file dof_object.h.
Referenced by libMesh::DofObject::operator=(), libMesh::DofObject::processor_id(), and libMesh::DofObject::valid_processor_id().
|
protectedinherited |
h refinement flag.
This is stored as an unsigned char to save space.
Definition at line 1768 of file elem.h.
Referenced by libMesh::Elem::refinement_flag(), and libMesh::Elem::set_refinement_flag().
|
protectedinherited |
The subdomain to which this element belongs.
Definition at line 1761 of file elem.h.
Referenced by libMesh::Elem::subdomain_id().
|
privateinherited |
A globally unique id, guaranteed not to change as the mesh is repartitioned or adapted.
Definition at line 510 of file dof_object.h.
Referenced by libMesh::DofObject::operator=(), libMesh::DofObject::set_unique_id(), libMesh::DofObject::unique_id(), and libMesh::DofObject::valid_unique_id().
|
inherited |
|
staticinherited |
An invalid id
to distinguish an uninitialized DofObject
.
Definition at line 421 of file dof_object.h.
Referenced by libMesh::DofMap::_dof_indices(), libMesh::DofMap::_node_dof_indices(), libMesh::Node::active(), libMesh::DofObject::add_extra_integers(), libMesh::TopologyMap::add_node(), libMesh::MeshRefinement::add_node(), libMesh::ReplicatedMesh::add_point(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::Elem::bracketing_nodes(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_proj_constraints(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::DofMap::dof_indices(), libMesh::DofObject::dof_number(), libMesh::RBEIMConstruction::enrich_RB_space(), libMesh::OldSolutionValue< Output, point_output >::eval_old_dofs(), libMesh::TopologyMap::find(), libMesh::DofMap::gather_constraints(), libMesh::ReplicatedMesh::insert_node(), libMesh::DofObject::invalidate_dofs(), libMesh::DofObject::invalidate_id(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_object_ids(), libMesh::Node::Node(), libMesh::Elem::node_id(), libMesh::DofMap::old_dof_indices(), libMesh::DistributedMesh::own_node(), libMesh::Parallel::Packing< const Elem * >::pack(), libMesh::XdrIO::pack_element(), libMesh::SFCPartitioner::partition_range(), libMesh::Elem::point(), libMesh::System::read_legacy_data(), libMesh::DynaIO::read_mesh(), libMesh::System::read_parallel_data(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::DofMap::SCALAR_dof_indices(), libMesh::DofObject::set_dof_number(), libMesh::DofObject::set_n_comp_group(), libMesh::DofObject::set_n_vars_per_group(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::Parallel::sync_node_data_by_element_id_once(), ExtraIntegersTest::test_and_set_initial_data(), DofObjectTest< Node >::testAddExtraData(), DofObjectTest< Node >::testAddSystemExtraInts(), NodalNeighborsTest::testEdge2(), NodalNeighborsTest::testEdge3(), NodalNeighborsTest::testEdge4(), DofObjectTest< Node >::testSetNSystemsExtraInts(), DofObjectTest< Node >::testSetNVariableGroupsExtraInts(), DofObjectTest< Node >::testValidId(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::DofObject::valid_id(), and libMesh::System::write_parallel_data().
|
staticinherited |
An invalid processor_id
to distinguish DoFs that have not been assigned to a processor.
Definition at line 432 of file dof_object.h.
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::DistributedMesh::add_elem(), libMesh::DistributedMesh::add_node(), libMesh::MeshRefinement::add_node(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshCommunication::allgather(), libMesh::Node::choose_processor_id(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubProjector::construct_projection(), libMesh::MeshTools::create_bounding_box(), libMesh::MeshTools::create_nodal_bounding_box(), libMesh::DistributedMesh::delete_elem(), libMesh::DistributedMesh::delete_node(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::Elem::Elem(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::find_dofs_to_send(), libMesh::MeshCommunication::find_global_indices(), libMesh::DistributedMesh::insert_elem(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::insert_id(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::insert_ids(), libMesh::DofObject::invalidate_processor_id(), libMesh::MeshTools::libmesh_assert_consistent_distributed(), libMesh::MeshTools::libmesh_assert_consistent_distributed_nodes(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_object_ids(), libMesh::MeshCommunication::make_new_node_proc_ids_parallel_consistent(), libMesh::DistributedMesh::n_active_elem(), libMesh::MeshBase::n_unpartitioned_elem(), libMesh::MeshBase::n_unpartitioned_nodes(), libMesh::SparsityPattern::Build::operator()(), libMesh::Partitioner::processor_pairs_to_interface_nodes(), libMesh::DistributedMesh::renumber_dof_objects(), OverlappingFunctorTest::run_coupling_functor_test(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::send_and_insert_dof_values(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::Partitioner::set_parent_processor_ids(), libMesh::Parallel::sync_dofobject_data_by_id(), libMesh::Parallel::sync_dofobject_data_by_xyz(), libMesh::Parallel::sync_element_data_by_parent_id(), libMesh::Parallel::sync_node_data_by_element_id_once(), DofObjectTest< Node >::testValidProcId(), libMesh::MeshTools::total_weight(), libMesh::Parallel::Packing< Node * >::unpack(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::DofObject::valid_processor_id(), and libMesh::CheckpointIO::write().
|
staticinherited |
A static integral constant representing an invalid subdomain id.
See also DofObject::{invalid_id, invalid_unique_id, invalid_processor_id}.
subdomain_id_type
is sometimes a signed integer for compatibility reasons (see libmesh/id_types.h).Definition at line 244 of file elem.h.
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::BoundaryInfo::add_elements(), libMesh::ReplicatedMesh::get_disconnected_subdomains(), and libMesh::BoundaryInfo::sync().
|
staticinherited |
An invalid unique_id
to distinguish an uninitialized DofObject
.
Definition at line 426 of file dof_object.h.
Referenced by libMesh::Parallel::Packing< const Node * >::pack(), libMesh::Parallel::Packing< const Elem * >::pack(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::DofObject::unique_id(), and libMesh::DofObject::valid_unique_id().
libMesh::RemoteElem::LIBMESH_ENABLE_TOPOLOGY_CACHES |
Definition at line 206 of file remote_elem.h.
|
staticinherited |
The maximum number of nodes any element can contain.
This is useful for replacing heap vectors with stack arrays.
Definition at line 587 of file elem.h.
Referenced by libMesh::Elem::Elem().
|
staticprivateinherited |
Above we introduced the chimera ncv, which is a hybrid of the form ncv = ncv_magic*nv + nc where nv are the number of identical variables of a given type, and nc is the number of components for this set of variables.
It is hoped that by setting this to a power of two, an optimizing compiler will recognize later that #/ncv_magic is simply a bitshift
Definition at line 624 of file dof_object.h.
Referenced by libMesh::DofObject::n_comp_group(), libMesh::DofObject::set_n_comp_group(), and libMesh::DofObject::set_n_vars_per_group().
|
staticprivateinherited |
Definition at line 625 of file dof_object.h.
Referenced by libMesh::DofObject::n_vars().
|
inherited |
This object on the last mesh.
Useful for projecting solutions from one mesh to another.
Definition at line 81 of file dof_object.h.
Referenced by libMesh::OldSolutionBase< Output, point_output >::check_old_context(), libMesh::DofObject::clear_old_dof_object(), libMesh::OldSolutionCoefs< Output, point_output >::eval_at_node(), libMesh::OldSolutionValue< Output, point_output >::eval_at_node(), libMesh::OldSolutionCoefs< Output, point_output >::eval_old_dofs(), libMesh::OldSolutionValue< Output, point_output >::eval_old_dofs(), libMesh::DofMap::old_dof_indices(), libMesh::BuildProjectionList::operator()(), libMesh::DofObject::operator=(), libMesh::DofObject::pack_indexing(), libMesh::DofObject::packed_indexing_size(), libMesh::DofObject::set_old_dof_object(), and libMesh::DofObject::unpack_indexing().
|
static |
A unique id
to distinguish remote element links.
Definition at line 52 of file remote_elem.h.
|
staticinherited |
This array maps the integer representation of the ElemType
enum to the number of edges on the element.
Definition at line 656 of file elem.h.
Referenced by libMesh::Parallel::Packing< const Elem * >::packed_size().
|
staticinherited |
This array maps the integer representation of the ElemType
enum to the number of nodes in the element.
Definition at line 576 of file elem.h.
Referenced by libMesh::DynaIO::ElementDefinition::ElementDefinition(), libMesh::XdrIO::pack_element(), libMesh::Parallel::Packing< const Elem * >::packed_size(), libMesh::CheckpointIO::read_connectivity(), libMesh::XdrIO::read_serialized_connectivity(), and libMesh::Parallel::Packing< Elem * >::unpack().
|
staticinherited |
This array maps the integer representation of the ElemType
enum to the number of sides on the element.
Definition at line 607 of file elem.h.
Referenced by libMesh::Parallel::Packing< const Elem * >::packed_size().