GetFEM
5.4.2

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.