37 #ifndef GETFEM_MESH_IM_H__ 38 #define GETFEM_MESH_IM_H__ 49 void copy_from(
const mesh_im &mim);
54 dal::bit_vector im_convexes;
55 const mesh *linked_mesh_;
56 mutable gmm::uint64_type v_num_update, v_num;
57 pintegration_method auto_add_elt_pim;
62 gmm::uint64_type version_number(
void)
const 69 { auto_add_elt_pim = pim; }
74 {
return im_convexes; }
76 bool is_lower_dimensional()
const {
return is_lower_dim; }
80 {
return linked_mesh_ ? *linked_mesh_ : dummy_mesh(); }
94 pintegration_method pim);
124 ims.
memsize() + im_convexes.memsize();
127 void init_with_mesh(
const mesh &me);
149 void write_to_file(
const std::string &name,
bool with_mesh=
false)
const;
void read_from_file(std::istream &ist)
Read the mesh_im from a stream.
virtual pintegration_method int_method_of_element(size_type cv) const
return the integration method associated with an element (in no integration is associated, the function will crash! use the convex_index() of the mesh_im to check that a fem is associated to a given convex)
Define a getfem::getfem_mesh object.
const mesh_im & dummy_mesh_im()
Dummy mesh_im for default parameter of functions.
base class for static stored objects
void set_integration_method(size_type cv, pintegration_method pim)
Set the integration method of a convex.
void write_to_file(std::ostream &ost) const
Write the mesh_im to a stream.
Describe a mesh (collection of convexes (elements) and points).
Describe an integration method linked to a mesh.
Integration methods (exact and approximated) on convexes.
size_t size_type
used as the common size type in the library
void set_auto_add(pintegration_method pim)
Set the im for automatic addition of element option.
size_type memsize(void) const
Gives the total memory occupied by the array.
Deal with interdependencies of objects.
GEneric Tool for Finite Element Methods.
const dal::bit_vector & convex_index(void) const
Get the set of convexes where an integration method has been assigned.
void update_from_context(void) const
this function has to be defined and should update the object when the context is modified.
Definition of the finite element methods.
const mesh & linked_mesh() const
Give a reference to the linked mesh of type mesh.
bool context_check() const
return true if update_from_context was called