Templated matrix space. More...
Classes | |
class | Block |
Sub-block type. More... | |
class | ConstBlock |
Const sub-block type. More... | |
Public Types | |
typedef MatrixSpace< Form, Cmpt, Mrows, Ncols > | msType |
MatrixSpace type. More... | |
![]() | |
typedef VectorSpace< Form, Cmpt, Ncmpts > | vsType |
VectorSpace type. More... | |
typedef Cmpt | cmptType |
Component type. More... | |
typedef Cmpt | magType |
Magnitude type. More... | |
typedef Cmpt * | iterator |
Random access iterator for traversing VectorSpace. More... | |
Public Member Functions | |
MatrixSpace ()=default | |
Default construct. More... | |
MatrixSpace (const Foam::zero) | |
Construct initialized to zero. More... | |
template<class Form2 , class Cmpt2 > | |
MatrixSpace (const VectorSpace< Form2, Cmpt2, Mrows *Ncols > &) | |
Construct as copy of a VectorSpace with the same size. More... | |
template<template< class, direction, direction > class Block2, direction BRowStart, direction BColStart> | |
MatrixSpace (const Block2< Form, BRowStart, BColStart > &block) | |
Construct from a block of another matrix space. More... | |
MatrixSpace (Istream &is) | |
Construct from Istream. More... | |
template<direction Row, direction Col> | |
const Cmpt & | elmt () const |
Fast const element access using compile-time addressing. More... | |
template<direction Row, direction Col> | |
Cmpt & | elmt () |
Fast element access using compile-time addressing. More... | |
const Cmpt & | xx () const |
const Cmpt & | xy () const |
const Cmpt & | xz () const |
const Cmpt & | yx () const |
const Cmpt & | yy () const |
const Cmpt & | yz () const |
const Cmpt & | zx () const |
const Cmpt & | zy () const |
const Cmpt & | zz () const |
Cmpt & | xx () |
Cmpt & | xy () |
Cmpt & | xz () |
Cmpt & | yx () |
Cmpt & | yy () |
Cmpt & | yz () |
Cmpt & | zx () |
Cmpt & | zy () |
Cmpt & | zz () |
typeOfTranspose< Cmpt, Form >::type | T () const |
Return the transpose of the matrix. More... | |
template<class SubTensor , direction BRowStart, direction BColStart> | |
ConstBlock< SubTensor, BRowStart, BColStart > | block () const |
Return a const sub-block corresponding to the specified type. More... | |
template<class SubTensor , direction BRowStart, direction BColStart> | |
Block< SubTensor, BRowStart, BColStart > | block () |
Return a sub-block corresponding to the specified type. More... | |
const Cmpt & | operator() (const direction &i, const direction &j) const |
(i, j) const element access operator More... | |
Cmpt & | operator() (const direction &i, const direction &j) |
(i, j) element access operator More... | |
void | operator= (const Foam::zero) |
Assignment to zero. More... | |
template<template< class, direction, direction > class Block2, direction BRowStart, direction BColStart> | |
void | operator= (const Block2< Form, BRowStart, BColStart > &block) |
Assignment to a block of another matrix space. More... | |
template<class Form2 > | |
void | operator&= (const MatrixSpace< Form, Cmpt, Ncols, Ncols > &matrix) |
Inner product with a compatible square matrix. More... | |
template<class SubTensor , Foam::direction BRowStart, Foam::direction BColStart> | |
Foam::MatrixSpace< Form, Cmpt, Mrows, Ncols >::template ConstBlock< SubTensor, BRowStart, BColStart > | block () const |
template<class SubTensor , Foam::direction BRowStart, Foam::direction BColStart> | |
Foam::MatrixSpace< Form, Cmpt, Mrows, Ncols >::template Block< SubTensor, BRowStart, BColStart > | block () |
![]() | |
VectorSpace ()=default | |
Default construct. More... | |
VectorSpace (const Foam::zero) | |
Construct initialized to zero. More... | |
VectorSpace (const VectorSpace< Form, Cmpt, Ncmpts > &vs) | |
Copy construct. More... | |
VectorSpace (const VectorSpace< Form2, Cmpt2, Ncmpts > &) | |
Copy construct of a VectorSpace with the same size. More... | |
VectorSpace (Istream &is) | |
Construct from Istream. More... | |
const Cmpt & | component (const direction) const |
Cmpt & | component (const direction) |
void | component (Cmpt &, const direction) const |
void | replace (const direction, const Cmpt &) |
const Cmpt * | cdata () const noexcept |
Return const pointer to the first data element. More... | |
Cmpt * | data () noexcept |
Return pointer to the first data element. More... | |
const ConstBlock< SubVector, BStart > | block () const |
const Foam::VectorSpace< Form, Cmpt, Ncmpts >::template ConstBlock< SubVector, BStart > | block () const |
const Cmpt & | operator[] (const direction) const |
Cmpt & | operator[] (const direction) |
void | operator= (const VectorSpace< Form, Cmpt, Ncmpts > &) |
void | operator= (const Foam::zero) |
void | operator+= (const VectorSpace< Form, Cmpt, Ncmpts > &) |
void | operator-= (const VectorSpace< Form, Cmpt, Ncmpts > &) |
void | operator*= (const scalar) |
void | operator/= (const scalar) |
iterator | begin () noexcept |
Return an iterator to begin of VectorSpace. More... | |
const_iterator | begin () const noexcept |
Return const_iterator to begin of VectorSpace. More... | |
iterator | end () noexcept |
Return an iterator to end of VectorSpace. More... | |
const_iterator | end () const noexcept |
Return const_iterator to end of VectorSpace. More... | |
const_iterator | cbegin () const noexcept |
Return const_iterator to begin of VectorSpace. More... | |
const_iterator | cend () const noexcept |
Return const_iterator to end of VectorSpace. More... | |
Static Public Member Functions | |
static direction | m () noexcept |
The number of rows. More... | |
static direction | n () noexcept |
The number of columns. More... | |
static msType | identity () |
An identity matrix for square matrix-spaces. More... | |
![]() | |
static constexpr direction | size () noexcept |
The number of elements in the VectorSpace = Ncmpts. More... | |
static Form | uniform (const Cmpt &s) |
Return a VectorSpace with all elements = s. More... | |
Static Public Attributes | |
static constexpr direction | mRows = Mrows |
static constexpr direction | nCols = Ncols |
![]() | |
static constexpr direction | dim |
Dimensionality of space. More... | |
static constexpr direction | nComponents |
Number of components in this vector space. More... | |
static constexpr direction | mRows |
static constexpr direction | nCols |
static const char *const | typeName |
static const char *const | componentNames [] |
static const Form | zero |
static const Form | one |
static const Form | max |
static const Form | min |
static const Form | rootMax |
static const Form | rootMin |
Additional Inherited Members | |
![]() | |
const typedef Cmpt * | const_iterator |
Random access iterator for traversing VectorSpace. More... | |
Cmpt | v_ [Ncmpts] |
The components of this vector space. More... | |
Templated matrix space.
Template arguments are the Form the matrix space will be used to create, the type of the elements and the number of rows and columns of the matrix.
Definition at line 58 of file MatrixSpace.H.
typedef MatrixSpace<Form, Cmpt, Mrows, Ncols> msType |
MatrixSpace type.
Definition at line 67 of file MatrixSpace.H.
|
default |
Default construct.
|
inline |
Construct initialized to zero.
Definition at line 34 of file MatrixSpaceI.H.
|
inlineexplicit |
Construct as copy of a VectorSpace with the same size.
Definition at line 45 of file MatrixSpaceI.H.
|
inline |
Construct from a block of another matrix space.
Definition at line 61 of file MatrixSpaceI.H.
|
inlineexplicit |
Construct from Istream.
Definition at line 76 of file MatrixSpaceI.H.
|
inlinestaticnoexcept |
The number of rows.
Definition at line 79 of file MatrixSpace.H.
|
inlinestaticnoexcept |
The number of columns.
Definition at line 85 of file MatrixSpace.H.
|
inlinestatic |
An identity matrix for square matrix-spaces.
Definition at line 270 of file MatrixSpaceI.H.
|
inline |
Fast const element access using compile-time addressing.
Definition at line 128 of file MatrixSpaceI.H.
|
inline |
Fast element access using compile-time addressing.
Definition at line 137 of file MatrixSpaceI.H.
|
inline |
Definition at line 145 of file MatrixSpaceI.H.
Referenced by Rxyz::jcalc(), Rzyx::jcalc(), Ryxz::jcalc(), and Rs::jcalc().
|
inline |
Definition at line 159 of file MatrixSpaceI.H.
Referenced by Rxyz::jcalc(), and Ryxz::jcalc().
|
inline |
Definition at line 173 of file MatrixSpaceI.H.
Referenced by Rzyx::jcalc().
|
inline |
Definition at line 187 of file MatrixSpaceI.H.
Referenced by Rxyz::jcalc(), Rzyx::jcalc(), and Ryxz::jcalc().
|
inline |
Definition at line 201 of file MatrixSpaceI.H.
Referenced by Rxyz::jcalc(), Rzyx::jcalc(), Ryxz::jcalc(), and Rs::jcalc().
|
inline |
Definition at line 215 of file MatrixSpaceI.H.
|
inline |
Definition at line 229 of file MatrixSpaceI.H.
Referenced by Rxyz::jcalc(), Rzyx::jcalc(), and Ryxz::jcalc().
|
inline |
Definition at line 243 of file MatrixSpaceI.H.
Referenced by Rzyx::jcalc().
|
inline |
Definition at line 257 of file MatrixSpaceI.H.
Referenced by Rxyz::jcalc(), Ryxz::jcalc(), and Rs::jcalc().
|
inline |
Definition at line 152 of file MatrixSpaceI.H.
|
inline |
Definition at line 166 of file MatrixSpaceI.H.
|
inline |
Definition at line 180 of file MatrixSpaceI.H.
|
inline |
Definition at line 194 of file MatrixSpaceI.H.
|
inline |
Definition at line 208 of file MatrixSpaceI.H.
|
inline |
Definition at line 222 of file MatrixSpaceI.H.
|
inline |
Definition at line 236 of file MatrixSpaceI.H.
|
inline |
Definition at line 250 of file MatrixSpaceI.H.
|
inline |
Definition at line 263 of file MatrixSpaceI.H.
|
inline |
Return the transpose of the matrix.
Definition at line 286 of file MatrixSpaceI.H.
Referenced by Foam::T().
|
inline |
Return a const sub-block corresponding to the specified type.
starting at the specified row and column
Referenced by MatrixSpace< BarycentricTensor< Cmpt >, Cmpt, 4, 3 >::operator=().
Return a sub-block corresponding to the specified type.
starting at the specified row and column
(i, j) const element access operator
Definition at line 337 of file MatrixSpaceI.H.
Referenced by MatrixSpace< Form, Cmpt, Mrows, Ncols >::Block< SubTensor, BRowStart, BColStart >::operator()(), MatrixSpace< Form, Cmpt, Mrows, Ncols >::Block< SubTensor, BRowStart, BColStart >::operator=(), MatrixSpace< BarycentricTensor< Cmpt >, Cmpt, 4, 3 >::operator=(), and MatrixSpace< BarycentricTensor< Cmpt >, Cmpt, 4, 3 >::T().
(i, j) element access operator
Definition at line 357 of file MatrixSpaceI.H.
|
inline |
Assignment to zero.
Definition at line 442 of file MatrixSpaceI.H.
|
inline |
Assignment to a block of another matrix space.
Definition at line 469 of file MatrixSpaceI.H.
|
inline |
Inner product with a compatible square matrix.
Definition at line 453 of file MatrixSpaceI.H.
|
inline |
Definition at line 311 of file MatrixSpaceI.H.
|
inline |
Definition at line 327 of file MatrixSpaceI.H.
|
staticconstexpr |
Definition at line 72 of file MatrixSpace.H.
Referenced by MatrixSpace< Form, Cmpt, Mrows, Ncols >::Block< SubTensor, BRowStart, BColStart >::Block(), MatrixSpace< Form, Cmpt, Mrows, Ncols >::ConstBlock< SubTensor, BRowStart, BColStart >::ConstBlock(), and MatrixSpace< Form, Cmpt, Mrows, Ncols >::Block< SubTensor, BRowStart, BColStart >::operator=().
|
staticconstexpr |
Definition at line 73 of file MatrixSpace.H.
Referenced by MatrixSpace< Form, Cmpt, Mrows, Ncols >::Block< SubTensor, BRowStart, BColStart >::Block(), MatrixSpace< Form, Cmpt, Mrows, Ncols >::ConstBlock< SubTensor, BRowStart, BColStart >::ConstBlock(), and MatrixSpace< Form, Cmpt, Mrows, Ncols >::Block< SubTensor, BRowStart, BColStart >::operator=().