hexed 0.3.0
 
Loading...
Searching...
No Matches
hexed::Mesh_by_type< element_t > Class Template Reference

#include <Mesh_by_type.hpp>

Inheritance diagram for hexed::Mesh_by_type< element_t >:
hexed::View_by_type< element_t >

Classes

class  Connection_view
 Sequence of some type of connection object which cycles through first the conformal connections and then the hanging-node connections. More...
 

Public Member Functions

 Mesh_by_type (Storage_params params, double root_spacing)
 
Sequence< element_t & > & elements () override
 
Sequence< Kernel_element & > & kernel_elements () override
 
Sequence< Face_connection< element_t > & > & face_connections () override
 
Sequence< Kernel_connection & > & kernel_connections () override
 
Sequence< Element_connection & > & element_connections () override
 
Sequence< Refined_face & > & refined_faces () override
 
Sequence< Refined_connection< element_t > & > & refined_connections () override
 
Sequence< Hanging_vertex_matcher & > & hanging_vertex_matchers () override
 
Sequence< Boundary_connection & > & boundary_connections () override
 
void record_connections ()
 write the number of connections for each face to Element::face_record. Assumes initialized to 0
 
void connect_empty (int bc_sn)
 helper function for Accessible_mesh::connect_rest
 
void purge_connections (std::function< bool(Element &)> predicate=[](Element &elem){return elem.record !=0;})
 

containers

where the actual data is kept

typedef Refined_connection< element_t > ref_con_t
 
Complete_element_container< element_t > elems
 
std::vector< std::unique_ptr< Element_face_connection< element_t > > > cons
 
std::array< std::vector< std::unique_ptr< ref_con_t > >, 3 > ref_face_cons
 
std::vector< std::unique_ptr< Typed_bound_connection< element_t > > > bound_cons
 
static constexpr int n_fine [3] {1, 2, 4}
 

views

template spaghetti to get Sequences of the data with the right type

Complete_element_container< element_t >::view_t elem_v
 a view of the elements that does not allow addition or removal
 
Vector_view< Kernel_element &, element_t &, &trivial_convert< Kernel_element &, element_t & >, Sequencekernel_elems
 
Connection_view< Face_connection< element_t > & > elem_face_con_v
 
Vector_view< Kernel_connection &, Face_connection< element_t > &, &trivial_convert< Kernel_connection &, Face_connection< element_t > & >, Sequencekernel_cons
 
Connection_view< Element_connection & > elem_con_v
 
std::array< Vector_view< ref_con_t &, std::unique_ptr< ref_con_t >, &ptr_convert< ref_con_t &, std::unique_ptr< ref_con_t > > >, 3 > ref_con_vs
 
Concatenation< ref_con_t & > ref_con_cat01
 
Concatenation< ref_con_t & > ref_con_v
 
Vector_view< Refined_face &, ref_con_t &, &ref_face, Concatenationref_v
 
Vector_view< Hanging_vertex_matcher &, ref_con_t &, &matcher, Concatenationmatcher_v
 
Vector_view< Boundary_connection &, std::unique_ptr< Typed_bound_connection< element_t > >, ptr_convert< Boundary_connection &, std::unique_ptr< Typed_bound_connection< element_t > > > > bound_con_v
 
Vector_view< Face_connection< Deformed_element > &, std::unique_ptr< Typed_bound_connection< element_t > >, ptr_convert< Face_connection< Deformed_element > &, std::unique_ptr< Typed_bound_connection< element_t > > > > bound_face_con_view
 
Concatenation< Face_connection< element_t > & > face_con_v
 
static std::vector< Element_face_connection< element_t > > empty_con_vec {}
 
static Vector_view< Face_connection< element_t > &, Element_face_connection< element_t > > empty_con_view {Mesh_by_type<element_t>::empty_con_vec}
 
static Refined_faceref_face (ref_con_t &ref_con)
 
static Hanging_vertex_matchermatcher (ref_con_t &ref_con)
 

Detailed Description

template<typename element_t>
class hexed::Mesh_by_type< element_t >

Stores numerical data of a particular type and provides free access. This is really a helper class for Accessible_mesh which grew to the point that it deserved its own file.

Member Function Documentation

◆ purge_connections()

template<typename element_t >
void hexed::Mesh_by_type< element_t >::purge_connections ( std::function< bool(Element &)> predicate = [](Element& elem){return elem.record != 0;})
inline

delete all connections (of all kinds) where predicate is true for at least one of the elements involved or connections for boundary faces that have since been covered up


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