|
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.