https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
MFEMMeshCarrier Class Reference

A thin libMesh::ReplicatedMesh subclass that carries an mfem::Mesh through the MeshGenerator pipeline. More...

#include <MFEMMeshCarrier.h>

Inheritance diagram for MFEMMeshCarrier:
[legend]

Public Types

typedef std::set< elemset_id_type > elemset_type
 
typedef std::vector< GhostingFunctor * >::const_iterator GhostingFunctorIterator
 
typedef Predicates::multi_predicate Predicate
 
typedef StoredRange< MeshBase::const_element_iterator, const Elem * > ConstElemRange
 
typedef std::vector< std::pair< std::pair< const Elem *, unsigned int >, Real > > constraint_rows_mapped_type
 
typedef std::map< const Node *, constraint_rows_mapped_typeconstraint_rows_type
 

Public Member Functions

 MFEMMeshCarrier (const libMesh::Parallel::Communicator &comm)
 
void setMFEMMesh (std::unique_ptr< mfem::Mesh > mesh)
 
std::unique_ptr< mfem::Mesh > releaseMFEMMesh ()
 Move the held mfem::Mesh out; leaves the carrier with a null pointer.
 
virtual MeshBaseassign (MeshBase &&other_mesh) override
 
virtual void move_nodes_and_elements (MeshBase &&other_mesh) override
 
virtual bool subclass_locally_equals (const MeshBase &other_mesh) const override
 
virtual std::unique_ptr< MeshBaseclone () const override
 
virtual void clear () override
 
virtual void clear_elems () override
 
virtual void renumber_nodes_and_elements () override
 
virtual dof_id_type n_nodes () const override final
 
virtual dof_id_type parallel_n_nodes () const override final
 
virtual dof_id_type max_node_id () const override final
 
virtual void reserve_nodes (const dof_id_type nn) override final
 
virtual dof_id_type n_elem () const override final
 
virtual dof_id_type parallel_n_elem () const override final
 
virtual dof_id_type n_active_elem () const override final
 
virtual dof_id_type max_elem_id () const override final
 
virtual unique_id_type parallel_max_unique_id () const override final
 
virtual void set_next_unique_id (unique_id_type id) override final
 
virtual void reserve_elem (const dof_id_type ne) override final
 
virtual void update_parallel_id_counts () override
 
virtual const Point & point (const dof_id_type i) const override final
 
virtual const Node * node_ptr (const dof_id_type i) const override final
 
virtual Node * node_ptr (const dof_id_type i) override final
 
virtual const Node * query_node_ptr (const dof_id_type i) const override final
 
virtual Node * query_node_ptr (const dof_id_type i) override final
 
virtual const Elem * elem_ptr (const dof_id_type i) const override final
 
virtual Elem * elem_ptr (const dof_id_type i) override final
 
virtual const Elem * query_elem_ptr (const dof_id_type i) const override final
 
virtual Elem * query_elem_ptr (const dof_id_type i) override final
 
virtual Node * add_point (const Point &p, const dof_id_type id=DofObject::invalid_id, const processor_id_type proc_id=DofObject::invalid_processor_id) override final
 
virtual Node * add_node (Node *n) override final
 
virtual Node * add_node (std::unique_ptr< Node > n) override final
 
virtual void delete_node (Node *n) override final
 
virtual void renumber_node (dof_id_type old_id, dof_id_type new_id) override final
 
virtual Elem * add_elem (Elem *e) override final
 
virtual Elem * add_elem (std::unique_ptr< Elem > e) override final
 
virtual Elem * insert_elem (Elem *e) override final
 
virtual Elem * insert_elem (std::unique_ptr< Elem > e) override final
 
virtual void delete_elem (Elem *e) override final
 
virtual void renumber_elem (dof_id_type old_id, dof_id_type new_id) override final
 
virtual void fix_broken_node_and_element_numbering () override
 
