Public Types | Public Member Functions | List of all members
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...
 

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: