![]() |
Reference documentation for deal.II version 8.5.1
|
#include <deal.II/base/derivative_form.h>
Public Member Functions | |
| DerivativeForm () | |
| DerivativeForm (const Tensor< order+1, dim, Number > &) | |
| Tensor< order, dim, Number > & | operator[] (const unsigned int i) |
| const Tensor< order, dim, Number > & | operator[] (const unsigned int i) const |
| DerivativeForm & | operator= (const Tensor< order+1, dim, Number > &) |
| DerivativeForm & | operator= (const Tensor< 1, dim, Number > &) |
| operator Tensor< order+1, dim, Number > () const | |
| operator Tensor< 1, dim, Number > () const | |
| DerivativeForm< 1, spacedim, dim, Number > | transpose () const |
| numbers::NumberTraits< Number >::real_type | norm () const |
| double | determinant () const |
| DerivativeForm< 1, dim, spacedim, Number > | covariant_form () const |
Static Public Member Functions | |
| static std::size_t | memory_consumption () |
| static ::ExceptionBase & | ExcInvalidTensorIndex (int arg1) |
Private Member Functions | |
| DerivativeForm< 1, dim, spacedim, Number > | times_T_t (const Tensor< 2, dim, Number > &T) const |
Private Attributes | |
| Tensor< order, dim, Number > | tensor [spacedim] |
Related Functions | |
(Note that these are not member functions.) | |
| template<int spacedim, int dim, typename Number > | |
| Tensor< 1, spacedim, Number > | apply_transformation (const DerivativeForm< 1, dim, spacedim, Number > &DF, const Tensor< 1, dim, Number > &T) |
| template<int spacedim, int dim, typename Number > | |
| DerivativeForm< 1, spacedim, dim > | apply_transformation (const DerivativeForm< 1, dim, spacedim, Number > &DF, const Tensor< 2, dim, Number > &T) |
| template<int spacedim, int dim, typename Number > | |
| Tensor< 2, spacedim, Number > | apply_transformation (const DerivativeForm< 1, dim, spacedim, Number > &DF1, const DerivativeForm< 1, dim, spacedim, Number > &DF2) |
| template<int dim, int spacedim, typename Number > | |
| DerivativeForm< 1, spacedim, dim, Number > | transpose (const DerivativeForm< 1, dim, spacedim, Number > &DF) |
This class represents the (tangential) derivatives of a function
. Such functions are always used to map the reference dim-dimensional cell into spacedim-dimensional space. For such objects, the first derivative of the function is a linear map from
to
, i.e., it can be represented as a matrix in
. This makes sense since one would represent the first derivative,
with
, in such a way that the directional derivative in direction
so that
i.e., one needs to be able to multiply the matrix
by a vector in
, and the result is a difference of function values, which are in
. Consequently, the matrix must be of size
.
Similarly, the second derivative is a bilinear map from
to
, which one can think of a rank-3 object of size
.
In deal.II we represent these derivatives using objects of type DerivativeForm<1,dim,spacedim,Number>, DerivativeForm<2,dim,spacedim,Number> and so on.
Definition at line 56 of file derivative_form.h.
| DerivativeForm< order, dim, spacedim, Number >::DerivativeForm | ( | ) |
Constructor. Initialize all entries to zero.
| DerivativeForm< order, dim, spacedim, Number >::DerivativeForm | ( | const Tensor< order+1, dim, Number > & | ) |
Constructor from a tensor.
| Tensor<order,dim,Number>& DerivativeForm< order, dim, spacedim, Number >::operator[] | ( | const unsigned int | i | ) |
Read-Write access operator.
| const Tensor<order,dim,Number>& DerivativeForm< order, dim, spacedim, Number >::operator[] | ( | const unsigned int | i | ) | const |
Read-only access operator.
| DerivativeForm& DerivativeForm< order, dim, spacedim, Number >::operator= | ( | const Tensor< order+1, dim, Number > & | ) |
Assignment operator.
| DerivativeForm& DerivativeForm< order, dim, spacedim, Number >::operator= | ( | const Tensor< 1, dim, Number > & | ) |
Assignment operator.
| DerivativeForm< order, dim, spacedim, Number >::operator Tensor< order+1, dim, Number > | ( | ) | const |
Converts a DerivativeForm <order,dim,dim> to Tensor<order+1,dim,Number>. In particular, if order==1 and the derivative is the Jacobian of F, then Tensor[i] = grad(F^i).
| DerivativeForm< order, dim, spacedim, Number >::operator Tensor< 1, dim, Number > | ( | ) | const |
Converts a DerivativeForm <1, dim, 1> to Tensor<1,dim,Number>.
| DerivativeForm<1, spacedim, dim, Number> DerivativeForm< order, dim, spacedim, Number >::transpose | ( | ) | const |
Return the transpose of a rectangular DerivativeForm, that is to say viewed as a two dimensional matrix.
| numbers::NumberTraits<Number>::real_type DerivativeForm< order, dim, spacedim, Number >::norm | ( | ) | const |
Compute the Frobenius norm of this form, i.e., the expression
.
| double DerivativeForm< order, dim, spacedim, Number >::determinant | ( | ) | const |
Compute the volume element associated with the jacobian of the transformation F. That is to say if
is square, it computes
, in case DF is not square returns
.
| DerivativeForm<1, dim, spacedim, Number> DerivativeForm< order, dim, spacedim, Number >::covariant_form | ( | ) | const |
Assuming that the current object stores the Jacobian of a mapping
, then the current function computes the covariant form of the derivative, namely
, where
. If
is a square matrix (i.e.,
), then this function simplifies to computing
.
|
static |
Determine an estimate for the memory consumption (in bytes) of this object.
|
private |
Auxiliary function that computes (*this) *
|
related |
One of the uses of DerivativeForm is to apply it as a transformation. This is what this function does. If T is DerivativeForm<1,dim,1> it computes
, if T is DerivativeForm<1,dim,rank> it computes
.
Definition at line 401 of file derivative_form.h.
|
related |
Similar to previous apply_transformation. It computes
.
Definition at line 422 of file derivative_form.h.
|
related |
Similar to previous apply_transformation. It computes 
Definition at line 442 of file derivative_form.h.
|
related |
Transpose of a rectangular DerivativeForm DF, mostly for compatibility reasons.
Definition at line 464 of file derivative_form.h.
|
private |
Array of tensors holding the subelements.
Definition at line 154 of file derivative_form.h.
1.8.13