characteristic(2rheolef)					    rheolef-6.1 					  characteristic(2rheolef)

NAME
characteristic - the Lagrange-Galerkin method implemented SYNOPSYS
The class characteristic implements the Lagrange-Galerkin method: It is the extension of the method of characteristic from the finite difference to the finite element context. EXAMPLE
The following code compute the Riesz representer (see riesz(4)), denoted by lh of u(x)=uh(x+dh(x)) where ah is the deformation vector field. The deformation field dh=-dt*uh in Lagrange-Galerkin methods, where ah is the advection field and dt a time step. geo omega; field dh = ...; field uh = ...; characteristic X (dh); field lh = riesz(Xh, compose(uh, X)); The Riesz representer is the lh vector field defined by: lh(i) = integrate uh(x+dh(x)) phi_i(x) dx where phi_i is the i-th basis function in the space Xh and the integral is evaluated by using a quadrature formulae. By default the quadrature formule is Gauss-Lobatto with the order equal to the polynomial order of Xh (order 1: trapeze, order 2: simpson, etc). Recall that this choice of quadrature formulae guaranties inconditional stability at any polynomial order. Alternative quadrature formulae or order can be used by using the additional quadrature option argument to the riesz function. IMPLEMENTATION
template<class T, class M = rheo_default_memory_model> class characteristic_basic : public smart_pointer<characteristic_rep<T,M> > { public: typedef characteristic_rep<T,M> rep; typedef smart_pointer<rep> base; // allocator: characteristic_basic(const field_basic<T,M>& dh); // accesors: const field_basic<T,M>& get_displacement() const; const characteristic_on_quadrature<T,M>& get_pre_computed ( const space_basic<T,M>& Xh, const field_basic<T,M>& dh, const quadrature_option_type& qopt) const; }; typedef characteristic_basic<Float> characteristic; IMPLEMENTATION
template<class T, class M> inline field_o_characteristic<T,M> compose (const field_basic<T,M>& uh, characteristic_basic<T,M>& X) IMPLEMENTATION
template <class T, class M> field_basic<T,M> riesz ( const space_basic<T,M>& Xh, const field_o_characteristic<T,M>& f, quadrature_option_type qopt = quadrature_option_type(quadrature_option_type::max_family,0)); SEE ALSO
riesz(4) rheolef-6.1 rheolef-6.1 characteristic(2rheolef)