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,
public boost::noncopyable {
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(
void)
const { is_adapted =
false; }
65 size_type get_xfem_index(
void)
const {
return xfem_index; }
67 const mesh_level_set &linked_mesh_level_set()
const {
return mls; }
70 return mesh_fem::memsize();
73 mesh_fem_level_set(
const mesh_level_set &me,
const mesh_fem &mef);
75 ~mesh_fem_level_set() { clear_build_methods(); }
Keep informations about a mesh crossed by level-sets.
FEM associated with getfem::mesh_fem_level_set objects.
Define the getfem::mesh_fem class.
size_t size_type
used as the common size type in the library
GEneric Tool for Finite Element Methods.
void clear(L &l)
clear (fill with zeros) a vector or matrix.
mesh_fem(const mesh &me, dim_type Q=1)
Build a new mesh_fem.