![]() |
Reference documentation for deal.II version 9.5.0
|
Go to the source code of this file.
Classes | |
class | DerivativeForm< order, dim, spacedim, Number > |
Functions | |
template<int spacedim, int dim, typename Number1 , typename Number2 > | |
Tensor< 1, spacedim, typename ProductType< Number1, Number2 >::type > | apply_transformation (const DerivativeForm< 1, dim, spacedim, Number1 > &grad_F, const Tensor< 1, dim, Number2 > &d_x) |
template<int spacedim, int dim, typename Number1 , typename Number2 > | |
DerivativeForm< 1, spacedim, dim, typename ProductType< Number1, Number2 >::type > | apply_transformation (const DerivativeForm< 1, dim, spacedim, Number1 > &grad_F, const Tensor< 2, dim, Number2 > &D_X) |
template<int dim, typename Number1 , typename Number2 > | |
Tensor< 2, dim, typename ProductType< Number1, Number2 >::type > | apply_transformation (const DerivativeForm< 1, dim, dim, Number1 > &grad_F, const Tensor< 2, dim, Number2 > &D_X) |
template<int spacedim, int dim, int n_components, typename Number1 , typename Number2 > | |
Tensor< 1, n_components, Tensor< 1, spacedim, typename ProductType< Number1, Number2 >::type > > | apply_transformation (const DerivativeForm< 1, dim, spacedim, Number1 > &grad_F, const Tensor< 1, n_components, Tensor< 1, dim, Number2 > > &D_X) |
template<int spacedim, int dim, typename Number1 , typename Number2 > | |
Tensor< 2, spacedim, typename ProductType< Number1, Number2 >::type > | apply_transformation (const DerivativeForm< 1, dim, spacedim, Number1 > &DF1, const DerivativeForm< 1, dim, spacedim, Number2 > &DF2) |
template<int dim, int spacedim, typename Number > | |
DerivativeForm< 1, spacedim, dim, Number > | transpose (const DerivativeForm< 1, dim, spacedim, Number > &DF) |
|
inline |
One of the uses of DerivativeForm is to apply it as a linear transformation. This function returns \nabla \mathbf F(\mathbf x) \Delta \mathbf x, which approximates the change in \mathbf F(\mathbf x) when \mathbf x is changed by the amount \Delta \mathbf x
\nabla \mathbf F(\mathbf x) \; \Delta \mathbf x \approx \mathbf F(\mathbf x + \Delta \mathbf x) - \mathbf F(\mathbf x).
The transformation corresponds to
[\text{result}]_{i_1,\dots,i_k} = i\sum_{j} \left[\nabla \mathbf F(\mathbf x)\right]_{i_1,\dots,i_k, j} \Delta x_j
in index notation and corresponds to [\Delta \mathbf x] [\nabla \mathbf F(\mathbf x)]^T in matrix notation.
Definition at line 454 of file derivative_form.h.
|
inline |
Similar to the previous apply_transformation(). Each row of the result corresponds to one of the rows of D_X
transformed by grad_F
, equivalent to \mathrm{D\_X} \, \mathrm{grad\_F}^T in matrix notation.
Definition at line 479 of file derivative_form.h.
|
inline |
Similar to the previous apply_transformation(), specialized for the case dim == spacedim
where we can return a rank-2 tensor instead of the more general DerivativeForm
. Each row of the result corresponds to one of the rows of D_X
transformed by grad_F
, equivalent to \mathrm{D\_X} \, \mathrm{grad\_F}^T in matrix notation.
Definition at line 505 of file derivative_form.h.
|
inline |
Similar to the previous apply_transformation(). Each row of the result corresponds to one of the rows of D_X
transformed by grad_F
.
Definition at line 532 of file derivative_form.h.
|
inline |
Similar to the previous apply_transformation(). In matrix notation, it computes DF2 \, DF1^{T}. Moreover, the result of this operation \mathbf A can be interpreted as a metric tensor in {\mathbb R}^\text{spacedim} which corresponds to the Euclidean metric tensor in {\mathbb R}^\text{dim}. For every pair of vectors \mathbf u, \mathbf v \in {\mathbb R}^\text{spacedim}, we have:
\mathbf u \cdot \mathbf A \mathbf v = \text{DF2}^{-1}(\mathbf u) \cdot \text{DF1}^{-1}(\mathbf v)
Definition at line 565 of file derivative_form.h.
|
inline |
Transpose of a rectangular DerivativeForm DF, mostly for compatibility reasons.
Definition at line 586 of file derivative_form.h.