| 
    GetFEM
    5.4.4
    
   | 
 
Description of a geometric transformation between a reference element and a real element. More...
#include <bgeot_geometric_trans.h>
Inherits dal::static_stored_object.
Inherited by bgeot::igeometric_trans< FUNC >, and bgeot::torus_geom_trans.
Public Member Functions | |
| dim_type | dim () const | 
| Dimension of the reference element.  | |
| bool | is_linear () const | 
| True if the transformation is linear (affine in fact).  | |
| size_type | nb_points () const | 
| Number of geometric nodes.  | |
| pconvex_ref | convex_ref () const | 
| Pointer on the convex of reference.  | |
| pconvex_structure | structure () const | 
| Structure of the reference element.  | |
| pconvex_structure | basic_structure () const | 
| Basic structure of the reference element.  | |
| virtual void | poly_vector_val (const base_node &pt, base_vector &val) const =0 | 
| Gives the value of the functions vector at a certain point.  | |
| virtual void | poly_vector_val (const base_node &pt, const convex_ind_ct &ind_ct, base_vector &val) const =0 | 
| Gives the value of a subgroup of the functions vector at a certain point.  | |
| virtual void | poly_vector_grad (const base_node &pt, base_matrix &val) const =0 | 
| Gives the gradient of the functions vector at a certain point.  | |
| virtual void | poly_vector_grad (const base_node &pt, const convex_ind_ct &ind_ct, base_matrix &val) const =0 | 
| Gives the gradient of a subgroup of the functions vector at a certain point.  | |
| virtual void | poly_vector_hess (const base_node &pt, base_matrix &val) const =0 | 
| Gives the hessian of the functions vector at a certain point.  | |
| virtual void | compute_K_matrix (const base_matrix &G, const base_matrix &pc, base_matrix &K) const | 
| compute K matrix from multiplication of G with gradient  | |
| size_type | nb_vertices () const | 
| Gives the number of vertices.  | |
| const std::vector< size_type > & | vertices () const | 
| Gives the indices of vertices between the nodes.  | |
| const stored_point_tab & | geometric_nodes () const | 
| Gives the array of geometric nodes (on reference convex)  | |
| pstored_point_tab | pgeometric_nodes () const | 
| Gives the array of geometric nodes (on reference convex)  | |
| const std::vector< base_small_vector > & | normals () const | 
| Gives the array of the normals to faces (on reference convex)  | |
| template<class CONT > | |
| base_node | transform (const base_node &pt, const CONT &PTAB) const | 
| Apply the geometric transformation to point pt, PTAB contains the points of the real convex.  | |
Description of a geometric transformation between a reference element and a real element.
Geometric nodes and vector of polynomials. This class is not to be manipulate by itself. Use bgeot::pgeometric_trans and the functions written to produce the basic geometric transformations.
Let 
 be a real element and 
 be a reference element, with 
.
The geometric nodes of 
 are the points 
, for 
, and the corresponding (via the geometric transformation) nodes of 
 are the points 
.
The geometric transformation is the application
 which should be a diffeomorphism between 
 and 
. It is assumed that there exists a (generally polynomial) vector 
 defined on 
 of size 
, such that the transformation 
 can be written 
.
Denoting by 
 The matrix in which each column is a geometric node of 
, the transformation 
 can be written as ![]()
The gradient of the transformation is
Remark : 
 is a 
 matrix, 
 is a 
 matrix, and thus 
 is a 
 matrix.
to do ...
Definition at line 105 of file bgeot_geometric_trans.h.