#include <mesh_base.h>
Classes | |
struct | const_element_iterator |
struct | const_node_iterator |
struct | element_iterator |
struct | node_iterator |
Public Types | |
typedef Predicates::multi_predicate | Predicate |
Public Attributes | |
std::unique_ptr< BoundaryInfo > | boundary_info |
Protected Member Functions | |
unsigned int & | set_n_partitions () |
Protected Attributes | |
unsigned int | _n_parts |
bool | _is_prepared |
std::unique_ptr< PointLocatorBase > | _point_locator |
bool | _count_lower_dim_elems_in_point_locator |
std::unique_ptr< Partitioner > | _partitioner |
unique_id_type | _next_unique_id |
bool | _skip_partitioning |
bool | _skip_renumber_nodes_and_elements |
bool | _allow_remote_element_removal |
std::map< subdomain_id_type, std::string > | _block_id_to_name |
std::set< unsigned char > | _elem_dims |
unsigned char | _spatial_dimension |
std::unique_ptr< GhostingFunctor > | _default_ghosting |
std::set< GhostingFunctor * > | _ghosting_functors |
const Parallel::Communicator & | _communicator |
Friends | |
class | Partitioner |
class | MeshInput< MeshBase > |
class | BoundaryInfo |
std::ostream & | operator<< (std::ostream &os, const MeshBase &m) |
Base class for Mesh.
This is the MeshBase
class. This class provides all the data necessary to describe a geometric entity. It allows for the description of a dim
dimensional object that lives in LIBMESH_DIM-dimensional
space.
Definition at line 77 of file mesh_base.h.
We need an empty, generic class to act as a predicate for this and derived mesh classes.
Definition at line 931 of file mesh_base.h.
libMesh::MeshBase::MeshBase | ( | const Parallel::Communicator & | comm_in, |
unsigned char | dim = 1 |
||
) |
Constructor. Takes dim
, the dimension of the mesh. The mesh dimension can be changed (and may automatically be changed by mesh generation/loading) later.
Definition at line 51 of file mesh_base.C.
References _default_ghosting, _elem_dims, _ghosting_functors, and libMesh::initialized().
libMesh::MeshBase::MeshBase | ( | const MeshBase & | other_mesh | ) |
Copy-constructor.
Definition at line 78 of file mesh_base.C.
References _default_ghosting, _ghosting_functors, and _partitioner.
|
default |
Move-constructor - this function is defaulted out-of-line (in the C file) to play nicely with our forward declarations.
|
virtual |
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshRefinement::_refine_elements(), libMesh::AbaqusIO::assign_sideset_ids(), libMesh::EquationSystems::build_discontinuous_solution_vector(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::BoundaryInfo::build_side_list_from_node_list(), cache_elem_dims(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::MeshTools::correct_node_proc_ids(), detect_interior_parents(), libMesh::MeshTools::Modification::distort(), DMlibMeshSetSystem_libMesh(), libMesh::TecplotIO::elem_dimension(), libMesh::MeshRefinement::eliminate_unrefined_patches(), libMesh::LocationMap< T >::fill(), libMesh::MeshTools::find_block_boundary_nodes(), libMesh::MeshTools::find_boundary_nodes(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_error_fraction(), libMesh::MeshRefinement::flag_elements_by_error_tolerance(), libMesh::MeshRefinement::flag_elements_by_mean_stddev(), libMesh::MeshTools::Modification::flatten(), libMesh::BoundaryInfo::get_side_and_node_maps(), libMesh::UNVIO::groups_in(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::MeshTools::libmesh_assert_canonical_node_procids(), libMesh::MeshTools::libmesh_assert_valid_elem_ids(), libMesh::MeshRefinement::limit_level_mismatch_at_edge(), libMesh::MeshRefinement::limit_level_mismatch_at_node(), libMesh::MeshRefinement::limit_overrefined_boundary(), libMesh::MeshRefinement::limit_underrefined_boundary(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshRefinement::make_refinement_compatible(), n_active_sub_elem(), libMesh::PointLocatorTree::perform_fuzzy_linear_search(), libMesh::PointLocatorTree::perform_linear_search(), libMesh::GmshIO::read_mesh(), libMesh::VariationalMeshSmoother::readgr(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::Tree< N >::Tree(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::MeshRefinement::uniformly_p_coarsen(), libMesh::MeshRefinement::uniformly_p_refine(), libMesh::MeshRefinement::uniformly_refine(), libMesh::FroIO::write(), libMesh::PostscriptIO::write(), libMesh::TetGenIO::write(), libMesh::MEDITIO::write_ascii(), libMesh::TecplotIO::write_ascii(), libMesh::GMVIO::write_ascii_new_impl(), libMesh::GMVIO::write_ascii_old_impl(), libMesh::TecplotIO::write_binary(), libMesh::GMVIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO_Helper::write_element_values(), libMesh::ExodusII_IO_Helper::write_elements(), libMesh::GmshIO::write_mesh(), libMesh::ExodusII_IO_Helper::write_nodal_coordinates(), libMesh::ExodusII_IO::write_nodal_data_discontinuous(), libMesh::GmshIO::write_post(), and libMesh::GnuPlotIO::write_solution().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Active, local, and negation forms of the element iterators described above. An "active" element is an element without children (i.e. has not been refined). A "local" element is one whose processor_id() matches the current processor.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshCommunication::make_elems_parallel_consistent().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshCommunication::make_elems_parallel_consistent().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::MeshRefinement::_refine_elements(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::VTKIO::cells_to_vtk(), libMesh::Nemesis_IO_Helper::compute_internal_and_border_elems_and_internal_nodes(), libMesh::Nemesis_IO_Helper::compute_num_global_elem_blocks(), libMesh::MeshRefinement::create_parent_error_vector(), libMesh::MeshTools::find_hanging_nodes_and_parents(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_error_fraction(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::LaplaceMeshSmoother::init(), libMesh::DofMap::max_constraint_error(), libMesh::FEMSystem::mesh_position_get(), libMesh::FEMSystem::mesh_position_set(), libMesh::MeshTools::n_active_local_levels(), libMesh::PointLocatorTree::perform_fuzzy_linear_search(), libMesh::PointLocatorTree::perform_linear_search(), recalculate_n_partitions(), subdomain_ids(), libMesh::MeshRefinement::test_level_one(), libMesh::MeshRefinement::test_unflagged(), libMesh::Tree< N >::Tree(), libMesh::EnsightIO::write_geometry_ascii(), libMesh::EnsightIO::write_scalar_ascii(), and libMesh::EnsightIO::write_vector_ascii().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::FEMSystem::assemble_qoi(), libMesh::FEMSystem::assemble_qoi_derivative(), libMesh::FEMSystem::assembly(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::FEMSystem::postprocess(), libMesh::DofMap::scatter_constraints(), and libMesh::Nemesis_IO_Helper::write_exodus_initialization_info().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::FEMSystem::assemble_qoi(), libMesh::FEMSystem::assemble_qoi_derivative(), libMesh::FEMSystem::assembly(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::FEMSystem::postprocess(), libMesh::DofMap::scatter_constraints(), and libMesh::Nemesis_IO_Helper::write_exodus_initialization_info().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshTools::create_subdomain_bounding_box(), DMCreateDomainDecomposition_libMesh(), and DMCreateFieldDecomposition_libMesh().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshTools::create_subdomain_bounding_box(), DMCreateDomainDecomposition_libMesh(), and DMCreateFieldDecomposition_libMesh().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Iterate over only the active nodes in the Mesh.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshRefinement::_refine_elements(), libMesh::DofMap::allgather_recursive_constraints(), and libMesh::DofMap::scatter_constraints().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshRefinement::_refine_elements(), libMesh::DofMap::allgather_recursive_constraints(), and libMesh::DofMap::scatter_constraints().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::UnstructuredMesh::create_pid_mesh(), libMesh::MeshCommunication::delete_remote_elements(), and n_active_elem_on_proc().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::UnstructuredMesh::create_pid_mesh(), libMesh::MeshCommunication::delete_remote_elements(), and n_active_elem_on_proc().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::TecplotIO::write_binary().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::TecplotIO::write_binary().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshTools::n_active_elem_of_type().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshTools::n_active_elem_of_type().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Iterate over active unpartitioned elements in the Mesh.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Add elem e
to the end of the element array. To add an element locally, set e->processor_id() before adding it. To ensure a specific element id, call e->set_id() before adding it; only do this in parallel if you are manually keeping ids consistent.
Users should call MeshBase::prepare_for_use() after elements are added to and/or deleted from the mesh.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::GMVIO::_read_one_cell(), libMesh::MeshTools::Subdivision::add_boundary_ghosts(), libMesh::MeshRefinement::add_elem(), libMesh::BoundaryInfo::add_elements(), libMesh::MeshTools::Modification::all_tri(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::TriangleWrapper::copy_tri_to_mesh(), libMesh::UnstructuredMesh::create_submesh(), libMesh::TetGenIO::element_in(), libMesh::UNVIO::elements_in(), libMesh::MeshTools::Modification::flatten(), libMesh::mesh_inserter_iterator< T >::operator=(), libMesh::TetGenMeshInterface::pointset_convexhull(), libMesh::Nemesis_IO::read(), libMesh::ExodusII_IO::read(), libMesh::VTKIO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::AbaqusIO::read_elements(), libMesh::UCDIO::read_implementation(), libMesh::GmshIO::read_mesh(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::OFFIO::read_stream(), libMesh::MatlabIO::read_stream(), libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole(), and libMesh::TetGenMeshInterface::triangulate_pointset().
|
inline |
Adds a functor which can specify ghosting requirements for use on distributed meshes. Multiple ghosting functors can be added; any element which is required by any functor will be ghosted.
GhostingFunctor memory must be managed by the code which calls this function; the GhostingFunctor lifetime is expected to extend until either the functor is removed or the Mesh is destructed.
Definition at line 823 of file mesh_base.h.
References _ghosting_functors.
Referenced by libMesh::DofMap::add_algebraic_ghosting_functor(), and libMesh::DofMap::add_coupling_functor().
Add Node
n
to the end of the vertex array.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Add a new Node
at Point
p
to the end of the vertex array, with processor_id procid
. Use DofObject::invalid_processor_id (default) to add a node to all processors, or this->processor_id() to add a node to the local processor only. If adding a node locally, passing an id
other than DofObject::invalid_id will set that specific node id. Only do this in parallel if you are manually keeping ids consistent.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshTools::Subdivision::add_boundary_ghosts(), libMesh::MeshRefinement::add_node(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::MeshTools::Generation::build_delaunay_square(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::TriangleWrapper::copy_tri_to_mesh(), libMesh::UnstructuredMesh::create_submesh(), libMesh::TetGenIO::node_in(), libMesh::UNVIO::nodes_in(), libMesh::mesh_inserter_iterator< T >::operator=(), libMesh::Nemesis_IO::read(), libMesh::ExodusII_IO::read(), libMesh::VTKIO::read(), libMesh::UCDIO::read_implementation(), libMesh::GmshIO::read_mesh(), libMesh::AbaqusIO::read_nodes(), libMesh::CheckpointIO::read_nodes(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::OFFIO::read_stream(), libMesh::MatlabIO::read_stream(), libMesh::BoundaryInfo::sync(), libMesh::TriangleInterface::triangulate(), and libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole().
|
pure virtual |
Converts a mesh with higher-order elements into a mesh with linear elements. For example, a mesh consisting of Tet10
will be converted to a mesh with Tet4
etc.
Implemented in libMesh::UnstructuredMesh.
|
pure virtual |
Converts a (conforming, non-refined) mesh with linear elements into a mesh with second-order elements. For example, a mesh consisting of Tet4
will be converted to a mesh with Tet10
etc.
Hex8
there exist two higher order equivalents, Hex20
and Hex27
. When full_ordered
is true
(default), then Hex27
is built. Otherwise, Hex20
is built. The same holds obviously for Quad4
, Prism6
, etc. Implemented in libMesh::UnstructuredMesh.
|
inlinevirtual |
Gathers all elements and nodes of the mesh onto every processor
Reimplemented in libMesh::DistributedMesh.
Definition at line 183 of file mesh_base.h.
Referenced by libMesh::EquationSystems::allgather(), and libMesh::MeshSerializer::MeshSerializer().
|
inline |
If false is passed in then this mesh will no longer have remote elements deleted when being prepared for use; i.e. even a DistributedMesh will remain (if it is already) serialized. This may adversely affect performance and memory use.
Definition at line 791 of file mesh_base.h.
References _allow_remote_element_removal.
Referenced by libMesh::UnstructuredMesh::copy_nodes_and_elements().
|
inline |
Definition at line 792 of file mesh_base.h.
References _allow_remote_element_removal.
Referenced by libMesh::UnstructuredMesh::copy_nodes_and_elements().
|
inline |
If false is passed in then this mesh will no longer be renumbered when being prepared for use. This may slightly adversely affect performance during subsequent element access, particularly when using a distributed mesh.
Important! When allow_renumbering(false) is set, ReplicatedMesh::n_elem() and ReplicatedMesh::n_nodes() will return wrong values whenever adaptive refinement is followed by adaptive coarsening. (Uniform refinement followed by uniform coarsening is OK.) This is due to the fact that n_elem() and n_nodes() are currently O(1) functions that just return the size of the respective underlying vectors, and this size is wrong when the numbering includes "gaps" from nodes and elements that have been deleted. We plan to implement a caching mechanism in the near future that will fix this incorrect behavior.
Definition at line 782 of file mesh_base.h.
References _skip_renumber_nodes_and_elements.
Referenced by libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::NameBasedIO::read(), and libMesh::GMVIO::read().
|
inline |
Definition at line 783 of file mesh_base.h.
References _skip_renumber_nodes_and_elements.
Referenced by libMesh::UnstructuredMesh::copy_nodes_and_elements(), prepare_for_use(), and libMesh::UnstructuredMesh::read().
|
pure virtual |
Iterate over elements for which elem->ancestor() is true.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshRefinement::make_coarsening_compatible(), and libMesh::MeshRefinement::uniformly_coarsen().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshRefinement::make_coarsening_compatible(), and libMesh::MeshRefinement::uniformly_coarsen().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Iterate over nodes for which BoundaryInfo::has_boundary_id(node, bndry_id) is true.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Iterate over nodes for which BoundaryInfo::n_boundary_ids(node) > 0.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
void libMesh::MeshBase::cache_elem_dims | ( | ) |
Search the mesh and cache the different dimensions of the elements present in the mesh. This is done in prepare_for_use(), but can be done manually by other classes after major mesh modifications.
Definition at line 574 of file mesh_base.C.
References _elem_dims, _spatial_dimension, active_element_ptr_range(), libMesh::ParallelObject::comm(), libMesh::Elem::dim(), elem(), mesh_dimension(), node(), node_ptr_range(), and libMesh::Parallel::Communicator::set_union().
Referenced by prepare_for_use().
|
virtual |
Deletes all the data that are currently stored.
Reimplemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Definition at line 260 of file mesh_base.C.
References _elem_dims, _is_prepared, _n_parts, boundary_info, and clear_point_locator().
Referenced by libMesh::MeshTools::Generation::build_delaunay_square(), libMesh::ReplicatedMesh::clear(), libMesh::DistributedMesh::clear(), libMesh::TriangleWrapper::copy_tri_to_mesh(), libMesh::UnstructuredMesh::create_submesh(), libMesh::AbaqusIO::read(), libMesh::ExodusII_IO::read(), libMesh::GMVIO::read(), libMesh::VTKIO::read(), libMesh::GmshIO::read_mesh(), libMesh::OFFIO::read_stream(), libMesh::MatlabIO::read_stream(), libMesh::BoundaryInfo::sync(), libMesh::TriangleInterface::triangulate(), and ~MeshBase().
void libMesh::MeshBase::clear_point_locator | ( | ) |
Releases the current PointLocator
object.
Definition at line 517 of file mesh_base.C.
References _point_locator.
Referenced by clear(), libMesh::UnstructuredMesh::contract(), libMesh::MeshCommunication::delete_remote_elements(), and prepare_for_use().
|
pure virtual |
Virtual "copy constructor"
Implemented in libMesh::DistributedMesh, libMesh::ReplicatedMesh, libMesh::ParallelMesh, and libMesh::SerialMesh.
Referenced by libMesh::ErrorVector::plot_error().
|
inlineinherited |
Parallel::Communicator
object used by this mesh. Definition at line 89 of file parallel_object.h.
References libMesh::ParallelObject::_communicator.
Referenced by libMesh::__libmesh_petsc_diff_solver_jacobian(), libMesh::__libmesh_petsc_diff_solver_monitor(), libMesh::__libmesh_petsc_diff_solver_residual(), libMesh::__libmesh_tao_equality_constraints(), libMesh::__libmesh_tao_equality_constraints_jacobian(), libMesh::__libmesh_tao_gradient(), libMesh::__libmesh_tao_hessian(), libMesh::__libmesh_tao_inequality_constraints(), libMesh::__libmesh_tao_inequality_constraints_jacobian(), libMesh::__libmesh_tao_objective(), libMesh::MeshRefinement::_coarsen_elements(), libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::SlepcEigenSolver< T >::_petsc_shell_matrix_get_diagonal(), libMesh::PetscLinearSolver< T >::_petsc_shell_matrix_get_diagonal(), libMesh::SlepcEigenSolver< T >::_petsc_shell_matrix_mult(), libMesh::PetscLinearSolver< T >::_petsc_shell_matrix_mult(), libMesh::PetscLinearSolver< T >::_petsc_shell_matrix_mult_add(), libMesh::EquationSystems::_read_impl(), libMesh::MeshRefinement::_refine_elements(), libMesh::MeshRefinement::_smooth_flags(), libMesh::PetscDMWrapper::add_dofs_helper(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::ImplicitSystem::add_matrix(), libMesh::System::add_vector(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::FEMSystem::assemble_qoi(), libMesh::MeshCommunication::assign_global_indices(), libMesh::DofMap::attach_matrix(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::PetscDMWrapper::build_section(), libMesh::PetscDMWrapper::build_sf(), cache_elem_dims(), libMesh::System::calculate_norm(), libMesh::DofMap::check_dirichlet_bcid_consistency(), libMesh::PetscDMWrapper::check_section_n_dofs(), libMesh::Nemesis_IO_Helper::compute_num_global_elem_blocks(), libMesh::Nemesis_IO_Helper::compute_num_global_nodesets(), libMesh::Nemesis_IO_Helper::compute_num_global_sidesets(), libMesh::Problem_Interface::computeF(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::MeshTools::create_bounding_box(), libMesh::MeshTools::create_nodal_bounding_box(), libMesh::MeshRefinement::create_parent_error_vector(), libMesh::MeshTools::create_processor_bounding_box(), libMesh::MeshTools::create_subdomain_bounding_box(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::DofMap::distribute_dofs(), DMlibMeshFunction(), DMlibMeshJacobian(), DMlibMeshSetSystem_libMesh(), DMVariableBounds_libMesh(), libMesh::MeshRefinement::eliminate_unrefined_patches(), libMesh::EpetraVector< T >::EpetraVector(), libMesh::WeightedPatchRecoveryErrorEstimator::estimate_error(), libMesh::PatchRecoveryErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_error_fraction(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::DofMap::get_info(), libMesh::ImplicitSystem::get_linear_solver(), libMesh::LocationMap< T >::init(), libMesh::TimeSolver::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), libMesh::EigenSystem::init_data(), libMesh::EigenSystem::init_matrices(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), libMesh::MeshTools::libmesh_assert_consistent_distributed(), libMesh::MeshTools::libmesh_assert_consistent_distributed_nodes(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), 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< Node >(), libMesh::MeshTools::libmesh_assert_valid_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_flags(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_object_ids(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_p_levels(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::MeshTools::libmesh_assert_valid_unique_ids(), libMesh::libmesh_petsc_snes_fd_residual(), libMesh::libmesh_petsc_snes_jacobian(), libMesh::libmesh_petsc_snes_mffd_residual(), libMesh::libmesh_petsc_snes_postcheck(), libMesh::libmesh_petsc_snes_residual(), libMesh::libmesh_petsc_snes_residual_helper(), libMesh::MeshRefinement::limit_level_mismatch_at_edge(), libMesh::MeshRefinement::limit_level_mismatch_at_node(), libMesh::MeshRefinement::limit_overrefined_boundary(), libMesh::MeshRefinement::limit_underrefined_boundary(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshCommunication::make_elems_parallel_consistent(), libMesh::MeshRefinement::make_flags_parallel_consistent(), libMesh::MeshCommunication::make_new_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_new_nodes_parallel_consistent(), libMesh::MeshCommunication::make_node_ids_parallel_consistent(), libMesh::MeshCommunication::make_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_node_unique_ids_parallel_consistent(), libMesh::MeshCommunication::make_nodes_parallel_consistent(), libMesh::MeshCommunication::make_p_levels_parallel_consistent(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::FEMSystem::mesh_position_set(), libMesh::DistributedMesh::n_active_elem(), libMesh::MeshTools::n_active_levels(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::CondensedEigenSystem::n_global_non_condensed_dofs(), libMesh::MeshTools::n_levels(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::MeshTools::n_p_levels(), libMesh::BoundaryInfo::n_shellface_conds(), libMesh::DistributedMesh::parallel_max_elem_id(), libMesh::DistributedMesh::parallel_max_node_id(), libMesh::ReplicatedMesh::parallel_max_unique_id(), libMesh::DistributedMesh::parallel_max_unique_id(), libMesh::DistributedMesh::parallel_n_elem(), libMesh::DistributedMesh::parallel_n_nodes(), libMesh::SparsityPattern::Build::parallel_sync(), libMesh::MeshTools::paranoid_n_levels(), libMesh::petsc_auto_fieldsplit(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), prepare_for_use(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::System::read_header(), libMesh::System::read_legacy_data(), libMesh::System::read_SCALAR_dofs(), libMesh::XdrIO::read_serialized_bc_names(), libMesh::XdrIO::read_serialized_bcs_helper(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::XdrIO::read_serialized_nodes(), libMesh::XdrIO::read_serialized_nodesets(), libMesh::XdrIO::read_serialized_subdomain_names(), libMesh::System::read_serialized_vector(), recalculate_n_partitions(), libMesh::MeshRefinement::refine_and_coarsen_elements(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::CheckpointIO::select_split_config(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::PetscDiffSolver::setup_petsc_data(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::split_mesh(), subdomain_ids(), libMesh::BoundaryInfo::sync(), libMesh::MeshRefinement::test_level_one(), libMesh::MeshRefinement::test_unflagged(), libMesh::MeshTools::total_weight(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::NameBasedIO::write(), libMesh::XdrIO::write(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), and libMesh::XdrIO::write_serialized_nodesets().
|
pure virtual |
Delete subactive (i.e. children of coarsened) elements. This removes all elements descended from currently active elements in the mesh.
Implemented in libMesh::UnstructuredMesh.
Referenced by libMesh::EquationSystems::reinit_solutions().
|
inline |
Default ghosting functor
Definition at line 847 of file mesh_base.h.
References _default_ghosting.
|
pure virtual |
Removes element e
from the mesh. This method must be implemented in derived classes in such a way that it does not invalidate element iterators. Users should call MeshBase::prepare_for_use() after elements are added to and/or deleted from the mesh.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshTools::Modification::all_tri(), libMesh::UnstructuredMesh::contract(), libMesh::TetGenMeshInterface::delete_2D_hull_elements(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::MeshTools::Modification::flatten(), libMesh::TetGenMeshInterface::pointset_convexhull(), libMesh::AbaqusIO::read(), libMesh::UNVIO::read_implementation(), and libMesh::GmshIO::read_mesh().
|
pure virtual |
Removes the Node n from the mesh.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::UnstructuredMesh::all_first_order(), and libMesh::MeshCommunication::delete_remote_elements().
|
inlinevirtual |
When supported, deletes all nonlocal elements of the mesh except for "ghosts" which touch a local element, and deletes all nodes which are not part of a local or ghost element
Reimplemented in libMesh::DistributedMesh.
Definition at line 196 of file mesh_base.h.
Referenced by libMesh::MeshTools::Generation::build_extrusion(), libMesh::UnstructuredMesh::create_submesh(), prepare_for_use(), libMesh::Nemesis_IO::read(), libMesh::BoundaryInfo::sync(), and libMesh::MeshSerializer::~MeshSerializer().
void libMesh::MeshBase::detect_interior_parents | ( | ) |
Search the mesh for elements that have a neighboring element of dim+1 and set that element as the interior parent
Definition at line 633 of file mesh_base.C.
References active_element_ptr_range(), libMesh::Elem::dim(), elem(), elem_dimensions(), elem_ptr(), elem_ref(), element_ptr_range(), libMesh::DofObject::id(), max_elem_id(), libMesh::Elem::n_vertices(), and libMesh::Elem::node_id().
Referenced by prepare_for_use().
|
inlinevirtual |
Definition at line 537 of file mesh_base.h.
References elem_ptr().
Referenced by cache_elem_dims(), libMesh::ReplicatedMesh::clear(), libMesh::DistributedMesh::clear(), libMesh::UnstructuredMesh::contract(), detect_interior_parents(), libMesh::DistributedMesh::DistributedMesh(), n_active_sub_elem(), n_sub_elem(), recalculate_n_partitions(), libMesh::DistributedMesh::renumber_nodes_and_elements(), and subdomain_ids().
|
inlinevirtual |
Definition at line 552 of file mesh_base.h.
References elem_ptr().
|
inline |
Definition at line 220 of file mesh_base.h.
References _elem_dims.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::System::calculate_norm(), detect_interior_parents(), and libMesh::TreeNode< N >::insert().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshTools::Subdivision::add_boundary_ghosts(), libMesh::BoundaryInfo::add_edge(), libMesh::BoundaryInfo::add_elements(), libMesh::BoundaryInfo::add_shellface(), libMesh::BoundaryInfo::add_side(), libMesh::MeshTools::Modification::change_boundary_id(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), detect_interior_parents(), elem(), elem_ref(), libMesh::UNVIO::groups_in(), libMesh::ErrorVector::is_active_elem(), libMesh::BoundaryInfo::operator=(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::Parallel::Packing< T >::unpack(), and libMesh::ExodusII_IO_Helper::write_sidesets().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
inlinevirtual |
Definition at line 504 of file mesh_base.h.
References elem_ptr().
Referenced by libMesh::SyncRefinementFlags::act_on_data(), libMesh::AbaqusIO::assign_sideset_ids(), libMesh::AbaqusIO::assign_subdomain_ids(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::Nemesis_IO_Helper::compute_num_global_sidesets(), detect_interior_parents(), libMesh::SyncRefinementFlags::gather_data(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::ExodusII_IO::read(), libMesh::CheckpointIO::read_remote_elem(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::FroIO::write(), libMesh::Nemesis_IO_Helper::write_elements(), libMesh::ExodusII_IO_Helper::write_elements(), libMesh::GmshIO::write_mesh(), and libMesh::ExodusII_IO_Helper::write_sidesets().
|
inlinevirtual |
Definition at line 513 of file mesh_base.h.
References elem_ptr().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::EquationSystems::_add_system_to_nodes_and_elems(), libMesh::MeshRefinement::_coarsen_elements(), libMesh::MeshRefinement::_refine_elements(), libMesh::BoundaryInfo::add_elements(), libMesh::MeshRefinement::add_p_to_h_refinement(), libMesh::UnstructuredMesh::all_first_order(), libMesh::MeshTools::Subdivision::all_subdivision(), libMesh::MeshTools::Modification::all_tri(), libMesh::EquationSystems::allgather(), libMesh::MeshCommunication::assign_global_indices(), libMesh::MeshTools::Generation::build_delaunay_square(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::MeshTools::build_nodes_to_elem_map(), libMesh::MeshTools::Modification::change_subdomain_id(), libMesh::TetGenMeshInterface::check_hull_integrity(), libMesh::MeshRefinement::clean_refinement_flags(), libMesh::MeshRefinement::coarsen_elements(), libMesh::UnstructuredMesh::contract(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::TetGenMeshInterface::delete_2D_hull_elements(), detect_interior_parents(), libMesh::MeshTools::elem_types(), libMesh::UNVIO::elements_out(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::MeshTools::Modification::flatten(), libMesh::MeshTools::get_not_subactive_node_ids(), libMesh::EquationSystems::init(), libMesh::MeshTools::libmesh_assert_connected_nodes(), libMesh::MeshTools::libmesh_assert_equal_n_systems(), libMesh::MeshTools::libmesh_assert_no_links_to_elem(), libMesh::MeshTools::libmesh_assert_old_dof_objects(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), 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::MeshTools::libmesh_assert_valid_neighbors(), libMesh::MeshTools::libmesh_assert_valid_node_pointers(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::MeshTools::libmesh_assert_valid_refinement_tree(), libMesh::MeshCommunication::make_new_node_proc_ids_parallel_consistent(), n_sub_elem(), libMesh::MeshTools::paranoid_n_levels(), libMesh::TetGenMeshInterface::pointset_convexhull(), libMesh::MeshTools::Subdivision::prepare_subdivision_mesh(), libMesh::AbaqusIO::read(), libMesh::UNVIO::read_implementation(), libMesh::MeshRefinement::refine_and_coarsen_elements(), libMesh::MeshRefinement::refine_elements(), libMesh::EquationSystems::reinit_solutions(), libMesh::MeshRefinement::switch_h_to_p_refinement(), libMesh::BoundaryInfo::sync(), libMesh::MeshTools::Subdivision::tag_boundary_ghosts(), libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole(), libMesh::CheckpointIO::write(), and libMesh::UCDIO::write_interior_elems().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Iterate over all the elements in the Mesh.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::VariationalMeshSmoother::adjust_adapt_data(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::DofMap::distribute_dofs(), libMesh::MeshRefinement::make_flags_parallel_consistent(), libMesh::MeshCommunication::make_new_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_node_ids_parallel_consistent(), libMesh::MeshCommunication::make_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_p_levels_parallel_consistent(), libMesh::Partitioner::single_partition(), libMesh::MeshTools::total_weight(), and libMesh::CheckpointIO::write().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::VariationalMeshSmoother::adjust_adapt_data(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::MeshRefinement::make_flags_parallel_consistent(), libMesh::MeshCommunication::make_new_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_node_ids_parallel_consistent(), libMesh::MeshCommunication::make_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_p_levels_parallel_consistent(), libMesh::MeshTools::total_weight(), and libMesh::CheckpointIO::write().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Iterate over elements in the Mesh where the solution (as distributed by the given DofMap) can be evaluated, for the given variable var_num, or for all variables by default.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Iterate over nodes in the Mesh where the solution (as distributed by the given DofMap) can be evaluated, for the given variable var_num, or for all variables by default.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Iterate over elements which are on or have a neighbor on the current processor.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Locate element face (edge in 2D) neighbors. This is done with the help of a std::map
that functions like a hash table. After this routine is called all the elements with a nullptr
neighbor pointer are guaranteed to be on the boundary. Thus this routine is useful for automatically determining the boundaries of the domain. If reset_remote_elements is left to false, remote neighbor links are not reset and searched for in the local mesh. If reset_current_list is left as true, then any existing links will be reset before initiating the algorithm, while honoring the value of the reset_remote_elements flag.
Implemented in libMesh::UnstructuredMesh.
Referenced by libMesh::InfElemBuilder::build_inf_elem(), and prepare_for_use().
|
pure virtual |
There is no reason for a user to ever call this function.
This function restores a previously broken element/node numbering such that mesh.node_ref(n)
.id() == n.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::EquationSystems::_read_impl().
|
pure virtual |
Iterate over all elements with a specified refinement flag.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Iterate over all elements with a specified refinement flag on a specified processor.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
inlinevirtual |
Gathers all elements and nodes of the mesh onto processor zero
Reimplemented in libMesh::DistributedMesh.
Definition at line 189 of file mesh_base.h.
Referenced by libMesh::MeshSerializer::MeshSerializer().
|
inline |
The information about boundary ids on the mesh
Definition at line 131 of file mesh_base.h.
References boundary_info.
Referenced by libMesh::MeshRefinement::_coarsen_elements(), libMesh::MeshTools::Subdivision::add_boundary_ghosts(), libMesh::UnstructuredMesh::all_first_order(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Subdivision::all_subdivision(), libMesh::MeshTools::Modification::all_tri(), libMesh::AbaqusIO::assign_boundary_node_ids(), libMesh::AbaqusIO::assign_sideset_ids(), libMesh::MeshTools::Generation::build_delaunay_square(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::MeshTools::Modification::change_boundary_id(), libMesh::DofMap::check_dirichlet_bcid_consistency(), libMesh::Nemesis_IO_Helper::compute_num_global_nodesets(), libMesh::Nemesis_IO_Helper::compute_num_global_sidesets(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::UnstructuredMesh::create_submesh(), libMesh::TetGenMeshInterface::delete_2D_hull_elements(), libMesh::ReplicatedMesh::delete_elem(), libMesh::DistributedMesh::delete_elem(), libMesh::ReplicatedMesh::delete_node(), libMesh::DistributedMesh::delete_node(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::DistributedMesh::DistributedMesh(), libMesh::MeshTools::Modification::flatten(), libMesh::UNVIO::groups_in(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::MeshTools::libmesh_assert_valid_boundary_ids(), libMesh::Parallel::Packing< T >::pack(), libMesh::Parallel::Packing< T >::packable_size(), libMesh::TetGenMeshInterface::pointset_convexhull(), libMesh::Nemesis_IO::prepare_to_write_nodal_data(), libMesh::AbaqusIO::read(), libMesh::Nemesis_IO::read(), libMesh::ExodusII_IO::read(), libMesh::CheckpointIO::read_bcs(), libMesh::CheckpointIO::read_header(), libMesh::GmshIO::read_mesh(), libMesh::CheckpointIO::read_nodesets(), libMesh::XdrIO::read_serialized_bcs_helper(), libMesh::XdrIO::read_serialized_nodesets(), libMesh::ReplicatedMesh::renumber_nodes_and_elements(), libMesh::DistributedMesh::renumber_nodes_and_elements(), libMesh::ReplicatedMesh::ReplicatedMesh(), libMesh::ReplicatedMesh::stitching_helper(), libMesh::BoundaryInfo::sync(), libMesh::Parallel::Packing< T >::unpack(), libMesh::FroIO::write(), libMesh::Nemesis_IO::write(), libMesh::ExodusII_IO::write(), libMesh::XdrIO::write(), libMesh::CheckpointIO::write(), libMesh::GmshIO::write_mesh(), libMesh::ExodusII_IO::write_nodal_data_common(), libMesh::ExodusII_IO_Helper::write_nodesets(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::XdrIO::write_serialized_nodesets(), and libMesh::ExodusII_IO_Helper::write_sidesets().
|
inline |
Writable information about boundary ids on the mesh
Definition at line 136 of file mesh_base.h.
References boundary_info.
bool libMesh::MeshBase::get_count_lower_dim_elems_in_point_locator | ( | ) | const |
Get the current value of _count_lower_dim_elems_in_point_locator.
Definition at line 531 of file mesh_base.C.
References _count_lower_dim_elems_in_point_locator.
Referenced by libMesh::TreeNode< N >::insert().
subdomain_id_type libMesh::MeshBase::get_id_by_name | ( | const std::string & | name | ) | const |
Elem::invalid_subdomain_id
otherwise. Definition at line 558 of file mesh_base.C.
References _block_id_to_name, libMesh::Elem::invalid_subdomain_id, and libMesh::Quality::name().
std::string libMesh::MeshBase::get_info | ( | ) | const |
Definition at line 378 of file mesh_base.C.
References _elem_dims, n_active_elem(), n_elem(), n_local_elem(), n_local_nodes(), n_nodes(), n_partitions(), libMesh::ParallelObject::n_processors(), n_subdomains(), libMesh::n_threads(), libMesh::ParallelObject::processor_id(), and spatial_dimension().
Referenced by print_info().
|
inline |
Definition at line 1337 of file mesh_base.h.
References _block_id_to_name.
Referenced by libMesh::XdrIO::write_serialized_subdomain_names(), and libMesh::CheckpointIO::write_subdomain_names().
|
pure virtual |
Iterate over "ghost" elements in the Mesh. A ghost element is one which is not local, but is semilocal.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
inline |
Beginning of range of ghosting functors
Definition at line 835 of file mesh_base.h.
References _ghosting_functors.
Referenced by libMesh::UnstructuredMesh::contract(), libMesh::MeshCommunication::delete_remote_elements(), and libMesh::query_ghosting_functors().
|
inline |
End of range of ghosting functors
Definition at line 841 of file mesh_base.h.
References _ghosting_functors.
Referenced by libMesh::UnstructuredMesh::contract(), libMesh::MeshCommunication::delete_remote_elements(), and libMesh::query_ghosting_functors().
Insert elem e
to the element array, preserving its id and replacing/deleting any existing element with the same id.
Users should call MeshBase::prepare_for_use() after elements are added to and/or deleted from the mesh.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::UnstructuredMesh::all_first_order(), libMesh::UnstructuredMesh::all_second_order(), and libMesh::MeshTools::Subdivision::all_subdivision().
Insert Node
n
into the Mesh at a location consistent with n->id(), allocating extra storage if necessary. Will error rather than overwriting an existing Node. Primarily intended for use with the mesh_inserter_iterator, only use if you know what you are doing...
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::mesh_inserter_iterator< T >::operator=().
|
inline |
true
if the mesh has been prepared via a call to prepare_for_use
, false
otherwise. Definition at line 147 of file mesh_base.h.
References _is_prepared.
Referenced by libMesh::DofMap::create_dof_constraints().
|
inlinevirtual |
true
if new elements and nodes can and should be created in synchronization on all processors, false
otherwise Reimplemented in libMesh::DistributedMesh.
Definition at line 176 of file mesh_base.h.
Referenced by libMesh::MeshRefinement::_refine_elements(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::CheckpointIO::read(), and libMesh::MeshRefinement::uniformly_coarsen().
|
inlinevirtual |
true
if all elements and nodes of the mesh exist on the current processor, false
otherwise Reimplemented in libMesh::DistributedMesh.
Definition at line 154 of file mesh_base.h.
Referenced by libMesh::MeshRefinement::_coarsen_elements(), libMesh::MeshRefinement::_smooth_flags(), libMesh::BoundaryInfo::add_elements(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::EquationSystems::allgather(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::DofMap::create_dof_constraints(), libMesh::UnstructuredMesh::create_submesh(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::LocationMap< T >::init(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshSerializer::MeshSerializer(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::BoundaryInfo::n_shellface_conds(), partition(), prepare_for_use(), libMesh::Nemesis_IO::read(), libMesh::DofMap::scatter_constraints(), libMesh::BoundaryInfo::sync(), libMesh::MeshTools::total_weight(), libMesh::CheckpointIO::write(), and libMesh::XdrIO::write_parallel().
|
inlinevirtual |
true
if all elements and nodes of the mesh exist on the processor 0, false
otherwise Reimplemented in libMesh::DistributedMesh.
Definition at line 161 of file mesh_base.h.
|
pure virtual |
Iterate over elements of a given level.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshCommunication::delete_remote_elements(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::XdrIO::read_serialized_bcs_helper(), and libMesh::MeshTools::Modification::smooth().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshCommunication::delete_remote_elements(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::XdrIO::read_serialized_bcs_helper(), and libMesh::MeshTools::Modification::smooth().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
inlinevirtual |
Verify id and processor_id consistency of our elements and nodes containers. Calls libmesh_assert() on each possible failure. Currently only implemented on DistributedMesh; a serial data structure is much harder to get out of sync.
Reimplemented in libMesh::DistributedMesh.
Definition at line 1007 of file mesh_base.h.
Referenced by libMesh::MeshRefinement::_refine_elements(), libMesh::InfElemBuilder::build_inf_elem(), and libMesh::MeshRefinement::refine_and_coarsen_elements().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshCommunication::assign_global_indices(), libMesh::MeshCommunication::check_for_duplicate_global_indices(), libMesh::DofMap::create_dof_constraints(), libMesh::MeshTools::create_local_bounding_box(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_remote_elems(), libMesh::MeshTools::n_local_levels(), and libMesh::MeshTools::n_p_levels().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshCommunication::assign_global_indices(), libMesh::MeshCommunication::check_for_duplicate_global_indices(), libMesh::DofMap::create_dof_constraints(), libMesh::MeshTools::create_local_bounding_box(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_remote_elems(), libMesh::MeshTools::n_local_levels(), and libMesh::MeshTools::n_p_levels().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::XdrIO::write_serialized_bcs_helper(), and libMesh::XdrIO::write_serialized_connectivity().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::XdrIO::write_serialized_bcs_helper(), and libMesh::XdrIO::write_serialized_connectivity().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshTools::correct_node_proc_ids(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Node >(), libMesh::VTKIO::nodes_to_vtk(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::XdrIO::write_serialized_nodes(), and libMesh::XdrIO::write_serialized_nodesets().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Iterate over local nodes (nodes whose processor_id() matches the current processor).
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshCommunication::assign_global_indices(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::MeshCommunication::check_for_duplicate_global_indices(), and libMesh::MeshTools::create_nodal_bounding_box().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshCommunication::assign_global_indices(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::MeshCommunication::check_for_duplicate_global_indices(), and libMesh::MeshTools::create_nodal_bounding_box().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::BoundaryInfo::add_elements(), libMesh::MeshTools::Modification::all_tri(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::MeshCommunication::delete_remote_elements(), detect_interior_parents(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), 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_valid_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::MeshTools::libmesh_assert_valid_unique_ids(), and libMesh::GmshIO::write_mesh().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::UnstructuredMesh::all_first_order(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::MeshTools::Modification::distort(), libMesh::MeshTools::find_boundary_nodes(), libMesh::LaplaceMeshSmoother::init(), libMesh::MeshTools::libmesh_assert_consistent_distributed(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_unique_ids(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::XdrIO::write(), libMesh::GMVIO::write_ascii_old_impl(), and libMesh::XdrIO::write_serialized_nodes().
unsigned int libMesh::MeshBase::mesh_dimension | ( | ) | const |
Definition at line 126 of file mesh_base.C.
References _elem_dims.
Referenced by libMesh::HPCoarsenTest::add_projection(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::EquationSystems::build_discontinuous_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::EquationSystems::build_variable_names(), cache_elem_dims(), libMesh::DofMap::create_dof_constraints(), libMesh::MeshTools::Modification::distort(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::LaplaceMeshSmoother::init(), libMesh::PointLocatorTree::init(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::Nemesis_IO::read(), libMesh::ExodusII_IO::read(), libMesh::GMVIO::read(), libMesh::VTKIO::read(), libMesh::System::read_header(), libMesh::UCDIO::read_implementation(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::MeshTools::Modification::smooth(), libMesh::PostscriptIO::write(), libMesh::CheckpointIO::write(), libMesh::TecplotIO::write_binary(), libMesh::GMVIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::UCDIO::write_implementation(), libMesh::UCDIO::write_nodal_data(), libMesh::EnsightIO::write_scalar_ascii(), libMesh::GnuPlotIO::write_solution(), and libMesh::EnsightIO::write_vector_ascii().
|
pure virtual |
Implemented in terms of active_element_iterators.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_error_tolerance(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::MeshTools::Modification::flatten(), get_info(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::VariationalMeshSmoother::metr_data_gen(), libMesh::VariationalMeshSmoother::smooth(), libMesh::GMVIO::write_ascii_new_impl(), libMesh::GMVIO::write_ascii_old_impl(), libMesh::GMVIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO_Helper::write_elements(), libMesh::GmshIO::write_mesh(), and libMesh::GnuPlotIO::write_solution().
dof_id_type libMesh::MeshBase::n_active_elem_on_proc | ( | const processor_id_type | proc | ) | const |
proc
. Definition at line 345 of file mesh_base.C.
References active_pid_elements_begin(), active_pid_elements_end(), and libMesh::ParallelObject::n_processors().
Referenced by n_active_local_elem().
|
inline |
Definition at line 403 of file mesh_base.h.
References n_active_elem_on_proc(), and libMesh::ParallelObject::processor_id().
Referenced by libMesh::VTKIO::cells_to_vtk().
dof_id_type libMesh::MeshBase::n_active_sub_elem | ( | ) | const |
Same as n_sub_elem()
, but only counts active elements.
Definition at line 366 of file mesh_base.C.
References active_element_ptr_range(), elem(), and libMesh::Elem::n_sub_elem().
Referenced by libMesh::TecplotIO::write_ascii(), libMesh::GMVIO::write_ascii_old_impl(), and libMesh::TecplotIO::write_binary().
|
pure virtual |
The standard n_elem() function may return a cached value on distributed meshes, and so can be called by any processor at any time.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshTools::Subdivision::add_boundary_ghosts(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Subdivision::all_subdivision(), libMesh::MeshTools::Modification::all_tri(), libMesh::MeshCommunication::assign_global_indices(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::MeshTools::build_nodes_to_elem_map(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::TetGenMeshInterface::check_hull_integrity(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::DofMap::create_dof_constraints(), libMesh::UnstructuredMesh::create_submesh(), libMesh::MeshTools::Modification::distort(), get_info(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read(), libMesh::System::read_serialized_vector(), libMesh::System::read_serialized_vectors(), libMesh::MeshTools::Modification::redistribute(), libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole(), libMesh::FroIO::write(), libMesh::TetGenIO::write(), libMesh::XdrIO::write(), libMesh::ExodusII_IO_Helper::write_element_values(), libMesh::UCDIO::write_implementation(), libMesh::UCDIO::write_nodal_data(), libMesh::XdrIO::write_serialized_connectivity(), and libMesh::System::write_serialized_vectors().
dof_id_type libMesh::MeshBase::n_elem_on_proc | ( | const processor_id_type | proc | ) | const |
proc
. Definition at line 332 of file mesh_base.C.
References libMesh::DofObject::invalid_processor_id, libMesh::ParallelObject::n_processors(), pid_elements_begin(), and pid_elements_end().
Referenced by n_local_elem(), and n_unpartitioned_elem().
|
inline |
Definition at line 386 of file mesh_base.h.
References n_elem_on_proc(), and libMesh::ParallelObject::processor_id().
Referenced by get_info(), and libMesh::DistributedMesh::parallel_n_elem().
|
inline |
Definition at line 286 of file mesh_base.h.
References n_nodes_on_proc(), and libMesh::ParallelObject::processor_id().
Referenced by get_info(), libMesh::VTKIO::nodes_to_vtk(), and libMesh::DistributedMesh::parallel_n_nodes().
|
pure virtual |
This function and others must be defined in derived classes since the MeshBase class has no specific storage for nodes or elements. The standard n_nodes()
function may return a cached value on distributed meshes, and so can be called by any processor at any time.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshCommunication::assign_global_indices(), libMesh::MeshTools::Generation::build_delaunay_square(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::MeshTools::build_nodes_to_elem_map(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::UnstructuredMesh::create_submesh(), libMesh::MeshTools::Modification::distort(), libMesh::TetGenMeshInterface::fill_pointlist(), get_info(), libMesh::TreeNode< N >::insert(), libMesh::MeshRefinement::limit_level_mismatch_at_node(), libMesh::VariationalMeshSmoother::metr_data_gen(), libMesh::Nemesis_IO::read(), libMesh::UCDIO::read_implementation(), libMesh::AbaqusIO::read_nodes(), libMesh::XdrIO::read_serialized_nodes(), libMesh::System::read_serialized_vector(), libMesh::System::read_serialized_vectors(), libMesh::MeshTools::Modification::redistribute(), libMesh::MeshTools::Modification::smooth(), libMesh::VariationalMeshSmoother::smooth(), libMesh::TreeNode< N >::transform_nodes_to_elements(), libMesh::TriangleInterface::triangulate(), libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole(), libMesh::FroIO::write(), libMesh::TetGenIO::write(), libMesh::MEDITIO::write_ascii(), libMesh::TecplotIO::write_ascii(), libMesh::GMVIO::write_ascii_new_impl(), libMesh::GMVIO::write_ascii_old_impl(), libMesh::TecplotIO::write_binary(), libMesh::GMVIO::write_binary(), libMesh::UCDIO::write_header(), libMesh::GmshIO::write_mesh(), libMesh::VTKIO::write_nodal_data(), libMesh::ExodusII_IO::write_nodal_data(), libMesh::GmshIO::write_post(), libMesh::System::write_serialized_vectors(), libMesh::UCDIO::write_soln(), and libMesh::VariationalMeshSmoother::writegr().
dof_id_type libMesh::MeshBase::n_nodes_on_proc | ( | const processor_id_type | proc | ) | const |
proc
. Definition at line 319 of file mesh_base.C.
References libMesh::DofObject::invalid_processor_id, libMesh::ParallelObject::n_processors(), pid_nodes_begin(), and pid_nodes_end().
Referenced by n_local_nodes(), and n_unpartitioned_nodes().
|
inline |
Definition at line 875 of file mesh_base.h.
References _n_parts.
Referenced by get_info(), libMesh::BoundaryInfo::sync(), libMesh::NameBasedIO::write(), libMesh::GMVIO::write_ascii_new_impl(), and libMesh::GMVIO::write_ascii_old_impl().
|
inlineinherited |
Definition at line 95 of file parallel_object.h.
References libMesh::ParallelObject::_communicator, and libMesh::Parallel::Communicator::size().
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DistributedMesh::add_elem(), libMesh::DistributedMesh::add_node(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::FEMSystem::assembly(), libMesh::AztecLinearSolver< T >::AztecLinearSolver(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::DistributedMesh::clear(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::UnstructuredMesh::create_pid_mesh(), libMesh::MeshTools::create_processor_bounding_box(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::EnsightIO::EnsightIO(), get_info(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), libMesh::Nemesis_IO_Helper::initialize(), libMesh::DistributedMesh::insert_elem(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), 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< Node >(), libMesh::MeshTools::libmesh_assert_valid_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::DofMap::local_variable_indices(), libMesh::MeshRefinement::make_coarsening_compatible(), n_active_elem_on_proc(), n_elem_on_proc(), n_nodes_on_proc(), partition(), libMesh::PetscLinearSolver< T >::PetscLinearSolver(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::NameBasedIO::read(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::XdrIO::read_header(), libMesh::CheckpointIO::read_nodes(), libMesh::System::read_parallel_data(), libMesh::System::read_SCALAR_dofs(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::System::read_serialized_vector(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::GMVIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::System::write_parallel_data(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), and libMesh::XdrIO::write_serialized_nodesets().
dof_id_type libMesh::MeshBase::n_sub_elem | ( | ) | const |
For example, a 9-noded quadrilateral will be broken into 4 linear sub-elements for plotting purposes. Thus, for a mesh of 2 QUAD9
elements n_tecplot_elem()
will return 8. Implemented in terms of element_iterators.
Definition at line 354 of file mesh_base.C.
References elem(), element_ptr_range(), and libMesh::Elem::n_sub_elem().
subdomain_id_type libMesh::MeshBase::n_subdomains | ( | ) | const |
Definition at line 304 of file mesh_base.C.
References subdomain_ids().
Referenced by get_info(), libMesh::XdrIO::write(), and libMesh::NameBasedIO::write_nodal_data().
|
inline |
Definition at line 392 of file mesh_base.h.
References libMesh::DofObject::invalid_processor_id, and n_elem_on_proc().
Referenced by libMesh::DistributedMesh::parallel_n_elem(), and partition().
|
inline |
Definition at line 292 of file mesh_base.h.
References libMesh::DofObject::invalid_processor_id, and n_nodes_on_proc().
Referenced by libMesh::DistributedMesh::parallel_n_nodes().
|
inline |
Definition at line 305 of file mesh_base.h.
References _next_unique_id.
|
inlinevirtual |
Definition at line 454 of file mesh_base.h.
References node_ptr().
Referenced by libMesh::UnstructuredMesh::all_first_order(), cache_elem_dims(), libMesh::ReplicatedMesh::clear(), libMesh::DistributedMesh::clear(), and libMesh::ReplicatedMesh::renumber_nodes_and_elements().
|
inlinevirtual |
Definition at line 468 of file mesh_base.h.
References node_ptr().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::GMVIO::_read_one_cell(), libMesh::MeshRefinement::add_node(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::AbaqusIO::assign_boundary_node_ids(), libMesh::TetGenMeshInterface::assign_nodes_to_elem(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::MeshTools::Modification::change_boundary_id(), libMesh::Nemesis_IO_Helper::compute_num_global_nodesets(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::TriangleWrapper::copy_tri_to_mesh(), libMesh::UnstructuredMesh::create_submesh(), libMesh::TetGenIO::element_in(), node(), node_ref(), libMesh::BoundaryInfo::operator=(), libMesh::Nemesis_IO::read(), libMesh::ExodusII_IO::read(), libMesh::VTKIO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::AbaqusIO::read_elements(), libMesh::UCDIO::read_implementation(), libMesh::GmshIO::read_mesh(), libMesh::OFFIO::read_stream(), libMesh::MatlabIO::read_stream(), libMesh::DofMap::scatter_constraints(), libMesh::BoundaryInfo::sync(), libMesh::Parallel::Packing< T >::unpack(), and libMesh::CheckpointIO::write_nodesets().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::EquationSystems::_add_system_to_nodes_and_elems(), libMesh::UnstructuredMesh::all_first_order(), libMesh::EquationSystems::allgather(), libMesh::MeshCommunication::assign_global_indices(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::BoundaryInfo::build_node_list_from_side_list(), cache_elem_dims(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::LocationMap< T >::fill(), libMesh::TetGenMeshInterface::fill_pointlist(), libMesh::LocationMap< T >::init(), libMesh::EquationSystems::init(), libMesh::MeshTools::libmesh_assert_connected_nodes(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_equal_n_systems(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Node >(), libMesh::UNVIO::nodes_out(), libMesh::MeshTools::Subdivision::prepare_subdivision_mesh(), libMesh::XdrIO::read_serialized_nodes(), libMesh::XdrIO::read_serialized_nodesets(), libMesh::VariationalMeshSmoother::readgr(), libMesh::MeshTools::Modification::redistribute(), libMesh::EquationSystems::reinit_solutions(), libMesh::MeshTools::Modification::rotate(), libMesh::MeshTools::Modification::scale(), libMesh::BoundaryInfo::sync(), libMesh::MeshTools::Modification::translate(), libMesh::Tree< N >::Tree(), libMesh::TriangleInterface::triangulate(), libMesh::ExodusII_IO_Helper::write_nodal_coordinates(), libMesh::ExodusII_IO::write_nodal_data(), libMesh::UCDIO::write_nodes(), and libMesh::VariationalMeshSmoother::writegr().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
inlinevirtual |
Definition at line 434 of file mesh_base.h.
References node_ptr().
Referenced by libMesh::SyncNodalPositions::act_on_data(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::ReplicatedMesh::point(), libMesh::DistributedMesh::point(), libMesh::XdrIO::read_serialized_nodes(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::MeshTools::Modification::smooth(), libMesh::ReplicatedMesh::stitching_helper(), and libMesh::GmshIO::write_mesh().
|
inlinevirtual |
Definition at line 442 of file mesh_base.h.
References node_ptr().
|
pure virtual |
Iterate over all the nodes in the Mesh.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshTools::correct_node_proc_ids(), libMesh::DofMap::distribute_dofs(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::MeshCommunication::make_node_unique_ids_parallel_consistent(), libMesh::FEMSystem::mesh_position_set(), and libMesh::LaplaceMeshSmoother::smooth().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshTools::correct_node_proc_ids(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::MeshCommunication::make_node_unique_ids_parallel_consistent(), libMesh::FEMSystem::mesh_position_set(), and libMesh::LaplaceMeshSmoother::smooth().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Copy and move assignment are not allowed because MeshBase subclasses manually manage memory (Elems and Nodes) and therefore the default versions of these operators would leak memory. Since we don't want to maintain non-default copy and move assignment operators at this time, the safest and most self-documenting approach is to delete them.
|
inlinevirtual |
Takes ownership of node n
on this partition of a distributed mesh, by setting n.processor_id() to this->processor_id(), as well as changing n.id() and moving it in the mesh's internal container to give it a new authoritative id.
Reimplemented in libMesh::DistributedMesh.
Definition at line 639 of file mesh_base.h.
Referenced by libMesh::UnstructuredMesh::all_second_order().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::BoundaryInfo::add_elements(), libMesh::MeshTools::Modification::all_tri(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::InfElemBuilder::build_inf_elem(), and libMesh::DistributedMesh::DistributedMesh().
|
pure virtual |
The parallel_n_elem() function computes a parallel-synchronized value on distributed meshes, and so must be called in parallel only.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::Nemesis_IO_Helper::initialize(), and libMesh::Nemesis_IO::read().
|
pure virtual |
This function and others must be overridden in derived classes since the MeshBase class has no specific storage for nodes or elements. The parallel_n_nodes()
function computes a parallel-synchronized value on distributed meshes, and so must be called in parallel only.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::Nemesis_IO_Helper::initialize(), and libMesh::Nemesis_IO::read().
|
virtual |
Call the default partitioner (currently metis_partition()
).
Definition at line 426 of file mesh_base.C.
References libMesh::MeshTools::correct_node_proc_ids(), is_serial(), n_unpartitioned_elem(), partitioner(), recalculate_n_partitions(), skip_partitioning(), and update_post_partitioning().
Referenced by libMesh::split_mesh().
|
inline |
Definition at line 749 of file mesh_base.h.
References libMesh::ParallelObject::n_processors().
Referenced by prepare_for_use().
|
inlinevirtual |
A partitioner to use at each prepare_for_use()
Definition at line 126 of file mesh_base.h.
References _partitioner.
Referenced by partition(), and libMesh::BoundaryInfo::sync().
|
pure virtual |
Iterate over all elements with a specified processor id.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::MeshTools::create_bounding_box(), libMesh::MeshTools::create_processor_bounding_box(), libMesh::MeshCommunication::delete_remote_elements(), n_elem_on_proc(), and libMesh::MeshTools::weight().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::MeshTools::create_bounding_box(), libMesh::MeshTools::create_processor_bounding_box(), libMesh::MeshCommunication::delete_remote_elements(), n_elem_on_proc(), and libMesh::MeshTools::weight().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Iterate over nodes with processor_id() == proc_id
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshTools::create_nodal_bounding_box(), and n_nodes_on_proc().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshTools::create_nodal_bounding_box(), and n_nodes_on_proc().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::VTKIO::cells_to_vtk(), libMesh::SyncNodalPositions::gather_data(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::FroIO::write(), libMesh::TetGenIO::write(), libMesh::MEDITIO::write_ascii(), libMesh::TecplotIO::write_ascii(), libMesh::GMVIO::write_ascii_new_impl(), libMesh::GMVIO::write_ascii_old_impl(), libMesh::TecplotIO::write_binary(), libMesh::GMVIO::write_binary(), and libMesh::GnuPlotIO::write_solution().
const PointLocatorBase & libMesh::MeshBase::point_locator | ( | ) | const |
PointLocatorBase
object for this mesh, constructing a master PointLocator first if necessary.Definition at line 479 of file mesh_base.C.
References _point_locator, libMesh::PointLocatorBase::build(), libMesh::Threads::in_threads, and libMesh::TREE_ELEMENTS.
void libMesh::MeshBase::prepare_for_use | ( | const bool | skip_renumber_nodes_and_elements = false , |
const bool | skip_find_neighbors = false |
||
) |
Prepare a newly created (or read) mesh for use. This involves 4 steps: 1.) call find_neighbors()
2.) call partition()
3.) call renumber_nodes_and_elements()
4.) call cache_elem_dims()
The argument to skip renumbering is now deprecated - to prevent a mesh from being renumbered, set allow_renumbering(false).
If this is a distributed mesh, local copies of remote elements will be deleted here - to keep those elements replicated during preparation, set allow_remote_element_removal(false).
Definition at line 152 of file mesh_base.C.
References _allow_remote_element_removal, _ghosting_functors, _is_prepared, _skip_renumber_nodes_and_elements, allow_renumbering(), cache_elem_dims(), clear_point_locator(), libMesh::ParallelObject::comm(), delete_remote_elements(), detect_interior_parents(), find_neighbors(), is_serial(), libMesh::MeshTools::libmesh_assert_valid_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_unique_ids(), partition(), renumber_nodes_and_elements(), and update_parallel_id_counts().
Referenced by libMesh::UnstructuredMesh::all_first_order(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Subdivision::all_subdivision(), libMesh::MeshTools::Modification::all_tri(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::MeshRefinement::coarsen_elements(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::UnstructuredMesh::create_submesh(), libMesh::MeshTools::Modification::flatten(), libMesh::MeshTools::Subdivision::prepare_subdivision_mesh(), libMesh::GMVIO::read(), libMesh::UnstructuredMesh::read(), libMesh::MeshRefinement::refine_and_coarsen_elements(), libMesh::MeshRefinement::refine_elements(), libMesh::ReplicatedMesh::stitching_helper(), libMesh::BoundaryInfo::sync(), libMesh::TriangleInterface::triangulate(), libMesh::MeshRefinement::uniformly_coarsen(), and libMesh::MeshRefinement::uniformly_refine().
void libMesh::MeshBase::print_info | ( | std::ostream & | os = libMesh::out | ) | const |
Prints relevant information about the mesh.
Definition at line 412 of file mesh_base.C.
References get_info().
Referenced by libMesh::InfElemBuilder::build_inf_elem(), and libMesh::operator<<().
|
inlineinherited |
Definition at line 101 of file parallel_object.h.
References libMesh::ParallelObject::_communicator, and libMesh::Parallel::Communicator::rank().
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::EquationSystems::_read_impl(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DistributedMesh::add_elem(), libMesh::BoundaryInfo::add_elements(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::DistributedMesh::add_node(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::FEMSystem::assembly(), libMesh::EquationSystems::build_discontinuous_solution_vector(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::DistributedMesh::clear(), libMesh::ExodusII_IO_Helper::close(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::compute_communication_map_parameters(), libMesh::Nemesis_IO_Helper::compute_internal_and_border_elems_and_internal_nodes(), libMesh::Nemesis_IO_Helper::compute_node_communication_maps(), libMesh::Nemesis_IO_Helper::compute_num_global_elem_blocks(), libMesh::Nemesis_IO_Helper::compute_num_global_nodesets(), libMesh::Nemesis_IO_Helper::compute_num_global_sidesets(), libMesh::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::ExodusII_IO_Helper::create(), libMesh::DistributedMesh::delete_elem(), libMesh::DistributedMesh::delete_node(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::DistributedMesh::DistributedMesh(), libMesh::DofMap::end_dof(), libMesh::DofMap::end_old_dof(), libMesh::EnsightIO::EnsightIO(), libMesh::MeshFunction::find_element(), libMesh::MeshFunction::find_elements(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::DofMap::first_dof(), libMesh::DofMap::first_old_dof(), libMesh::Nemesis_IO_Helper::get_cmap_params(), libMesh::Nemesis_IO_Helper::get_eb_info_global(), libMesh::Nemesis_IO_Helper::get_elem_cmap(), libMesh::Nemesis_IO_Helper::get_elem_map(), get_info(), libMesh::DofMap::get_info(), libMesh::Nemesis_IO_Helper::get_init_global(), libMesh::Nemesis_IO_Helper::get_init_info(), libMesh::Nemesis_IO_Helper::get_loadbal_param(), libMesh::Nemesis_IO_Helper::get_node_cmap(), libMesh::Nemesis_IO_Helper::get_node_map(), libMesh::Nemesis_IO_Helper::get_ns_param_global(), libMesh::Nemesis_IO_Helper::get_ss_param_global(), libMesh::SparsityPattern::Build::handle_vi_vj(), libMesh::SystemSubsetBySubdomain::init(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::ExodusII_IO_Helper::initialize_element_variables(), libMesh::ExodusII_IO_Helper::initialize_global_variables(), libMesh::ExodusII_IO_Helper::initialize_nodal_variables(), libMesh::DistributedMesh::insert_elem(), libMesh::DofMap::is_evaluable(), libMesh::SparsityPattern::Build::join(), libMesh::DofMap::last_dof(), libMesh::MeshTools::libmesh_assert_consistent_distributed(), libMesh::MeshTools::libmesh_assert_consistent_distributed_nodes(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_object_ids(), libMesh::DofMap::local_variable_indices(), libMesh::MeshRefinement::make_coarsening_compatible(), n_active_local_elem(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::DofMap::n_local_dofs(), libMesh::System::n_local_dofs(), n_local_elem(), n_local_nodes(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::BoundaryInfo::n_shellface_conds(), libMesh::SparsityPattern::Build::operator()(), libMesh::DistributedMesh::own_node(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::Nemesis_IO_Helper::put_cmap_params(), libMesh::Nemesis_IO_Helper::put_elem_cmap(), libMesh::Nemesis_IO_Helper::put_elem_map(), libMesh::Nemesis_IO_Helper::put_loadbal_param(), libMesh::Nemesis_IO_Helper::put_node_cmap(), libMesh::Nemesis_IO_Helper::put_node_map(), libMesh::NameBasedIO::read(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::CheckpointIO::read(), libMesh::ExodusII_IO_Helper::read_elem_num_map(), libMesh::ExodusII_IO_Helper::read_global_values(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::System::read_header(), libMesh::System::read_legacy_data(), libMesh::ExodusII_IO_Helper::read_node_num_map(), libMesh::System::read_parallel_data(), libMesh::System::read_SCALAR_dofs(), libMesh::XdrIO::read_serialized_bc_names(), libMesh::XdrIO::read_serialized_bcs_helper(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::System::read_serialized_data(), libMesh::XdrIO::read_serialized_nodes(), libMesh::XdrIO::read_serialized_nodesets(), libMesh::XdrIO::read_serialized_subdomain_names(), libMesh::System::read_serialized_vector(), libMesh::System::read_serialized_vectors(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::CheckpointIO::select_split_config(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::MeshTools::total_weight(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::Parallel::Packing< T >::unpack(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::NameBasedIO::write(), libMesh::XdrIO::write(), libMesh::CheckpointIO::write(), libMesh::EquationSystems::write(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO::write_element_data(), libMesh::ExodusII_IO_Helper::write_element_values(), libMesh::ExodusII_IO_Helper::write_elements(), libMesh::ExodusII_IO::write_global_data(), libMesh::ExodusII_IO_Helper::write_global_values(), libMesh::System::write_header(), libMesh::ExodusII_IO::write_information_records(), libMesh::ExodusII_IO_Helper::write_information_records(), libMesh::ExodusII_IO_Helper::write_nodal_coordinates(), libMesh::UCDIO::write_nodal_data(), libMesh::ExodusII_IO::write_nodal_data(), libMesh::ExodusII_IO::write_nodal_data_discontinuous(), libMesh::ExodusII_IO_Helper::write_nodal_values(), libMesh::Nemesis_IO_Helper::write_nodesets(), libMesh::ExodusII_IO_Helper::write_nodesets(), libMesh::System::write_parallel_data(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bc_names(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::System::write_serialized_data(), libMesh::XdrIO::write_serialized_nodes(), libMesh::XdrIO::write_serialized_nodesets(), libMesh::XdrIO::write_serialized_subdomain_names(), libMesh::System::write_serialized_vector(), libMesh::System::write_serialized_vectors(), libMesh::Nemesis_IO_Helper::write_sidesets(), libMesh::ExodusII_IO_Helper::write_sidesets(), libMesh::ExodusII_IO::write_timestep(), libMesh::ExodusII_IO_Helper::write_timestep(), and libMesh::ExodusII_IO::write_timestep_discontinuous().
|
inlinevirtual |
Definition at line 578 of file mesh_base.h.
References query_elem_ptr().
|
inlinevirtual |
Definition at line 592 of file mesh_base.h.
References query_elem_ptr().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshRefinement::flag_elements_by_nelem_target(), 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_valid_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::MeshTools::libmesh_assert_valid_unique_ids(), query_elem(), libMesh::CheckpointIO::read_connectivity(), and libMesh::Parallel::Packing< T >::unpack().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
nullptr
if no such node exists in this processor's mesh data structure. Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::BoundaryInfo::add_node(), libMesh::UnstructuredMesh::create_submesh(), libMesh::MeshTools::Modification::distort(), libMesh::MeshTools::libmesh_assert_consistent_distributed(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_unique_ids(), libMesh::CheckpointIO::read_nodes(), and libMesh::Parallel::Packing< T >::unpack().
|
pure virtual |
nullptr
if no such node exists in this processor's mesh data structure. Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Interfaces for reading/writing a mesh to/from a file. Must be implemented in derived classes.
Implemented in libMesh::UnstructuredMesh.
unsigned int libMesh::MeshBase::recalculate_n_partitions | ( | ) |
In a few (very rare) cases, the user may have manually tagged the elements with specific processor IDs by hand, without using a partitioner. In this case, the Mesh will not know that the total number of partitions, _n_parts, has changed, unless you call this function. This is an O(N active elements) calculation. The return value is the number of partitions, and _n_parts is also set by this function.
Definition at line 458 of file mesh_base.C.
References _n_parts, active_local_element_ptr_range(), libMesh::ParallelObject::comm(), elem(), std::max(), libMesh::Parallel::Communicator::max(), and libMesh::DofObject::processor_id().
Referenced by partition().
|
inlinevirtual |
Redistribute elements between processors. This gets called automatically by the Partitioner, and is a no-op in the case of a ReplicatedMesh or serialized DistributedMesh
Reimplemented in libMesh::DistributedMesh.
Definition at line 757 of file mesh_base.h.
void libMesh::MeshBase::remove_ghosting_functor | ( | GhostingFunctor & | ghosting_functor | ) |
Removes a functor which was previously added to the set of ghosting functors.
Definition at line 281 of file mesh_base.C.
References _ghosting_functors.
Referenced by libMesh::DofMap::clear(), libMesh::DofMap::remove_algebraic_ghosting_functor(), libMesh::DofMap::remove_coupling_functor(), and libMesh::DofMap::~DofMap().
|
pure virtual |
Changes the id of element old_id
, both by changing elem(old_id)->id() and by moving elem(old_id) in the mesh's internal container. No element with the id new_id
should already exist.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Changes the id of node old_id
, both by changing node(old_id)->id() and by moving node(old_id) in the mesh's internal container. No element with the id new_id
should already exist.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
After partitioning a mesh it is useful to renumber the nodes and elements so that they lie in contiguous blocks on the processors. This method does just that.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::UnstructuredMesh::all_first_order(), libMesh::UnstructuredMesh::all_second_order(), libMesh::UnstructuredMesh::contract(), and prepare_for_use().
|
pure virtual |
Reserves space for a known number of elements.
Mesh
implementation. If you know the number of elements you will add and call this method before repeatedly calling add_point()
the implementation will be more efficient. Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshTools::Generation::build_extrusion(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::ExodusII_IO::read(), libMesh::XdrIO::read_header(), and libMesh::GmshIO::read_mesh().
|
pure virtual |
Reserves space for a known number of nodes.
Mesh
implementation. If you know the number of nodes you will add and call this method before repeatedly calling add_point()
the implementation will be more efficient. Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::ExodusII_IO::read(), libMesh::XdrIO::read_header(), and libMesh::GmshIO::read_mesh().
|
pure virtual |
Iterate over elements for which elem->is_semilocal() is true for the current processor.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
void libMesh::MeshBase::set_count_lower_dim_elems_in_point_locator | ( | bool | count_lower_dim_elems | ) |
In the point locator, do we count lower dimensional elements when we refine point locator regions? This is relevant in tree-based point locators, for example.
Definition at line 524 of file mesh_base.C.
References _count_lower_dim_elems_in_point_locator.
|
inlinevirtual |
Asserts that not all elements and nodes of the mesh necessarily exist on the current processor. Only valid to call on classes which can be created in a distributed form.
Reimplemented in libMesh::DistributedMesh.
Definition at line 169 of file mesh_base.h.
Referenced by libMesh::CheckpointIO::read().
|
inline |
Resets the logical dimension of the mesh. If the mesh has elements of multiple dimensions, this should be set to the largest dimension. E.g. if the mesh has 1D and 2D elements, this should be set to 2. If the mesh has 2D and 3D elements, this should be set to 3.
Definition at line 213 of file mesh_base.h.
References _elem_dims.
Referenced by libMesh::MeshTools::Generation::build_delaunay_square(), libMesh::TriangleWrapper::copy_tri_to_mesh(), libMesh::AbaqusIO::read(), libMesh::Nemesis_IO::read(), libMesh::ExodusII_IO::read(), libMesh::GMVIO::read(), libMesh::VTKIO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::CheckpointIO::read_header(), libMesh::UCDIO::read_implementation(), libMesh::GmshIO::read_mesh(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::OFFIO::read_stream(), libMesh::MatlabIO::read_stream(), and libMesh::TriangleInterface::triangulate().
|
inlineprotected |
Definition at line 1371 of file mesh_base.h.
References _n_parts.
Referenced by libMesh::BoundaryInfo::sync().
|
inline |
Sets the next unique id to be used.
Definition at line 310 of file mesh_base.h.
References _next_unique_id.
void libMesh::MeshBase::set_spatial_dimension | ( | unsigned char | d | ) |
Sets the "spatial dimension" of the Mesh. See the documentation for Mesh::spatial_dimension() for more information.
Definition at line 142 of file mesh_base.C.
References _spatial_dimension.
|
inline |
Definition at line 1335 of file mesh_base.h.
References _block_id_to_name.
Referenced by libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_serialized_subdomain_names(), and libMesh::CheckpointIO::read_subdomain_names().
|
inline |
If true is passed in then this mesh will no longer be (re)partitioned. It would probably be a bad idea to call this on a DistributedMesh before the first partitioning has happened... because no elements would get assigned to your processor pool.
It is also possible, for backwards-compatibility purposes, to skip partitioning by resetting the partitioner() pointer for this mesh.
Definition at line 811 of file mesh_base.h.
References _skip_partitioning.
Referenced by libMesh::UnstructuredMesh::copy_nodes_and_elements(), and libMesh::MeshTools::correct_node_proc_ids().
|
inline |
Definition at line 812 of file mesh_base.h.
References _partitioner, and _skip_partitioning.
Referenced by libMesh::UnstructuredMesh::copy_nodes_and_elements(), and partition().
unsigned int libMesh::MeshBase::spatial_dimension | ( | ) | const |
The spatial dimension is defined as:
1 - for an exactly x-aligned mesh of 1D elements 2 - for an exactly x-y planar mesh of 2D elements 3 - otherwise
No tolerance checks are performed to determine whether the Mesh is x-aligned or x-y planar, only strict equality with zero in the higher dimensions is checked. Also, x-z and y-z planar meshes are considered to have spatial dimension == 3.
The spatial dimension is updated during prepare_for_use() based on the dimensions of the various elements present in the Mesh, but is never automatically decreased by this function.
For example, if the user calls set_spatial_dimension(2) and then later inserts 3D elements into the mesh, Mesh::spatial_dimension() will return 3 after the next call to prepare_for_use(). On the other hand, if the user calls set_spatial_dimension(3) and then inserts only x-aligned 1D elements into the Mesh, mesh.spatial_dimension() will remain 3.
Definition at line 135 of file mesh_base.C.
References _spatial_dimension.
Referenced by get_info(), and libMesh::ExodusII_IO_Helper::initialize().
std::unique_ptr< PointLocatorBase > libMesh::MeshBase::sub_point_locator | ( | ) | const |
PointLocatorBase
object for this mesh, constructing a master PointLocator first if necessary. This should not be used in threaded or non-parallel_only code unless the master has already been constructed. Definition at line 496 of file mesh_base.C.
References _point_locator, libMesh::PointLocatorBase::build(), libMesh::Threads::in_threads, and libMesh::TREE_ELEMENTS.
Referenced by libMesh::DofMap::create_dof_constraints(), libMesh::MeshFunction::init(), libMesh::MeshTools::libmesh_assert_consistent_distributed_nodes(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::DefaultCoupling::mesh_reinit(), libMesh::PointNeighborCoupling::mesh_reinit(), and libMesh::MeshRefinement::test_level_one().
|
pure virtual |
Iterate over elements for which elem->subactive() is true.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
void libMesh::MeshBase::subdomain_ids | ( | std::set< subdomain_id_type > & | ids | ) | const |
Constructs a list of all subdomain identifiers in the global mesh. Subdomains correspond to separate subsets of the mesh which could correspond e.g. to different materials in a solid mechanics application, or regions where different physical processes are important. The subdomain mapping is independent from the parallel decomposition.
Definition at line 288 of file mesh_base.C.
References active_local_element_ptr_range(), libMesh::ParallelObject::comm(), elem(), libMesh::Parallel::Communicator::set_union(), and libMesh::Elem::subdomain_id().
Referenced by n_subdomains(), and libMesh::TecplotIO::TecplotIO().
std::string & libMesh::MeshBase::subdomain_name | ( | subdomain_id_type | id | ) |
Definition at line 538 of file mesh_base.C.
References _block_id_to_name.
Referenced by libMesh::AbaqusIO::assign_subdomain_ids(), DMlibMeshSetSystem_libMesh(), libMesh::UNVIO::groups_in(), libMesh::ExodusII_IO::read(), libMesh::GmshIO::read_mesh(), libMesh::TecplotIO::write_binary(), and libMesh::ExodusII_IO_Helper::write_elements().
const std::string & libMesh::MeshBase::subdomain_name | ( | subdomain_id_type | id | ) | const |
Definition at line 543 of file mesh_base.C.
References _block_id_to_name.
|
pure virtual |
Iterate over all elements with a specified geometric type.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshTools::n_elem_of_type(), and libMesh::MeshTools::n_non_subactive_elem_of_type_at_level().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshTools::n_elem_of_type(), and libMesh::MeshTools::n_non_subactive_elem_of_type_at_level().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Iterate over unpartitioned elements in the Mesh.
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshRefinement::_refine_elements(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::MeshTools::n_active_levels(), libMesh::MeshTools::n_levels(), and libMesh::MeshTools::n_p_levels().
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
|
pure virtual |
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
|
pure virtual |
Updates parallel caches so that methods like n_elem() accurately reflect changes on other processors
Implemented in libMesh::DistributedMesh, and libMesh::ReplicatedMesh.
Referenced by libMesh::MeshRefinement::_coarsen_elements(), libMesh::MeshRefinement::_refine_elements(), and prepare_for_use().
|
inlinevirtual |
Recalculate any cached data after elements and nodes have been repartitioned.
Reimplemented in libMesh::DistributedMesh.
Definition at line 763 of file mesh_base.h.
Referenced by partition(), and libMesh::Nemesis_IO::read().
|
pure virtual |
Implemented in libMesh::UnstructuredMesh.
|
friend |
Make the BoundaryInfo
class a friend so that it can create and interact with BoundaryMesh
.
Definition at line 1493 of file mesh_base.h.
The MeshInput classes are friends so that they can set the number of partitions.
Definition at line 1487 of file mesh_base.h.
|
friend |
Equivalent to calling print_info() above, but now you can write: Mesh mesh; libMesh::out << mesh << std::endl;
Definition at line 419 of file mesh_base.C.
|
friend |
The partitioner class is a friend so that it can set the number of partitions.
Definition at line 1481 of file mesh_base.h.
|
protected |
If this is false then even on DistributedMesh remote elements will not be deleted during mesh preparation.
This is true by default.
Definition at line 1439 of file mesh_base.h.
Referenced by allow_remote_element_removal(), and prepare_for_use().
|
protected |
This structure maintains the mapping of named blocks for file formats that support named blocks. Currently this is only implemented for ExodusII
Definition at line 1446 of file mesh_base.h.
Referenced by get_id_by_name(), get_subdomain_name_map(), set_subdomain_name_map(), and subdomain_name().
|
protectedinherited |
Definition at line 107 of file parallel_object.h.
Referenced by libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::ParallelObject::comm(), libMesh::ParallelObject::n_processors(), libMesh::ParallelObject::operator=(), and libMesh::ParallelObject::processor_id().
|
protected |
Do we count lower dimensional elements in point locator refinement? This is relevant in tree-based point locators, for example.
Definition at line 1404 of file mesh_base.h.
Referenced by get_count_lower_dim_elems_in_point_locator(), and set_count_lower_dim_elems_in_point_locator().
|
protected |
The default geometric GhostingFunctor, used to implement standard libMesh element ghosting behavior. We use a base class pointer here to avoid dragging in more header dependencies.
Definition at line 1466 of file mesh_base.h.
Referenced by default_ghosting(), and MeshBase().
|
protected |
We cache the dimension of the elements present in the mesh. So, if we have a mesh with 1D and 2D elements, this structure will contain 1 and 2.
Definition at line 1453 of file mesh_base.h.
Referenced by cache_elem_dims(), clear(), elem_dimensions(), get_info(), mesh_dimension(), MeshBase(), and set_mesh_dimension().
|
protected |
The list of all GhostingFunctor objects to be used when distributing a DistributedMesh.
Basically unused by ReplicatedMesh for now, but belongs to MeshBase because the cost is trivial.
Definition at line 1475 of file mesh_base.h.
Referenced by add_ghosting_functor(), ghosting_functors_begin(), ghosting_functors_end(), MeshBase(), prepare_for_use(), and remove_ghosting_functor().
|
protected |
Flag indicating if the mesh has been prepared for use.
Definition at line 1389 of file mesh_base.h.
Referenced by libMesh::UnstructuredMesh::all_first_order(), libMesh::UnstructuredMesh::all_second_order(), clear(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), is_prepared(), and prepare_for_use().
|
protected |
The number of partitions the mesh has. This is set by the partitioners, and may not be changed directly by the user.
Definition at line 1384 of file mesh_base.h.
Referenced by clear(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), n_partitions(), recalculate_n_partitions(), and set_n_partitions().
|
protected |
The next available unique id for assigning ids to DOF objects
Definition at line 1418 of file mesh_base.h.
Referenced by libMesh::ReplicatedMesh::add_elem(), libMesh::DistributedMesh::add_elem(), libMesh::ReplicatedMesh::add_node(), libMesh::DistributedMesh::add_node(), libMesh::ReplicatedMesh::add_point(), libMesh::DistributedMesh::DistributedMesh(), libMesh::ReplicatedMesh::insert_elem(), libMesh::DistributedMesh::insert_elem(), libMesh::ReplicatedMesh::insert_node(), next_unique_id(), libMesh::ReplicatedMesh::parallel_max_unique_id(), libMesh::DistributedMesh::parallel_max_unique_id(), libMesh::ReplicatedMesh::ReplicatedMesh(), set_next_unique_id(), libMesh::ReplicatedMesh::update_parallel_id_counts(), and libMesh::DistributedMesh::update_parallel_id_counts().
|
protected |
A partitioner to use at each prepare_for_use().
This will be built in the constructor of each derived class, but can be replaced by the user through the partitioner() accessor.
Definition at line 1412 of file mesh_base.h.
Referenced by libMesh::DistributedMesh::DistributedMesh(), MeshBase(), partitioner(), libMesh::ReplicatedMesh::ReplicatedMesh(), and skip_partitioning().
|
mutableprotected |
A PointLocator
class for this mesh. This will not actually be built unless needed. Further, since we want our point_locator()
method to be const
(yet do the dynamic allocating) this needs to be mutable. Since the PointLocatorBase::build() member is used, and it operates on a constant reference to the mesh, this is OK.
Definition at line 1398 of file mesh_base.h.
Referenced by clear_point_locator(), point_locator(), and sub_point_locator().
|
protected |
If this is true then no partitioning should be done.
Definition at line 1424 of file mesh_base.h.
Referenced by skip_partitioning().
|
protected |
If this is true then renumbering will be kept to a minimum.
This is set when prepare_for_use() is called.
Definition at line 1431 of file mesh_base.h.
Referenced by allow_renumbering(), prepare_for_use(), libMesh::ReplicatedMesh::renumber_nodes_and_elements(), and libMesh::DistributedMesh::renumber_nodes_and_elements().
|
protected |
The "spatial dimension" of the Mesh. See the documentation for Mesh::spatial_dimension() for more information.
Definition at line 1459 of file mesh_base.h.
Referenced by cache_elem_dims(), set_spatial_dimension(), and spatial_dimension().
std::unique_ptr<BoundaryInfo> libMesh::MeshBase::boundary_info |
This class holds the boundary information. It can store nodes, edges, and faces with a corresponding id that facilitates setting boundary conditions.
Direct access to this class will be removed in future libMesh versions. Use the get_boundary_info()
accessor instead.
Definition at line 1363 of file mesh_base.h.
Referenced by clear(), and get_boundary_info().