Possibly scaled, shifted invariant , where for the first two (principal,modified) invariants and for the third (principal,modified) and mixed invariants.
More...
#include <shiftedInvariant.hh>
|
template<class Matrix > |
| ShiftedInvariant (Matrix const &A) |
|
template<class Matrix > |
| ShiftedInvariant (const Matrix &A, const Constant< Matrix > &M) |
|
template<class Matrix > |
| ShiftedInvariant (const Matrix &A, const Matrix &M) |
|
template<class Matrix > |
void | update (Matrix const &A) |
| Reset matrix to compute shifted invariant from.
|
|
auto | d0 () const noexcept |
| Value of the shifted invariant.
|
|
template<int id, class Arg , class IndexedArg = IndexedType<Arg,id>, class = std::enable_if_t<EvaluateIfPresent< D1<Invariant,IndexedArg> >::present>> |
auto | d1 (const Arg &dA1) const |
| First directional derivative of the (scaled) shifted invariant. More...
|
|
template<int idx, int idy, class ArgX , class ArgY , class IndexedArgX = IndexedType<ArgX,idx>, class IndexedArgY = IndexedType<ArgY,idx>, class = std::enable_if_t<EvaluateIfPresent< D2<Invariant,IndexedArgX,IndexedArgY> >::present>> |
auto | d2 (const ArgX &dA1, const ArgY &dA2) const |
| Second directional derivative of the (scaled) shifted invariant. More...
|
|
template<int idx, int idy, int idz, class ArgX , class ArgY , class ArgZ , class IndexedArgX = IndexedType<ArgX,idx>, class IndexedArgY = IndexedType<ArgY,idy>, class IndexedArgZ = IndexedType<ArgZ,idz>, class = std::enable_if_t< EvaluateIfPresent< D3<Invariant,IndexedArgX,IndexedArgY,IndexedArgZ> >::present >> |
auto | d3 (ArgX const &dA1, ArgY const &dA2, ArgZ const &dA3) const |
| Third directional derivative of the (scaled) shifted invariant. More...
|
|
template<class Invariant , int offset>
template<class Matrix >
- Parameters
-
A | matrix to compute invariant from. |
template<class Invariant , int offset>
template<class Matrix >
- Parameters
-
A | matrix to compute invariant from. |
M | structural tensor for incorporation of anisotropic information. |
template<class Invariant , int offset>
template<class Matrix >
- Parameters
-
A | matrix to compute invariant from. |
M | structural tensor for incorporation of anisotropic information. |
template<class Invariant , int offset>
template<int id, class Arg , class IndexedArg = IndexedType<Arg,id>, class = std::enable_if_t<EvaluateIfPresent< D1<Invariant,IndexedArg> >::present>>
First directional derivative of the (scaled) shifted invariant.
- Parameters
-
dA1 | direction for which the derivative is computed |
- Returns
- derivative in direction dA1
template<class Invariant , int offset>
template<int idx, int idy, class ArgX , class ArgY , class IndexedArgX = IndexedType<ArgX,idx>, class IndexedArgY = IndexedType<ArgY,idx>, class = std::enable_if_t<EvaluateIfPresent< D2<Invariant,IndexedArgX,IndexedArgY> >::present>>
Second directional derivative of the (scaled) shifted invariant.
- Parameters
-
dA1 | direction for which the derivative is computed |
dA2 | direction for which the derivative is computed |
- Returns
- second derivative in the directions dA1 and dA2
template<class Invariant , int offset>
template<int idx, int idy, int idz, class ArgX , class ArgY , class ArgZ , class IndexedArgX = IndexedType<ArgX,idx>, class IndexedArgY = IndexedType<ArgY,idy>, class IndexedArgZ = IndexedType<ArgZ,idz>, class = std::enable_if_t< EvaluateIfPresent< D3<Invariant,IndexedArgX,IndexedArgY,IndexedArgZ> >::present >>
Third directional derivative of the (scaled) shifted invariant.
- Parameters
-
dA1 | direction for which the derivative is computed |
dA2 | direction for which the derivative is computed |
dA3 | direction for which the derivative is computed |
- Returns
- second derivative in the directions dA1, dA2 and dA3
The documentation for this class was generated from the following file: