Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
MatrixSpace< Form, Cmpt, Mrows, Ncols > Class Template Reference

Templated matrix space. More...

Inheritance diagram for MatrixSpace< Form, Cmpt, Mrows, Ncols >:
Inheritance graph
[legend]
Collaboration diagram for MatrixSpace< Form, Cmpt, Mrows, Ncols >:
Collaboration graph
[legend]

Classes

class  Block
 
class  ConstBlock
 

Public Types

typedef MatrixSpace< Form, Cmpt, Mrows, Ncols > msType
 
- Public Types inherited from VectorSpace< Form, Cmpt, Mrows *Ncols >
typedef VectorSpace< Form, Cmpt, Ncmpts > vsType
 
typedef Cmpt cmptType
 
typedef Cmpt magType
 
typedef Cmpt * iterator
 

Public Member Functions

 MatrixSpace ()=default
 
 MatrixSpace (const Foam::zero)
 
template<class Form2 , class Cmpt2 >
 MatrixSpace (const VectorSpace< Form2, Cmpt2, Mrows *Ncols > &)
 
template<template< class, direction, direction > class Block2, direction BRowStart, direction BColStart>
 MatrixSpace (const Block2< Form, BRowStart, BColStart > &block)
 
 MatrixSpace (Istream &is)
 
template<direction Row, direction Col>
const Cmpt & elmt () const
 
template<direction Row, direction Col>
Cmpt & elmt ()
 
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
 
template<class SubTensor , direction BRowStart, direction BColStart>
ConstBlock< SubTensor, BRowStart, BColStart > block () const
 
template<class SubTensor , direction BRowStart, direction BColStart>
Block< SubTensor, BRowStart, BColStart > block ()
 
const Cmpt & operator() (const direction &i, const direction &j) const
 
Cmpt & operator() (const direction &i, const direction &j)
 
void operator= (const Foam::zero)
 
template<template< class, direction, direction > class Block2, direction BRowStart, direction BColStart>
void operator= (const Block2< Form, BRowStart, BColStart > &block)
 
template<class Form2 >
void operator&= (const MatrixSpace< Form, Cmpt, Ncols, Ncols > &matrix)
 
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 ()
 
- Public Member Functions inherited from VectorSpace< Form, Cmpt, Mrows *Ncols >
 VectorSpace ()=default
 
 VectorSpace (const Foam::zero)
 
 VectorSpace (const VectorSpace< Form, Cmpt, Ncmpts > &vs)
 
 VectorSpace (const VectorSpace< Form2, Cmpt2, Ncmpts > &)
 
 VectorSpace (Istream &is)
 
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
 
Cmpt * data () noexcept
 
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
 
const_iterator begin () const noexcept
 
iterator end () noexcept
 
const_iterator end () const noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator cend () const noexcept
 

Static Public Member Functions

static direction m () noexcept
 
static direction n () noexcept
 
static msType identity ()
 
- Static Public Member Functions inherited from VectorSpace< Form, Cmpt, Mrows *Ncols >
static constexpr direction size () noexcept
 
static Form uniform (const Cmpt &s)
 

Static Public Attributes

static constexpr direction mRows = Mrows
 
static constexpr direction nCols = Ncols
 
- Static Public Attributes inherited from VectorSpace< Form, Cmpt, Mrows *Ncols >
static constexpr direction dim
 
static constexpr direction nComponents
 
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

- Public Attributes inherited from VectorSpace< Form, Cmpt, Mrows *Ncols >
const typedef Cmpt * const_iterator
 
Cmpt v_ [Ncmpts]
 

Detailed Description

template<class Form, class Cmpt, direction Mrows, direction Ncols>
class Foam::MatrixSpace< Form, Cmpt, Mrows, Ncols >

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.

Source files
See also
Foam::VectorSpace

Definition at line 54 of file MatrixSpace.H.

Member Typedef Documentation

◆ msType

typedef MatrixSpace<Form, Cmpt, Mrows, Ncols> msType

Definition at line 63 of file MatrixSpace.H.

Constructor & Destructor Documentation

◆ MatrixSpace() [1/5]

MatrixSpace ( )
default

◆ MatrixSpace() [2/5]

MatrixSpace ( const Foam::zero  )
inline

Definition at line 27 of file MatrixSpaceI.H.

◆ MatrixSpace() [3/5]

MatrixSpace ( const VectorSpace< Form2, Cmpt2, Mrows *Ncols > &  vs)
inlineexplicit

Definition at line 38 of file MatrixSpaceI.H.

◆ MatrixSpace() [4/5]

MatrixSpace ( const Block2< Form, BRowStart, BColStart > &  block)
inline

Definition at line 54 of file MatrixSpaceI.H.

◆ MatrixSpace() [5/5]

MatrixSpace ( Istream is)
inlineexplicit

Definition at line 69 of file MatrixSpaceI.H.

Member Function Documentation

◆ m()

static direction m ( )
inlinestaticnoexcept

Definition at line 75 of file MatrixSpace.H.

◆ n()

static direction n ( )
inlinestaticnoexcept

Definition at line 81 of file MatrixSpace.H.

◆ identity()

