39 #ifndef GETFEM_MESH_FEM_LEVEL_SET_H__
40 #define GETFEM_MESH_FEM_LEVEL_SET_H__
48 class mesh_fem_level_set :
public mesh_fem {
50 const mesh_level_set &mls;
52 mutable std::vector<pfem> build_methods;
53 mutable bool is_adapted;
54 mutable dal::bit_vector enriched_dofs, enriched_elements;
55 mutable std::set<std::set<const mesh_level_set::zone *> > enrichments;
56 mutable std::vector< const std::set<const mesh_level_set::zone *> *> dof_enrichments;
58 void clear_build_methods();
59 void build_method_of_convex(
size_type cv);
62 void update_from_context()
const { is_adapted =
false; }
65 size_type get_xfem_index()
const {
return xfem_index; }
67 const mesh_level_set &linked_mesh_level_set()
const {
return mls; }
68 const mesh_fem &linked_mesh_fem()
const {
return mf; }
71 return mesh_fem::memsize();
74 mesh_fem_level_set(
const mesh_level_set &me,
const mesh_fem &mef);
76 mesh_fem_level_set(
const mesh_fem_level_set&) =
delete;
77 mesh_fem_level_set& operator = (
const mesh_fem_level_set&) =
delete;
79 ~mesh_fem_level_set() { clear_build_methods(); }
mesh_fem(const mesh &me, dim_type Q=1)
Build a new mesh_fem.
FEM associated with getfem::mesh_fem_level_set objects.
Define the getfem::mesh_fem class.
Keep informations about a mesh crossed by level-sets.
void clear(L &l)
clear (fill with zeros) a vector or matrix.
size_t size_type
used as the common size type in the library
GEneric Tool for Finite Element Methods.