MatrixBlock< MatrixType > Class Template Reference

A templated block of an (m x n) matrix of type <MatrixType>. More...

Public Types

typedef MatrixType::cmptType cmptType
 

Public Member Functions

 MatrixBlock (MatrixType &matrix, const label m, const label n, const label mStart, const label nStart)
 Construct block for matrix, size and location. More...
 
label m () const
 Return the number of rows in the block. More...
 
label n () const
 Return the number of columns in the block. More...
 
const cmptType & operator() (const label i, const label j) const
 (i, j) const element access operator More...
 
cmptType & operator() (const label i, const label j)
 (i, j) element access operator More...
 
 operator Field< cmptType > () const
 Convert a column of a matrix to a Field. More...
 
template<class Form >
void operator= (const Matrix< Form, cmptType > &)
 Assignment to a compatible matrix. More...
 
void operator= (const ConstMatrixBlock< MatrixType > &)
 Assignment to a compatible const block. More...
 
void operator= (const MatrixBlock< MatrixType > &)
 Assignment to a compatible block. More...
 
template<class MatrixType2 >
void operator= (const ConstMatrixBlock< MatrixType2 > &)
 Assignment to a compatible const block. More...
 
template<class MatrixType2 >
void operator= (const MatrixBlock< MatrixType2 > &)
 Assignment to a compatible block. More...
 
template<class MSForm , direction Nrows, direction Ncols>
void operator= (const MatrixSpace< MSForm, cmptType, Nrows, Ncols > &)
 Assignment to a compatible MatrixSpace. More...
 
template<template< class, direction, direction > class Block, class SubTensor , direction BRowStart, direction BColStart>
void operator= (const Block< SubTensor, BRowStart, BColStart > &)
 Assignment to a compatible MatrixSpace block. More...
 
template<class VSForm , direction Ncmpts>
void operator= (const VectorSpace< VSForm, cmptType, Ncmpts > &)
 Assignment to a compatible VectorSpace (column-vector) More...
 
template<template< class, direction > class Block, class SubVector , direction BStart>
void operator= (const Block< SubVector, BStart > &)
 Assignment to a compatible VectorSpace (column-vector) block. More...
 
void operator= (const Field< cmptType > &)
 Assignment to a Field (column-vector) More...
 

Detailed Description

template<class MatrixType>
class Foam::MatrixBlock< MatrixType >

A templated block of an (m x n) matrix of type <MatrixType>.

Foam::ConstMatrixBlock: block of a const matrix Foam::MatrixBlock: block of a non-const matrix

The block may be assigned to a block of another matrix or to a VectorSpace or MatrixSpace e.g. tensor. Conversion of a column block to a Field<T> is also provide.

Source files

Definition at line 71 of file Matrix.H.

Member Typedef Documentation

◆ cmptType

typedef MatrixType::cmptType cmptType

Definition at line 132 of file MatrixBlock.H.

Constructor & Destructor Documentation

◆ MatrixBlock()

MatrixBlock ( MatrixType &  matrix,
const label  m,
const label  n,
const label  mStart,
const label  nStart 
)
inline

Construct block for matrix, size and location.

Definition at line 61 of file MatrixBlockI.H.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Referenced by ConstMatrixBlock< MatrixType >::ConstMatrixBlock().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ m()

Foam::label m ( ) const
inline

Return the number of rows in the block.

Definition at line 107 of file MatrixBlockI.H.

◆ n()

Foam::label n ( ) const
inline

Return the number of columns in the block.

Definition at line 114 of file MatrixBlockI.H.

◆ operator()() [1/2]

const MatrixType::cmptType & operator() ( const label  i,
const label  j 
) const
inline

(i, j) const element access operator

Definition at line 152 of file MatrixBlockI.H.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ operator()() [2/2]

MatrixType::cmptType & operator() ( const label  i,
const label  j 
)
inline

(i, j) element access operator

Definition at line 179 of file MatrixBlockI.H.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ operator Field< cmptType >()

operator Field< cmptType > ( ) const

Convert a column of a matrix to a Field.

Definition at line 52 of file MatrixBlock.C.

References Foam::abort(), f(), Foam::FatalError, FatalErrorInFunction, and forAll.

Here is the call graph for this function:

◆ operator=() [1/10]

void operator= ( const Matrix< Form, cmptType > &  Mb)

Assignment to a compatible matrix.

Definition at line 77 of file MatrixBlock.C.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ operator=() [2/10]

void operator= ( const ConstMatrixBlock< MatrixType > &  Mb)

Assignment to a compatible const block.

Definition at line 102 of file MatrixBlock.C.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ operator=() [3/10]

void operator= ( const MatrixBlock< MatrixType > &  Mb)

Assignment to a compatible block.

Definition at line 130 of file MatrixBlock.C.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ operator=() [4/10]

void operator= ( const ConstMatrixBlock< MatrixType2 > &  Mb)

Assignment to a compatible const block.

Definition at line 159 of file MatrixBlock.C.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ operator=() [5/10]

void operator= ( const MatrixBlock< MatrixType2 > &  Mb)

Assignment to a compatible block.

Definition at line 188 of file MatrixBlock.C.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ operator=() [6/10]

void operator= ( const MatrixSpace< MSForm, cmptType, Nrows, Ncols > &  ms)

Assignment to a compatible MatrixSpace.

Definition at line 277 of file MatrixBlock.C.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ operator=() [7/10]

void operator= ( const MSBlock< SubTensor, BRowStart, BColStart > &  Mb)

Assignment to a compatible MatrixSpace block.

Definition at line 223 of file MatrixBlock.C.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ operator=() [8/10]

void operator= ( const VectorSpace< VSForm, cmptType, Ncmpts > &  ms)

Assignment to a compatible VectorSpace (column-vector)

Definition at line 303 of file MatrixBlock.C.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ operator=() [9/10]

void operator= ( const VSBlock< SubVector, BStart > &  Mb)

Assignment to a compatible VectorSpace (column-vector) block.

Definition at line 254 of file MatrixBlock.C.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ operator=() [10/10]

void operator= ( const Field< cmptType > &  f)

Assignment to a Field (column-vector)

Definition at line 324 of file MatrixBlock.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, and List< Type >::size().

Here is the call graph for this function:

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