Foam::MatrixSpace< Form, Cmpt, Mrows, Ncols > identity
inlinestatic

Definition at line 263 of file MatrixSpaceI.H.

◆ elmt() [1/2]

const Cmpt & elmt
inline

Definition at line 121 of file MatrixSpaceI.H.

◆ elmt() [2/2]

Cmpt & elmt
inline

Definition at line 130 of file MatrixSpaceI.H.

◆ xx() [1/2]

Cmpt & xx
inline

Definition at line 138 of file MatrixSpaceI.H.

Referenced by Rxyz::jcalc(), Rzyx::jcalc(), Ryxz::jcalc(), and Rs::jcalc().

Here is the caller graph for this function:

◆ xy() [1/2]

Cmpt & xy
inline

Definition at line 152 of file MatrixSpaceI.H.

Referenced by Rxyz::jcalc(), and Ryxz::jcalc().

Here is the caller graph for this function:

◆ xz() [1/2]

Cmpt & xz
inline

Definition at line 166 of file MatrixSpaceI.H.

Referenced by Rzyx::jcalc().

Here is the caller graph for this function:

◆ yx() [1/2]

Cmpt & yx
inline

Definition at line 180 of file MatrixSpaceI.H.

Referenced by Rxyz::jcalc(), Rzyx::jcalc(), and Ryxz::jcalc().

Here is the caller graph for this function:

◆ yy() [1/2]

Cmpt & yy
inline

Definition at line 194 of file MatrixSpaceI.H.

Referenced by Rxyz::jcalc(), Rzyx::jcalc(), Ryxz::jcalc(), and Rs::jcalc().

Here is the caller graph for this function:

◆ yz() [1/2]

Cmpt & yz
inline

Definition at line 208 of file MatrixSpaceI.H.

◆ zx() [1/2]

Cmpt & zx
inline

Definition at line 222 of file MatrixSpaceI.H.

Referenced by Rxyz::jcalc(), Rzyx::jcalc(), and Ryxz::jcalc().

Here is the caller graph for this function:

◆ zy() [1/2]

Cmpt & zy
inline

Definition at line 236 of file MatrixSpaceI.H.

Referenced by Rzyx::jcalc().

Here is the caller graph for this function:

◆ zz() [1/2]

Cmpt & zz
inline

Definition at line 250 of file MatrixSpaceI.H.

Referenced by Rxyz::jcalc(), Ryxz::jcalc(), and Rs::jcalc().

Here is the caller graph for this function:

◆ xx() [2/2]

Cmpt& xx ( )
inline

◆ xy() [2/2]

Cmpt& xy ( )
inline

◆ xz() [2/2]

Cmpt& xz ( )
inline

◆ yx() [2/2]

Cmpt& yx ( )
inline

◆ yy() [2/2]

Cmpt& yy ( )
inline

◆ yz() [2/2]

Cmpt& yz ( )
inline

◆ zx() [2/2]

Cmpt& zx ( )
inline

◆ zy() [2/2]

Cmpt& zy ( )
inline

◆ zz() [2/2]

Cmpt& zz ( )
inline

◆ T()

Foam::typeOfTranspose< Cmpt, Form >::type T
inline

Definition at line 279 of file MatrixSpaceI.H.

Referenced by Foam::T().

Here is the caller graph for this function:

◆ block() [1/4]

ConstBlock<SubTensor, BRowStart, BColStart> block ( ) const
inline

Referenced by MatrixSpace< BarycentricTensor< Cmpt >, Cmpt, 4, 3 >::operator=().

Here is the caller graph for this function:

◆ block() [2/4]

Block<SubTensor, BRowStart, BColStart> block ( )
inline

◆ operator()() [1/2]

const Cmpt & operator() ( const direction i,
const direction j 
) const
inline

◆ operator()() [2/2]

Cmpt & operator() ( const direction i,
const direction j 
)
inline

Definition at line 350 of file MatrixSpaceI.H.

◆ operator=() [1/2]

void operator= ( const Foam::zero  )
inline

Definition at line 435 of file MatrixSpaceI.H.

◆ operator=() [2/2]

void operator= ( const Block2< Form, BRowStart, BColStart > &  block)
inline

Definition at line 462 of file MatrixSpaceI.H.

◆ operator&=()

void operator&= ( const MatrixSpace< Form, Cmpt, Ncols, Ncols > &  matrix)
inline

Definition at line 446 of file MatrixSpaceI.H.

◆ block() [3/4]

Foam::MatrixSpace<Form, Cmpt, Mrows, Ncols>::template ConstBlock<SubTensor, BRowStart, BColStart> block ( ) const
inline

Definition at line 304 of file MatrixSpaceI.H.

◆ block() [4/4]

Foam::MatrixSpace<Form, Cmpt, Mrows, Ncols>::template Block<SubTensor, BRowStart, BColStart> block ( )
inline

Definition at line 320 of file MatrixSpaceI.H.

Member Data Documentation

◆ mRows

constexpr direction mRows = Mrows
staticconstexpr

◆ nCols

constexpr direction nCols = Ncols
staticconstexpr

The documentation for this class was generated from the following files: