The OpenFOAM Foundation
simpleMatrix< Type > Class Template Reference

A simple square matrix solver with scalar coefficients. More...

Inheritance diagram for simpleMatrix< Type >:
[legend]
Collaboration diagram for simpleMatrix< Type >:
[legend]

## Public Member Functions

simpleMatrix (const label)
Construct given size. More...

simpleMatrix (const label, const scalar, const Type &)
Construct given size and initial values for coefficients and source. More...

simpleMatrix (const scalarSquareMatrix &, const Field< Type > &)
Construct from components. More...

simpleMatrix (Istream &)
Construct from Istream. More...

simpleMatrix (const simpleMatrix< Type > &)
Construct as copy. More...

Field< Type > & source ()

const Field< Type > & source () const

Field< Type > solve () const
Solve the matrix using Gaussian elimination with pivoting. More...

Field< Type > LUsolve () const
Solve the matrix using LU decomposition with pivoting. More...

void operator= (const simpleMatrix< Type > &)

Public Member Functions inherited from SquareMatrix< Type >
SquareMatrix ()
Null constructor. More...

SquareMatrix (const label n)
Construct given number of rows/columns. More...

template<class MatrixType >
SquareMatrix (const ConstMatrixBlock< MatrixType > &)
Construct from a block of another matrix. More...

template<class MatrixType >
SquareMatrix (const MatrixBlock< MatrixType > &)
Construct from a block of another matrix. More...

SquareMatrix (const label n, const zero)
Construct given number of rows/columns. More...

SquareMatrix (const label m, const label n, const zero)
Construct given number of rows and columns (checked to be equal) More...

SquareMatrix (const label n, const Identity< Type >)
Construct given number of rows/columns. More...

SquareMatrix (const label n, const Type &)
Construct with given number of rows and rows. More...

SquareMatrix (const RectangularMatrix< Type > &)
Construct as copy of a RectangularMatrix. More...

SquareMatrix (Istream &)
Construct from Istream. More...

autoPtr< SquareMatrix< Type > > clone () const
Clone. More...

void setSize (const label m)
Resize the matrix preserving the elements. More...

void shallowResize (const label m)
Resize the matrix without reallocating storage (unsafe) More...

void operator= (const zero)
Assignment of all elements to zero. More...

void operator= (const Identity< Type >)
Assignment elements to the. More...

Public Member Functions inherited from Matrix< SquareMatrix< Type >, Type >
Matrix ()
Null constructor. More...

Matrix (const label m, const label n)
Construct given number of rows and columns. More...

Matrix (const label m, const label n, const zero)
Construct with given number of rows and columns. More...

Matrix (const label m, const label n, const Type &)
Construct with given number of rows and columns. More...

Matrix (const mType &)
Copy constructor. More...

Matrix (const Matrix< Form2, Type > &)
Copy constructor from matrix of a different form. More...

Matrix (const ConstMatrixBlock< MatrixType > &)
Construct from a block of another matrix. More...

Matrix (const MatrixBlock< MatrixType > &)
Construct from a block of another matrix. More...

Matrix (Istream &)
Construct from Istream. More...

autoPtr< mTypeclone () const
Clone. More...

~Matrix ()
Destructor. More...

label m () const
Return the number of rows. More...

label n () const
Return the number of columns. More...

label size () const
Return the number of elements in matrix (m*n) More...

const Type * v () const
Return element vector of the constant Matrix. More...

Type * v ()
Return element vector of the Matrix. More...

ConstMatrixBlock< mTypeblock (const label m, const label n, const label mStart, const label nStart) const

ConstMatrixBlock< mTypeblock (const label mStart, const label nStart) const

MatrixBlock< mTypeblock (const label m, const label n, const label mStart, const label nStart)

MatrixBlock< mTypeblock (const label mStart, const label nStart)

Foam::ConstMatrixBlock< Foam::Matrix< SquareMatrix< Type >, Type > > block (const label mStart, const label nStart) const

Foam::MatrixBlock< Foam::Matrix< SquareMatrix< Type >, Type > > block (const label mStart, const label nStart)

ConstMatrixBlock< mTypecol (const label m, const label rowStart) const

ConstMatrixBlock< mTypecol (const label m, const label mStart, const label nStart) const

MatrixBlock< mTypecol (const label m, const label rowStart)

MatrixBlock< mTypecol (const label m, const label mStart, const label nStart)

