| 
    GetFEM
    5.4.4
    
   | 
 
im_data provides indexing to the integration points of a mesh im object. More...
#include <getfem_im_data.h>
Inherits getfem::context_dependencies, and dal::static_stored_object.
Public Member Functions | |
| im_data (const mesh_im &mim_, bgeot::multi_index tensor_size, size_type filtered_region_=size_type(-1), bgeot::multi_index actual_tensor_size={}) | |
| Constructor.  More... | |
| im_data (const mesh_im &mim_, size_type filtered_region_=size_type(-1)) | |
| Constructor.  More... | |
| void | set_region (size_type region) | 
| set filtered region id  | |
| size_type | filtered_region () const | 
| return filtered region id  | |
| size_type | index_of_point (size_type cv, size_type i, bool use_filter=false) const | 
| Returns the index of an integration point with no filtering.  | |
| size_type | filtered_index_of_point (size_type cv, size_type i) const | 
| Returns the index of an integration point with filtering.  | |
| size_type | index_of_first_point (size_type cv, short_type f=short_type(-1), bool use_filter=false) const | 
| Returns the index of the first integration point with no filtering.  | |
| size_type | filtered_index_of_first_point (size_type cv, short_type f=short_type(-1)) const | 
| Returns the index of the first integration point with filtering.  | |
| size_type | nb_index (bool use_filter=false) const | 
| Total numbers of index (integration points)  | |
| size_type | nb_filtered_index () const | 
| Total numbers of filtered index (integration points)  | |
| size_type | nb_points_of_element (size_type cv, bool use_filter=false) const | 
| Total number of points in element cv.  | |
| size_type | nb_points_of_element (size_type cv, short_type f, bool use_filter=false) const | 
| Number of points in element cv, on face f (or in the interior)  | |
| size_type | nb_filtered_points_of_element (size_type cv) const | 
| Total number of points in element cv, which lie in filtered_region()  | |
| size_type | nb_filtered_points_of_element (size_type cv, short_type f) const | 
| Number of points in element cv, on face f (or in the interior), which lie in filtered_region()  | |
| short_type | nb_faces_of_element (size_type cv) const | 
| Number of (active) faces in element cv.  | |
| size_type | nb_tensor_elem () const | 
| sum of tensor elements, M(3,3) will have 3*3=9 elements  | |
| dal::bit_vector | convex_index (bool use_filter=false) const | 
| List of convexes.  | |
| dal::bit_vector | filtered_convex_index () const | 
| List of convex in filtered region.  | |
| void | update_from_context () const | 
| called automatically when there is a change in dependencies  | |
| const mesh_im & | linked_mesh_im () const | 
| linked mesh im  | |
| operator const mesh_im & () const | |
| implicit conversion to mesh im  | |
| const mesh & | linked_mesh () const | 
| linked mesh  | |
| template<typename VECT > | |
| void | extend_vector (const VECT &V1, VECT &V2) const | 
| Extend a vector from filtered size to full size and copy the data to correct index.  | |
| template<typename VECT > | |
| void | reduce_vector (const VECT &V1, VECT &V2) const | 
| Filter a vector from full size to filtered size and copy the data to correct index.  | |
| template<typename VECT > | |
| VECT::value_type | get_value (const VECT &V1, size_type cv, size_type i, bool use_filter=true) const | 
| get a scalar value of an integration point from a raw vector data, described by the tensor size.  | |
| template<typename VECT1 , typename VECT2 > | |
| void | get_vector (const VECT1 &V1, size_type cv, size_type i, VECT2 &V2, bool use_filter=true) const | 
| get a vector of an integration point from a raw vector data, described by the tensor size.  | |
| template<typename VECT , typename MAT > | |
| void | get_matrix (const VECT &V1, size_type cv, size_type i, MAT &M, bool use_filter=true) const | 
| get a matrix of an integration point from a raw vector data, described by the tensor size.  | |
| template<typename VECT , typename TENSOR > | |
| void | get_tensor (const VECT &V1, size_type cv, size_type i, TENSOR &T, bool use_filter=true) const | 
| get a tensor of an integration point from a raw vector data, described by the tensor size.  | |
| template<typename VECT > | |
| VECT::value_type & | set_value (VECT &V1, size_type cv, size_type i, bool use_filter=true) const | 
| set a value of an integration point from a raw vector data, described by the tensor size.  | |
| template<typename VECT1 , typename VECT2 > | |
| void | set_vector (VECT1 &V1, size_type cv, size_type i, const VECT2 &V2, bool use_filter=true) const | 
| set a vector of an integration point from a raw vector data, described by the tensor size.  | |
| template<typename VECT , typename MAT > | |
| void | set_matrix (VECT &V1, size_type cv, size_type i, const MAT &M, bool use_filter=true) const | 
| set a matrix of an integration point from a raw vector data, described by the tensor size.  | |
| template<typename VECT , typename TENSOR > | |
| void | set_tensor (VECT &V1, size_type cv, size_type i, const TENSOR &T, bool use_filter=true) const | 
| set a tensor of an integration point from a raw vector data, described by the tensor size.  | |
  Public Member Functions inherited from getfem::context_dependencies | |
| bool | context_check () const | 
| return true if update_from_context was called  | |
im_data provides indexing to the integration points of a mesh im object.
The im_data data contains a reference of mesh_im object . The index can be filtered by region, and each im_data has its own tensorial size.
Filtered methods will provide filtered index on the region. This class also provides reading and writing tensor( including matrix, vector and scalar) from a vector data (generally a fixed-size variable from the model.)
im_data can be used to provide integration point index on convex or on faces of convex, but not both. To create an im_data that represents integration points on a face, the filter region provided has to contain only faces.
Definition at line 69 of file getfem_im_data.h.
| getfem::im_data::im_data | ( | const mesh_im & | mim_, | 
| bgeot::multi_index | tensor_size, | ||
| size_type | filtered_region_ = size_type(-1),  | 
        ||
| bgeot::multi_index | actual_tensor_size = {}  | 
        ||
| ) | 
Constructor.
| mim | Reference mesh_im object | 
| tensor_size | tensor dimension of each integration points | 
| filtered_region | index not in the region will be filtered out. If filtered_region can contain only convexes or only faces or both convexes and faces. | 
| Actual_tensor_size | the actual size of the tensor the data represents. Used for example, for a Voigt annotated data. | 
Definition at line 28 of file getfem_im_data.cc.
| getfem::im_data::im_data | ( | const mesh_im & | mim_, | 
| size_type | filtered_region_ = size_type(-1)  | 
        ||
| ) | 
Constructor.
The tensor size by default is a scalar value.
| mim | Reference mesh_im object | 
| filtered_region | index not in the region will be filtered out. If filtered_region can contain only convexes or only faces or both convexes and faces. | 
Definition at line 43 of file getfem_im_data.cc.