G+Smo  23.12.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
deriv2_expr< E > Class Template Reference

Detailed Description

template<class E>
class gismo::expr::deriv2_expr< E >

Computes the second derivative of an expression.

It assumes that the vector of basis functions is of the form v = u*e_i where u is the scalar basis function u: [0,1]^3 -> R^1 and e_i is the unit vector with a 1 on index i and a 0 elsewhere. Let us define the following blocks hess1(u) = hess2(u) = hess3(u) = [d11 u , 0 , 0 ] | [0 , d11 u , 0 ] | [0 , 0 , d11 u ] [d22 u , 0 , 0 ] | [0 , d22 u , 0 ] | [0 , 0 , d22 u ] [d12 u , 0 , 0 ] | [0 , d12 u , 0 ] | [0 , 0 , d12 u ]

Then the deriv2(u) is defined as follows (for k number of actives) [hess1(u)_1] ... [hess1(u)_k] [hess2(u)_1] ... [hess2(u)_k] [hess3(u)_1] ... [hess3(u)_k]

Template Parameters
EExpression type

Inherits _expr< E, bool >, and _expr< E, bool >.

+ Collaboration diagram for deriv2_expr< E >:

Private Member Functions

template<class U >
util::enable_if< util::is_same
< U, gsFeSpace< Scalar >
>::value, const gsMatrix
< Scalar > & >::type 
eval_impl (const U &u, const index_t k) const
 Spexialization for a space.
 
template<class U >
util::enable_if< util::is_same
< U, gsFeSpace< Scalar >
>::value, const gsMatrix
< Scalar > & >::type 
eval_impl (const U &u, const index_t k) const
 Spexialization for a space.