void checki (const label i) const
Check index i is within valid range (0 ... m-1). More...

void checkj (const label j) const
Check index j is within valid range (0 ... n-1). More...

void clear ()
Clear the Matrix, i.e. set sizes to zero. More...

void transfer (mType &)
Transfer the contents of the argument Matrix into this Matrix. More...

void setSize (const label m, const label n)
Resize the matrix preserving the elements. More...

void shallowResize (const label m, const label n)
Resize the matrix without reallocating storage (unsafe) More...

SquareMatrix< Type > T () const
Return the transpose of the matrix. More...

Type * operator[] (const label)
Return subscript-checked row of Matrix. More...

const Type * operator[] (const label) const
Return subscript-checked row of constant Matrix. More...

const Type & operator() (const label i, const label j) const
(i, j) const element access operator More...

Type & operator() (const label i, const label j)
(i, j) element access operator More...

void operator= (const mType &)
Assignment operator. Takes linear time. More...

void operator= (const ConstMatrixBlock< MatrixType > &)
Assignment to a block of another matrix. More...

void operator= (const MatrixBlock< MatrixType > &)
Assignment to a block of another matrix. More...

void operator= (const zero)
Assignment of all elements to zero. More...

void operator= (const Type &)
Assignment of all elements to the given value. More...

## Friends

Ostreamoperator (Ostream &, const simpleMatrix< Type > &)

Public Types inherited from Matrix< SquareMatrix< Type >, Type >
typedef Matrix< SquareMatrix< Type >, Type > mType
Matrix type. More...

typedef Type cmptType
Component type. More...

Static Public Member Functions inherited from Matrix< SquareMatrix< Type >, Type >
static const mTypenull ()
Return a null Matrix. More...

## Detailed Description

### template<class Type> class Foam::simpleMatrix< Type >

A simple square matrix solver with scalar coefficients.

Source files

Definition at line 47 of file simpleMatrix.H.

## ◆ simpleMatrix() [1/5]

 simpleMatrix ( const label mSize )

Construct given size.

Note: this does not initialise the coefficients or the source.

Definition at line 31 of file simpleMatrix.C.

Referenced by simpleMatrix< Type >::simpleMatrix().

Here is the caller graph for this function:

## ◆ simpleMatrix() [2/5]

 simpleMatrix ( const label mSize, const scalar coeffVal, const Type & sourceVal )

Construct given size and initial values for coefficients and source.

Definition at line 40 of file simpleMatrix.C.

References simpleMatrix< Type >::simpleMatrix().

Here is the call graph for this function:

## ◆ simpleMatrix() [3/5]

 simpleMatrix ( const scalarSquareMatrix & matrix, const Field< Type > & source )

Construct from components.

Definition at line 53 of file simpleMatrix.C.

## ◆ simpleMatrix() [4/5]

 simpleMatrix ( Istream & is )

Construct from Istream.

Definition at line 64 of file simpleMatrix.C.

## ◆ simpleMatrix() [5/5]

 simpleMatrix ( const simpleMatrix< Type > & )

Construct as copy.

## ◆ source() [1/2]

 Field& source ( )
inline

Definition at line 97 of file simpleMatrix.H.

Referenced by EulerImplicit< ChemistryModel >::solve().

Here is the caller graph for this function:

## ◆ source() [2/2]

 const Field& source ( ) const
inline

Definition at line 103 of file simpleMatrix.H.

Here is the call graph for this function:

## ◆ solve()

 Foam::Field< Type > solve ( ) const

Solve the matrix using Gaussian elimination with pivoting.

and return the solution

Definition at line 74 of file simpleMatrix.C.

References Foam::solve().

Referenced by simpleMatrix< Type >::source().

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

## ◆ LUsolve()

 Foam::Field< Type > LUsolve ( ) const

Solve the matrix using LU decomposition with pivoting.

and return the solution

Definition at line 86 of file simpleMatrix.C.

References Foam::LUsolve().

Referenced by EulerImplicit< ChemistryModel >::solve(), and simpleMatrix< Type >::source().

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

## ◆ operator=()

 void operator= ( const simpleMatrix< Type > & m )

Definition at line 100 of file simpleMatrix.C.

Referenced by simpleMatrix< Type >::source().

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

## ◆ operator

 Ostream& operator ( Ostream & , const simpleMatrix< Type > & )
friend

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