|
| | SymmetricTensor (bool eye=false) |
| | Default constructor.
|
| |
| | SymmetricTensor (field_type a) |
| | Constructor for tensor with all entries being the same.
|
| |
| | SymmetricTensor (const Dune::FieldVector< field_type, dim *(dim+1)/2 > fvector) |
| | Construct from FieldVector of correct dimension.
|
| |
| field_type | operator* (const SymmetricTensor< dim, field_type > &B) const |
| | This is the contraction product of two tensors of 2nd stage \( E*F := E:F = \sum_{ij}(E_{ij}\cdot F_{ij}) \).
|
| |
| void | umv (const Dune::FieldVector< field_type, dim > &x, Dune::FieldVector< field_type, dim > &y) const |
| | Matrix-Vector product.
|
| |
| void | mv (const Dune::FieldVector< field_type, dim > &x, Dune::FieldVector< field_type, dim > &y) const |
| | Matrix-Vector product.
|
| |
| field_type & | operator() (int i, int j) |
| | Matrix style random read/write access to components.
|
| |
| const field_type & | operator() (int i, int j) const |
| | Matrix style random read access to components.
|
| |
| field_type | trace () const |
| |
| void | addToDiag (field_type x) |
| | add constant value to the diagonal, leaving off-diagonal entries unaffected.
|
| |
| void | setDiag (field_type diagValue) |
| | set diagonal to "constant" value and zero non-diagonal entries
|
| |
| void | setDiag (const Dune::FieldVector< field_type, dim > &diagVector) |
| | set diagonal according to vector entries and zero non-diagonal entries
|
| |
| Dune::FieldMatrix< field_type, dim, dim > | matrix () const |
| | Return the FieldMatrix representation of the symmetric tensor.
|
| |
| | explicit (SIZE !=1) const expr FieldVector(const value_type &value) noexcept |
| |
| | explicit (SIZE !=1) const expr FieldVector(const S &scalar) noexcept(std::is_nothrow_constructible_v< K, S >) |
| |
| constexpr value_type & | front () |
| |
| constexpr const value_type & | front () const |
| |
| constexpr value_type & | back () |
| |
| constexpr const value_type & | back () const |
| |
| constexpr bool | empty () const |
| |
| constexpr size_type | size () const |
| |
| constexpr Iterator | begin () |
| |
| constexpr ConstIterator | begin () const |
| |
| constexpr Iterator | end () |
| |
| constexpr ConstIterator | end () const |
| |
| constexpr Iterator | beforeEnd () |
| |
| constexpr ConstIterator | beforeEnd () const |
| |
| constexpr Iterator | beforeBegin () |
| |
| constexpr ConstIterator | beforeBegin () const |
| |
| constexpr Iterator | find (size_type i) |
| |
| constexpr ConstIterator | find (size_type i) const |
| |
| constexpr Iterator | find (size_type i) |
| |
| constexpr ConstIterator | find (size_type i) const |
| |
| constexpr derived_type & | operator+= (const DenseVector< Other > &x) |
| |
| constexpr std::enable_if< std::is_convertible< ValueType, value_type >::value, derived_type >::type & | operator+= (const ValueType &kk) |
| |
| constexpr derived_type & | operator-= (const DenseVector< Other > &x) |
| |
| constexpr std::enable_if< std::is_convertible< ValueType, value_type >::value, derived_type >::type & | operator-= (const ValueType &kk) |
| |
| constexpr derived_type | operator+ (const DenseVector< Other > &b) const |
| |
| constexpr derived_type | operator- (const DenseVector< Other > &b) const |
| |
| constexpr derived_type | operator- () const |
| |
| constexpr std::enable_if< std::is_convertible< FieldType, field_type >::value, derived_type >::type & | operator*= (const FieldType &kk) |
| |
| constexpr std::enable_if< std::is_convertible< FieldType, field_type >::value, derived_type >::type & | operator/= (const FieldType &kk) |
| |
| constexpr bool | operator== (const DenseVector< Other > &x) const |
| |
| constexpr bool | operator!= (const DenseVector< Other > &x) const |
| |
| constexpr derived_type & | axpy (const field_type &a, const DenseVector< Other > &x) |
| |
| constexpr PromotionTraits< field_type, typenameDenseVector< Other >::field_type >::PromotedType | operator* (const DenseVector< Other > &x) const |
| |
| constexpr PromotionTraits< field_type, typenameDenseVector< Other >::field_type >::PromotedType | dot (const DenseVector< Other > &x) const |
| |
| constexpr FieldTraits< value_type >::real_type | one_norm () const |
| |
| constexpr FieldTraits< value_type >::real_type | one_norm_real () const |
| |
| constexpr FieldTraits< value_type >::real_type | two_norm () const |
| |
| constexpr FieldTraits< value_type >::real_type | two_norm2 () const |
| |
| constexpr FieldTraits< vt >::real_type | infinity_norm () const |
| |
| constexpr FieldTraits< vt >::real_type | infinity_norm () const |
| |
| constexpr FieldTraits< vt >::real_type | infinity_norm_real () const |
| |
| constexpr FieldTraits< vt >::real_type | infinity_norm_real () const |
| |
| constexpr size_type | N () const |
| |
| constexpr size_type | dim () const |
| |
| constexpr reference | operator[] (size_type i) |
| |
| constexpr const_reference | operator[] (size_type i) const |
| |
| constexpr reference | operator[] (size_type i) |
| |
| constexpr const_reference | operator[] (size_type i) const |
| |
| constexpr value_type & | operator[] (size_type i) |
| |
| constexpr const value_type & | operator[] (size_type i) const |
| |
| constexpr K * | data () noexcept |
| |
| constexpr const K * | data () const noexcept |
| |
| constexpr K * | data () noexcept |
| |
| constexpr const K * | data () const noexcept |
| |
| constexpr | operator const_reference () const noexcept |
| |
| constexpr | operator const_reference () const noexcept |
| |
| constexpr | operator reference () noexcept |
| |
| constexpr | operator reference () noexcept |
| |
| std::istream & | operator>> (std::istream &in, FieldVector< K, SIZE > &v) |
| |
| std::ostream & | operator<< (std::ostream &s, const DenseVector< FieldVector< K, SIZE > > &v) |
| |
| std::ostream & | operator<< (std::ostream &s, const DenseVector< V > &v) |
| |
template<int dim, class
field_type = double>
class SymmetricTensor< dim, field_type >
A class implementing a 2nd order symmetric tensor.
A \( dim\times dim \) tensor is stored internally as a Dune::FieldVector<field_type, dim*(dim+1)/2> For a symmetric 3x3-Tensor \( E \) the components are assumed to be stored in the order \( [ E(1,1),\ E(2,2),\ E(3,3),\ E(1,2),\ E(1,3),\ E(2,3) ]\) and analogous for other dimensions
- Template Parameters
-
| dim | number of lines/columns of tensor |