libMesh
|
The Pyramid18
is an element in 3D composed of 18 nodes, designed to interface with a QUAD9 element on the base and a TRI7 element on each of the triangular faces.
More...
#include <cell_pyramid18.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 const Elem *const * | ConstNeighborPtrIter |
typedef Predicates::multi_predicate | Predicate |
Useful iterator typedefs. More... | |
Public Member Functions | |
Pyramid18 (Elem *p=nullptr) | |
Constructor. More... | |
Pyramid18 (Pyramid18 &&)=delete | |
Pyramid18 (const Pyramid18 &)=delete | |
Pyramid18 & | operator= (const Pyramid18 &)=delete |
Pyramid18 & | operator= (Pyramid18 &&)=delete |
virtual | ~Pyramid18 ()=default |
virtual unsigned int | n_nodes () const override |
virtual ElemType | type () const override |
virtual unsigned int | n_sub_elem () const override |
FIXME: we don't yet have a refinement pattern for pyramids... More... | |
virtual bool | is_vertex (const unsigned int i) const override |
virtual bool | is_edge (const unsigned int i) const override |
virtual bool | is_face (const unsigned int i) const override |
virtual bool | is_node_on_side (const unsigned int n, const unsigned int s) const override |
virtual std::vector< unsigned int > | nodes_on_side (const unsigned int s) const override |
virtual std::vector< unsigned int > | nodes_on_edge (const unsigned int e) const override |
virtual bool | is_node_on_edge (const unsigned int n, const unsigned int e) const override |
virtual bool | has_affine_map () const override |
virtual Order | default_order () const override |
virtual dof_id_type | key (const unsigned int s) const override |
virtual unsigned int | local_side_node (unsigned int side, unsigned int side_node) const override |
virtual unsigned int | local_edge_node (unsigned int edge, unsigned int edge_node) const override |
virtual std::unique_ptr< Elem > | build_side_ptr (const unsigned int i, bool proxy=false) override |
Builds a QUAD9 or TRI7 coincident with face i. More... | |
virtual void | build_side_ptr (std::unique_ptr< Elem > &elem, const unsigned int i) override |
Rebuilds a QUAD9 or TRI7 built coincident with face i. More... | |
virtual std::unique_ptr< Elem > | build_edge_ptr (const unsigned int i) override |
Builds a EDGE3 coincident with edge i. More... | |
virtual void | build_edge_ptr (std::unique_ptr< Elem > &edge, const unsigned int i) override |
Rebuilds a EDGE3 coincident with edge i. More... | |
virtual void | connectivity (const unsigned int sc, const IOPackage iop, std::vector< dof_id_type > &conn) const override |
virtual unsigned int | n_second_order_adjacent_vertices (const unsigned int n) const override |
virtual unsigned short int | second_order_adjacent_vertex (const unsigned int n, const unsigned int v) const override |
virtual void | permute (unsigned int perm_num) override final |
Permutes the element (by swapping node and neighbor pointers) according to the specified index. More... | |
virtual void | flip (BoundaryInfo *) override final |
Flips the element (by swapping node and neighbor pointers) to have a mapping Jacobian of opposite sign. More... | |
unsigned int | center_node_on_side (const unsigned short side) const override final |
ElemType | side_type (const unsigned int s) const override final |
virtual dof_id_type | key (const unsigned int s) const override |
Don't hide Pyramid::key() defined in the base class. More... | |
virtual dof_id_type | key (const unsigned int s) const =0 |
Don't hide Pyramid::key() defined in the base class. More... | |
virtual dof_id_type | key () const |
Don't hide Pyramid::key() defined in the base class. More... | |
virtual Point | master_point (const unsigned int i) 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_child_on_side (const unsigned int c, const unsigned int s) const override |
virtual bool | is_edge_on_side (const unsigned int e, const unsigned int s) const override |
virtual dof_id_type | key () const |
virtual dof_id_type | low_order_key (const unsigned int s) const override |
virtual std::unique_ptr< Elem > | side_ptr (const unsigned int i) override |
virtual void | side_ptr (std::unique_ptr< Elem > &side, const unsigned int i) override |
Rebuilds a primitive triangle or quad for face i. More... | |
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 |
virtual std::vector< unsigned int > | sides_on_edge (const unsigned int e) const override final |
unsigned int | local_singular_node (const Point &p, const Real tol=TOLERANCE *TOLERANCE) const override final |
virtual bool | is_singular_node (unsigned int node_idx) const override final |
virtual unsigned int | n_permutations () const override final |
One quad side, four orientations. More... | |
virtual bool | is_flipped () const override final |
virtual std::vector< unsigned int > | edges_adjacent_to_node (const unsigned int n) const override |
virtual bool | on_reference_element (const Point &p, const Real eps=TOLERANCE) const override final |
virtual unsigned short | dim () const override |
virtual BoundingBox | loose_bounding_box () const override |
virtual bool | infinite () const override |
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) |
virtual Node *& | set_node (const unsigned int i) |
virtual void | set_node (const unsigned int i, Node *node) |
Sets local Node i to refer to node . More... | |
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 () |
virtual bool | runtime_topology () const |
const Elem * | reference_elem () const |
bool | operator== (const Elem &rhs) const |
bool | topologically_equal (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... | |
unsigned int | which_node_am_i (unsigned int side, unsigned int side_node) const |
This function is deprecated, call local_side_node(side, side_node) instead. More... | |
bool | contains_vertex_of (const Elem *e, bool mesh_connection=false) 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... | |
virtual bool | is_remote () const |
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 bool | is_vertex_on_child (unsigned int, unsigned int n) const |
virtual bool | is_vertex_on_parent (unsigned int c, unsigned int n) const |
bool | is_internal (const unsigned int i) 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 > | build_side_ptr (const unsigned int i, bool proxy=false) 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 |
void | build_edge_ptr (std::unique_ptr< const Elem > &edge, const unsigned int i) const |
virtual Order | supported_nodal_order () const |
virtual Order | default_side_order () const |
virtual Point | centroid () const |
Calls Elem::vertex_average() for backwards compatibility. More... | |
virtual Point | true_centroid () const |
Point | vertex_average () const |
virtual Point | quasicircumcenter () const |
virtual Real | hmin () const |
virtual Real | hmax () const |
virtual Real | volume () 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 |
bool | positive_edge_orientation (const unsigned int i) const |
bool | positive_face_orientation (const unsigned int i) const |
virtual bool | has_invertible_map (Real tol=TOLERANCE *TOLERANCE) 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 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... | |
void | hack_p_level_and_refinement_flag (const unsigned int p, RefinementState pflag) |
Sets the value of the p-refinement level for the element without altering the p-level of its ancestors; also sets the p_refinement_flag, simultaneously so that they can be safely checked for mutual consistency. 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 std::unique_ptr< Elem > | disconnected_clone () const |
void | orient (BoundaryInfo *boundary_info) |
Flips the element (by swapping node and neighbor pointers) to have a mapping Jacobian of opposite sign, iff we find a negative orientation. More... | |
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... | |
DofObject * | get_old_dof_object () |
Pointer accessor for previously public old_dof_object. More... | |
const DofObject * | get_old_dof_object () const |
DofObject & | get_old_dof_object_ref () |
As above, but do not use in situations where the old_dof_object may be nullptr, since this function asserts that the old_dof_object is valid before returning a reference to it. More... | |
const DofObject & | get_old_dof_object_ref () const |
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 () |
void | set_unique_id (unique_id_type new_id) |
Sets the unique_id for this DofObject . More... | |
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... | |
void | add_extra_integers (const unsigned int n_integers, const std::vector< dof_id_type > &default_values) |
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 constexpr bool | infinite () |
static void | print_info (std::ostream &out_stream=libMesh::out) |
Prints the reference information, by default to libMesh::out . More... | |
static void | print_info (std::ostream &out_stream=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 ElemType | complete_order_equivalent_type (const ElemType et) |
static std::unique_ptr< Elem > | build (const ElemType type, Elem *p=nullptr) |
static std::unique_ptr< Elem > | build_with_id (const ElemType type, dof_id_type id) |
Calls the build() method above with a nullptr parent, and additionally sets the newly-created Elem's id. More... | |
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 Public Attributes | |
static const int | num_nodes = 18 |
Geometric constants for Pyramid18. More... | |
static const int | nodes_per_side = 9 |
static const int | nodes_per_edge = 3 |
static const unsigned int | side_nodes_map [num_sides][nodes_per_side] |
This maps the j^{th} node of the i^{th} side to element node numbers. More... | |
static const unsigned int | edge_nodes_map [num_edges][nodes_per_edge] |
This maps the j^{th} node of the i^{th} edge to element node numbers. More... | |
static const int | num_sides = 5 |
Geometric constants for all Pyramids. More... | |
static const int | num_edges = 8 |
static const int | num_children = 0 |
static const unsigned int | edge_sides_map [8][2] |
This maps each edge to the sides that contain said edge. 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_dim_map [INVALID_ELEM] |
This array maps the integer representation of the ElemType enum to the geometric dimension of the element. 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 Order | type_to_default_order_map [INVALID_ELEM] |
This array maps the integer representation of the ElemType enum to the default approximation order of elements of that type. 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 | |
virtual Real | embedding_matrix (const unsigned int, const unsigned int, const unsigned int) const override |
Matrix used to create the elements children. More... | |
unsigned int | side_children_matrix (const unsigned int, const unsigned int) const |
Matrix that allows children to inherit boundary conditions. More... | |
void | swap2nodes (unsigned int n1, unsigned int n2) |
Swaps two node_ptrs. More... | |
void | swap2neighbors (unsigned int n1, unsigned int n2) |
Swaps two neighbor_ptrs. More... | |
void | swap2boundarysides (unsigned short s1, unsigned short s2, BoundaryInfo *boundary_info) const |
Swaps two sides in boundary_info , if it is non-null. More... | |
void | swap2boundaryedges (unsigned short e1, unsigned short e2, BoundaryInfo *boundary_info) const |
Swaps two edges in boundary_info , if it is non-null. More... | |
void | swap3nodes (unsigned int n1, unsigned int n2, unsigned int n3) |
Swaps three node_ptrs, "rotating" them. More... | |
void | swap3neighbors (unsigned int n1, unsigned int n2, unsigned int n3) |
Swaps three neighbor_ptrs, "rotating" them. More... | |
void | swap4nodes (unsigned int n1, unsigned int n2, unsigned int n3, unsigned int n4) |
Swaps four node_ptrs, "rotating" them. More... | |
void | swap4neighbors (unsigned int n1, unsigned int n2, unsigned int n3, unsigned int n4) |
Swaps four neighbor_ptrs, "rotating" them. More... | |
template<typename Sideclass , typename Subclass > | |
std::unique_ptr< Elem > | simple_build_side_ptr (const unsigned int i, bool proxy) |
An implementation for simple (all sides equal) elements. More... | |
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... | |
template<typename Edgeclass , typename Subclass > | |
std::unique_ptr< Elem > | simple_build_edge_ptr (const unsigned int i) |
An implementation for simple (all edges equal) elements. More... | |
template<typename Subclass > | |
void | simple_build_edge_ptr (std::unique_ptr< Elem > &edge, const unsigned int i, ElemType edgetype) |
An implementation for simple (all edges 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) noexcept |
Increments the construction counter. More... | |
void | increment_constructor_count (const std::string &name) noexcept |
Increments the construction counter. More... | |
void | increment_destructor_count (const std::string &name) noexcept |
Increments the destruction counter. More... | |
void | increment_destructor_count (const std::string &name) noexcept |
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 | |
Node * | _nodelinks_data [num_nodes] |
Data for links to nodes. More... | |
LIBMESH_ENABLE_TOPOLOGY_CACHES | |
Elem * | _elemlinks_data [6+(LIBMESH_DIM >3)] |
Data for links to parent/neighbor/interior_parent elements. 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... | |
std::unique_ptr< Elem *[]> | _children |
unique_ptr to array of 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... | |
std::unique_ptr< DofObject > | old_dof_object |
This object on the last mesh. More... | |
Static Protected Attributes | |
static const Real | _master_points [14][3] |
Master element node locations. More... | |
static const unsigned int | adjacent_edges_map [5][4] |
This maps the j^{th} node to the 3 or 4 edge ids adjacent to the node. More... | |
static constexpr Real | affine_tol = TOLERANCE*TOLERANCE |
Default tolerance to use in has_affine_map(). More... | |
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... | |
The Pyramid18
is an element in 3D composed of 18 nodes, designed to interface with a QUAD9 element on the base and a TRI7 element on each of the triangular faces.
Cubit will generate hybrid meshes with linear pyramids, but as of version 18 will not export quadratic pyramids. Paraview may support 13-node pyramids, but does not render 18-node pyramids correctly. So even if this element works in libmesh, we are currently limited in what we can do with it outside the library...
The node numbering for the pyramid18 is given below:
* PYRAMID18: * o 4 * //|\ * // | \ * // | \ * // | \ * 12 o/ | o 11 * // | \ * /o 9 o 10 \ * // | \ zeta * // | \ ^ eta (into page) * 3 o/.......o.|........o 2 | / * ./ 7 | / |/ * ./ | / o---> xi * ./ | / * ./ | / * 8 o/ o | o 6 * ./ 13 | / * ./ | / * ./ |/ * o--------o---------o * 0 5 1 *
And it also includes four triangle face nodes: Node 14, centroid on side 0, arithmetic mean of 0/1/4 or 5/9/10 Node 15, centroid on side 1, arithmetic mean of 1/2/4 or 6/10/11 Node 16, centroid on side 2, arithmetic mean of 2/3/4 or 7/11/12 Node 17, centroid on side 3, arithmetic mean of 0/3/4 or 8/9/12
(xi, eta, zeta): { zeta-1 <= xi <= 1-zeta { zeta-1 <= eta <= 1-zeta { 0 <= zeta <= 1 are the reference element coordinates associated with the given numbering.
Definition at line 82 of file cell_pyramid18.h.
|
inherited |
|
protectedinherited |
Data structure to log the information.
The log is identified by the class name.
Definition at line 119 of file reference_counter.h.
|
protectedinherited |
Data structure to log the information.
The log is identified by the class name.
Definition at line 119 of file reference_counter.h.
|
inherited |
|
inherited |
|
inherited |
Enumeration of possible element refinement states.
Enumerator | |
---|---|
COARSEN | |
DO_NOTHING | |
REFINE | |
JUST_REFINED | |
JUST_COARSENED | |
INACTIVE | |
COARSEN_INACTIVE | |
INVALID_REFINEMENTSTATE |
Definition at line 1433 of file elem.h.
|
inlineexplicit |
Constructor.
By default this element has no parent.
Definition at line 90 of file cell_pyramid18.h.
|
delete |
|
delete |
|
virtualdefault |
|
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 2191 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 2205 of file elem.h.
Referenced by libMesh::Elem::as_parent_node().
|
inlineinherited |
true
if the element is active (i.e. has no active descendants) or AMR is disabled, false
otherwise.Definition at line 2938 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::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::DofMap::merge_ghost_functor_outputs(), libMesh::Elem::min_new_p_level_by_neighbor(), libMesh::Elem::min_p_level_by_neighbor(), libMesh::PointLocatorTree::operator()(), libMesh::EquationSystems::redundant_added_side(), libMesh::Elem::refine(), libMesh::Elem::subactive(), libMesh::Parallel::sync_element_data_by_parent_id(), libMesh::MeshRefinement::test_level_one(), EquationSystemsTest::testRefineThenReinitPreserveFlags(), and libMesh::BoundaryInfo::transfer_boundary_ids_from_children().
|
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 2136 of file elem.C.
References libMesh::ElemInternal::active_family_tree().
Referenced by libMesh::MeshCommunication::delete_remote_elements(), libMesh::DofMap::merge_ghost_functor_outputs(), and libMesh::SiblingCoupling::operator()().
|
inherited |
Non-const version of function above; fills a vector of non-const pointers.
Definition at line 2144 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 2264 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 2273 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 2170 of file elem.C.
References libMesh::ElemInternal::active_family_tree_by_side().
Referenced by libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::Nemesis_IO_Helper::write_sidesets(), and libMesh::ExodusII_IO_Helper::write_sidesets().
|
inherited |
Non-const version of function above; fills a vector of non-const pointers.
Definition at line 2179 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 2282 of file elem.C.
References libMesh::ElemInternal::active_family_tree_by_topological_neighbor(), and mesh.
Referenced by libMesh::GhostPointNeighbors::operator()(), and libMesh::DefaultCoupling::operator()().
|
inherited |
Non-const version of function above; fills a vector of non-const pointers.
Definition at line 2296 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 2047 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(), and libMesh::CheckpointIO::read_remote_elem().
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 2074 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.
Any newly-added values will initially be DofObject::invalid_id
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 490 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::DofObject::add_extra_integers(), libMesh::ReplicatedMesh::add_node(), libMesh::DistributedMesh::add_node(), libMesh::ReplicatedMesh::add_point(), libMesh::UnstructuredMesh::all_first_order(), 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 |
Assigns a set of extra integers to this DofObject
.
There will now be n_integers
associated; this replaces, not augments, any previous count.
Any newly-added values will be copied from default_values
.
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
, and its data should be expressed in default_values
as per memcpy.
Definition at line 542 of file dof_object.C.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::add_extra_integers(), and libMesh::DofObject::n_extra_integers().
|
inherited |
Adds an additional system to the DofObject
.
Definition at line 195 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 2013 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::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 2389 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(), libMesh::parent_indices_mutex, and libMesh::Real.
Referenced by libMesh::MeshRefinement::add_node(), and libMesh::Elem::parent_bracketing_nodes().
|
inherited |
Iterator accessor functions.
Definition at line 3414 of file elem.C.
References libMesh::Elem::_first_side(), and libMesh::Elem::_last_side().
|
inherited |
|
virtualinherited |
n
of child c
. Definition at line 2660 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::make_range(), 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 447 of file elem.C.
References libMesh::C0POLYGON, libMesh::C0POLYHEDRON, 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::PRISM20, libMesh::PRISM21, libMesh::PRISM6, libMesh::PYRAMID13, libMesh::PYRAMID14, libMesh::PYRAMID18, libMesh::PYRAMID5, libMesh::QUAD4, libMesh::QUAD8, libMesh::QUAD9, libMesh::QUADSHELL4, libMesh::QUADSHELL8, libMesh::QUADSHELL9, libMesh::TET10, libMesh::TET14, libMesh::TET4, libMesh::TRI3, libMesh::TRI3SUBDIVISION, libMesh::TRI6, libMesh::TRI7, libMesh::TRISHELL3, and libMesh::Elem::type().
Referenced by libMesh::GMVIO::_read_one_cell(), libMesh::MeshTools::Subdivision::add_boundary_ghosts(), add_cube_convex_hull_to_mesh(), libMesh::UnstructuredMesh::all_first_order(), libMesh::MeshTools::Modification::all_tri(), AllSecondOrderTest::allCompleteOrderMixed(), AllSecondOrderTest::allCompleteOrderRange(), AllSecondOrderTest::allSecondOrderMixed(), AllSecondOrderTest::allSecondOrderRange(), libMesh::Elem::bracketing_nodes(), libMesh::MeshTools::Generation::build_cube(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::InfElemBuilder::build_inf_elem(), MixedDimensionMeshTest::build_mesh(), ExtraIntegersTest::build_mesh(), MeshfunctionDFEM::build_mesh(), MixedDimensionNonUniformRefinement::build_mesh(), MixedDimensionNonUniformRefinementTriangle::build_mesh(), MixedDimensionNonUniformRefinement3D::build_mesh(), libMesh::Elem::build_with_id(), VolumeTest::construct_elem(), ContainsPointTest::containsPointTri3Helper(), libMesh::MeshBase::copy_constraint_rows(), libMesh::TriangleWrapper::copy_tri_to_mesh(), libMesh::Elem::disconnected_clone(), libMesh::UNVIO::elements_in(), libMesh::MeshTools::Modification::flatten(), libMesh::ExodusII_IO_Helper::init_conversion_map(), main(), libMesh::Elem::parent_bracketing_nodes(), libMesh::TetGenMeshInterface::pointset_convexhull(), 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::XdrIO::read_serialized_connectivity(), libMesh::OFFIO::read_stream(), libMesh::Elem::refine(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::C0Polyhedron::retriangulate(), PerElemTest< elem_type >::setUp(), RationalMapTest< elem_type >::setUp(), libMesh::MeshTools::Generation::surface_octahedron(), ContainsPointTest::testContainsPointNodeElem(), ContainsPointTest::testContainsPointTet4(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), SystemsTest::testDofCouplingWithVarGroups(), DofMapTest::testDofOwner(), MeshTriangulationTest::testEdgesMesh(), MeshTriangulationTest::testHalfDomain(), QuadratureTest::testNodalQuadrature(), MeshTriangulationTest::testPoly2TriBad1DMultiBoundary(), MeshTriangulationTest::testPoly2TriBad2DMultiBoundary(), MeshTriangulationTest::testPoly2TriBadEdges(), QuadratureTest::testPolynomials(), EquationSystemsTest::testReinitWithNodeElem(), SystemsTest::testSetSystemParameterOverEquationSystem(), BoundaryInfoTest::testShellFaceConstraints(), MeshTetTest::testTetsToTets(), MeshSubdomainIDTest::testUnpartitioned(), libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole(), libMesh::TetGenMeshInterface::triangulate_pointset(), and libMesh::GMVIO::write_ascii_old_impl().
Builds a EDGE3
coincident with edge i.
The std::unique_ptr<Elem>
handles the memory aspect.
Implements libMesh::Elem.
Definition at line 312 of file cell_pyramid18.C.
|
overridevirtual |
Rebuilds a EDGE3
coincident with edge i.
Implements libMesh::Elem.
Definition at line 319 of file cell_pyramid18.C.
References libMesh::EDGE3.
|
inlineinherited |
Definition at line 2828 of file elem.h.
References libMesh::Elem::build_edge_ptr().
|
inlineinherited |
Definition at line 2841 of file elem.h.
References libMesh::Elem::build_edge_ptr().
|
overridevirtual |
Builds a QUAD9
or TRI7
coincident with face i.
The std::unique_ptr<Elem>
handles the memory aspect.
Implements libMesh::Elem.
Definition at line 193 of file cell_pyramid18.C.
References libMesh::Elem::mapping_type(), libMesh::Pyramid::n_sides(), libMesh::Elem::p_level(), side_nodes_map, and libMesh::Elem::subdomain_id().
Referenced by build_side_ptr().
|
overridevirtual |
Rebuilds a QUAD9
or TRI7
built coincident with face i.
Implements libMesh::Elem.
Definition at line 270 of file cell_pyramid18.C.
References build_side_ptr(), libMesh::Elem::mapping_type(), libMesh::Pyramid::n_sides(), libMesh::QUAD9, side_nodes_map, libMesh::Elem::subdomain_id(), and libMesh::TRI7.
|
inlineinherited |
Definition at line 2706 of file elem.h.
References libMesh::Elem::build_side_ptr().
|
inlineinherited |
Definition at line 2719 of file elem.h.
References libMesh::Elem::build_side_ptr().
|
staticinherited |
Calls the build() method above with a nullptr parent, and additionally sets the newly-created Elem's id.
This can be useful when adding pre-numbered Elems to a Mesh via add_elem() calls.
Definition at line 561 of file elem.C.
References libMesh::Elem::build(), and libMesh::Elem::type().
Referenced by libMesh::MeshTools::Subdivision::all_subdivision(), libMesh::MeshTools::Generation::build_cube(), GetBoundaryPointsTest::build_mesh(), SlitMeshTest::build_mesh(), OverlappingTestBase::build_quad_mesh(), libMesh::TetGenIO::element_in(), libMesh::Poly2TriTriangulator::insert_refinement_points(), libMesh::GmshIO::read_mesh(), libMesh::MatlabIO::read_stream(), NodalNeighborsTest::testOrientation(), EquationSystemsTest::testPostInitAddElem(), SystemsTest::testProjectMatrix3D(), InfFERadialTest::testRefinement(), libMesh::NetGenMeshInterface::triangulate(), and libMesh::Poly2TriTriangulator::triangulate_current_points().
|
finaloverridevirtual |
side
.A center node is a node that is located at the centroid of the given side. If the given side does not have a center node, this will return invalid_uint.
Reimplemented from libMesh::Elem.
Definition at line 492 of file cell_pyramid18.C.
References libMesh::Pyramid::num_sides.
|
virtualinherited |
Calls Elem::vertex_average() for backwards compatibility.
Definition at line 581 of file elem.C.
References libMesh::err, and libMesh::Elem::vertex_average().
elem
is a neighbor of a child of this element, a pointer to that child, otherwise nullptr
. Definition at line 2609 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 2621 of file elem.h.
References libMesh::Elem::neighbor_ptr_range().
Definition at line 3160 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_child_on_edge(), 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(), InfFERadialTest::testRefinement(), EquationSystemsTest::testRefineThenReinitPreserveFlags(), libMesh::BoundaryInfo::transfer_boundary_ids_from_children(), libMesh::Elem::which_child_am_i(), and libMesh::CheckpointIO::write_remote_elem().
Definition at line 3169 of file elem.h.
References libMesh::Elem::_children, and libMesh::libmesh_assert().
|
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 2328 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 >(), main(), 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 2336 of file elem.h.
References libMesh::Elem::_children, libMesh::libmesh_assert(), and libMesh::Elem::n_children().
|
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 798 of file dof_object.h.
References libMesh::DofObject::set_n_systems().
|
inherited |
Sets the old_dof_object
to nullptr.
Definition at line 128 of file dof_object.C.
References libMesh::DofObject::old_dof_object.
Referenced by libMesh::DofObject::operator=(), libMesh::DofObject::set_old_dof_object(), and libMesh::DofObject::unpack_indexing().
true
if this element is "close" to the point p, where "close" is determined by the tolerance tol. Reimplemented in libMesh::NodeElem.
Definition at line 2779 of file elem.C.
References libMesh::Elem::point_test().
Referenced by assemble_SchroedingerEquation(), libMesh::PointLocatorNanoflann::operator()(), and libMesh::PointLocatorTree::operator()().
|
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::Real, libMesh::Elem::refinement_flag(), libMesh::remote_elem, libMesh::Elem::set_p_level(), and libMesh::Elem::set_refinement_flag().
The "complete" version of an element is an element which can represent the same geometry but which has nodes available to restore degrees of freedom on any vertex, edge, or face.
For example, when this
is a TET4
, then TET14
is returned.
Definition at line 3322 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::PRISM20, libMesh::PRISM21, libMesh::PRISM6, libMesh::PYRAMID13, libMesh::PYRAMID14, libMesh::PYRAMID18, libMesh::PYRAMID5, libMesh::QUAD4, libMesh::QUAD8, libMesh::QUAD9, libMesh::QUADSHELL4, libMesh::QUADSHELL8, libMesh::QUADSHELL9, libMesh::TET10, libMesh::TET14, libMesh::TET4, libMesh::TRI3, libMesh::TRI6, libMesh::TRI7, and libMesh::TRISHELL3.
Referenced by libMesh::UnstructuredMesh::all_complete_order_range().
|
inlinestaticprotectedinherited |
Definition at line 3291 of file elem.h.
Referenced by libMesh::Tet::key(), libMesh::InfQuad6::key(), libMesh::Prism::key(), libMesh::Pyramid::key(), libMesh::Hex::key(), libMesh::Tri::key(), libMesh::Polygon::key(), libMesh::Quad8::key(), libMesh::Quad9::key(), libMesh::Edge::key(), libMesh::Tri6::key(), libMesh::Quad::key(), libMesh::InfPrism::key(), libMesh::Tri7::key(), libMesh::Hex27::key(), libMesh::InfHex::key(), libMesh::Prism18::key(), libMesh::Pyramid14::key(), libMesh::Edge2::key(), libMesh::InfQuad::key(), libMesh::InfHex18::key(), libMesh::Prism20::key(), libMesh::Prism21::key(), key(), libMesh::Edge4::key(), libMesh::Edge3::key(), libMesh::Tet4::key(), libMesh::Tet::low_order_key(), libMesh::Prism::low_order_key(), libMesh::Pyramid::low_order_key(), libMesh::Hex::low_order_key(), libMesh::Tri::low_order_key(), libMesh::Polygon::low_order_key(), libMesh::Edge::low_order_key(), libMesh::Quad::low_order_key(), libMesh::InfPrism::low_order_key(), libMesh::InfHex::low_order_key(), and libMesh::InfQuad::low_order_key().
|
inlinestaticprotectedinherited |
Definition at line 3299 of file elem.h.
References libMesh::Utility::hashword2().
|
inlinestaticprotectedinherited |
Definition at line 3311 of file elem.h.
References libMesh::Utility::hashword().
|
inlinestaticprotectedinherited |
Definition at line 3323 of file elem.h.
References libMesh::Utility::hashword().
|
overridevirtual |
Implements libMesh::Elem.
Definition at line 326 of file cell_pyramid18.C.
References libMesh::Elem::_nodes, libMesh::INVALID_IO_PACKAGE, libMesh::libmesh_assert(), n_sub_elem(), libMesh::TECPLOT, and libMesh::VTK.
|
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 975 of file elem.C.
References libMesh::Elem::contains_point(), libMesh::make_range(), libMesh::Elem::n_vertices(), and libMesh::Elem::point().
Referenced by libMesh::Elem::find_edge_neighbors().
true
if the physical 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::NodeElem, libMesh::Tet4, libMesh::InfHex, libMesh::InfPrism, libMesh::Tri3, and libMesh::InfQuad4.
Definition at line 2754 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::InfFE< Dim, T_radial, T_map >::inf_compute_constraints(), libMesh::PointLocatorNanoflann::operator()(), libMesh::PointLocatorTree::operator()(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), NavierSystem::side_constraint(), RationalMapTest< elem_type >::testContainsPoint(), PointLocatorTest::testLocator(), and PointLocatorTest::testPlanar().
|
inherited |
true
if a vertex of e
is contained in this element. If mesh_connection
is true, looks specifically for containment possibilities of an element e
that is connected to this
via membership in the same manifold of the same mesh. Definition at line 937 of file elem.C.
References libMesh::Elem::contains_point(), libMesh::Elem::level(), libMesh::make_range(), libMesh::Elem::n_vertices(), libMesh::Elem::node_ptr(), libMesh::Elem::node_ref(), 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 228 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().
|
inherited |
Print our buffer for debugging.
Definition at line 660 of file dof_object.C.
References libMesh::DofObject::_idx_buf, libMesh::MeshTools::Generation::Private::idx(), and libMesh::out.
|
overridevirtual |
Implements libMesh::Elem.
Definition at line 137 of file cell_pyramid18.C.
References libMesh::THIRD.
|
inlinevirtualinherited |
Reimplemented in libMesh::Tri7.
Definition at line 1003 of file elem.h.
References libMesh::Elem::default_order().
Referenced by libMesh::FEAbstract::compute_node_constraints(), and libMesh::FEAbstract::compute_periodic_node_constraints().
|
inlineoverridevirtualinherited |
Implements libMesh::Elem.
|
staticinherited |
Definition at line 100 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
|
staticinherited |
Definition at line 100 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
|
virtualinherited |
this
, wrapped in a smart pointer.This is not a complete clone() method (since e.g. it does not set node pointers; the standard use case reassigns node pointers from a different mesh), but it is necessary to use this instead of build() for runtime-polymorphic elements like Polygon subtypes whose "type" depends on more than their type(), and it is useful to use this for elements whose id, unique_id, extra integers, etc. should be preserved in the near-clone.
Reimplemented in libMesh::C0Polyhedron.
Definition at line 412 of file elem.C.
References libMesh::Elem::build(), libMesh::C0POLYGON, libMesh::DofObject::id(), libMesh::Elem::mapping_data(), libMesh::Elem::mapping_type(), libMesh::DofObject::n_extra_integers(), libMesh::Elem::n_sides(), libMesh::DofObject::processor_id(), libMesh::Elem::subdomain_id(), libMesh::Elem::type(), libMesh::DofObject::unique_id(), and libMesh::DofObject::valid_unique_id().
Referenced by libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::Polyhedron::side_clones(), libMesh::Polyhedron::side_ptr(), and libMesh::Elem::true_centroid().
|
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 1032 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::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::Nemesis_IO::copy_elemental_solution(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::Nemesis_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_mixed_derivatives(), libMesh::OldSolutionValue< Output, point_output >::eval_mixed_derivatives(), 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(), libMesh::DofMap::process_mesh_constraint_rows(), 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 1053 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 2661 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(), and libMesh::Elem::quality().
|
overridevirtualinherited |
Implements libMesh::Elem.
Definition at line 278 of file cell_pyramid.C.
References libMesh::Pyramid::adjacent_edges_map, libMesh::Elem::is_edge(), libMesh::Elem::is_face(), libMesh::Elem::is_vertex(), libMesh::libmesh_assert(), libMesh::Pyramid::n_nodes(), and libMesh::Pyramid::n_vertices().
|
inlineoverrideprotectedvirtual |
Matrix used to create the elements children.
Implements libMesh::Elem.
Definition at line 269 of file cell_pyramid18.h.
|
inlinevirtualinherited |
Some element types may use a different embedding matrix depending on their geometric characteristics.
Reimplemented in libMesh::Tet.
Definition at line 2032 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 94 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 94 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
|
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 2104 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 2112 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 2188 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 2197 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 2152 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 2161 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 2224 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 2234 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 1086 of file elem.C.
References libMesh::Elem::contains_point(), 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 1113 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 1175 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 1182 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 996 of file elem.C.
References libMesh::Elem::active(), libMesh::Elem::contains_point(), libMesh::libmesh_assert(), and libMesh::remote_elem.
Referenced by libMesh::MeshFunction::check_found_elem(), libMesh::MeshRefinement::enforce_mismatch_limit_prior_to_refinement(), libMesh::Elem::find_edge_neighbors(), libMesh::Elem::find_point_neighbors(), libMesh::ReplicatedMesh::get_boundary_points(), libMesh::Elem::is_semilocal(), libMesh::GhostPointNeighbors::operator()(), and InfFERadialTest::testRefinement().
|
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 1063 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 1070 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 1078 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 3069 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::PRISM20, libMesh::PRISM21, libMesh::PRISM6, libMesh::PYRAMID13, libMesh::PYRAMID14, libMesh::PYRAMID18, libMesh::PYRAMID5, libMesh::QUAD4, libMesh::QUAD8, libMesh::QUAD9, libMesh::QUADSHELL4, libMesh::QUADSHELL8, libMesh::QUADSHELL9, libMesh::TET10, libMesh::TET14, libMesh::TET4, libMesh::TRI3, libMesh::TRI6, libMesh::TRI7, and libMesh::TRISHELL3.
Referenced by libMesh::UnstructuredMesh::all_first_order(), libMesh::ExodusII_IO_Helper::read_edge_blocks(), SideTest< ElemClass, side_type, indexbegin, indexend >::testSidePtr(), SideTest< ElemClass, side_type, indexbegin, indexend >::testSidePtrFill(), and libMesh::GMVIO::write_ascii_old_impl().
|
finaloverridevirtual |
Flips the element (by swapping node and neighbor pointers) to have a mapping Jacobian of opposite sign.
This is useful for automatically fixing up elements that have been newly created (e.g. from extrusions) with a negative Jacobian.
If boundary_info
is not null, swap boundary side/edge ids consistently.
Implements libMesh::Elem.
Definition at line 474 of file cell_pyramid18.C.
References libMesh::libmesh_assert(), libMesh::Elem::swap2boundaryedges(), libMesh::Elem::swap2boundarysides(), libMesh::Elem::swap2neighbors(), and libMesh::Elem::swap2nodes().
|
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 1146 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::Elem::get_info(), libMesh::VTKIO::nodes_to_vtk(), libMesh::rational_fe_shape(), libMesh::rational_fe_shape_deriv(), libMesh::rational_fe_shape_second_deriv(), libMesh::rational_fe_weighted_shapes(), libMesh::rational_fe_weighted_shapes_derivs(), libMesh::ExodusII_IO::read(), 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 1102 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::MeshTools::Modification::all_tri(), WriteElemsetData::checkByCentroid(), libMesh::MeshTools::Modification::flatten(), libMesh::SyncElementIntegers::gather_data(), libMesh::XdrIO::pack_element(), libMesh::CheckpointIO::read_connectivity(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::DofObject::set_n_vars_per_group(), DofObjectTest< Node >::testAddExtraData(), DofObjectTest< Node >::testAddSystemExtraInts(), ExtraIntegersTest::testExtraIntegersExodusReading(), DofObjectTest< Node >::testSetNSystemsExtraInts(), DofObjectTest< Node >::testSetNVariableGroupsExtraInts(), and libMesh::XdrIO::write_serialized_nodes().
|
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 2926 of file elem.C.
References libMesh::Elem::active(), libMesh::Elem::ancestor(), libMesh::Elem::dim(), libMesh::DofObject::dof_number(), libMesh::Utility::enum_to_string(), libMesh::DofObject::get_extra_datum(), libMesh::Elem::has_children(), libMesh::Elem::hmax(), libMesh::Elem::hmin(), libMesh::DofObject::id(), libMesh::Elem::infinite(), libMesh::Elem::level(), libMesh::make_range(), libMesh::Elem::mapping_data(), libMesh::Elem::mapping_type(), 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::RATIONAL_BERNSTEIN_MAP, libMesh::Real, libMesh::Elem::refinement_flag(), libMesh::Elem::side_index_range(), libMesh::Elem::subactive(), libMesh::Elem::subdomain_id(), 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_uint
if node_ptr
is not a local node. Definition at line 2514 of file elem.h.
References libMesh::Elem::_nodes, libMesh::invalid_uint, libMesh::make_range(), libMesh::Elem::n_nodes(), and libMesh::Elem::node_ptr().
Referenced by libMesh::OldSolutionValue< Output, point_output >::eval_at_node(), libMesh::ElemCutter::find_intersection_points(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::C0Polyhedron::retriangulate(), and VolumeTest::testC0PolyhedronMethods().
|
inlineinherited |
Definition at line 2468 of file elem.h.
References libMesh::Elem::_nodes.
Referenced by libMesh::DofMap::dof_indices(), and libMesh::DofMap::old_dof_indices().
|
inlineinherited |
Pointer accessor for previously public old_dof_object.
If you want to assert that the old_dof_object pointer is valid as well, consider using the get_old_dof_object_ref() accessor instead.
Definition at line 96 of file dof_object.h.
References libMesh::DofObject::old_dof_object.
Referenced by libMesh::OldSolutionBase< Output, point_output >::check_old_context(), libMesh::OldSolutionCoefs< Output, point_output >::eval_at_node(), libMesh::OldSolutionValue< Output, point_output >::eval_at_node(), libMesh::OldSolutionCoefs< Output, point_output >::eval_mixed_derivatives(), libMesh::OldSolutionValue< Output, point_output >::eval_mixed_derivatives(), libMesh::DofMap::old_dof_indices(), libMesh::BuildProjectionList::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SortAndCopy::operator()(), and libMesh::DofObject::operator=().
|
inlineinherited |
Definition at line 97 of file dof_object.h.
References libMesh::DofObject::old_dof_object.
|
inlineinherited |
As above, but do not use in situations where the old_dof_object may be nullptr, since this function asserts that the old_dof_object is valid before returning a reference to it.
Definition at line 104 of file dof_object.h.
References libMesh::libmesh_assert(), and libMesh::DofObject::old_dof_object.
Referenced by libMesh::OldSolutionCoefs< Output, point_output >::eval_old_dofs(), libMesh::OldSolutionValue< Output, point_output >::eval_old_dofs(), and libMesh::DofMap::old_dof_indices().
|
inlineinherited |
Definition at line 110 of file dof_object.h.
References libMesh::libmesh_assert(), and libMesh::DofObject::old_dof_object.
|
inlineinherited |
Sets the value of the p-refinement level for the element without altering the p-level of its ancestors.
Definition at line 3261 of file elem.h.
References libMesh::Elem::_p_level, libMesh::Elem::JUST_REFINED, and libMesh::Elem::p_refinement_flag().
Referenced by libMesh::Elem::hack_p_level_and_refinement_flag(), libMesh::HPCoarsenTest::select_refinement(), and libMesh::Elem::set_p_level().
|
inlineinherited |
Sets the value of the p-refinement level for the element without altering the p-level of its ancestors; also sets the p_refinement_flag, simultaneously so that they can be safely checked for mutual consistency.
Definition at line 3272 of file elem.h.
References libMesh::Elem::_pflag, and libMesh::Elem::hack_p_level().
|
overridevirtual |
true
if the element map is definitely affine within numerical tolerances. Reimplemented from libMesh::Elem.
Definition at line 128 of file cell_pyramid18.C.
|
inlineinherited |
true
if the element has any descendants other than its immediate children, false
otherwise, or if AMR is disabled. Definition at line 2990 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 2976 of file elem.h.
References libMesh::Elem::_children.
Referenced by libMesh::Elem::add_child(), libMesh::Elem::ancestor(), libMesh::connect_children(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::Elem::get_info(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Elem >(), main(), 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::Elem::remove_links_to_me(), libMesh::Elem::replace_child(), libMesh::Elem::set_child(), libMesh::Elem::subactive(), libMesh::Parallel::sync_element_data_by_parent_id(), and libMesh::Elem::which_child_am_i().
|
inlineinherited |
true
if any system has variables which have been assigned, false
otherwise. Definition at line 1226 of file dof_object.h.
References libMesh::invalid_uint, libMesh::make_range(), libMesh::DofObject::n_systems(), and libMesh::DofObject::n_vars().
Referenced by libMesh::DofMap::old_dof_indices().
|
inlineinherited |
Returns whether extra integers are associated to the DofObject
.
Definition at line 1188 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().
true
if the element map is invertible everywhere on the element, to within a user-specified tolerance. The tolerance is generally used in comparisons against zero, so it should be an absolute rather than a relative tolerance. Throws a libmesh_not_implemented() error unless specialized by derived classes. Reimplemented in libMesh::NodeElem, libMesh::Tet4, libMesh::Tri3, libMesh::Edge4, libMesh::Edge3, libMesh::Quad4, and libMesh::Edge2.
Definition at line 2884 of file elem.C.
References libMesh::FEMap::compute_map(), libMesh::Elem::dim(), libMesh::FEMap::get_jacobian(), libMesh::index_range(), libMesh::FEMap::init_reference_to_physical_map(), libMesh::Elem::is_singular_node(), and libMesh::Elem::n_nodes().
Referenced by VolumeTest::testEdge4Invertible().
|
inlineinherited |
true
if the element elem
in question is a neighbor of this element, false
otherwise. Definition at line 2597 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 1353 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 725 of file elem.C.
References libMesh::Elem::n_vertices(), libMesh::Elem::point(), and libMesh::Real.
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 705 of file elem.C.
References libMesh::Elem::n_vertices(), libMesh::Elem::point(), and libMesh::Real.
Referenced by compute_enriched_soln(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), compute_tau(), libMesh::MeshTools::Modification::distort(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::Elem::get_info(), libMesh::FEMSystem::numerical_jacobian(), and libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()().
|
inlineinherited |
id
for this DofObject
Definition at line 828 of file dof_object.h.
References libMesh::DofObject::_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::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::ClawSystem::assemble_avg_coupling_matrices(), assemble_ellipticdg(), libMesh::ClawSystem::assemble_jump_coupling_matrix(), libMesh::Node::build(), libMesh::MeshTools::Generation::build_cube(), libMesh::Partitioner::build_graph(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::EquationSystems::build_parallel_solution_vector(), compute_jacobian(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::FEAbstract::compute_periodic_node_constraints(), compute_residual(), libMesh::InfFE< Dim, T_radial, T_map >::compute_shape_functions(), libMesh::FEMap::compute_single_point_map(), libMesh::MeshBase::copy_constraint_rows(), libMesh::MeshRefinement::create_parent_error_vector(), libMesh::ReplicatedMesh::delete_elem(), libMesh::DistributedMesh::delete_elem(), libMesh::ReplicatedMesh::delete_node(), libMesh::DistributedMesh::delete_node(), libMesh::C0Polyhedron::disconnected_clone(), libMesh::Elem::disconnected_clone(), 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::MeshBase::get_info(), libMesh::ParmetisPartitioner::initialize(), libMesh::TreeNode< N >::insert(), libMesh::TriangulatorInterface::insert_any_extra_boundary_points(), libMesh::ReplicatedMesh::insert_elem(), libMesh::DistributedMesh::insert_elem(), libMesh::ReplicatedMesh::insert_node(), libMesh::Poly2TriTriangulator::insert_refinement_points(), EIM_F::interior_assembly(), AssemblyEIM::interior_assembly(), libMesh::Elem::interior_parent(), libMesh::FEMap::inverse_map(), libMesh::MeshTools::libmesh_assert_valid_amr_elem_ids(), libMesh::MeshTools::libmesh_assert_valid_constraint_rows(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::Tri3Subdivision::local_node_number(), main(), ExodusTest< elem_type >::meshes_equal_enough(), LinearElasticityWithContact::move_mesh(), libMesh::MeshTools::n_connected_components(), libMesh::Elem::node_id(), libMesh::TriangulatorInterface::nodes_to_segments(), libMesh::VTKIO::nodes_to_vtk(), libMesh::CompareElemIdsByLevel::operator()(), libMesh::GhostPointNeighbors::operator()(), libMesh::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::PatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::CompareDofObjectsByID::operator()(), libMesh::CompareDofObjectsByPIDAndThenID::operator()(), libMesh::BoundaryInfo::operator==(), libMesh::DistributedMesh::own_node(), libMesh::DistributedMesh::parallel_max_elem_id(), libMesh::DistributedMesh::parallel_max_node_id(), libMesh::MetisPartitioner::partition_range(), libMesh::DofObject::print_dof_info(), libMesh::DofMap::process_mesh_constraint_rows(), libMesh::DistributedMesh::query_elem_ptr(), libMesh::query_ghosting_functors(), libMesh::DistributedMesh::query_node_ptr(), libMesh::Nemesis_IO::read(), libMesh::ExodusII_IO::read(), libMesh::VariationalMeshSmoother::readgr(), libMesh::EquationSystems::redundant_added_side(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::DistributedMesh::renumber_elem(), libMesh::DistributedMesh::renumber_node(), libMesh::DistributedMesh::renumber_nodes_and_elements(), libMesh::C0Polyhedron::retriangulate(), libMesh::DofMap::scatter_constraints(), libMesh::StaticCondensation::set_current_elem(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), FETestBase< order, family, elem_type, 1 >::setUp(), 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(), ElemTest< elem_type >::test_orient_elements(), DefaultCouplingTest::testCoupling(), MixedDimensionMeshTest::testPointLocatorTree(), InfFERadialTest::testRefinement(), DofObjectTest< Node >::testSetId(), libMesh::Elem::topologically_equal(), libMesh::NetGenMeshInterface::triangulate(), libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole(), libMesh::Poly2TriTriangulator::triangulate_current_points(), libMesh::MeshTetInterface::volume_to_surface_mesh(), libMesh::GmshIO::write_mesh(), libMesh::ExodusII_IO_Helper::write_nodal_coordinates(), and libMesh::XdrIO::write_serialized_nodes().
|
inlineprotectednoexceptinherited |
Increments the construction counter.
Should be called in the constructor of any derived class that will be reference counted.
Definition at line 183 of file reference_counter.h.
References libMesh::err, libMesh::BasicOStreamProxy< charT, traits >::get(), libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
|
inlineprotectednoexceptinherited |
Increments the construction counter.
Should be called in the constructor of any derived class that will be reference counted.
Definition at line 183 of file reference_counter.h.
References libMesh::err, libMesh::BasicOStreamProxy< charT, traits >::get(), libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
|
inlineprotectednoexceptinherited |
Increments the destruction counter.
Should be called in the destructor of any derived class that will be reference counted.
Definition at line 207 of file reference_counter.h.
References libMesh::err, libMesh::BasicOStreamProxy< charT, traits >::get(), libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
|
inlineprotectednoexceptinherited |
Increments the destruction counter.
Should be called in the destructor of any derived class that will be reference counted.
Definition at line 207 of file reference_counter.h.
References libMesh::err, libMesh::BasicOStreamProxy< charT, traits >::get(), libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
|
inlineoverridevirtualinherited |
false
. All classes derived from Cell
are finite elements. Implements libMesh::Elem.
|
inlinestaticinherited |
|
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 returns nullptr if this->dim() == LIBMESH_DIM; in such cases no data storage for an interior parent pointer has been allocated.
Definition at line 1189 of file elem.C.
References libMesh::Elem::_elemlinks, libMesh::Elem::dim(), libMesh::DofObject::id(), libMesh::DofObject::invalid_id, libMesh::Elem::level(), libMesh::libmesh_assert(), libMesh::Elem::n_sides(), and libMesh::remote_elem.
Referenced by libMesh::FEMap::compute_face_map(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::BoundaryInfo::get_side_and_node_maps(), libMesh::InfFE< Dim, T_radial, T_map >::init_face_shape_functions(), libMesh::MeshTools::libmesh_assert_valid_amr_interior_parents(), libMesh::GhostPointNeighbors::operator()(), BoundaryMeshTest::sanityCheck(), libMesh::Elem::topologically_equal(), libMesh::BoundaryVolumeSolutionTransfer::transfer_boundary_volume(), and libMesh::BoundaryVolumeSolutionTransfer::transfer_volume_boundary().
|
inherited |
Definition at line 1234 of file elem.C.
References libMesh::Elem::_elemlinks, libMesh::Elem::dim(), libMesh::libmesh_assert(), libMesh::Elem::n_sides(), and libMesh::remote_elem.
|
inlineinherited |
Invalidates all the indices for this DofObject
.
Definition at line 788 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 751 of file dof_object.h.
References libMesh::DofObject::invalid_id, libMesh::make_range(), 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 772 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 780 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 3006 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 2309 of file elem.C.
References libMesh::Elem::build_edge_ptr(), libMesh::Elem::child_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()().
|
overridevirtualinherited |
true
if the specified child is on the specified side. Implements libMesh::Elem.
Definition at line 237 of file cell_pyramid.C.
References libMesh::Pyramid::n_children(), libMesh::Pyramid::n_sides(), and libMesh::Pyramid5::side_nodes_map.
|
overridevirtual |
true
if the specified (local) node number is an edge. Implements libMesh::Elem.
Definition at line 73 of file cell_pyramid18.C.
|
overridevirtualinherited |
true
if the specified edge is on the specified side. Implements libMesh::Elem.
Definition at line 251 of file cell_pyramid.C.
References libMesh::Pyramid::edge_sides_map, libMesh::Pyramid::n_edges(), and libMesh::Pyramid::n_sides().
|
overridevirtual |
true
if the specified (local) node number is a face. Implements libMesh::Elem.
Definition at line 84 of file cell_pyramid18.C.
|
finaloverridevirtualinherited |
Always returns false
if a 2D element is not in the XY plane or a 1D element is not on the X axis; user code designed to work for embedded manifolds should handle any consistent orientation, and determining whether an orientation is consistent is not a local operation.
Implements libMesh::Elem.
Definition at line 270 of file cell_pyramid.C.
References libMesh::Elem::point(), and libMesh::triple_product().
|
inherited |
true
if the specified (local) node number is an internal node. Definition at line 3569 of file elem.C.
References libMesh::Elem::dim(), libMesh::Elem::is_edge(), libMesh::Elem::is_face(), and libMesh::Elem::is_vertex().
Referenced by libMesh::Prism::edges_adjacent_to_node(), libMesh::Hex::edges_adjacent_to_node(), libMesh::InfPrism::edges_adjacent_to_node(), and libMesh::InfHex::edges_adjacent_to_node().
|
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 1194 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::InfEdge2, libMesh::InfQuad, libMesh::InfPrism, and libMesh::InfHex.
Definition at line 1886 of file elem.h.
References libMesh::Elem::infinite(), and libMesh::libmesh_assert().
Referenced by libMesh::Elem::parent_bracketing_nodes().
|
overridevirtual |
true
if the specified (local) node number is on the specified edge. Implements libMesh::Elem.
Definition at line 117 of file cell_pyramid18.C.
References edge_nodes_map, and libMesh::Pyramid::n_edges().
|
overridevirtual |
true
if the specified (local) node number is on the specified side. Implements libMesh::Elem.
Definition at line 93 of file cell_pyramid18.C.
References libMesh::Pyramid::n_sides(), and side_nodes_map.
|
inlinevirtualinherited |
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 in libMesh::RemoteElem.
Definition at line 603 of file elem.h.
Referenced by libMesh::Elem::make_links_to_me_local().
|
inherited |
true
if this element is "semilocal" to the calling processor, which must specify its rank.This method is discouraged, as it uses the old definition of semilocal (elements which are not local but which are point neighbors of something local) rather than any of the new definitions discussed in ghosting_functor.h
Definition at line 858 of file elem.C.
References libMesh::Elem::find_point_neighbors().
|
inlinefinaloverridevirtualinherited |
Reimplemented from libMesh::Elem.
Definition at line 185 of file cell_pyramid.h.
|
overridevirtual |
true
if the specified (local) node number is a vertex. Implements libMesh::Elem.
Definition at line 64 of file cell_pyramid18.C.
|
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 768 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 3490 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 |
Don't hide Pyramid::key() defined in the base class.
Definition at line 756 of file elem.C.
|
override |
Don't hide Pyramid::key() defined in the base class.
Definition at line 77 of file cell_pyramid.C.
virtual dof_id_type libMesh::Elem::key |
Don't hide Pyramid::key() defined in the base class.
|
overridevirtual |
s
side of this element. The id is not necessarily unique, but should be close.We reimplement this method here for the Pyramid18
since we can use the center node of the base face to provide a perfect (unique) key.
Reimplemented from libMesh::Pyramid.
Definition at line 144 of file cell_pyramid18.C.
References libMesh::Elem::compute_key(), libMesh::Pyramid::n_sides(), and libMesh::Elem::node_id().
|
virtualinherited |
Reimplemented in libMesh::Tet4, libMesh::Edge3, libMesh::Edge4, libMesh::Edge2, libMesh::Quad9, libMesh::Quad, libMesh::Polyhedron, libMesh::Polygon, and libMesh::Tri.
Definition at line 756 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().
Useful for computing the lengths of the sides of elements.
Definition at line 745 of file elem.C.
References libMesh::Elem::n_vertices(), and libMesh::Elem::point().
Referenced by libMesh::Hex::quality(), libMesh::Quad::quality(), and libMesh::InfHex::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 3071 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(), assemble_ellipticdg(), libMesh::BoundaryInfo::boundary_ids(), libMesh::EquationSystems::build_discontinuous_solution_vector(), 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::Elem::contains_vertex_of(), 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::InfFE< Dim, T_radial, T_map >::inf_compute_constraints(), libMesh::InfFE< Dim, T_radial, T_map >::inf_compute_node_constraints(), libMesh::Poly2TriTriangulator::insert_refinement_points(), 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::SimplexRefiner::refine_via_edges(), 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::BoundaryInfo::sides_with_boundary_id(), libMesh::UnstructuredMesh::stitching_helper(), libMesh::MeshRefinement::test_level_one(), libMesh::Elem::top_parent(), libMesh::Elem::topological_neighbor(), libMesh::MeshTetInterface::volume_to_surface_mesh(), and libMesh::Elem::which_neighbor_am_i().
|
inherited |
Checks for consistent neighbor links on this element.
Definition at line 1386 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 1374 of file elem.C.
References libMesh::libmesh_assert(), libMesh::Elem::node_index_range(), libMesh::Elem::node_ptr(), and libMesh::DofObject::valid_id().
|
overridevirtual |
Pyramid18::edge_nodes_map
[edge][edge_node] after doing some range checking. Reimplemented from libMesh::Pyramid.
Definition at line 182 of file cell_pyramid18.C.
References edge_nodes_map, libMesh::Pyramid::n_edges(), and nodes_per_edge.
|
inlineinherited |
Definition at line 2456 of file elem.h.
References libMesh::invalid_uint, libMesh::make_range(), libMesh::Elem::n_nodes(), and libMesh::Elem::node_id().
Referenced by libMesh::UnstructuredMesh::stitching_helper().
|
overridevirtual |
Pyramid18::side_nodes_map
[side][side_node] after doing some range checking. Reimplemented from libMesh::Pyramid.
Definition at line 166 of file cell_pyramid18.C.
References libMesh::libmesh_assert(), libMesh::Pyramid::n_sides(), nodes_per_side, and side_nodes_map.
|
finaloverridevirtualinherited |
is
at the apex within the tolerance tol
. If is
not at the apex within the tolerance tol
, will return invalid_uint.The Jacobian at the apex is singular because directional derivatives are defined in four directions, independently (four edges meet). Therefore, we can check for this in a caught, failed inverse mapping and return the correct point without failure if it is the apex. This behavior does require exceptions to be enabled.
Reimplemented from libMesh::Elem.
Definition at line 294 of file cell_pyramid.C.
References libMesh::TypeVector< T >::absolute_fuzzy_equals(), libMesh::invalid_uint, and libMesh::Elem::node_ref().
|
overridevirtualinherited |
Reimplemented from libMesh::Elem.
Reimplemented in libMesh::Hex8, libMesh::Prism6, and libMesh::Pyramid5.
Definition at line 26 of file cell.C.
References libMesh::Elem::build_side_ptr(), libMesh::Elem::n_sides(), libMesh::Elem::side_ptr(), and libMesh::BoundingBox::union_with().
|
overridevirtualinherited |
s
side of this element, as defined solely by element vertices. 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 104 of file cell_pyramid.C.
References libMesh::Elem::compute_key(), libMesh::Pyramid::n_sides(), libMesh::Elem::node_id(), and libMesh::Pyramid5::side_nodes_map.
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 1458 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().
|
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 1536 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 3133 of file elem.h.
References libMesh::Elem::_map_data.
Referenced by libMesh::MeshTools::Modification::all_tri(), libMesh::C0Polyhedron::disconnected_clone(), libMesh::Elem::disconnected_clone(), libMesh::MeshTools::Modification::flatten(), libMesh::Elem::get_info(), libMesh::Polygon::Polygon(), libMesh::Polyhedron::Polyhedron(), libMesh::rational_fe_shape(), libMesh::rational_fe_shape_deriv(), libMesh::rational_fe_shape_second_deriv(), libMesh::rational_fe_weighted_shapes(), libMesh::rational_fe_weighted_shapes_derivs(), and libMesh::SimplexRefiner::refine_via_edges().
|
inlineinherited |
Definition at line 3117 of file elem.h.
References libMesh::Elem::_map_type.
Referenced by libMesh::MeshTools::Modification::all_tri(), libMesh::InfHex8::build_edge_ptr(), libMesh::InfPrism6::build_edge_ptr(), libMesh::InfHex18::build_edge_ptr(), libMesh::InfPrism12::build_edge_ptr(), libMesh::InfHex16::build_edge_ptr(), libMesh::InfQuad4::build_side_ptr(), libMesh::InfHex8::build_side_ptr(), libMesh::InfPrism6::build_side_ptr(), libMesh::InfHex18::build_side_ptr(), libMesh::Pyramid5::build_side_ptr(), libMesh::InfQuad6::build_side_ptr(), libMesh::Prism6::build_side_ptr(), libMesh::InfPrism12::build_side_ptr(), libMesh::InfHex16::build_side_ptr(), libMesh::C0Polygon::build_side_ptr(), libMesh::Pyramid13::build_side_ptr(), libMesh::Prism15::build_side_ptr(), libMesh::Prism18::build_side_ptr(), libMesh::Pyramid14::build_side_ptr(), libMesh::Polyhedron::build_side_ptr(), libMesh::Prism20::build_side_ptr(), libMesh::Prism21::build_side_ptr(), build_side_ptr(), libMesh::MeshTools::clear_spline_nodes(), libMesh::C0Polyhedron::disconnected_clone(), libMesh::Elem::disconnected_clone(), libMesh::MeshTools::Modification::flatten(), libMesh::Elem::get_info(), libMesh::Quad4::has_invertible_map(), libMesh::Edge3::has_invertible_map(), libMesh::Edge4::has_invertible_map(), libMesh::QComposite< QSubCell >::init(), libMesh::FEMap::map_fe_type(), libMesh::Polygon::Polygon(), libMesh::Polyhedron::Polyhedron(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::FE< Dim, LAGRANGE_VEC >::reinit(), libMesh::Edge::side_ptr(), libMesh::Elem::simple_build_edge_ptr(), libMesh::Elem::simple_build_side_ptr(), libMesh::C0Polyhedron::true_centroid(), libMesh::C0Polygon::true_centroid(), libMesh::C0Polyhedron::volume(), libMesh::C0Polygon::volume(), libMesh::Quad8::volume(), libMesh::Quad9::volume(), libMesh::Tri6::volume(), libMesh::Pyramid13::volume(), libMesh::Hex20::volume(), libMesh::Tet10::volume(), libMesh::Prism15::volume(), libMesh::Pyramid14::volume(), libMesh::Hex27::volume(), and libMesh::Prism18::volume().
|
inlineoverridevirtualinherited |
Implements libMesh::Elem.
Definition at line 66 of file cell_pyramid.h.
References libMesh::Pyramid::_master_points, and libMesh::Pyramid::n_nodes().
|
inlineinherited |
Definition at line 3243 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 2355 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 2326 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().
|
inlineoverridevirtualinherited |
Implements libMesh::Elem.
Definition at line 110 of file cell_pyramid.h.
Referenced by libMesh::Pyramid::is_child_on_side().
|
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 1002 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::Nemesis_IO::copy_elemental_solution(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::Nemesis_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::OldSolutionCoefs< Output, point_output >::eval_mixed_derivatives(), libMesh::OldSolutionValue< Output, point_output >::eval_mixed_derivatives(), 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::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectSides::operator()(), libMesh::DofObject::operator=(), libMesh::DofObject::print_dof_info(), libMesh::DofObject::set_dof_number(), libMesh::DofObject::set_n_vars_per_group(), libMesh::DofMap::set_nonlocal_dof_objects(), and libMesh::Nemesis_IO_Helper::write_nodal_solution().
|
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 1015 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
directly stored on this object. Optionally only degrees of freedom for variable number var
are counted. Does not count degrees of freedom only indirectly associated with this object, such as those stored on an element's nodes when n_dofs()
is called on the element itself. Definition at line 806 of file dof_object.h.
References libMesh::invalid_uint, libMesh::make_range(), libMesh::DofObject::n_comp(), libMesh::DofObject::n_systems(), and libMesh::DofObject::n_vars().
Referenced by libMesh::PetscDMWrapper::add_dofs_helper(), and libMesh::EquationSystems::build_parallel_solution_vector().
|
inlineoverridevirtualinherited |
Implements libMesh::Elem.
Definition at line 100 of file cell_pyramid.h.
Referenced by libMesh::Pyramid::is_edge_on_side(), libMesh::Pyramid5::is_node_on_edge(), libMesh::Pyramid13::is_node_on_edge(), libMesh::Pyramid14::is_node_on_edge(), is_node_on_edge(), libMesh::Pyramid::local_edge_node(), libMesh::Pyramid13::local_edge_node(), libMesh::Pyramid14::local_edge_node(), local_edge_node(), libMesh::Pyramid5::nodes_on_edge(), libMesh::Pyramid13::nodes_on_edge(), libMesh::Pyramid14::nodes_on_edge(), nodes_on_edge(), and libMesh::Pyramid::sides_on_edge().
|
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 1170 of file dof_object.h.
References libMesh::DofObject::_idx_buf, and libMesh::DofObject::start_idx_ints().
Referenced by libMesh::DofObject::add_extra_integers(), libMesh::MeshTools::Modification::all_tri(), libMesh::C0Polyhedron::disconnected_clone(), libMesh::Elem::disconnected_clone(), libMesh::MeshTools::Modification::flatten(), libMesh::DofObject::get_extra_datum(), libMesh::DofObject::get_extra_integer(), libMesh::CheckpointIO::read_connectivity(), libMesh::CheckpointIO::read_nodes(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::Elem::refine(), libMesh::SimplexRefiner::refine_via_edges(), 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().
|
inlineoverridevirtualinherited |
Implements libMesh::Elem.
Definition at line 105 of file cell_pyramid.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 714 of file elem.h.
References libMesh::Elem::n_sides().
Referenced by libMesh::Elem::_last_side(), 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(), libMesh::Elem::topological_neighbor(), and libMesh::Elem::topologically_equal().
|
inlineoverridevirtual |
Reimplemented from libMesh::Pyramid.
Definition at line 103 of file cell_pyramid18.h.
References num_nodes.
Referenced by second_order_adjacent_vertex().
|
inlinevirtualinherited |
Definition at line 674 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 85 of file reference_counter.h.
References libMesh::ReferenceCounter::_n_objects.
Referenced by libMesh::LibMeshInit::~LibMeshInit().
|
inlinestaticinherited |
Prints the number of outstanding (created, but not yet destroyed) objects.
Definition at line 85 of file reference_counter.h.
References libMesh::ReferenceCounter::_n_objects.
Referenced by libMesh::LibMeshInit::~LibMeshInit().
|
inlinefinaloverridevirtualinherited |
One quad side, four orientations.
Implements libMesh::Elem.
Definition at line 190 of file cell_pyramid.h.
|
inlineinherited |
DofObject
: n_systems(), plus one iff this->has_extra_integers()
Definition at line 947 of file dof_object.h.
References libMesh::DofObject::_idx_buf.
Referenced by libMesh::DofObject::end_idx(), libMesh::DofObject::set_extra_datum(), and libMesh::DofObject::set_extra_integer().
|
overridevirtual |
Reimplemented from libMesh::Elem.
Definition at line 355 of file cell_pyramid18.C.
|
inlineoverridevirtualinherited |
Implements libMesh::Elem.
Definition at line 90 of file cell_pyramid.h.
Referenced by libMesh::Pyramid5::build_side_ptr(), libMesh::Pyramid13::build_side_ptr(), libMesh::Pyramid14::build_side_ptr(), build_side_ptr(), libMesh::Pyramid::is_child_on_side(), libMesh::Pyramid::is_edge_on_side(), libMesh::Pyramid5::is_node_on_side(), libMesh::Pyramid13::is_node_on_side(), libMesh::Pyramid14::is_node_on_side(), is_node_on_side(), libMesh::Pyramid::key(), libMesh::Pyramid14::key(), key(), libMesh::Pyramid::local_side_node(), libMesh::Pyramid13::local_side_node(), libMesh::Pyramid14::local_side_node(), local_side_node(), libMesh::Pyramid::low_order_key(), libMesh::Pyramid5::nodes_on_side(), libMesh::Pyramid13::nodes_on_side(), libMesh::Pyramid14::nodes_on_side(), nodes_on_side(), and libMesh::Pyramid::side_ptr().
|
inlineoverridevirtual |
FIXME: we don't yet have a refinement pattern for pyramids...
Implements libMesh::Elem.
Definition at line 114 of file cell_pyramid18.h.
Referenced by connectivity().
|
inlineinherited |
DofObject
Definition at line 937 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 957 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().
|
inlineinherited |
Variable
variables associated with VariableGroup
vg
in system s
for this DofObject
Definition at line 967 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::OldSolutionCoefs< Output, point_output >::eval_mixed_derivatives(), libMesh::OldSolutionValue< Output, point_output >::eval_mixed_derivatives(), 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().
Definition at line 984 of file dof_object.h.
References libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), and libMesh::DofObject::n_vars().
|
inlineoverridevirtualinherited |
Implements libMesh::Elem.
Definition at line 95 of file cell_pyramid.h.
Referenced by libMesh::Pyramid::edges_adjacent_to_node(), libMesh::Pyramid13::second_order_adjacent_vertex(), libMesh::Pyramid14::second_order_adjacent_vertex(), and second_order_adjacent_vertex().
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 2567 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::MeshTools::Modification::all_tri(), libMesh::ClawSystem::assemble_avg_coupling_matrices(), assemble_ellipticdg(), libMesh::ClawSystem::assemble_jump_coupling_matrix(), assemble_SchroedingerEquation(), assembly_with_dg_fem_context(), libMesh::BoundaryInfo::boundary_ids(), libMesh::EquationSystems::build_discontinuous_solution_vector(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::BoundaryInfo::clear_stitched_boundary_side_ids(), compute_enriched_soln(), 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_disconnected_subdomains(), libMesh::Elem::get_info(), libMesh::InfFE< Dim, T_radial, T_map >::inf_compute_constraints(), libMesh::InfFE< Dim, T_radial, T_map >::inf_compute_node_constraints(), libMesh::RBEIMConstruction::initialize_qp_data(), libMesh::Poly2TriTriangulator::insert_refinement_points(), libMesh::Poly2TriTriangulator::is_refine_boundary_allowed(), libMesh::HDGProblem::jacobian(), 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::C0Polygon::permute(), libMesh::CheckpointIO::read_remote_elem(), libMesh::EquationSystems::redundant_added_side(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::InfFE< Dim, T_radial, T_map >::reinit(), libMesh::FE< Dim, LAGRANGE_VEC >::reinit(), libMesh::FEXYZ< Dim >::reinit(), libMesh::HDGProblem::residual(), libMesh::C0Polyhedron::retriangulate(), libMesh::FE< Dim, LAGRANGE_VEC >::side_map(), libMesh::Elem::SideIter::side_on_boundary(), libMesh::BoundaryInfo::side_with_boundary_id(), libMesh::BoundaryInfo::sides_with_boundary_id(), libMesh::MeshTools::Modification::smooth(), libMesh::UnstructuredMesh::stitching_helper(), libMesh::Elem::swap2neighbors(), ElemTest< elem_type >::test_orient_elements(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), MeshBaseTest::testMeshBaseVerifyIsPrepared(), InfFERadialTest::testSides(), libMesh::Elem::topological_neighbor(), libMesh::MeshRefinement::topological_neighbor(), libMesh::Elem::topologically_equal(), libMesh::MeshTetInterface::volume_to_surface_mesh(), libMesh::Elem::which_neighbor_am_i(), and libMesh::CheckpointIO::write_remote_elem().
Definition at line 2577 of file elem.h.
References libMesh::Elem::_elemlinks, and libMesh::Elem::n_neighbors().
|
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 3486 of file elem.h.
References libMesh::Elem::_elemlinks, and libMesh::Elem::n_neighbors().
Referenced by ContrivedPartitioner::_do_partition(), libMesh::MeshTetInterface::check_hull_integrity(), libMesh::Elem::child_neighbor(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::Elem::has_neighbor(), libMesh::InfFE< Dim, T_radial, T_map >::inf_compute_constraints(), libMesh::Elem::make_links_to_me_remote(), libMesh::Elem::remove_links_to_me(), and DistributedMeshTest::testRemoteElemError().
|
inlineinherited |
Definition at line 3493 of file elem.h.
References libMesh::Elem::_elemlinks, and libMesh::Elem::n_neighbors().
|
inlineinherited |
Node
i
. Definition at line 2444 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::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), assemble_stokes(), libMesh::Elem::bracketing_nodes(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::FEMap::compute_face_map(), libMesh::InfQuad4::connectivity(), libMesh::InfEdge2::connectivity(), libMesh::Edge2::connectivity(), libMesh::Edge3::connectivity(), libMesh::Quad4::connectivity(), libMesh::InfHex8::connectivity(), libMesh::Edge4::connectivity(), libMesh::InfQuad6::connectivity(), libMesh::InfPrism6::connectivity(), libMesh::Tri3::connectivity(), libMesh::Pyramid5::connectivity(), libMesh::Prism6::connectivity(), libMesh::Hex8::connectivity(), libMesh::Quad8::connectivity(), libMesh::InfPrism12::connectivity(), libMesh::Quad9::connectivity(), libMesh::Tri6::connectivity(), libMesh::InfHex16::connectivity(), libMesh::Tri7::connectivity(), libMesh::Tet4::connectivity(), libMesh::InfHex18::connectivity(), libMesh::Hex20::connectivity(), libMesh::Tet10::connectivity(), libMesh::Prism15::connectivity(), libMesh::Tet14::connectivity(), libMesh::Hex27::connectivity(), libMesh::Prism18::connectivity(), libMesh::MeshTools::find_hanging_nodes_and_parents(), libMesh::Tri3Subdivision::get_ordered_node(), libMesh::Tri3Subdivision::get_ordered_valence(), libMesh::BoundaryInfo::get_side_and_node_maps(), libMesh::MeshTools::SidesToElemMap::get_sorted_vertex_ids(), libMesh::LaplaceMeshSmoother::init(), libMesh::Tet::key(), libMesh::InfQuad6::key(), libMesh::Prism::key(), libMesh::Pyramid::key(), libMesh::Hex::key(), libMesh::Tri::key(), libMesh::Polygon::key(), libMesh::Quad8::key(), libMesh::Quad9::key(), libMesh::Edge::key(), libMesh::Tri6::key(), libMesh::Quad::key(), libMesh::InfPrism::key(), libMesh::Tri7::key(), libMesh::Hex27::key(), libMesh::InfHex::key(), libMesh::Prism18::key(), libMesh::Pyramid14::key(), libMesh::InfQuad::key(), libMesh::Edge2::key(), libMesh::Prism20::key(), libMesh::InfHex18::key(), libMesh::Prism21::key(), key(), libMesh::Edge4::key(), libMesh::Edge3::key(), libMesh::Tet4::key(), libMesh::Elem::key(), libMesh::MeshTools::libmesh_assert_equal_connectivity(), libMesh::Elem::local_node(), libMesh::Tri3Subdivision::local_node_number(), libMesh::Tet::low_order_key(), libMesh::Prism::low_order_key(), libMesh::Pyramid::low_order_key(), libMesh::Hex::low_order_key(), libMesh::Tri::low_order_key(), libMesh::Polygon::low_order_key(), libMesh::Edge::low_order_key(), libMesh::Polyhedron::low_order_key(), libMesh::Quad::low_order_key(), libMesh::InfPrism::low_order_key(), libMesh::InfHex::low_order_key(), libMesh::InfQuad::low_order_key(), libMesh::Elem::operator==(), libMesh::XdrIO::pack_element(), libMesh::CheckpointIO::read_connectivity(), libMesh::Elem::topologically_equal(), libMesh::Elem::write_connectivity(), and libMesh::ExodusII_IO_Helper::write_elements().
|
inlineinherited |
Definition at line 2652 of file elem.h.
References libMesh::Elem::n_nodes().
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::MeshRefinement::add_node(), assemble_stokes(), libMesh::TetGenMeshInterface::assign_nodes_to_elem(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::Elem::coarsen(), libMesh::FEMap::compute_map(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::MeshTools::Modification::flatten(), libMesh::Elem::get_info(), libMesh::MeshTools::libmesh_assert_equal_connectivity(), libMesh::Elem::libmesh_assert_valid_node_pointers(), libMesh::XdrIO::pack_element(), libMesh::Elem::quality(), libMesh::FE< Dim, LAGRANGE_VEC >::reinit(), libMesh::Polyhedron::side_ptr(), libMesh::MeshTools::Modification::smooth(), libMesh::Elem::true_centroid(), and libMesh::Elem::write_connectivity().
Node
i
. Definition at line 2476 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::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), assemble_shell(), libMesh::EquationSystems::build_discontinuous_solution_vector(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::C0Polygon::build_side_ptr(), libMesh::Edge::build_side_ptr(), libMesh::BoundaryInfo::clear_stitched_boundary_side_ids(), libMesh::FEMap::compute_affine_map(), libMesh::FEMap::compute_map(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::Elem::contains_vertex_of(), 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::MeshTools::n_connected_components(), libMesh::Elem::node_ref(), libMesh::C0Polygon::permute(), libMesh::Tri3Subdivision::prepare_subdivision_properties(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::C0Polyhedron::retriangulate(), libMesh::FE< Dim, LAGRANGE_VEC >::shape(), libMesh::Polyhedron::side_clones(), libMesh::Edge::side_ptr(), libMesh::Polygon::side_ptr(), libMesh::Polyhedron::side_ptr(), libMesh::MeshTools::Modification::smooth(), libMesh::UnstructuredMesh::stitching_helper(), libMesh::Elem::swap2nodes(), SystemsTest::testDofCouplingWithVarGroups(), InfFERadialTest::testInfQuants_numericDeriv(), and InfFERadialTest::testSides().
Node
i
. Definition at line 2487 of file elem.h.
References libMesh::Elem::_nodes, libMesh::libmesh_assert(), and libMesh::Elem::n_nodes().
Node
i
. Definition at line 2498 of file elem.h.
References libMesh::Elem::node_ptr().
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::DofMap::constrain_p_dofs(), libMesh::Elem::contains_vertex_of(), libMesh::DofMap::dof_indices(), libMesh::TopologyMap::fill(), libMesh::Elem::get_info(), libMesh::Pyramid::local_singular_node(), libMesh::MeshCommunication::make_new_node_proc_ids_parallel_consistent(), libMesh::DofMap::old_dof_indices(), libMesh::DofMap::process_mesh_constraint_rows(), libMesh::rational_fe_shape(), libMesh::rational_fe_shape_deriv(), libMesh::rational_fe_shape_second_deriv(), libMesh::rational_fe_weighted_shapes(), libMesh::rational_fe_weighted_shapes_derivs(), ParsedFEMFunctionTest::setUp(), libMesh::MeshTools::Modification::smooth(), libMesh::Parallel::sync_node_data_by_element_id_once(), VolumeTest::testEdge3Volume(), and SlitMeshRefinedSystemTest::testRestart().
Node
i
. Definition at line 2506 of file elem.h.
References libMesh::Elem::node_ptr().
|
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 2634 of file elem.h.
References libMesh::Elem::_nodes, and libMesh::Elem::n_nodes().
Referenced by libMesh::BoundaryInfo::build_side_list_from_node_list(), libMesh::Polyhedron::convex(), libMesh::MeshTools::Modification::distort(), libMesh::MeshBase::get_info(), libMesh::Polygon::key(), libMesh::Polyhedron::key(), libMesh::MeshCommunication::make_new_node_proc_ids_parallel_consistent(), ExodusTest< elem_type >::meshes_equal_enough(), libMesh::Elem::point_test(), libMesh::Polyhedron::Polyhedron(), libMesh::ReplicatedMesh::renumber_nodes_and_elements(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv(), libMesh::BoundaryVolumeSolutionTransfer::transfer_boundary_volume(), libMesh::BoundaryVolumeSolutionTransfer::transfer_volume_boundary(), and libMesh::MeshTetInterface::volume_to_surface_mesh().
|
inlineinherited |
Definition at line 2643 of file elem.h.
References libMesh::Elem::_nodes, and libMesh::Elem::n_nodes().
|
overridevirtual |
Implements libMesh::Elem.
Definition at line 111 of file cell_pyramid18.C.
References edge_nodes_map, and libMesh::Pyramid::n_edges().
|
overridevirtual |
Implements libMesh::Elem.
Definition at line 103 of file cell_pyramid18.C.
References libMesh::Pyramid::n_sides(), and side_nodes_map.
|
inherited |
Replaces this element with nullptr
for all of its neighbors.
This is useful when deleting an element.
Definition at line 3017 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 2906 of file elem.h.
References libMesh::Elem::has_neighbor().
|
finaloverridevirtualinherited |
true
if the master-space point p is contained in the reference element corresponding to this element, false otherwise.Since we are doing floating point comparisons here the parameter eps
can be specified to indicate a tolerance. For example, x \le 1 becomes x \le 1 + \epsilon .
Implements libMesh::Elem.
Definition at line 300 of file cell_pyramid.C.
References libMesh::Real.
|
inherited |
true
if two elements are equivalent, 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 774 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, libMesh::Polyhedron, libMesh::Hex, and libMesh::C0Polygon.
s
(for a tensor product element), or throws an error otherwise. Reimplemented in libMesh::Quad, libMesh::Polyhedron, libMesh::Edge, libMesh::Polygon, and libMesh::Hex.
Definition at line 3514 of file elem.C.
Referenced by VolumeTest::testC0PolygonMethods().
|
inlineinherited |
Flips the element (by swapping node and neighbor pointers) to have a mapping Jacobian of opposite sign, iff we find a negative orientation.
This only fixes flipped elements; for tangled elements the only fixes possible are non-local.
Definition at line 3283 of file elem.h.
References libMesh::Elem::flip(), and libMesh::Elem::is_flipped().
Referenced by libMesh::MeshTools::Modification::orient_elements().
|
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 1895 of file elem.h.
Referenced by InfFERadialTest::base_point(), libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), libMesh::InfFE< Dim, T_radial, T_map >::compute_shape_functions(), libMesh::Elem::get_info(), libMesh::InfFEMap::inverse_map(), libMesh::InfFEMap::map(), InfFERadialTest::testInfQuants(), and InfFERadialTest::testInfQuants_numericDeriv().
|
inlineinherited |
Definition at line 3105 of file elem.h.
References libMesh::Elem::_p_level.
Referenced by libMesh::InfHex8::build_edge_ptr(), libMesh::InfPrism6::build_edge_ptr(), libMesh::InfHex18::build_edge_ptr(), libMesh::InfPrism12::build_edge_ptr(), libMesh::InfHex16::build_edge_ptr(), libMesh::InfQuad4::build_side_ptr(), libMesh::InfHex8::build_side_ptr(), libMesh::InfPrism6::build_side_ptr(), libMesh::InfHex18::build_side_ptr(), libMesh::Pyramid5::build_side_ptr(), libMesh::InfQuad6::build_side_ptr(), libMesh::Prism6::build_side_ptr(), libMesh::InfPrism12::build_side_ptr(), libMesh::InfHex16::build_side_ptr(), libMesh::C0Polygon::build_side_ptr(), libMesh::Pyramid13::build_side_ptr(), libMesh::Prism15::build_side_ptr(), libMesh::Prism18::build_side_ptr(), libMesh::Pyramid14::build_side_ptr(), libMesh::Polyhedron::build_side_ptr(), libMesh::Prism20::build_side_ptr(), libMesh::Prism21::build_side_ptr(), build_side_ptr(), 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_map(), libMesh::FE< Dim, LAGRANGE_VEC >::edge_reinit(), libMesh::Elem::Elem(), libMesh::MeshRefinement::enforce_mismatch_limit_prior_to_refinement(), libMesh::Elem::get_info(), libMesh::QBase::init(), libMesh::InfFE< Dim, T_radial, T_map >::init_face_shape_functions(), libMesh::lagrange_nodal_soln(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_p_levels(), libMesh::LIBMESH_DEFAULT_VECTORIZED_FE(), 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::FEInterface::n_dofs_at_node(), libMesh::FEInterface::n_dofs_per_elem(), libMesh::FEInterface::n_shape_functions(), 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::XdrIO::pack_element(), libMesh::Polygon::Polygon(), libMesh::Polyhedron::Polyhedron(), libMesh::rational_fe_shape(), libMesh::rational_fe_shape_deriv(), libMesh::rational_fe_shape_second_deriv(), libMesh::rational_fe_weighted_shapes(), libMesh::rational_fe_weighted_shapes_derivs(), libMesh::Elem::refine(), libMesh::InfFE< Dim, T_radial, T_map >::reinit(), libMesh::FE< Dim, LAGRANGE_VEC >::reinit(), libMesh::FEXYZ< Dim >::reinit(), libMesh::FE< Dim, LAGRANGE_VEC >::reinit_dual_shape_coeffs(), libMesh::HPCoarsenTest::select_refinement(), libMesh::Elem::set_p_level(), libMesh::Elem::set_p_refinement_flag(), libMesh::FE< Dim, LAGRANGE_VEC >::shape(), libMesh::InfFE< Dim, T_radial, T_map >::shape(), libMesh::InfFE< Dim, T_radial, T_map >::shape_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::side_map(), libMesh::Elem::simple_build_edge_ptr(), libMesh::Elem::simple_build_side_ptr(), libMesh::SparsityPattern::Build::sorted_connected_dofs(), libMesh::MeshRefinement::test_level_one(), and libMesh::Elem::true_centroid().
|
inlineinherited |
Definition at line 3223 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()(), and libMesh::Elem::refine().
|
inherited |
A method for creating packed data from our index buffer - basically a copy with prepended size with our current implementation.
Definition at line 642 of file dof_object.C.
References libMesh::DofObject::_idx_buf, and libMesh::DofObject::old_dof_object.
|
inherited |
If we pack our indices into an buffer for communications, how many ints do we need?
Definition at line 560 of file dof_object.C.
References libMesh::DofObject::_idx_buf, and libMesh::DofObject::old_dof_object.
Referenced by libMesh::Node::packed_size().
|
inlineinherited |
nullptr
if the element was not created via refinement. Definition at line 3027 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::FEAbstract::compute_node_constraints(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::MeshRefinement::create_parent_error_vector(), libMesh::DistributedMesh::delete_elem(), 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 >::inf_compute_constraints(), 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::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::BoundaryInfo::sides_with_boundary_id(), libMesh::MeshTools::Modification::smooth(), libMesh::Elem::subactive(), libMesh::Parallel::sync_element_data_by_parent_id(), ElemTest< elem_type >::test_n_refinements(), libMesh::Elem::top_parent(), libMesh::Elem::topological_neighbor(), libMesh::Elem::topologically_equal(), and libMesh::Elem::which_neighbor_am_i().
|
inlineinherited |
nullptr
if the element was not created via refinement. Definition at line 3035 of file elem.h.
References libMesh::Elem::_elemlinks.
|
virtualinherited |
n
of child c
. Reimplemented in libMesh::Prism21, libMesh::Prism20, libMesh::Tet14, and libMesh::Tri7.
Definition at line 2457 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::Real, libMesh::Elem::second_order_equivalent_type(), and libMesh::Elem::type().
Referenced by libMesh::Elem::bracketing_nodes(), and main().
|
finaloverridevirtual |
Permutes the element (by swapping node and neighbor pointers) according to the specified index.
This is useful for regression testing, by making it easy to make a structured mesh behave more like an arbitrarily unstructured mesh.
This is so far only used for regression testing, so we do not currently provide a way to permute any boundary side/edge ids along with the element permutation.
Implements libMesh::Elem.
Definition at line 459 of file cell_pyramid18.C.
References libMesh::Elem::swap4neighbors(), and libMesh::Elem::swap4nodes().
Definition at line 2422 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::C0Polyhedron::add_tet(), libMesh::MeshTools::Modification::all_tri(), assemble_stokes(), libMesh::Tet::choose_diagonal(), libMesh::Elem::coarsen(), libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), libMesh::FEMap::compute_edge_map(), libMesh::FEMap::compute_face_map(), libMesh::Elem::contains_edge_of(), libMesh::InfQuad4::contains_point(), libMesh::Tri3::contains_point(), libMesh::InfPrism::contains_point(), libMesh::InfHex::contains_point(), libMesh::Tet4::contains_point(), libMesh::NodeElem::contains_point(), libMesh::Elem::contains_vertex_of(), libMesh::Polyhedron::convex(), libMesh::ElemCutter::cut_2D(), libMesh::ElemCutter::cut_3D(), libMesh::FEMContext::elem_position_get(), libMesh::Edge3::has_affine_map(), libMesh::Quad4::has_affine_map(), libMesh::Edge4::has_affine_map(), libMesh::Quad8::has_affine_map(), libMesh::Quad9::has_affine_map(), libMesh::Prism6::has_affine_map(), libMesh::Hex8::has_affine_map(), libMesh::Tri6::has_affine_map(), libMesh::Tri7::has_affine_map(), libMesh::C0Polygon::has_affine_map(), libMesh::Hex20::has_affine_map(), libMesh::Hex27::has_affine_map(), libMesh::Tet10::has_affine_map(), libMesh::Prism15::has_affine_map(), libMesh::Prism18::has_affine_map(), libMesh::Tet14::has_affine_map(), libMesh::Prism20::has_affine_map(), libMesh::Prism21::has_affine_map(), libMesh::Quad4::has_invertible_map(), libMesh::Edge3::has_invertible_map(), libMesh::Edge4::has_invertible_map(), libMesh::Elem::hmax(), libMesh::Elem::hmin(), libMesh::Prism::is_flipped(), libMesh::Hex::is_flipped(), libMesh::Polygon::is_flipped(), libMesh::Tri::is_flipped(), libMesh::Pyramid::is_flipped(), libMesh::InfPrism::is_flipped(), libMesh::Quad::is_flipped(), libMesh::Tet::is_flipped(), libMesh::InfHex::is_flipped(), libMesh::Edge::is_flipped(), libMesh::Polyhedron::is_flipped(), libMesh::InfQuad::is_flipped(), libMesh::Elem::length(), libMesh::Edge4::loose_bounding_box(), libMesh::Edge3::loose_bounding_box(), libMesh::Quad8::loose_bounding_box(), libMesh::Quad9::loose_bounding_box(), libMesh::Tri7::loose_bounding_box(), libMesh::Tri6::loose_bounding_box(), libMesh::Elem::loose_bounding_box(), main(), libMesh::InfFEMap::map(), libMesh::FEMap::map(), libMesh::FEMap::map_deriv(), libMesh::Polyhedron::master_point(), libMesh::Tri3::min_and_max_angle(), libMesh::Tet4::min_and_max_angle(), libMesh::FEMSystem::numerical_jacobian(), libMesh::Polyhedron::on_reference_element(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::InfCell::origin(), libMesh::InfEdge2::origin(), libMesh::InfQuad::origin(), libMesh::PostscriptIO::plot_linear_elem(), libMesh::Polyhedron::Polyhedron(), libMesh::Elem::positive_edge_orientation(), libMesh::Elem::positive_face_orientation(), libMesh::Hex::quality(), libMesh::Tri::quality(), libMesh::Quad::quality(), libMesh::Elem::quality(), libMesh::Face::quasicircumcenter(), libMesh::Edge::quasicircumcenter(), libMesh::NodeElem::quasicircumcenter(), libMesh::FE< Dim, LAGRANGE_VEC >::reinit(), libMesh::C0Polygon::retriangulate(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv(), libMesh::SimplexRefiner::should_refine_elem(), libMesh::Poly2TriTriangulator::should_refine_elem(), libMesh::MeshTools::Modification::smooth(), ExtraIntegersTest::test_final_integers(), BoundaryInfoTest::testShellFaceConstraints(), VolumeTest::testTwistedVolume(), libMesh::Edge2::true_centroid(), libMesh::Quad4::true_centroid(), libMesh::C0Polyhedron::true_centroid(), libMesh::Pyramid5::true_centroid(), libMesh::C0Polygon::true_centroid(), libMesh::Prism6::true_centroid(), libMesh::Hex8::true_centroid(), libMesh::Elem::true_centroid(), libMesh::Edge2::volume(), libMesh::C0Polyhedron::volume(), libMesh::Quad4::volume(), libMesh::Edge3::volume(), libMesh::C0Polygon::volume(), libMesh::Tri3::volume(), libMesh::Pyramid5::volume(), libMesh::Edge4::volume(), libMesh::Quad8::volume(), libMesh::Hex8::volume(), libMesh::Quad9::volume(), libMesh::Tet4::volume(), libMesh::Tri6::volume(), libMesh::Pyramid13::volume(), libMesh::Hex20::volume(), libMesh::Tet10::volume(), libMesh::Prism15::volume(), libMesh::Pyramid14::volume(), libMesh::Hex27::volume(), libMesh::Prism18::volume(), and libMesh::Elem::which_side_am_i().
Definition at line 2434 of file elem.h.
References libMesh::Elem::_nodes, and libMesh::Elem::n_nodes().
|
inherited |
true
if edge i
is positively oriented. An edge is positively oriented iff its first vertex (i.e. zeroth node) is lexicographically greater than its second vertex (i.e. first node). Definition at line 3592 of file elem.C.
References libMesh::Elem::local_edge_node(), libMesh::Elem::n_edges(), and libMesh::Elem::point().
Referenced by libMesh::FE< Dim, LAGRANGE_VEC >::shape(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv(), and libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv().
|
inherited |
true
if face i
is positively oriented. A face is positively oriented iff the triangle defined by the lexicographically least vertex and its two adjacent vertices on the same face is positively oriented. Said triangle is positively oriented iff its vertices are an odd permutation of their lexicographic ordering. Definition at line 3601 of file elem.C.
References distance(), libMesh::Elem::n_faces(), libMesh::Elem::nodes_on_side(), libMesh::Elem::point(), and libMesh::Elem::side_ptr().
Referenced by libMesh::FE< Dim, LAGRANGE_VEC >::shape(), and libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv().
|
inherited |
Print out info for debugging.
Definition at line 670 of file dof_object.C.
References libMesh::DofObject::dof_number(), libMesh::DofObject::id(), libMesh::make_range(), libMesh::DofObject::n_comp(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_vars(), and libMesh::out.
|
staticinherited |
Prints the reference information, by default to libMesh::out
.
Definition at line 81 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().
Referenced by libMesh::LibMeshInit::~LibMeshInit().
|
staticinherited |
Prints the reference information, by default to libMesh::out
.
Definition at line 81 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().
Referenced by libMesh::LibMeshInit::~LibMeshInit().
|
inherited |
Prints relevant information about the element.
Definition at line 2918 of file elem.C.
References libMesh::Elem::get_info().
Referenced by libMesh::FEMap::compute_single_point_map(), libMesh::FEMap::inverse_map(), and libMesh::operator<<().
|
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 905 of file dof_object.h.
References libMesh::DofObject::_processor_id.
Referenced by NonManifoldTestPartitioner::_do_partition(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::DistributedMesh::add_elem(), libMesh::BoundaryInfo::add_elements(), 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::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::Patch::build_around_element(), libMesh::Partitioner::build_graph(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::MeshFunction::check_found_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::MeshBase::copy_constraint_rows(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::DistributedMesh::delete_elem(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::C0Polyhedron::disconnected_clone(), libMesh::Elem::disconnected_clone(), 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::UnstructuredMesh::find_neighbors(), libMesh::MeshTools::Modification::flatten(), libMesh::Node::get_info(), libMesh::Elem::get_info(), libMesh::RBEIMConstruction::initialize_qp_data(), libMesh::DistributedMesh::insert_elem(), libMesh::DofObject::invalidate_processor_id(), 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(), ExodusTest< elem_type >::meshes_equal_enough(), libMesh::PeriodicBoundaries::neighbor(), libMesh::RBEIMEvaluation::node_distribute_bfs(), OverlappingCouplingFunctor::operator()(), AugmentSparsityOnInterface::operator()(), AugmentSparsityOnNodes::operator()(), libMesh::GhostPointNeighbors::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::CompareDofObjectsByPIDAndThenID::operator()(), libMesh::DistributedMesh::own_node(), 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::Polygon::Polygon(), libMesh::Polyhedron::Polyhedron(), libMesh::DofMap::process_mesh_constraint_rows(), libMesh::DofObject::processor_id(), libMesh::CheckpointIO::read_connectivity(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::DistributedMesh::renumber_nodes_and_elements(), libMesh::DofMap::scatter_constraints(), libMesh::Partitioner::set_interface_node_processor_ids_BFS(), libMesh::Partitioner::set_interface_node_processor_ids_linear(), libMesh::Partitioner::set_interface_node_processor_ids_petscpartitioner(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::Partitioner::set_parent_processor_ids(), ParsedFEMFunctionTest::setUp(), libMesh::Partitioner::single_partition_range(), 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::DTKAdapter::update_variable_values(), NonManifoldGhostingFunctorTest::verify_send_list_entries_helper(), libMesh::GmshIO::write_mesh(), and libMesh::Nemesis_IO_Helper::write_sidesets().
|
inlineinherited |
Definition at line 913 of file dof_object.h.
References libMesh::DofObject::_processor_id.
|
inlineinherited |
Sets the processor_id
for this DofObject
.
Definition at line 921 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::Polyhedron, libMesh::InfHex, libMesh::Quad, libMesh::Tri, libMesh::Polygon, libMesh::Hex, and libMesh::Tet.
Definition at line 1111 of file elem.h.
Referenced by main().
|
virtualinherited |
q
specified by the user. Not all ElemQuality metrics are supported for all Elem types; consult the Elem::quality() overrides for specific Elem types to determine which quality metrics are supported. The ElemQuality metrics with generic support for all Elems with dimension > 1 are: .) EDGE_LENGTH_RATIO - ratio of maximum to minimum edge (in 2D, side) length, where the min/max is taken over all Elem edges. .) MIN,MAX_ANGLE - The minimum (respectively maximum) angle between all pairs of adjacent Elem edges, in degrees. Note that, in 3D, these are not the dihedral angles (angle between adjacent planar faces of the element), which we plan to add support for in the future. In 2D, we compute the angle between adjacent sides for this metric. Reimplemented in libMesh::InfQuad, libMesh::InfHex, libMesh::Quad, libMesh::Tri, libMesh::Hex, and libMesh::Tet.
Definition at line 1777 of file elem.C.
References libMesh::cross_norm(), libMesh::Elem::dim(), libMesh::Elem::edge_index_range(), libMesh::EDGE_LENGTH_RATIO, libMesh::Elem::edges_adjacent_to_node(), libMesh::Utility::enum_to_string(), libMesh::err, libMesh::index_range(), libMesh::JACOBIAN, libMesh::Elem::local_edge_node(), libMesh::make_range(), libMesh::MAX_ANGLE, libMesh::MAX_DIHEDRAL_ANGLE, libMesh::MIN_ANGLE, libMesh::MIN_DIHEDRAL_ANGLE, libMesh::Elem::n_edges(), libMesh::Elem::node_index_range(), libMesh::Elem::nodes_on_side(), libMesh::TensorTools::norm(), libMesh::pi, libMesh::Elem::point(), libMesh::Real, libMesh::SCALED_JACOBIAN, libMesh::Elem::sides_on_edge(), libMesh::triple_product(), libMesh::Elem::type(), and libMesh::TypeVector< T >::unit().
Referenced by libMesh::Tet::quality(), libMesh::Hex::quality(), libMesh::Tri::quality(), libMesh::Quad::quality(), libMesh::InfHex::quality(), and libMesh::InfQuad::quality().
|
inlinevirtualinherited |
Not implemented for infinite elements, not currently implemented for 3D elements, currently ignores curvature of element edges.
Reimplemented in libMesh::NodeElem, libMesh::Edge, and libMesh::Face.
Definition at line 1051 of file elem.h.
Referenced by libMesh::Poly2TriTriangulator::insert_refinement_points().
Definition at line 3151 of file elem.h.
References libMesh::Elem::_children.
Referenced by libMesh::CheckpointIO::read_remote_elem().
|
inherited |
Quad4
elements share the same reference_elem()
.If the element is of a type that can admit multiple topologies, such as a Polygon subtype, then there is no reference element; for such types this method should not be used.
Definition at line 573 of file elem.C.
References libMesh::ReferenceElem::get(), and libMesh::Elem::type().
Referenced by libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::QComposite< QSubCell >::init(), and libMesh::RBParametrizedFunction::preevaluate_parametrized_function_on_mesh().
|
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::p_level(), libMesh::Elem::p_refinement_flag(), libMesh::Elem::parent(), libMesh::Elem::REFINE, libMesh::Elem::refinement_flag(), libMesh::remote_elem, libMesh::DofObject::set_extra_integer(), libMesh::DofObject::set_n_systems(), 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 3207 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::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectEdges::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectSides::operator()(), libMesh::Elem::refine(), EquationSystemsTest::testRefineThenReinitPreserveFlags(), libMesh::BoundaryInfo::transfer_boundary_ids_from_children(), and libMesh::MeshRefinement::uniformly_coarsen().
|
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.
To be used before an element is deleted from a mesh.
Definition at line 1642 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().
Referenced by MeshDeletionsTest::testDeleteElem().
Replaces the child pointer at the specified index in the child array.
Definition at line 2093 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().
|
inlinevirtualinherited |
Reimplemented in libMesh::Polyhedron, and libMesh::Polygon.
Definition at line 259 of file elem.h.
Referenced by libMesh::FE< Dim, LAGRANGE_VEC >::edge_map(), libMesh::FE< Dim, LAGRANGE_VEC >::edge_reinit(), libMesh::QBase::init(), libMesh::FE< Dim, LAGRANGE_VEC >::reinit(), and libMesh::FE< Dim, LAGRANGE_VEC >::side_map().
|
overridevirtual |
Reimplemented from libMesh::Elem.
Definition at line 384 of file cell_pyramid18.C.
References n_nodes(), and libMesh::Pyramid::n_vertices().
|
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::Prism21, libMesh::Prism20, libMesh::Prism18, libMesh::Hex27, libMesh::Tet14, libMesh::Prism15, libMesh::InfHex18, libMesh::Tet10, libMesh::Hex20, libMesh::Tri7, libMesh::InfHex16, libMesh::Tri6, libMesh::Quad9, libMesh::InfPrism12, libMesh::Quad8, libMesh::C0Polygon, libMesh::InfQuad6, libMesh::Edge3, and libMesh::C0Polyhedron.
|
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 3138 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::PRISM20, libMesh::PRISM21, libMesh::PRISM6, libMesh::PYRAMID13, libMesh::PYRAMID14, libMesh::PYRAMID18, libMesh::PYRAMID5, libMesh::QUAD4, libMesh::QUAD8, libMesh::QUAD9, libMesh::QUADSHELL4, libMesh::QUADSHELL8, libMesh::QUADSHELL9, libMesh::TET10, libMesh::TET14, libMesh::TET4, libMesh::TRI3, libMesh::TRI6, libMesh::TRI7, and libMesh::TRISHELL3.
Referenced by libMesh::UnstructuredMesh::all_second_order_range(), libMesh::Elem::bracketing_nodes(), and libMesh::Elem::parent_bracketing_nodes().
|
inlineinherited |
Definition at line 717 of file dof_object.h.
References libMesh::DofObject::_idx_buf.
Referenced by DofObjectTest< Node >::testJensEftangBug().
|
inherited |
Sets the global degree of freedom number for variable var
, component comp
for system s
associated with this DofObject
.
Definition at line 454 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 1126 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::ExodusII_IO::read(), 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 1086 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::SyncElementIntegers::act_on_data(), libMesh::BoundaryInfo::add_elements(), libMesh::UnstructuredMesh::all_first_order(), libMesh::UnstructuredMesh::create_submesh(), libMesh::ExodusII_IO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::CheckpointIO::read_nodes(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::XdrIO::read_serialized_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 836 of file dof_object.h.
References libMesh::DofObject::_id.
Referenced by libMesh::ReplicatedMesh::add_elem(), libMesh::DistributedMesh::add_elem(), libMesh::ReplicatedMesh::add_node(), libMesh::DistributedMesh::add_node(), libMesh::UnstructuredMesh::all_first_order(), libMesh::DistributedMesh::fix_broken_node_and_element_numbering(), libMesh::DofObject::invalidate_id(), libMesh::Node::Node(), libMesh::DistributedMesh::own_node(), libMesh::RemoteElem::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(), DofObjectTest< Node >::testSetId(), DofObjectTest< Node >::testValidId(), and libMesh::MeshTetInterface::volume_to_surface_mesh().
|
inlineinherited |
Sets the id
for this DofObject
.
Definition at line 201 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 1251 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::UnstructuredMesh::copy_nodes_and_elements(), libMesh::Edge::Edge(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::Hex::Hex(), libMesh::InfHex::InfHex(), libMesh::InfQuad::InfQuad(), libMesh::NodeElem::NodeElem(), libMesh::Polygon::Polygon(), libMesh::Polyhedron::Polyhedron(), libMesh::Prism::Prism(), libMesh::Pyramid::Pyramid(), libMesh::Quad::Quad(), libMesh::Tet::Tet(), libMesh::Tri::Tri(), and libMesh::MeshTetInterface::volume_to_surface_mesh().
|
inlineinherited |
Sets the value of the mapping data for the element.
Definition at line 3141 of file elem.h.
References libMesh::Elem::_map_data.
Referenced by libMesh::ReplicatedMesh::add_elem(), libMesh::DistributedMesh::add_elem(), libMesh::UnstructuredMesh::all_first_order(), libMesh::ReplicatedMesh::insert_elem(), and libMesh::DistributedMesh::insert_elem().
|
inlineinherited |
Sets the value of the mapping type for the element.
Definition at line 3125 of file elem.h.
References libMesh::Elem::_map_type, and libMesh::Elem::type().
Referenced by libMesh::ReplicatedMesh::add_elem(), libMesh::DistributedMesh::add_elem(), libMesh::UnstructuredMesh::all_first_order(), 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 385 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 397 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 150 of file dof_object.C.
References libMesh::DofObject::_idx_buf, libMesh::make_range(), 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 247 of file dof_object.C.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::end_idx(), libMesh::DofObject::get_extra_integer(), libMesh::DofObject::has_extra_integers(), libMesh::DofObject::invalid_id, libMesh::make_range(), 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 2587 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::copy_nodes_and_elements(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::Poly2TriTriangulator::insert_refinement_points(), libMesh::Elem::nullify_neighbors(), libMesh::C0Polygon::permute(), libMesh::CheckpointIO::read_remote_elem(), libMesh::C0Polyhedron::retriangulate(), libMesh::UnstructuredMesh::stitching_helper(), libMesh::Elem::swap2neighbors(), MeshBaseTest::testMeshBaseVerifyIsPrepared(), and libMesh::MeshTetInterface::volume_to_surface_mesh().
Node
with local number i
as a writable reference.Reimplemented in libMesh::RemoteElem.
Definition at line 2527 of file elem.h.
References libMesh::Elem::_nodes, and libMesh::Elem::n_nodes().
Referenced by LinearElasticityWithContact::add_contact_edge_elements(), add_cube_convex_hull_to_mesh(), libMesh::UnstructuredMesh::all_first_order(), AllSecondOrderTest::allCompleteOrderMixed(), AllSecondOrderTest::allCompleteOrderRange(), AllSecondOrderTest::allSecondOrderMixed(), AllSecondOrderTest::allSecondOrderRange(), libMesh::TetGenMeshInterface::assign_nodes_to_elem(), libMesh::MeshTools::Generation::build_cube(), GetBoundaryPointsTest::build_mesh(), MixedDimensionMeshTest::build_mesh(), MeshfunctionDFEM::build_mesh(), SlitMeshTest::build_mesh(), MixedDimensionNonUniformRefinement::build_mesh(), MixedDimensionNonUniformRefinementTriangle::build_mesh(), MixedDimensionNonUniformRefinement3D::build_mesh(), OverlappingTestBase::build_quad_mesh(), libMesh::TriangleWrapper::copy_tri_to_mesh(), libMesh::UnstructuredMesh::create_submesh(), libMesh::C0Polygon::permute(), libMesh::Nemesis_IO::read(), libMesh::ExodusII_IO::read(), libMesh::AbaqusIO::read_elements(), libMesh::GmshIO::read_mesh(), libMesh::DynaIO::read_mesh(), libMesh::MatlabIO::read_stream(), libMesh::C0Polyhedron::retriangulate(), libMesh::RemoteElem::set_node(), PerElemTest< elem_type >::setUp(), libMesh::FE< Dim, LAGRANGE_VEC >::shape(), libMesh::Polyhedron::side_clones(), libMesh::UnstructuredMesh::stitching_helper(), libMesh::MeshTools::Generation::surface_octahedron(), libMesh::Elem::swap2nodes(), SystemsTest::testDofCouplingWithVarGroups(), MeshTriangulationTest::testEdgesMesh(), MeshTriangulationTest::testHalfDomain(), NodalNeighborsTest::testOrientation(), MeshTriangulationTest::testPoly2TriBad1DMultiBoundary(), MeshTriangulationTest::testPoly2TriBad2DMultiBoundary(), MeshTriangulationTest::testPoly2TriBadEdges(), EquationSystemsTest::testPostInitAddElem(), SystemsTest::testProjectMatrix3D(), InfFERadialTest::testRefinement(), EquationSystemsTest::testReinitWithNodeElem(), SystemsTest::testSetSystemParameterOverEquationSystem(), BoundaryInfoTest::testShellFaceConstraints(), InfFERadialTest::testSides(), MeshTetTest::testTetsToTets(), MeshSubdomainIDTest::testUnpartitioned(), and libMesh::Poly2TriTriangulator::triangulate_current_points().
Sets local Node
i
to refer to node
.
Reimplemented in libMesh::RemoteElem.
Definition at line 2540 of file elem.h.
References libMesh::Elem::_nodes, and libMesh::Elem::n_nodes().
|
inherited |
Sets the old_dof_object
to a copy of this
.
Definition at line 135 of file dof_object.C.
References libMesh::DofObject::clear_old_dof_object(), libMesh::DofObject::construct(), 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::hack_p_level(), 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::Polygon::Polygon(), libMesh::Polyhedron::Polyhedron(), libMesh::Elem::refine(), libMesh::Elem::set_p_level(), and VolumeTest::testHex20PLevelTrueCentroid().
|
inlineinherited |
Sets the value of the p-refinement flag for the element.
Definition at line 3231 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::Elem::refine(), and libMesh::Elem::set_p_level().
|
inlineinherited |
Sets the pointer to the element's parent.
Dangerous! Only use this if you know what you are doing!
Definition at line 3043 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 3215 of file elem.h.
References libMesh::Elem::_rflag.
Referenced by libMesh::UnstructuredMesh::all_first_order(), 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::Elem::refine(), InfFERadialTest::testRefinement(), EquationSystemsTest::testRefineThenReinitPreserveFlags(), EquationSystemsTest::testSelectivePRefine(), and libMesh::MeshRefinement::uniformly_coarsen().
|
inlineinherited |
unique_id
for this DofObject
as a writable reference. Deprecated; use the API taking an input instead. Definition at line 858 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::create_submesh(), libMesh::ReplicatedMesh::insert_elem(), libMesh::DistributedMesh::insert_elem(), libMesh::ReplicatedMesh::insert_node(), ExodusTest< elem_type >::meshes_equal_enough(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read_nodes(), libMesh::XdrIO::read_serialized_nodes(), libMesh::SimplexRefiner::refine_via_edges(), and libMesh::MeshTetInterface::volume_to_surface_mesh().
|
inlineinherited |
Sets the unique_id
for this DofObject
.
Definition at line 872 of file dof_object.h.
References libMesh::DofObject::_unique_id, and libMesh::libmesh_ignore().
|
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 1297 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().
|
inlineprotectedinherited |
Matrix that allows children to inherit boundary conditions.
Definition at line 221 of file cell_pyramid.h.
|
inlineinherited |
Definition at line 2670 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::MeshTools::Modification::all_tri(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::FEGenericBase< FEOutputType< T >::type >::coarsened_dof_values(), compute_enriched_soln(), 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_disconnected_subdomains(), libMesh::Elem::get_info(), libMesh::BoundaryInfo::get_side_and_node_maps(), libMesh::Elem::has_topological_neighbor(), libMesh::InfFE< Dim, T_radial, T_map >::inf_compute_constraints(), libMesh::InfFE< Dim, T_radial, T_map >::inf_compute_node_constraints(), libMesh::LaplaceMeshSmoother::init(), libMesh::Elem::libmesh_assert_valid_neighbors(), libMesh::Elem::nullify_neighbors(), libMesh::PostscriptIO::plot_quadratic_elem(), libMesh::MeshTools::Modification::smooth(), libMesh::UnstructuredMesh::stitching_helper(), MeshBaseTest::testMeshBaseVerifyIsPrepared(), and libMesh::MeshTetInterface::volume_to_surface_mesh().
Implements libMesh::Elem.
Definition at line 158 of file cell_pyramid.C.
References libMesh::Pyramid::n_sides(), and libMesh::Pyramid5::side_nodes_map.
Referenced by libMesh::Pyramid5::build_side_ptr(), and libMesh::Pyramid::side_ptr().
|
overridevirtualinherited |
Rebuilds a primitive triangle or quad for face i.
Implements libMesh::Elem.
Definition at line 194 of file cell_pyramid.C.
References libMesh::Pyramid::n_sides(), libMesh::QUAD4, libMesh::Pyramid5::side_nodes_map, libMesh::Pyramid::side_ptr(), libMesh::Elem::subdomain_id(), and libMesh::TRI3.
Definition at line 2679 of file elem.h.
References libMesh::Elem::side_ptr().
|
inlineinherited |
Definition at line 2692 of file elem.h.
References libMesh::Elem::side_ptr().
s
. Implements libMesh::Elem.
Definition at line 499 of file cell_pyramid18.C.
References libMesh::QUAD9, and libMesh::TRI7.
|
finaloverridevirtualinherited |
Implements libMesh::Elem.
Definition at line 262 of file cell_pyramid.C.
References libMesh::Pyramid::edge_sides_map, and libMesh::Pyramid::n_edges().
|
inlineprotectedinherited |
An implementation for simple (all edges equal) elements.
Definition at line 2855 of file elem.h.
References libMesh::Elem::mapping_type(), libMesh::Elem::n_edges(), libMesh::Elem::p_level(), and libMesh::Elem::subdomain_id().
|
inlineprotectedinherited |
An implementation for simple (all edges equal) elements.
Definition at line 2880 of file elem.h.
References libMesh::Elem::mapping_type(), libMesh::Elem::n_edges(), libMesh::Elem::p_level(), and libMesh::Elem::subdomain_id().
|
inlineprotectedinherited |
An implementation for simple (all sides equal) elements.
Definition at line 2734 of file elem.h.
References libMesh::Elem::mapping_type(), libMesh::Elem::n_sides(), libMesh::Elem::p_level(), and libMesh::Elem::subdomain_id().
|
inlineprotectedinherited |
An implementation for simple (all sides equal) elements.
Definition at line 2776 of file elem.h.
References libMesh::Elem::mapping_type(), libMesh::Elem::n_sides(), libMesh::Elem::p_level(), and libMesh::Elem::subdomain_id().
|
inlineprotectedinherited |
An implementation for simple (all sides equal) elements.
Definition at line 2804 of file elem.h.
References libMesh::Elem::n_sides(), and libMesh::Elem::subdomain_id().
|
inlineinherited |
true
if the element is subactive (i.e. has no active descendants), false
otherwise or if AMR is disabled. Definition at line 2956 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::MeshCommunication::delete_remote_elements(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::Elem::get_info(), libMesh::InfFE< Dim, T_radial, T_map >::inf_compute_constraints(), libMesh::InfFE< Dim, T_radial, T_map >::inf_compute_node_constraints(), 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(), and libMesh::UnstructuredMesh::stitching_helper().
|
inlineinherited |
Definition at line 2551 of file elem.h.
References libMesh::Elem::_sbd_id.
Referenced by libMesh::DofMap::_dof_indices(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::SyncSubdomainIds::act_on_data(), LinearElasticityWithContact::add_contact_edge_elements(), libMesh::UnstructuredMesh::all_first_order(), libMesh::MeshTools::Modification::all_tri(), AllSecondOrderTest::allCompleteOrderRange(), AllSecondOrderTest::allSecondOrderRange(), libMesh::AbaqusIO::assign_subdomain_ids(), libMesh::EquationSystems::build_discontinuous_solution_vector(), libMesh::InfHex8::build_edge_ptr(), libMesh::InfPrism6::build_edge_ptr(), libMesh::InfHex18::build_edge_ptr(), libMesh::InfPrism12::build_edge_ptr(), libMesh::InfHex16::build_edge_ptr(), MixedDimensionMeshTest::build_mesh(), MixedDimensionNonUniformRefinement::build_mesh(), MixedDimensionNonUniformRefinementTriangle::build_mesh(), MixedDimensionNonUniformRefinement3D::build_mesh(), OverlappingTestBase::build_quad_mesh(), libMesh::InfQuad4::build_side_ptr(), libMesh::InfHex8::build_side_ptr(), libMesh::InfPrism6::build_side_ptr(), libMesh::InfHex18::build_side_ptr(), libMesh::Pyramid5::build_side_ptr(), libMesh::InfQuad6::build_side_ptr(), libMesh::Prism6::build_side_ptr(), libMesh::InfPrism12::build_side_ptr(), libMesh::InfHex16::build_side_ptr(), libMesh::C0Polygon::build_side_ptr(), libMesh::Pyramid13::build_side_ptr(), libMesh::Prism15::build_side_ptr(), libMesh::Prism18::build_side_ptr(), libMesh::Pyramid14::build_side_ptr(), libMesh::Polyhedron::build_side_ptr(), libMesh::Prism20::build_side_ptr(), libMesh::Prism21::build_side_ptr(), build_side_ptr(), libMesh::MeshTools::Modification::change_subdomain_id(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_proj_constraints(), libMesh::TriangleWrapper::copy_tri_to_mesh(), libMesh::C0Polyhedron::disconnected_clone(), libMesh::Elem::disconnected_clone(), libMesh::DofMap::dof_indices(), libMesh::Elem::Elem(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::find_dofs_to_send(), libMesh::MeshTools::Modification::flatten(), libMesh::SyncSubdomainIds::gather_data(), libMesh::Elem::get_info(), MeshExtruderTest::QueryElemSubdomainID::get_subdomain_for_layer(), libMesh::UNVIO::groups_in(), libMesh::DofMap::old_dof_indices(), libMesh::PointLocatorNanoflann::operator()(), libMesh::XdrIO::pack_element(), libMesh::Polygon::Polygon(), libMesh::Polyhedron::Polyhedron(), libMesh::CheckpointIO::read_connectivity(), libMesh::GmshIO::read_mesh(), libMesh::DynaIO::read_mesh(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::Prism::side_ptr(), libMesh::Pyramid::side_ptr(), libMesh::Edge::side_ptr(), libMesh::Polygon::side_ptr(), libMesh::InfPrism::side_ptr(), libMesh::InfHex::side_ptr(), libMesh::InfQuad::side_ptr(), libMesh::Elem::simple_build_edge_ptr(), libMesh::Elem::simple_build_side_ptr(), libMesh::Elem::simple_side_ptr(), SystemsTest::testDofCouplingWithVarGroups(), MeshExtruderTest::testExtruder(), SystemsTest::testSetSystemParameterOverEquationSystem(), and SystemsTest::tripleValueTest().
|
inlineinherited |
Definition at line 2559 of file elem.h.
References libMesh::Elem::_sbd_id.
|
inlinevirtualinherited |
Reimplemented in libMesh::NodeElem.
Definition at line 996 of file elem.h.
References libMesh::Elem::default_order().
Referenced by libMesh::MeshBase::copy_constraint_rows().
|
protectedinherited |
Swaps two edges in boundary_info
, if it is non-null.
Definition at line 3553 of file elem.C.
References libMesh::BoundaryInfo::add_edge(), libMesh::BoundaryInfo::edge_boundary_ids(), and libMesh::BoundaryInfo::remove_edge().
Referenced by libMesh::InfQuad4::flip(), libMesh::InfPrism6::flip(), libMesh::InfHex8::flip(), libMesh::Quad4::flip(), libMesh::InfQuad6::flip(), libMesh::C0Polygon::flip(), libMesh::Pyramid5::flip(), libMesh::Tri3::flip(), libMesh::Prism6::flip(), libMesh::InfPrism12::flip(), libMesh::Quad8::flip(), libMesh::Hex8::flip(), libMesh::Quad9::flip(), libMesh::InfHex16::flip(), libMesh::Tri7::flip(), libMesh::Tri6::flip(), libMesh::Pyramid13::flip(), libMesh::InfHex18::flip(), libMesh::Hex20::flip(), libMesh::Tet14::flip(), libMesh::Tet10::flip(), libMesh::Prism15::flip(), libMesh::Tet4::flip(), libMesh::Pyramid14::flip(), flip(), libMesh::Hex27::flip(), libMesh::Prism18::flip(), libMesh::Prism20::flip(), and libMesh::Prism21::flip().
|
protectedinherited |
Swaps two sides in boundary_info
, if it is non-null.
Definition at line 3537 of file elem.C.
References libMesh::BoundaryInfo::add_side(), libMesh::BoundaryInfo::boundary_ids(), and libMesh::BoundaryInfo::remove_side().
Referenced by libMesh::InfQuad4::flip(), libMesh::InfPrism6::flip(), libMesh::InfHex8::flip(), libMesh::Edge2::flip(), libMesh::Quad4::flip(), libMesh::InfQuad6::flip(), libMesh::C0Polygon::flip(), libMesh::Pyramid5::flip(), libMesh::Edge4::flip(), libMesh::Tri3::flip(), libMesh::Prism6::flip(), libMesh::Edge3::flip(), libMesh::InfPrism12::flip(), libMesh::Quad8::flip(), libMesh::Hex8::flip(), libMesh::Quad9::flip(), libMesh::InfHex16::flip(), libMesh::Tri7::flip(), libMesh::Tri6::flip(), libMesh::Pyramid13::flip(), libMesh::InfHex18::flip(), libMesh::Hex20::flip(), libMesh::Tet10::flip(), libMesh::Tet14::flip(), libMesh::Prism15::flip(), libMesh::Tet4::flip(), libMesh::Pyramid14::flip(), flip(), libMesh::Hex27::flip(), libMesh::Prism20::flip(), libMesh::Prism18::flip(), and libMesh::Prism21::flip().
Swaps two neighbor_ptrs.
Definition at line 2083 of file elem.h.
References libMesh::Elem::neighbor_ptr(), and libMesh::Elem::set_neighbor().
Referenced by libMesh::InfQuad4::flip(), libMesh::InfPrism6::flip(), libMesh::InfHex8::flip(), libMesh::Quad4::flip(), libMesh::Edge2::flip(), libMesh::InfQuad6::flip(), libMesh::C0Polygon::flip(), libMesh::Pyramid5::flip(), libMesh::Edge4::flip(), libMesh::Tri3::flip(), libMesh::Prism6::flip(), libMesh::Edge3::flip(), libMesh::InfPrism12::flip(), libMesh::Quad8::flip(), libMesh::Hex8::flip(), libMesh::Quad9::flip(), libMesh::Tri7::flip(), libMesh::InfHex16::flip(), libMesh::Tri6::flip(), libMesh::Pyramid13::flip(), libMesh::InfHex18::flip(), libMesh::Hex20::flip(), libMesh::Tet14::flip(), libMesh::Tet10::flip(), libMesh::Prism15::flip(), libMesh::Tet4::flip(), libMesh::Pyramid14::flip(), flip(), libMesh::Hex27::flip(), libMesh::Prism18::flip(), libMesh::Prism20::flip(), libMesh::Prism21::flip(), libMesh::Prism6::permute(), libMesh::Hex8::permute(), libMesh::Hex20::permute(), libMesh::Prism15::permute(), libMesh::Hex27::permute(), libMesh::Prism20::permute(), libMesh::Prism18::permute(), libMesh::Prism21::permute(), libMesh::Elem::swap3neighbors(), and libMesh::Elem::swap4neighbors().
Swaps two node_ptrs.
Definition at line 2073 of file elem.h.
References libMesh::Elem::node_ptr(), and libMesh::Elem::set_node().
Referenced by libMesh::InfQuad4::flip(), libMesh::InfPrism6::flip(), libMesh::InfHex8::flip(), libMesh::Quad4::flip(), libMesh::Edge2::flip(), libMesh::InfQuad6::flip(), libMesh::C0Polygon::flip(), libMesh::Pyramid5::flip(), libMesh::Edge4::flip(), libMesh::Tri3::flip(), libMesh::Prism6::flip(), libMesh::Edge3::flip(), libMesh::InfPrism12::flip(), libMesh::Quad8::flip(), libMesh::Hex8::flip(), libMesh::Quad9::flip(), libMesh::Tri7::flip(), libMesh::InfHex16::flip(), libMesh::Tri6::flip(), libMesh::Pyramid13::flip(), libMesh::InfHex18::flip(), libMesh::Hex20::flip(), libMesh::Tet14::flip(), libMesh::Tet10::flip(), libMesh::Prism15::flip(), libMesh::Tet4::flip(), libMesh::Pyramid14::flip(), flip(), libMesh::Hex27::flip(), libMesh::Prism18::flip(), libMesh::Prism20::flip(), libMesh::Prism21::flip(), libMesh::Prism6::permute(), libMesh::Hex8::permute(), libMesh::Hex20::permute(), libMesh::Prism15::permute(), libMesh::Hex27::permute(), libMesh::Prism20::permute(), libMesh::Prism18::permute(), libMesh::Prism21::permute(), libMesh::Elem::swap3nodes(), and libMesh::Elem::swap4nodes().
|
inlineprotectedinherited |
Swaps three neighbor_ptrs, "rotating" them.
Definition at line 2114 of file elem.h.
References libMesh::Elem::swap2neighbors().
Referenced by libMesh::InfPrism6::permute(), libMesh::Tri3::permute(), libMesh::Prism6::permute(), libMesh::InfPrism12::permute(), libMesh::Tri7::permute(), libMesh::Tri6::permute(), libMesh::Tet14::permute(), libMesh::Tet10::permute(), libMesh::Prism15::permute(), libMesh::Tet4::permute(), libMesh::Prism20::permute(), libMesh::Prism18::permute(), libMesh::Prism21::permute(), and libMesh::Elem::swap4neighbors().
|
inlineprotectedinherited |
Swaps three node_ptrs, "rotating" them.
Definition at line 2105 of file elem.h.
References libMesh::Elem::swap2nodes().
Referenced by libMesh::InfPrism6::permute(), libMesh::Tri3::permute(), libMesh::Prism6::permute(), libMesh::InfPrism12::permute(), libMesh::Tri7::permute(), libMesh::Tri6::permute(), libMesh::Tet14::permute(), libMesh::Tet10::permute(), libMesh::Prism15::permute(), libMesh::Tet4::permute(), libMesh::Prism20::permute(), libMesh::Prism18::permute(), libMesh::Prism21::permute(), and libMesh::Elem::swap4nodes().
|
inlineprotectedinherited |
Swaps four neighbor_ptrs, "rotating" them.
Definition at line 2134 of file elem.h.
References libMesh::Elem::swap2neighbors(), and libMesh::Elem::swap3neighbors().
Referenced by libMesh::InfHex8::permute(), libMesh::Quad4::permute(), libMesh::Pyramid5::permute(), libMesh::Hex8::permute(), libMesh::Quad8::permute(), libMesh::Quad9::permute(), libMesh::InfHex16::permute(), libMesh::Pyramid13::permute(), libMesh::InfHex18::permute(), libMesh::Hex20::permute(), libMesh::Pyramid14::permute(), permute(), and libMesh::Hex27::permute().
|
inlineprotectedinherited |
Swaps four node_ptrs, "rotating" them.
Definition at line 2124 of file elem.h.
References libMesh::Elem::swap2nodes(), and libMesh::Elem::swap3nodes().
Referenced by libMesh::InfHex8::permute(), libMesh::Quad4::permute(), libMesh::Pyramid5::permute(), libMesh::Hex8::permute(), libMesh::Quad8::permute(), libMesh::Quad9::permute(), libMesh::InfHex16::permute(), libMesh::Pyramid13::permute(), libMesh::InfHex18::permute(), libMesh::Hex20::permute(), libMesh::Pyramid14::permute(), permute(), and libMesh::Hex27::permute().
|
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 3053 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(), libMesh::BoundaryInfo::sides_with_boundary_id(), and ExtraIntegersTest::test_final_integers().
|
inherited |
Definition at line 1316 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::GhostPointNeighbors::operator()(), libMesh::DefaultCoupling::operator()(), and libMesh::MeshRefinement::topological_neighbor().
|
inherited |
Definition at line 1274 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 |
true
if two elements have equal topologies, false otherwise. This is true if the elements connect to nodes of the same id in the same order, and neighbors of the same id on each side, the same id on any parent and/or interior_parent link, etc. Definition at line 806 of file elem.C.
References libMesh::DofObject::id(), libMesh::Elem::interior_parent(), libMesh::make_range(), libMesh::Elem::n_neighbors(), libMesh::Elem::n_nodes(), libMesh::Elem::neighbor_ptr(), libMesh::Elem::node_id(), libMesh::Elem::parent(), and libMesh::Elem::type().
|
inherited |
Same as the family_tree()
member, but also adds any subactive descendants.
Definition at line 2120 of file elem.C.
References libMesh::ElemInternal::total_family_tree().
Referenced by libMesh::Partitioner::set_parent_processor_ids().
|
inherited |
Non-const version of function above; fills a vector of non-const pointers.
Definition at line 2128 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 2206 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 2215 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 2244 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 2254 of file elem.C.
References libMesh::ElemInternal::total_family_tree_by_subneighbor().
|
virtualinherited |
[cx] [ x dV] [cy] := (1/V) * [ y dV] [cz] [ z dV]
This method is virtual since some derived elements might want to use shortcuts to compute their centroid. For most element types, this method is more expensive than calling vertex_average(), so if you only need a point which is located "somewhere" in the interior of the element, consider calling vertex_average() instead.
Reimplemented in libMesh::Tet4, libMesh::Hex8, libMesh::Prism6, libMesh::C0Polygon, libMesh::Pyramid5, libMesh::Tri3, libMesh::C0Polyhedron, libMesh::Quad4, and libMesh::Edge2.
Definition at line 597 of file elem.C.
References libMesh::Elem::_nodes, libMesh::FEGenericBase< OutputType >::build(), libMesh::Elem::default_order(), libMesh::FEType::default_quadrature_order(), libMesh::Elem::dim(), libMesh::Elem::disconnected_clone(), libMesh::index_range(), libMesh::make_range(), libMesh::FEMap::map_fe_type(), libMesh::Elem::n_nodes(), libMesh::Elem::node_index_range(), libMesh::Elem::p_level(), libMesh::Elem::point(), libMesh::Real, and libMesh::QBase::size().
Referenced by VolumeTest::testHex20PLevelTrueCentroid(), VolumeTest::testPyramid5TrueCentroid(), VolumeTest::testQuad4TrueCentroid(), VolumeTest::testTri3TrueCentroid(), libMesh::C0Polyhedron::true_centroid(), and libMesh::C0Polygon::true_centroid().
|
inlineoverridevirtual |
PYRAMID18
. Implements libMesh::Elem.
Definition at line 108 of file cell_pyramid18.h.
References libMesh::PYRAMID18.
|
inlineinherited |
unique_id
for this DofObject
Definition at line 844 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::DistributedMesh::add_elem(), libMesh::ReplicatedMesh::add_node(), libMesh::DistributedMesh::add_node(), libMesh::ReplicatedMesh::add_point(), libMesh::MeshTools::Modification::all_tri(), libMesh::C0Polyhedron::disconnected_clone(), libMesh::Elem::disconnected_clone(), libMesh::MeshTools::Modification::flatten(), libMesh::Elem::get_info(), libMesh::ReplicatedMesh::insert_elem(), libMesh::DistributedMesh::insert_elem(), libMesh::ReplicatedMesh::insert_node(), 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 595 of file dof_object.C.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::clear_old_dof_object(), libMesh::DofObject::construct(), libMesh::libmesh_assert(), and libMesh::DofObject::old_dof_object.
|
staticinherited |
If we have indices packed into an buffer for communications, how much of that buffer applies to this dof object?
Definition at line 575 of file dof_object.C.
|
inlineinherited |
true
if this DofObject
has a valid id
set, false
otherwise. Definition at line 885 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::ReplicatedMesh::insert_node(), libMesh::Poly2TriTriangulator::insert_refinement_points(), 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 929 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 893 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::C0Polyhedron::disconnected_clone(), libMesh::Elem::disconnected_clone(), libMesh::Elem::get_info(), libMesh::ReplicatedMesh::insert_elem(), libMesh::DistributedMesh::insert_elem(), libMesh::ReplicatedMesh::insert_node(), and libMesh::DofObject::unique_id().
|
inlineinherited |
var
on system s
associated with this DofObject
Definition at line 1200 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().
|
inherited |
Definition at line 691 of file elem.C.
References libMesh::TypeVector< T >::add(), and libMesh::Elem::n_vertices().
Referenced by libMesh::Elem::centroid(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::BoundaryInfo::get_side_and_node_maps(), libMesh::Poly2TriTriangulator::insert_refinement_points(), A0::interior_assembly(), A1::interior_assembly(), OutputAssembly::interior_assembly(), SlitFunc::operator()(), libMesh::LocationMap< T >::point_of(), libMesh::RBParametrizedFunction::preevaluate_parametrized_function_on_mesh(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::C0Polygon::retriangulate(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), libMesh::Tri3::true_centroid(), and libMesh::Tet4::true_centroid().
|
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 1317 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 |
If the element is twisted or inverted such that the mapping Jacobian is singular at any point, implementations of this method may return a "net" volume or may simply return NaN.
Reimplemented in libMesh::Prism18, libMesh::Hex27, libMesh::Pyramid14, libMesh::Prism15, libMesh::Tet10, libMesh::Hex20, libMesh::Pyramid13, libMesh::Tet4, libMesh::Tri6, libMesh::Quad9, libMesh::Hex8, libMesh::Quad8, libMesh::Prism6, libMesh::Edge4, libMesh::Pyramid5, libMesh::Tri3, libMesh::C0Polygon, libMesh::Edge3, libMesh::Quad4, libMesh::C0Polyhedron, and libMesh::Edge2.
Definition at line 3432 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 assemble_ellipticdg(), libMesh::Elem::get_info(), libMesh::MeshBase::get_info(), libMesh::QNodal::init_3D(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::SimplexRefiner::should_refine_elem(), libMesh::Poly2TriTriangulator::should_refine_elem(), VolumeTest::testC0Polygon(), VolumeTest::testC0Polyhedron(), MeshInputTest::testTetgenIO(), VolumeTest::testTwistedVolume(), libMesh::C0Polyhedron::volume(), libMesh::C0Polygon::volume(), libMesh::Quad8::volume(), libMesh::Quad9::volume(), libMesh::Tri6::volume(), libMesh::Pyramid13::volume(), libMesh::Hex20::volume(), libMesh::Tet10::volume(), libMesh::Prism15::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 3189 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::BoundaryInfo::side_with_boundary_id(), libMesh::BoundaryInfo::sides_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 2916 of file elem.h.
References libMesh::invalid_uint, libMesh::Elem::level(), libMesh::libmesh_assert(), libMesh::make_range(), libMesh::Elem::n_sides(), libMesh::Elem::neighbor_ptr(), and libMesh::Elem::parent().
Referenced by assemble_ellipticdg(), libMesh::EquationSystems::build_discontinuous_solution_vector(), libMesh::BoundaryInfo::clear_stitched_boundary_side_ids(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_proj_constraints(), libMesh::MeshTools::find_hanging_nodes_and_parents(), libMesh::Poly2TriTriangulator::insert_refinement_points(), libMesh::Elem::libmesh_assert_valid_neighbors(), libMesh::Elem::nullify_neighbors(), libMesh::C0Polyhedron::retriangulate(), and MeshBaseTest::testMeshBaseVerifyIsPrepared().
|
inherited |
This function is deprecated, call local_side_node(side, side_node) instead.
Definition at line 927 of file elem.C.
References libMesh::Elem::local_side_node().
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 873 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 1734 of file elem.C.
References libMesh::Elem::_nodes, libMesh::Elem::connectivity(), libMesh::INVALID_IO_PACKAGE, libMesh::libmesh_assert(), libMesh::make_range(), libMesh::Elem::n_sub_elem(), libMesh::Elem::node_id(), libMesh::Elem::node_index_range(), libMesh::TECPLOT, and libMesh::UCD.
|
protectedinherited |
unique_ptr to array of this element's children.
A Mesh ultimately owns the child Elems so we are not responsible for deleting them, but we are responsible for cleaning up the array allocated to hold those Elems, hence the unique_ptr.
Definition at line 2243 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(), and libMesh::Elem::set_child().
|
staticprotectedinherited |
Actually holds the data.
Definition at line 124 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info().
|
staticprotectedinherited |
Actually holds the data.
Definition at line 124 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info().
|
protectedinherited |
Pointers to this element's parent and neighbors, and for lower-dimensional elements' interior_parent.
Definition at line 2233 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::Polygon::Polygon(), libMesh::Polyhedron::Polyhedron(), libMesh::Elem::set_interior_parent(), libMesh::Elem::set_neighbor(), and libMesh::Elem::set_parent().
|
protectedinherited |
Data for links to parent/neighbor/interior_parent elements.
Definition at line 209 of file cell_pyramid.h.
|
staticprotectedinherited |
Flag to control whether reference count information is printed when print_info is called.
Definition at line 143 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 143 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), and libMesh::ReferenceCounter::print_info().
|
protectedinherited |
Mapping function data; currently used when needed to store the RATIONAL_BERNSTEIN nodal weight data index.
Definition at line 2285 of file elem.h.
Referenced by libMesh::Elem::Elem(), libMesh::Elem::mapping_data(), libMesh::Polygon::Polygon(), libMesh::Polyhedron::Polyhedron(), and libMesh::Elem::set_mapping_data().
|
protectedinherited |
Mapping function type; currently either 0 (LAGRANGE) or 1 (RATIONAL_BERNSTEIN).
Definition at line 2279 of file elem.h.
Referenced by libMesh::Elem::Elem(), libMesh::Elem::mapping_type(), libMesh::Polygon::Polygon(), libMesh::Polyhedron::Polyhedron(), and libMesh::Elem::set_mapping_type().
|
staticprotectedinherited |
Master element node locations.
Definition at line 214 of file cell_pyramid.h.
Referenced by libMesh::Pyramid::master_point().
|
staticprotectedinherited |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 137 of file reference_counter.h.
|
staticprotectedinherited |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 137 of file reference_counter.h.
|
staticprotectedinherited |
The number of objects.
Print the reference count information when the number returns to 0.
Definition at line 132 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 132 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().
Data for links to nodes.
Definition at line 260 of file cell_pyramid18.h.
|
protectedinherited |
Pointers to the nodes we are connected to.
Definition at line 2227 of file elem.h.
Referenced by libMesh::InfHex8::connectivity(), libMesh::InfPrism6::connectivity(), libMesh::Pyramid5::connectivity(), libMesh::Prism6::connectivity(), libMesh::Hex8::connectivity(), libMesh::InfPrism12::connectivity(), libMesh::InfHex16::connectivity(), libMesh::Tet4::connectivity(), libMesh::Hex20::connectivity(), libMesh::InfHex18::connectivity(), libMesh::Tet10::connectivity(), libMesh::Pyramid13::connectivity(), libMesh::Prism15::connectivity(), libMesh::Tet14::connectivity(), libMesh::Hex27::connectivity(), libMesh::Prism18::connectivity(), libMesh::Pyramid14::connectivity(), 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::Polygon::Polygon(), libMesh::Polyhedron::Polyhedron(), libMesh::Elem::set_node(), libMesh::Elem::true_centroid(), 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 2272 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 2262 of file elem.h.
Referenced by libMesh::Elem::hack_p_level_and_refinement_flag(), libMesh::Elem::p_refinement_flag(), and libMesh::Elem::set_p_refinement_flag().
|
protectedinherited |
h refinement flag.
This is stored as an unsigned char to save space.
Definition at line 2256 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 2249 of file elem.h.
Referenced by libMesh::Elem::subdomain_id().
|
staticprotectedinherited |
This maps the j^{th} node to the 3 or 4 edge ids adjacent to the node.
The edge numbering matches the ones used in the derived classes' edge_nodes_map. An edge index of 99 is used to indicate that there is no adjacent edge. This data structure is used in the Pyramid::edges_adjacent_to_node() override and is shared by all the derived Hex types.
Definition at line 235 of file cell_pyramid.h.
Referenced by libMesh::Pyramid::edges_adjacent_to_node().
Default tolerance to use in has_affine_map().
Definition at line 2042 of file elem.h.
Referenced by libMesh::Edge3::has_affine_map(), libMesh::Quad4::has_affine_map(), libMesh::Edge4::has_affine_map(), libMesh::Quad8::has_affine_map(), libMesh::Quad9::has_affine_map(), libMesh::Prism6::has_affine_map(), libMesh::Hex8::has_affine_map(), libMesh::Tri6::has_affine_map(), libMesh::C0Polygon::has_affine_map(), libMesh::Hex27::has_affine_map(), libMesh::Hex20::has_affine_map(), libMesh::Tet10::has_affine_map(), libMesh::Prism18::has_affine_map(), libMesh::Prism15::has_affine_map(), libMesh::Prism20::has_affine_map(), and libMesh::Prism21::has_affine_map().
|
static |
This maps the j^{th} node of the i^{th} edge to element node numbers.
Definition at line 245 of file cell_pyramid18.h.
Referenced by is_node_on_edge(), local_edge_node(), and nodes_on_edge().
|
staticinherited |
This maps each edge to the sides that contain said edge.
Definition at line 199 of file cell_pyramid.h.
Referenced by libMesh::Pyramid::is_edge_on_side(), and libMesh::Pyramid::sides_on_edge().
|
staticinherited |
An invalid id
to distinguish an uninitialized DofObject
.
Definition at line 482 of file dof_object.h.
Referenced by libMesh::DofMap::_dof_indices(), libMesh::DofMap::_node_dof_indices(), libMesh::Node::active(), libMesh::MeshBase::add_elem_datum(), libMesh::MeshBase::add_elem_integers(), libMesh::DofObject::add_extra_integers(), libMesh::StaticCondensation::add_matrix(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::TopologyMap::add_node(), libMesh::MeshRefinement::add_node(), libMesh::MeshBase::add_node_datum(), libMesh::MeshBase::add_node_integers(), libMesh::ReplicatedMesh::add_point(), libMesh::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::DofMap::assert_no_nodes_missed(), libMesh::Elem::bracketing_nodes(), ExtraIntegersTest::checkpoint_helper(), libMesh::StaticCondensation::clear(), 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_eim_approximation_on_interiors(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), libMesh::OldSolutionValue< Output, point_output >::eval_old_dofs(), libMesh::TopologyMap::find(), libMesh::DofMap::gather_constraints(), libMesh::MeshBase::get_elemset_code(), libMesh::StaticCondensation::init(), libMesh::ReplicatedMesh::insert_node(), libMesh::Poly2TriTriangulator::insert_refinement_points(), libMesh::Elem::interior_parent(), 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::XdrIO::pack_element(), libMesh::SFCPartitioner::partition_range(), libMesh::Elem::point(), libMesh::ExodusII_IO::read(), libMesh::System::read_legacy_data(), libMesh::DynaIO::read_mesh(), libMesh::System::read_parallel_data(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::SimplexRefiner::refine_via_edges(), 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(), ExtraIntegersTest::testExtraIntegersExodusReading(), InfFERadialTest::testRefinement(), DofObjectTest< Node >::testSetNSystemsExtraInts(), DofObjectTest< Node >::testSetNVariableGroupsExtraInts(), MeshTetTest::testTetInterfaceBase(), DofObjectTest< Node >::testValidId(), WriteElemsetData::testWriteImpl(), libMesh::Poly2TriTriangulator::triangulate_current_points(), libMesh::DofObject::valid_id(), libMesh::System::write_parallel_data(), and libMesh::XdrIO::write_serialized_connectivity().
|
staticinherited |
An invalid processor_id
to distinguish DoFs that have not been assigned to a processor.
Definition at line 493 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::MeshCommunication::allgather(), libMesh::Node::choose_processor_id(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubProjector::construct_projection(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::MeshTools::create_bounding_box(), libMesh::MeshTools::create_nodal_bounding_box(), 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::MeshBase::get_info(), libMesh::DistributedMesh::insert_elem(), 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_constraint_rows(), libMesh::MeshBase::n_elem_on_proc(), libMesh::MeshBase::n_nodes_on_proc(), libMesh::MeshBase::n_unpartitioned_elem(), libMesh::MeshBase::n_unpartitioned_nodes(), libMesh::SparsityPattern::Build::operator()(), libMesh::Partitioner::processor_pairs_to_interface_nodes(), libMesh::Nemesis_IO_Helper::read_var_names_impl(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::DistributedMesh::renumber_nodes_and_elements(), 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::LaplaceMeshSmoother::smooth(), 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::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 251 of file elem.h.
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::BoundaryInfo::add_elements(), libMesh::ReplicatedMesh::get_disconnected_subdomains(), libMesh::MeshBase::get_id_by_name(), libMesh::BoundaryInfo::sync(), and MeshSubdomainIDTest::testMultiple().
|
staticinherited |
An invalid unique_id
to distinguish an uninitialized DofObject
.
Definition at line 487 of file dof_object.h.
Referenced by libMesh::DistributedMesh::renumber_dof_objects(), libMesh::DofObject::unique_id(), and libMesh::DofObject::valid_unique_id().
|
protected |
Definition at line 274 of file cell_pyramid18.h.
|
staticinherited |
The maximum number of nodes any element can contain.
This is useful for replacing heap vectors with stack arrays.
Definition at line 661 of file elem.h.
Referenced by libMesh::Elem::Elem(), and ElemTest< elem_type >::test_static_data().
|
static |
Definition at line 233 of file cell_pyramid18.h.
Referenced by local_edge_node().
|
static |
Definition at line 232 of file cell_pyramid18.h.
Referenced by local_side_node().
|
staticinherited |
Definition at line 79 of file cell_pyramid.h.
|
staticinherited |
Definition at line 78 of file cell_pyramid.h.
|
static |
Geometric constants for Pyramid18.
Definition at line 231 of file cell_pyramid18.h.
Referenced by n_nodes().
|
staticinherited |
Geometric constants for all Pyramids.
Definition at line 77 of file cell_pyramid.h.
Referenced by libMesh::Pyramid14::center_node_on_side(), and center_node_on_side().
|
protectedinherited |
This object on the last mesh.
Useful for projecting solutions from one mesh to another.
Public access to old_dof_object is now officially deprecated and will be removed in future libMesh versions. Use the get_old_dof_object()
accessor instead.
Definition at line 88 of file dof_object.h.
Referenced by libMesh::DofObject::clear_old_dof_object(), libMesh::DofObject::get_old_dof_object(), libMesh::DofObject::get_old_dof_object_ref(), libMesh::DofObject::operator=(), libMesh::DofObject::pack_indexing(), libMesh::DofObject::packed_indexing_size(), libMesh::DofObject::set_old_dof_object(), and libMesh::DofObject::unpack_indexing().
|
static |
This maps the j^{th} node of the i^{th} side to element node numbers.
Definition at line 239 of file cell_pyramid18.h.
Referenced by build_side_ptr(), is_node_on_side(), local_side_node(), and nodes_on_side().
|
staticinherited |
This array maps the integer representation of the ElemType
enum to the default approximation order of elements of that type.
This is currently usable even for complicated subclasses with runtime-varying topology.
Definition at line 982 of file elem.h.
Referenced by SystemsTest::test2DProjectVectorFE(), SystemsTest::test3DProjectVectorFE(), and ElemTest< elem_type >::test_static_data().
|
staticinherited |
This array maps the integer representation of the ElemType
enum to the geometric dimension of the element.
This is currently usable even for complicated subclasses with runtime-varying topology.
Definition at line 635 of file elem.h.
Referenced by FETestBase< order, family, elem_type, 1 >::setUp(), SystemsTest::test2DProjectVectorFE(), SystemsTest::test3DProjectVectorFE(), ElemTest< elem_type >::test_static_data(), and PointLocatorTest::testLocator().
|
staticinherited |
This array maps the integer representation of the ElemType
enum to the number of edges on the element.
This is only usable for simple types for which the node number is fixed; for more general types like Polygon subclasses an actual instantiated Elem must be queried.
Definition at line 743 of file elem.h.
Referenced by ElemTest< elem_type >::test_static_data().
|
staticinherited |
This array maps the integer representation of the ElemType
enum to the number of nodes in the element.
This is only usable for simple types for which the node number is fixed; for more general types like Polygon subclasses an actual instantiated Elem must be queried.
Definition at line 650 of file elem.h.
Referenced by libMesh::DynaIO::ElementDefinition::ElementDefinition(), libMesh::FEAbstract::get_refspace_nodes(), libMesh::XdrIO::pack_element(), libMesh::CheckpointIO::read_connectivity(), libMesh::XdrIO::read_serialized_connectivity(), ElemTest< elem_type >::test_static_data(), MeshGenerationTest::testBuildCube(), MeshGenerationTest::testBuildLine(), and libMesh::ExodusII_IO_Helper::write_elements().
|
staticinherited |
This array maps the integer representation of the ElemType
enum to the number of sides on the element.
This is only usable for simple types for which the node number is fixed; for more general types like Polygon subclasses an actual instantiated Elem must be queried.
Definition at line 685 of file elem.h.
Referenced by ElemTest< elem_type >::test_static_data(), MeshGenerationTest::testBuildCube(), and MeshGenerationTest::testBuildSquare().