GetFEM++  5.3
getfem::fem< FUNC > Class Template Reference

virtual_fem implementation as a vector of generic functions. More...

#include <getfem_fem.h>

Inherits getfem::virtual_fem.

Public Member Functions

const std::vector< FUNC > & base () const
 Gives the array of basic functions (components).
 
void base_value (const base_node &x, base_tensor &t) const
 Evaluates at point x, all base functions and returns the result in t(nb_base,target_dim)
 
void grad_base_value (const base_node &x, base_tensor &t) const
 Evaluates at point x, the gradient of all base functions w.r.t. More...
 
void hess_base_value (const base_node &x, base_tensor &t) const
 Evaluates at point x, the hessian of all base functions w.r.t. More...
 
- Public Member Functions inherited from getfem::virtual_fem
virtual size_type nb_dof (size_type) const
 Number of degrees of freedom. More...
 
virtual size_type nb_base (size_type cv) const
 Number of basis functions.
 
size_type nb_base_components (size_type cv) const
 Number of components (nb_dof() * dimension of the target space).
 
const std::vector< pdof_description > & dof_types () const
 Get the array of pointer on dof description.
 
dim_type dim () const
 dimension of the reference element.
 
dim_type target_dim () const
 dimension of the target space.
 
vec_type vectorial_type () const
 Type of vectorial element.
 
virtual bgeot::pconvex_ref ref_convex (size_type) const
 Return the convex of the reference element.
 
bgeot::pconvex_structure basic_structure (size_type cv) const
 Gives the convex of the reference element.
 
virtual const bgeot::convex< base_node > & node_convex (size_type) const
 Gives the convex representing the nodes on the reference element.
 
bgeot::pconvex_structure structure (size_type cv) const
 Gives the convex structure of the reference element nodes.
 
const base_node & node_of_dof (size_type cv, size_type i) const
 Gives the node corresponding to the dof i. More...
 
bool is_lagrange () const
 true if the base functions are such that $ \varphi_i(\textrm{node\_of\_dof(j)}) = \delta_{ij} $
 
bool is_polynomial () const
 true if the base functions are polynomials
 
template<typename CVEC , typename VVEC >
void 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 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 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 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 interpolation_diverg (const fem_interpolation_context &c, const CVEC &coeff, typename gmm::linalg_traits< CVEC >::value_type &val) const
 Interpolation of the divergence. More...
 
virtual void real_base_value (const fem_interpolation_context &c, base_tensor &t, bool withM=true) const
 Give the value of all components of the base functions at the current point of the fem_interpolation_context. More...
 
virtual void real_grad_base_value (const fem_interpolation_context &c, base_tensor &t, bool withM=true) const
 Give the gradient of all components of the base functions at the current point of the fem_interpolation_context. More...
 
virtual void real_hess_base_value (const fem_interpolation_context &c, base_tensor &t, bool withM=true) const
 Give the hessian of all components of the base functions at the current point of the fem_interpolation_context. More...
 
void add_node (const pdof_description &d, const base_node &pt, const dal::bit_vector &faces)
 internal function adding a node to an element for the creation of a finite element method. More...
 

Detailed Description

template<class FUNC>
class getfem::fem< FUNC >

virtual_fem implementation as a vector of generic functions.

The class FUNC should provide "derivative" and "eval" member functions (this is the case for bgeot::polynomial<T>).

Definition at line 500 of file getfem_fem.h.

Member Function Documentation

template<class FUNC>
void getfem::fem< FUNC >::grad_base_value ( const base_node &  x,
base_tensor &  t 
) const
inlinevirtual

Evaluates at point x, the gradient of all base functions w.r.t.

the reference element directions 0,..,dim-1 and returns the result in t(nb_base,target_dim,dim)

Implements getfem::virtual_fem.

Definition at line 559 of file getfem_fem.h.

template<class FUNC>
void getfem::fem< FUNC >::hess_base_value ( const base_node &  x,
base_tensor &  t 
) const
inlinevirtual

Evaluates at point x, the hessian of all base functions w.r.t.

the reference element directions 0,..,dim-1 and returns the result in t(nb_base,target_dim,dim,dim)

Implements getfem::virtual_fem.

Definition at line 574 of file getfem_fem.h.


The documentation for this class was generated from the following file: