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 cmptTypeoperator() (const label i, const label j) const
 (i, j) const element access operator More...
 
cmptTypeoperator() (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...
 
template<template< class, Foam::direction, Foam::direction > class MSBlock, class SubTensor , Foam::direction BRowStart, Foam::direction BColStart>
void operator= (const MSBlock< SubTensor, BRowStart, BColStart > &Mb)
 
template<template< class, Foam::direction > class VSBlock, class SubVector , Foam::direction BStart>
void operator= (const VSBlock< SubVector, BStart > &Mb)
 

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 115 of file MatrixBlock.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 60 of file MatrixBlockI.H.

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

Here is the call graph for this function:

Member Function Documentation

◆ m()

Foam::label m
inline

Return the number of rows in the block.

Definition at line 107 of file MatrixBlockI.H.

◆ n()

Foam::label n
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 151 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 178 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 >

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/12]

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

Assignment to a compatible matrix.

Definition at line 76 of file MatrixBlock.C.

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

Here is the call graph for this function:

◆ operator=() [2/12]

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

Assignment to a compatible const block.

Definition at line 101 of file MatrixBlock.C.

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

Here is the call graph for this function:

◆ operator=() [3/12]

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

Assignment to a compatible block.

Definition at line 129 of file MatrixBlock.C.

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

Here is the call graph for this function:

◆ operator=() [4/12]

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

Assignment to a compatible const block.

Definition at line 158 of file MatrixBlock.C.

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

Here is the call graph for this function:

◆ operator=() [5/12]

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

Assignment to a compatible block.

Definition at line 187 of file MatrixBlock.C.

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

Here is the call graph for this function:

◆ operator=() [6/12]

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

Assignment to a compatible MatrixSpace.

Definition at line 276 of file MatrixBlock.C.

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

Here is the call graph for this function:

◆ operator=() [7/12]

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

Assignment to a compatible MatrixSpace block.

◆ operator=() [8/12]

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

Assignment to a compatible VectorSpace (column-vector)

Definition at line 302 of file MatrixBlock.C.

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

Here is the call graph for this function:

◆ operator=() [9/12]

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

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

◆ operator=() [10/12]

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

Assignment to a Field (column-vector)

Definition at line 324 of file MatrixBlock.C.

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

Here is the call graph for this function:

◆ operator=() [11/12]

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

Definition at line 222 of file MatrixBlock.C.

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

Here is the call graph for this function:

◆ operator=() [12/12]

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

Definition at line 253 of file MatrixBlock.C.

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

Here is the call graph for this function:

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