std::vector< dof_id_type > get_disconnected_subdomains (std::vector< subdomain_id_type > *subdomain_ids=nullptr) const
 
std::unordered_map< dof_id_type, std::vector< std::vector< Point > > > get_boundary_points () const
 
 DECLARE_ELEM_ITERATORS (,,)
 
 DECLARE_ELEM_ITERATORS (active_,,)
 
 DECLARE_ELEM_ITERATORS (ancestor_,,) DECLARE_ELEM_ITERATORS(subactive_
 
 DECLARE_ELEM_ITERATORS (local_,,) DECLARE_ELEM_ITERATORS(unpartitioned_
 
 DECLARE_ELEM_ITERATORS (facelocal_,,) DECLARE_ELEM_ITERATORS(level_
 
unsigned int level DECLARE_ELEM_ITERATORS (pid_, processor_id_type pid, pid) DECLARE_ELEM_ITERATORS(type_
 
unsigned int level ElemType type DECLARE_ELEM_ITERATORS (active_subdomain_, subdomain_id_type sid, sid) DECLARE_ELEM_ITERATORS(active_subdomain_set_
 
unsigned int level ElemType type std::set< subdomain_id_type > ss DECLARE_ELEM_ITERATORS (not_active_,,)
 
 DECLARE_ELEM_ITERATORS (not_ancestor_,,)
 
 DECLARE_ELEM_ITERATORS (not_subactive_,,)
 
 DECLARE_ELEM_ITERATORS (not_local_,,)
 
 DECLARE_ELEM_ITERATORS (not_level_, unsigned int level, level) DECLARE_ELEM_ITERATORS(active_local_
 
 DECLARE_ELEM_ITERATORS (active_not_local_,,) DECLARE_ELEM_ITERATORS(active_unpartitioned_
 
 DECLARE_ELEM_ITERATORS (active_type_, ElemType type, type) DECLARE_ELEM_ITERATORS(active_pid_
 
processor_id_type pid DECLARE_ELEM_ITERATORS (local_level_, unsigned int level, level) DECLARE_ELEM_ITERATORS(local_not_level_
 
processor_id_type pid unsigned int level DECLARE_ELEM_ITERATORS (active_local_subdomain_, subdomain_id_type sid, sid) DECLARE_ELEM_ITERATORS(active_local_subdomain_set_
 
 DECLARE_ELEM_ITERATORS (semilocal_,,) DECLARE_ELEM_ITERATORS(ghost_
 
 DECLARE_ELEM_ITERATORS (active_semilocal_,,) DECLARE_ELEM_ITERATORS(evaluable_
 
const DofMap &dof_map LIBMESH_COMMA unsigned int dof_map LIBMESH_COMMA var_num DECLARE_ELEM_ITERATORS (multi_evaluable_, std::vector< const DofMap * > dof_maps, dof_maps) DECLARE_ELEM_ITERATORS(flagged_
 
const DofMap &dof_map LIBMESH_COMMA unsigned int dof_map LIBMESH_COMMA var_num unsigned char rflag DECLARE_ELEM_ITERATORS (flagged_pid_, unsigned char rflag LIBMESH_COMMA processor_id_type pid, rflag LIBMESH_COMMA pid) DECLARE_NODE_ITERATORS(
 
processor_id_type pid unsigned int level std::set< subdomain_id_type > virtual ss SimpleRange< element_iterator > active_subdomain_elements_ptr_range (subdomain_id_type sid) override final
 
virtual SimpleRange< const_element_iterator > active_subdomain_elements_ptr_range (subdomain_id_type sid) const override final
 
virtual SimpleRange< element_iterator > active_local_subdomain_elements_ptr_range (subdomain_id_type sid) override final
 
virtual SimpleRange< const_element_iterator > active_local_subdomain_elements_ptr_range (subdomain_id_type sid) const override final
 
virtual SimpleRange< element_iterator > active_subdomain_set_elements_ptr_range (std::set< subdomain_id_type > ss) override final
 
virtual SimpleRange< const_element_iterator > active_subdomain_set_elements_ptr_range (std::set< subdomain_id_type > ss) const override final
 
const DofMap &dof_map LIBMESH_COMMA unsigned int dof_map LIBMESH_COMMA var_num unsigned char rflag DECLARE_NODE_ITERATORS (active_,,) DECLARE_NODE_ITERATORS(local_
 
const DofMap &dof_map LIBMESH_COMMA unsigned int dof_map LIBMESH_COMMA var_num unsigned char rflag DECLARE_NODE_ITERATORS (bnd_,,) DECLARE_NODE_ITERATORS(pid_
 
const DofMap &dof_map LIBMESH_COMMA unsigned int dof_map LIBMESH_COMMA var_num unsigned char rflag processor_id_type pid DECLARE_NODE_ITERATORS (bid_, boundary_id_type bid, bid) DECLARE_NODE_ITERATORS(evaluable_
 
virtual void read (const std::string &name, void *mesh_data=nullptr, bool skip_renumber_nodes_and_elements=false, bool skip_find_neighbors=false, bool skip_detect_interior_parents=false) override
 
virtual void write (const std::string &name) const override
 
void write (const std::string &name, const std::vector< Number > &values, const std::vector< std::string > &variable_names) const
 
virtual void all_first_order () override
 
virtual void all_second_order_range (const SimpleRange< element_iterator > &range, const bool full_ordered=true) override
 
virtual void all_complete_order_range (const SimpleRange< element_iterator > &range) override
 
void create_pid_mesh (UnstructuredMesh &pid_mesh, const processor_id_type pid) const
 
void create_submesh (UnstructuredMesh &new_mesh, const const_element_iterator &it, const const_element_iterator &it_end) const
 
std::size_t stitch_meshes (const MeshBase &other_mesh, boundary_id_type this_mesh_boundary, boundary_id_type other_mesh_boundary, Real tol=TOLERANCE, bool clear_stitched_boundary_ids=false, bool verbose=true, bool use_binary_search=true, bool enforce_all_nodes_match_on_boundaries=false, bool merge_boundary_nodes_all_or_nothing=false, bool remap_subdomain_ids=false, bool prepare_after_stitching=true)
 
std::size_t stitch_surfaces (boundary_id_type boundary_id_1, boundary_id_type boundary_id_2, Real tol=TOLERANCE, bool clear_stitched_boundary_ids=false, bool verbose=true, bool use_binary_search=true, bool enforce_all_nodes_match_on_boundaries=false, bool merge_boundary_nodes_all_or_nothing=false, bool prepare_after_stitching=true)
 
virtual void copy_nodes_and_elements (const MeshBase &other_mesh, const bool skip_find_neighbors=false, dof_id_type element_id_offset=0, dof_id_type node_id_offset=0, unique_id_type unique_id_offset=0, std::unordered_map< subdomain_id_type, subdomain_id_type > *id_remapping=nullptr, const bool skip_preparation=false)
 
virtual void find_neighbors (const bool reset_remote_elements=false, const bool reset_current_list=true, const bool assert_valid=true) override
 
virtual bool contract () override
 
bool operator== (const MeshBase &other_mesh) const
 
bool operator!= (const MeshBase &other_mesh) const
 
bool locally_equals (const MeshBase &other_mesh) const
 
virtual std::unique_ptr< Partitioner > & partitioner ()
 
const BoundaryInfoget_boundary_info () const
 
BoundaryInfoget_boundary_info ()
 
bool is_prepared () const
 
Preparation preparation () const
 
void set_isnt_prepared ()
 
void unset_is_prepared ()
 
void unset_is_partitioned ()
 
void unset_has_synched_id_counts ()
 
void unset_has_neighbor_ptrs ()
 
void unset_has_cached_elem_data ()
 
void unset_has_interior_parent_ptrs ()
 
void unset_has_removed_remote_elements ()
 
void unset_has_removed_orphaned_nodes ()
 
void unset_has_reinit_ghosting_functors ()
 
void unset_has_boundary_id_sets ()
 
void unset_has_synched_subdomain_name_map ()
 
virtual bool is_serial () const
 
virtual bool is_serial_on_zero () const
 
virtual void set_distributed ()
 
virtual bool is_replicated () const
 
virtual void allgather ()
 
virtual void gather_to_zero ()
 
virtual void delete_remote_elements ()
 
void reinit_ghosting_functors ()
 
unsigned int mesh_dimension () const
 
void set_mesh_dimension (unsigned char d)
 
const std::set< unsigned char > & elem_dimensions () const
 
const std::set< Order > & elem_default_orders () const
 
Order supported_nodal_order () const
 
void set_elem_dimensions (std::set< unsigned char > elem_dims)
 
void add_elemset_code (dof_id_type code, MeshBase::elemset_type id_set)
 
unsigned int n_elemsets () const
 
void get_elemsets (dof_id_type elemset_code, MeshBase::elemset_type &id_set_to_fill) const
 
dof_id_type get_elemset_code (const MeshBase::elemset_type &id_set) const
 
std::vector< dof_id_type > get_elemset_codes () const
 
void change_elemset_code (dof_id_type old_code, dof_id_type new_code)
 
void change_elemset_id (elemset_id_type old_id, elemset_id_type new_id)
 
unsigned int spatial_dimension () const
 
void set_spatial_dimension (unsigned char d)
 
dof_id_type n_nodes_on_proc (const processor_id_type proc) const
 
dof_id_type n_local_nodes () const
 
dof_id_type n_unpartitioned_nodes () const
 
unique_id_type next_unique_id () const
 
dof_id_type n_elem_on_proc (const processor_id_type proc) const
 
dof_id_type n_local_elem () const
 
dof_id_type n_unpartitioned_elem () const
 
dof_id_type n_active_elem_on_proc (const processor_id_type proc) const
 
dof_id_type n_active_local_elem () const
 
dof_id_type n_sub_elem () const
 
dof_id_type n_active_sub_elem () const
 
virtual const Node & node_ref (const dof_id_type i) const
 
virtual Node & node_ref (const dof_id_type i)
 
virtual const Elem & elem_ref (const dof_id_type i) const
 
virtual Elem & elem_ref (const dof_id_type i)
 
virtual void own_node (Node &)
 
ElemMappingType default_mapping_type () const
 
void set_default_mapping_type (const ElemMappingType type)
 
unsigned char default_mapping_data () const
 
void set_default_mapping_data (const unsigned char data)
 
void remove_orphaned_nodes ()
 
unsigned int add_elem_integer (std::string name, bool allocate_data=true, dof_id_type default_value=DofObject::invalid_id)
 
std::vector< unsigned intadd_elem_integers (const std::vector< std::string > &names, bool allocate_data=true, const std::vector< dof_id_type > *default_values=nullptr)
 
unsigned int get_elem_integer_index (std::string_view name) const
 
bool has_elem_integer (std::string_view name) const
 
const std::string & get_elem_integer_name (unsigned int i) const
 
unsigned int n_elem_integers () const
 
unsigned int add_elem_datum (const std::string &name, bool allocate_data=true, const T *default_value=nullptr)
 
std::vector< unsigned intadd_elem_data (const std::vector< std::string > &names, bool allocate_data=true, const std::vector< T > *default_values=nullptr)
 
unsigned int add_node_integer (std::string name, bool allocate_data=true, dof_id_type default_value=DofObject::invalid_id)
 
std::vector< unsigned intadd_node_integers (const std::vector< std::string > &names, bool allocate_data=true, const std::vector< dof_id_type > *default_values=nullptr)
 
unsigned int get_node_integer_index (std::string_view name) const
 
bool has_node_integer (std::string_view name) const
 
const std::string & get_node_integer_name (unsigned int i) const
 
unsigned int n_node_integers () const
 
unsigned int add_node_datum (const std::string &name, bool allocate_data=true, const T *default_value=nullptr)
 
std::vector< unsigned intadd_node_data (const std::vector< std::string > &name, bool allocate_data=true, const std::vector< T > *default_values=nullptr)
 
void prepare_for_use (const bool skip_renumber_nodes_and_elements, const bool skip_find_neighbors)
 
void prepare_for_use (const bool skip_renumber_nodes_and_elements)
 
void prepare_for_use ()
 
void complete_preparation ()
 
virtual void partition (const unsigned int n_parts)
 
void partition ()
 
virtual void redistribute ()
 
virtual void update_post_partitioning ()
 
void allow_renumbering (bool allow)
 
bool allow_renumbering () const
 
void allow_find_neighbors (bool allow)
 
bool allow_find_neighbors () const
 
void allow_detect_interior_parents (bool allow)
 
bool allow_detect_interior_parents () const
 
void allow_remote_element_removal (bool allow)
 
bool allow_remote_element_removal () const
 
void allow_node_and_elem_unique_id_overlap (bool allow)
 
bool allow_node_and_elem_unique_id_overlap () const
 
void skip_noncritical_partitioning (bool skip)
 
bool skip_noncritical_partitioning () const
 
void skip_partitioning (bool skip)
 
bool skip_partitioning () const
 
void add_ghosting_functor (GhostingFunctor &ghosting_functor)
 
void add_ghosting_functor (std::shared_ptr< GhostingFunctor > ghosting_functor)
 
void remove_ghosting_functor (GhostingFunctor &ghosting_functor)
 
GhostingFunctorIterator ghosting_functors_begin () const
 
GhostingFunctorIterator ghosting_functors_end () const
 
GhostingFunctor & default_ghosting ()
 
void subdomain_ids (std::set< subdomain_id_type > &ids, const bool global=true) const
 
subdomain_id_type n_subdomains () const
 
subdomain_id_type n_local_subdomains () const
 
unsigned int n_partitions () const
 
std::string get_info (const unsigned int verbosity=0, const bool global=true) const
 
void print_info (std::ostream &os=libMesh::out, const unsigned int verbosity=0, const bool global=true) const
 
void all_second_order (const bool full_ordered=true)
 
virtual void all_complete_order ()
 
unsigned int recalculate_n_partitions ()
 
std::unique_ptr< PointLocatorBase > sub_point_locator () const
 
void set_point_locator_close_to_point_tol (Real val)
 
Real get_point_locator_close_to_point_tol () const
 
void clear_point_locator ()
 
void set_count_lower_dim_elems_in_point_locator (bool count_lower_dim_elems)
 
bool get_count_lower_dim_elems_in_point_locator () const
 
virtual void libmesh_assert_valid_parallel_ids () const
 
std::string & subdomain_name (subdomain_id_type id)
 
const std::string & subdomain_name (subdomain_id_type id) const
 
void set_subdomain_name (subdomain_id_type id, const std::string &name, bool synchronous=false)
 
subdomain_id_type get_id_by_name (std::string_view name) const
 
 ABSTRACT_ELEM_ITERATORS (,) ABSTRACT_ELEM_ITERATORS(active_
 
 ABSTRACT_ELEM_ITERATORS (ancestor_,) ABSTRACT_ELEM_ITERATORS(subactive_
 
 ABSTRACT_ELEM_ITERATORS (local_,) ABSTRACT_ELEM_ITERATORS(unpartitioned_
 
 ABSTRACT_ELEM_ITERATORS (facelocal_,) ABSTRACT_ELEM_ITERATORS(level_
 
unsigned int level ABSTRACT_ELEM_ITERATORS (pid_, processor_id_type pid) ABSTRACT_ELEM_ITERATORS(type_
 
unsigned int level ElemType type ABSTRACT_ELEM_ITERATORS (active_subdomain_, subdomain_id_type sid) ABSTRACT_ELEM_ITERATORS(active_subdomain_set_
 
unsigned int level ElemType type std::set< subdomain_id_type > ss ABSTRACT_ELEM_ITERATORS (not_active_,) ABSTRACT_ELEM_ITERATORS(not_ancestor_
 
unsigned int level ElemType type std::set< subdomain_id_type > ss ABSTRACT_ELEM_ITERATORS (not_subactive_,) ABSTRACT_ELEM_ITERATORS(not_local_
 
unsigned int level ElemType type std::set< subdomain_id_type > ss ABSTRACT_ELEM_ITERATORS (not_level_, unsigned int level) ABSTRACT_ELEM_ITERATORS(active_local_
 
unsigned int level ElemType type std::set< subdomain_id_type > ss ABSTRACT_ELEM_ITERATORS (active_not_local_,) ABSTRACT_ELEM_ITERATORS(active_unpartitioned_
 
unsigned int level ElemType type std::set< subdomain_id_type > ss ABSTRACT_ELEM_ITERATORS (active_type_, ElemType type) ABSTRACT_ELEM_ITERATORS(active_pid_
 
unsigned int level ElemType type std::set< subdomain_id_type > ss processor_id_type pid ABSTRACT_ELEM_ITERATORS (local_level_, unsigned int level) ABSTRACT_ELEM_ITERATORS(local_not_level_
 
unsigned int level ElemType type std::set< subdomain_id_type > ss processor_id_type pid unsigned int level ABSTRACT_ELEM_ITERATORS (active_local_subdomain_, subdomain_id_type sid) ABSTRACT_ELEM_ITERATORS(active_local_subdomain_set_
 
 ABSTRACT_ELEM_ITERATORS (semilocal_,) ABSTRACT_ELEM_ITERATORS(ghost_
 
 ABSTRACT_ELEM_ITERATORS (active_semilocal_,) ABSTRACT_ELEM_ITERATORS(evaluable_
 
const ElemRangeelement_stored_range ()
 
const ConstElemRangeactive_local_element_stored_range () const
 
void clear_stored_ranges ()
 
std::map< subdomain_id_type, std::string > & set_subdomain_name_map ()
 
const std::map< subdomain_id_type, std::string > & get_subdomain_name_map () const
 
constraint_rows_typeget_constraint_rows ()
 
const constraint_rows_typeget_constraint_rows () const
 
dof_id_type n_constraint_rows () const
 
void copy_constraint_rows (const MeshBase &other_mesh)
 
void copy_constraint_rows (const SparseMatrix< T > &constraint_operator, bool precondition_constraint_operator=false)
 
void print_constraint_rows (std::ostream &os=libMesh::out, bool print_nonlocal=false) const
 
std::string get_local_constraints (bool print_nonlocal=false) const
 
void cache_elem_dims ()
 
void cache_elem_data ()
 
void sync_subdomain_name_map ()
 
void detect_interior_parents ()
 
const MeshBaseinterior_mesh () const
 
MeshBaseinterior_mesh ()
 
void set_interior_mesh (MeshBase &int_mesh)
 
const std::set< subdomain_id_type > & get_mesh_subdomains () const
 
void add_disjoint_neighbor_boundary_pairs (const boundary_id_type b1, const boundary_id_type b2, const RealVectorValue &translation)
 
PeriodicBoundaries * get_disjoint_neighbor_boundary_pairs ()
 
const PeriodicBoundaries * get_disjoint_neighbor_boundary_pairs () const
 
void remove_disjoint_boundary_pair (const boundary_id_type b1, const boundary_id_type b2)
 
const Parallel::Communicatorcomm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 

Public Attributes

unsigned int level
 
processor_id_type pid unsigned int level
 
unsigned int level ElemType type
 
unsigned int level ElemType type std::set< subdomain_id_type > ss
 
processor_id_type pid unsigned int level std::set< subdomain_id_type > ss
 
processor_id_type pid
 
const DofMap &dof_map LIBMESH_COMMA unsigned int dof_map LIBMESH_COMMA var_num unsigned char rflag processor_id_type pid
 
const DofMap &dof_map LIBMESH_COMMA unsigned int var_num
 
const DofMap &dof_map LIBMESH_COMMA unsigned int dof_map LIBMESH_COMMA var_num unsigned char rflag processor_id_type pid const DofMap &dof_map LIBMESH_COMMA unsigned int var_num
 
const DofMap &dof_map LIBMESH_COMMA unsigned int dof_map LIBMESH_COMMA var_num unsigned char rflag
 
const DofMap &dof_map LIBMESH_COMMA unsigned int dof_map LIBMESH_COMMA var_num unsigned char rflag processor_id_type pid const DofMap &dof_map LIBMESH_COMMA unsigned int dof_map LIBMESH_COMMA var_num DECLARE_NODE_ITERATORS(multi_evaluable_, std::vector< const DofMap * > dof_maps, dof_maps) protected dof_id_ty _n_nodes ))
 
std::vector< Elem * > _elements
 
dof_id_type _n_elem
 
const DofMap &dof_map LIBMESH_COMMA unsigned int Elem * ElemRange
 

Protected Types

typedef variant_filter_iterator< MeshBase::Predicate, Elem * > elem_filter_iter
 
typedef variant_filter_iterator< MeshBase::Predicate, Elem *const, Elem *const &, Elem *const *, const Elem *const, const Elem *const &, const Elem *const * > elem_filter_iter
 
typedef variant_filter_iterator< MeshBase::Predicate, Elem *const, Elem *const &, Elem *const * > const_elem_filter_iter
 
typedef variant_filter_iterator< MeshBase::Predicate, const Elem *const, const Elem *const &, const Elem *const * > const_elem_filter_iter
 
typedef variant_filter_iterator< MeshBase::Predicate, Node * > node_filter_iter
 
typedef variant_filter_iterator< MeshBase::Predicate, Node *const, Node *const &, Node *const *, const Node *const, const Node *const &, const Node *const * > node_filter_iter
 
typedef variant_filter_iterator< MeshBase::Predicate, Node *const, Node *const &, Node *const * > const_node_filter_iter
 
typedef variant_filter_iterator< MeshBase::Predicate, const Node *const, const Node *const &, const Node *const * > const_node_filter_iter
 

Protected Member Functions

void post_dofobject_moves (MeshBase &&other_mesh)
 
void copy_cached_data (const MeshBase &other_mesh)
 
bool nodes_and_elements_equal (const MeshBase &other_mesh) const
 
unsigned intset_n_partitions ()
 
void size_elem_extra_integers ()
 
void size_node_extra_integers ()
 
std::pair< std::vector< unsigned int >, std::vector< unsigned int > > merge_extra_integer_names (const MeshBase &other)
 

Protected Attributes

std::unique_ptr< PeriodicBoundaries > _disjoint_neighbor_boundary_pairs
 
std::unique_ptr< BoundaryInfoboundary_info
 
unsigned int _n_parts
 
ElemMappingType _default_mapping_type
 
unsigned char _default_mapping_data
 
Preparation _preparation
 
std::unique_ptr< ElemRange_element_stored_range
 
std::unique_ptr< ConstElemRange_const_active_local_element_stored_range
 
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
 
MeshBase_interior_mesh
 
bool _skip_noncritical_partitioning
 
bool _skip_all_partitioning
 
bool _skip_renumber_nodes_and_elements
 
bool _skip_find_neighbors
 
bool _skip_detect_interior_parents
 
bool _allow_remote_element_removal
 
bool _allow_node_and_elem_unique_id_overlap
 
std::map< subdomain_id_type, std::string > _block_id_to_name
 
std::set< unsigned char > _elem_dims
 
std::set< Order > _elem_default_orders
 
Order _supported_nodal_order
 
std::set< subdomain_id_type > _mesh_subdomains
 
std::map< dof_id_type, const MeshBase::elemset_type * > _elemset_codes
 
std::map< MeshBase::elemset_type, dof_id_type > _elemset_codes_inverse_map
 
MeshBase::elemset_type _all_elemset_ids
 
unsigned char _spatial_dimension
 
std::vector< std::string > _elem_integer_names
 
std::vector< dof_id_type > _elem_integer_default_values
 
std::vector< std::string > _node_integer_names
 
std::vector< dof_id_type > _node_integer_default_values
 
std::unique_ptr< GhostingFunctor > _default_ghosting
 
std::vector< GhostingFunctor * > _ghosting_functors
 
std::map< GhostingFunctor *, std::shared_ptr< GhostingFunctor > > _shared_functors
 
constraint_rows_type _constraint_rows
 
Real _point_locator_close_to_point_tol
 
const Parallel::Communicator_communicator
 

Private Types

typedef std::vector< Elem * >::iterator elem_iterator_imp
 
typedef std::vector< Elem * >::const_iterator const_elem_iterator_imp
 
typedef std::vector< Node * >::iterator node_iterator_imp
 
typedef std::vector< Node * >::const_iterator const_node_iterator_imp
 

Private Member Functions

std::size_t stitching_helper (const MeshBase *other_mesh, boundary_id_type boundary_id_1, boundary_id_type boundary_id_2, Real tol, bool clear_stitched_boundary_ids, bool verbose, bool use_binary_search, bool enforce_all_nodes_match_on_boundaries, bool skip_find_neighbors, bool merge_boundary_nodes_all_or_nothing, bool remap_subdomain_ids, bool prepare_after_stitching)
 

Private Attributes

std::unique_ptr< mfem::Mesh > _mfem_mesh
 

Detailed Description

A thin libMesh::ReplicatedMesh subclass that carries an mfem::Mesh through the MeshGenerator pipeline.

The libMesh side is always empty; it exists only to satisfy the std::unique_ptr<MeshBase> return type of MeshGenerator::generate(). MFEM mesh generators wrap their output in this carrier and unwrap their inputs from it.

Definition at line 25 of file MFEMMeshCarrier.h.

Constructor & Destructor Documentation

◆ MFEMMeshCarrier()

MFEMMeshCarrier::MFEMMeshCarrier ( const libMesh::Parallel::Communicator comm)
inlineexplicit

Definition at line 28 of file MFEMMeshCarrier.h.

30 {
31 }
const Parallel::Communicator & comm() const

Member Function Documentation

◆ releaseMFEMMesh()

std::unique_ptr< mfem::Mesh > MFEMMeshCarrier::releaseMFEMMesh ( )
inline

Move the held mfem::Mesh out; leaves the carrier with a null pointer.

Definition at line 36 of file MFEMMeshCarrier.h.

36{ return std::move(_mfem_mesh); }
std::unique_ptr< mfem::Mesh > _mfem_mesh

◆ setMFEMMesh()

void MFEMMeshCarrier::setMFEMMesh ( std::unique_ptr< mfem::Mesh >  mesh)
inline

Definition at line 33 of file MFEMMeshCarrier.h.

33{ _mfem_mesh = std::move(mesh); }

Member Data Documentation

◆ _mfem_mesh

std::unique_ptr<mfem::Mesh> MFEMMeshCarrier::_mfem_mesh
private

Definition at line 39 of file MFEMMeshCarrier.h.

Referenced by releaseMFEMMesh(), and setMFEMMesh().


The documentation for this class was generated from the following file: