|
GetFEM++
5.3
|
Classes | |
| class | getfem::virtual_fem |
| Base class for finite element description. More... | |
| class | getfem::fem< FUNC > |
| virtual_fem implementation as a vector of generic functions. More... | |
| class | getfem::fem_precomp_ |
| Pre-computations on a fem (given a fixed set of points on the reference convex, this object computes the value/gradient/hessian of all base functions on this set of points and stores them. More... | |
| class | getfem::fem_precomp_pool |
| handle a pool (i.e. More... | |
| class | getfem::fem_interpolation_context |
| structure passed as the argument of fem interpolation functions. More... | |
Typedefs | |
| typedef std::shared_ptr< const getfem::virtual_fem > | getfem::pfem |
| type of pointer on a fem description More... | |
| typedef const fem< bgeot::base_poly > * | getfem::ppolyfem |
| Classical polynomial FEM. More... | |
| typedef const fem< bgeot::polynomial_composite > * | getfem::ppolycompfem |
| Polynomial composite FEM. | |
| typedef const fem< bgeot::base_rational_fraction > * | getfem::prationalfracfem |
| Rational fration FEM. | |
Functions | |
| pfem | getfem::classical_fem (bgeot::pgeometric_trans pgt, short_type k, bool complete=false) |
| Give a pointer on the structures describing the classical polynomial fem of degree k on a given convex type. More... | |
| pfem | getfem::classical_discontinuous_fem (bgeot::pgeometric_trans pg, short_type k, scalar_type alpha=0, bool complete=false) |
| Give a pointer on the structures describing the classical polynomial discontinuous fem of degree k on a given convex type. More... | |
| pfem | getfem::fem_descriptor (const std::string &name) |
| get a fem descriptor from its string name. More... | |
| std::string | getfem::name_of_fem (pfem p) |
| get the string name of a fem descriptor. More... | |
| pfem_precomp | getfem::fem_precomp (pfem pf, bgeot::pstored_point_tab pspt, dal::pstatic_stored_object dep) |
| Handles precomputations for FEM. More... | |
| void | getfem::delete_fem_precomp (pfem_precomp pfp) |
| Request for the removal of a pfem_precomp. | |
| template<typename CVEC , typename VVEC > | |
| void | getfem::virtual_fem::interpolation (const fem_interpolation_context &c, const CVEC &coeff, VVEC &val, dim_type Qdim) const |
| Interpolate at an arbitrary point x given on the reference element. More... | |
| template<typename MAT > | |
| void | getfem::virtual_fem::interpolation (const fem_interpolation_context &c, MAT &M, dim_type Qdim) const |
| Build the interpolation matrix for the interpolation at a fixed point x, given on the reference element. More... | |
| template<typename CVEC , typename VMAT > | |
| void | getfem::virtual_fem::interpolation_grad (const fem_interpolation_context &c, const CVEC &coeff, VMAT &val, dim_type Qdim=1) const |
| Interpolation of the gradient. More... | |
| template<typename CVEC , typename VMAT > | |
| void | getfem::virtual_fem::interpolation_hess (const fem_interpolation_context &c, const CVEC &coeff, VMAT &val, dim_type Qdim) const |
| Interpolation of the hessian. More... | |
| template<typename CVEC > | |
| void | getfem::virtual_fem::interpolation_diverg (const fem_interpolation_context &c, const CVEC &coeff, typename gmm::linalg_traits< CVEC >::value_type &val) const |
| Interpolation of the divergence. More... | |
| typedef std::shared_ptr<const getfem::virtual_fem> getfem::pfem |
type of pointer on a fem description
Definition at line 239 of file getfem_fem.h.
| typedef const fem<bgeot::base_poly>* getfem::ppolyfem |
Classical polynomial FEM.
Definition at line 594 of file getfem_fem.h.
| pfem getfem::classical_fem | ( | bgeot::pgeometric_trans | pgt, |
| short_type | k, | ||
| bool | complete = false |
||
| ) |
Give a pointer on the structures describing the classical polynomial fem of degree k on a given convex type.
| pgt | the geometric transformation (which defines the convex type). |
| k | the degree of the fem. |
| complete | a flag which requests complete Langrange polynomial elements even if the provided pgt is an incomplete one (e.g. 8-node quadrilateral or 20-node hexahedral). |
Definition at line 3867 of file getfem_fem.cc.
| pfem getfem::classical_discontinuous_fem | ( | bgeot::pgeometric_trans | pg, |
| short_type | k, | ||
| scalar_type | alpha = 0, |
||
| bool | complete = false |
||
| ) |
Give a pointer on the structures describing the classical polynomial discontinuous fem of degree k on a given convex type.
| pgt | the geometric transformation (which defines the convex type). |
| k | the degree of the fem. |
| alpha | the "inset" factor for the dof nodes: with alpha = 0, the nodes are located as usual (i.e. with node on the convex border), and for 0 < alpha < 1, they converge to the center of gravity of the convex. |
| complete | a flag which requests complete Langrange polynomial elements even if the provided pgt is an incomplete one (e.g. 8-node quadrilateral or 20-node hexahedral). |
Definition at line 3872 of file getfem_fem.cc.
| pfem getfem::fem_descriptor | ( | const std::string & | name | ) |
get a fem descriptor from its string name.
Definition at line 3950 of file getfem_fem.cc.
| std::string getfem::name_of_fem | ( | pfem | p | ) |
get the string name of a fem descriptor.
Definition at line 3959 of file getfem_fem.cc.
| pfem_precomp getfem::fem_precomp | ( | pfem | pf, |
| bgeot::pstored_point_tab | pspt, | ||
| dal::pstatic_stored_object | dep | ||
| ) |
Handles precomputations for FEM.
statically allocates a fem-precomputation object, and returns a pointer to it. The fem_precomp_ objects are "cached", i.e. they are stored in a global pool and if this function is called two times with the same arguments, a pointer to the same object will be returned.
| pf | a pointer to the fem object. |
| pspt | a pointer to a list of points in the reference convex.CAUTION: this array must not be destroyed as long as the fem_precomp is used!!. |
Moreover pspt is supposed to identify uniquely the set of points. This means that you should NOT alter its content at any time after using this function.
If you need a set of "temporary" getfem::fem_precomp_, create them via a getfem::fem_precomp_pool structure. All memory will be freed when this structure will be destroyed.
Definition at line 4051 of file getfem_fem.cc.
| void getfem::virtual_fem::interpolation | ( | const fem_interpolation_context & | c, |
| const CVEC & | coeff, | ||
| VVEC & | val, | ||
| dim_type | Qdim | ||
| ) | const |
Interpolate at an arbitrary point x given on the reference element.
| c | the fem_interpolation_context, should have been suitably initialized for the point of evaluation. |
| coeff | is the vector of coefficient relatively to the base functions, its length should be Qdim*this->nb_dof(). |
| val | contains the interpolated value, on output (its size should be Qdim*this->target_dim()). |
| Qdim | is the optional Q dimension, if the FEM is considered as a "vectorized" one. |
Definition at line 850 of file getfem_fem.h.
| void getfem::virtual_fem::interpolation | ( | const fem_interpolation_context & | c, |
| MAT & | M, | ||
| dim_type | Qdim | ||
| ) | const |
Build the interpolation matrix for the interpolation at a fixed point x, given on the reference element.
The matrix M is filled, such that for a given coeff vector, the interpolation is given by M*coeff.
Definition at line 872 of file getfem_fem.h.
| void getfem::virtual_fem::interpolation_grad | ( | const fem_interpolation_context & | c, |
| const CVEC & | coeff, | ||
| VMAT & | val, | ||
| dim_type | Qdim = 1 |
||
| ) | const |
Interpolation of the gradient.
The output is stored in the
matrix val.
Definition at line 894 of file getfem_fem.h.
| void getfem::virtual_fem::interpolation_hess | ( | const fem_interpolation_context & | c, |
| const CVEC & | coeff, | ||
| VMAT & | val, | ||
| dim_type | Qdim | ||
| ) | const |
Interpolation of the hessian.
The output is stored in the
matrix val.
Definition at line 921 of file getfem_fem.h.
| void getfem::virtual_fem::interpolation_diverg | ( | const fem_interpolation_context & | c, |
| const CVEC & | coeff, | ||
| typename gmm::linalg_traits< CVEC >::value_type & | val | ||
| ) | const |
Interpolation of the divergence.
The output is stored in the scalar val.
Definition at line 949 of file getfem_fem.h.