G+Smo
24.08.0
Geometry + Simulation Modules
|
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]
E | Expression type |
Inherits _expr< E, bool >, and _expr< E, bool >.
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. | |