![]() |
Reference documentation for deal.II version 8.4.2
|
#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 DerivativeForm< order, dim, spacedim, Number > &) |
| 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 |
| double | determinant () const |
| DerivativeForm< 1, dim, spacedim, Number > | covariant_form () const |
| DeclException1 (ExcInvalidTensorIndex, int,<< "Invalid DerivativeForm index "<< arg1) | |
Static Public Member Functions | |
| static std::size_t | memory_consumption () |
Private Member Functions | |
| DerivativeForm< 1, dim, spacedim, Number > | times_T_t (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 DerivativeForm< order, dim, spacedim, Number > & | ) |
Assignment 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.
| double DerivativeForm< order, dim, spacedim, Number >::determinant | ( | ) | const |
Computes 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 (*this) stores the jacobian of the mapping F, it computes its covariant matrix, namely
, where
. If
is square, covariant from gives
.
|
static |
Determine an estimate for the memory consumption (in bytes) of this object.
| DerivativeForm< order, dim, spacedim, Number >::DeclException1 | ( | ExcInvalidTensorIndex | , |
| int | , | ||
| << "Invalid DerivativeForm< order, dim, spacedim, Number > index "<< | arg1 | ||
| ) |
Exception.
|
private |
Auxiliary function that computes (*this) * T^{t}
|
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 411 of file derivative_form.h.
|
related |
Similar to previous apply_transformation. It computes
.
Definition at line 432 of file derivative_form.h.
|
related |
Similar to previous apply_transformation. It computes 
Definition at line 452 of file derivative_form.h.
|
related |
Transpose of a rectangular DerivativeForm DF, mostly for compatibility reasons.
Definition at line 474 of file derivative_form.h.
|
private |
Array of tensors holding the subelements.
Definition at line 157 of file derivative_form.h.
1.8.12