Class to perform the LU decomposition on a symmetric matrix. More...
Public Member Functions | |
ClassName ("LUscalarMatrix") | |
LUscalarMatrix () | |
LUscalarMatrix (const scalarSquareMatrix &M) | |
LUscalarMatrix (const lduMatrix &ldum, const FieldField< Field, scalar > &interfaceCoeffs, const lduInterfaceFieldPtrsList &interfaces) | |
void | decompose (const scalarSquareMatrix &M) |
template<class Type > | |
void | solve (List< Type > &x, const UList< Type > &source) const |
template<class Type > | |
tmp< Field< Type > > | solve (const UList< Type > &source) const |
void | inv (scalarSquareMatrix &M) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | solve (const UList< Type > &source) const |
![]() | |
SquareMatrix ()=default | |
SquareMatrix (const SquareMatrix &)=default | |
SquareMatrix (const label n) | |
SquareMatrix (const label n, const Foam::zero) | |
SquareMatrix (const label n, const scalar &val) | |
SquareMatrix (const label n, const Identity< AnyType >) | |
SquareMatrix (const labelPair &dims, const Identity< AnyType >) | |
SquareMatrix (const labelPair &dims) | |
SquareMatrix (const labelPair &dims, const Foam::zero) | |
SquareMatrix (const labelPair &dims, const scalar &val) | |
SquareMatrix (const label m, const label n, const Foam::zero) | |
SquareMatrix (const ConstMatrixBlock< MatrixType > &mat) | |
SquareMatrix (const MatrixBlock< MatrixType > &mat) | |
SquareMatrix (const RectangularMatrix< scalar > &mat) | |
SquareMatrix (Istream &is) | |
SquareMatrix & | operator= (const SquareMatrix &)=default |
void | operator= (const Foam::zero) |
void | operator= (const scalar &val) |
void | operator= (const Identity< AnyType >) |
autoPtr< SquareMatrix< scalar > > | clone () const |
void | resize (const label m) |
void | resize (const label m, const label n) |
void | setSize (const label m) |
void | shallowResize (const label m) |
bool | symmetric () const |
bool | tridiagonal () const |
List< label > | sortPermutation (CompOp &compare) const |
Foam::List< Foam::label > | sortPermutation (CompOp &compare) const |
void | applyPermutation (const List< label > &p) |
![]() | |
Foam::tmp< Foam::Field< Type > > | AmulImpl (const ListType &x) const |
Foam::tmp< Foam::Field< Type > > | TmulImpl (const ListType &x) const |
Matrix () noexcept | |
Matrix (const label m, const label n) | |
Matrix (const label m, const label n, const Foam::zero) | |
Matrix (const label m, const label n, const Type &val) | |
Matrix (const labelPair &dims) | |
Matrix (const labelPair &dims, const Foam::zero) | |
Matrix (const labelPair &dims, const Type &val) | |
Matrix (const Matrix< Form, Type > &mat) | |
Matrix (Matrix< Form, Type > &&mat) | |
Matrix (const Matrix< Form2, Type > &mat) | |
Matrix (const ConstMatrixBlock< MatrixType > &Mb) | |
Matrix (const MatrixBlock< MatrixType > &Mb) | |
Matrix (Istream &is) | |
autoPtr< mType > | clone () const |
~Matrix () | |
label | m () const noexcept |
label | n () const noexcept |
label | size () const |
labelPair | sizes () const |
bool | empty () const noexcept |
const Type * | cdata () const noexcept |
Type * | data () noexcept |
const char * | cdata_bytes () const noexcept |
char * | data_bytes () noexcept |
std::streamsize | size_bytes () const noexcept |
std::streamsize | byteSize () const |
const Type * | rowData (const label irow) const |
Type * | rowData (const label irow) |
const Type & | at (const label idx) const |
Type & | at (const label idx) |
ConstMatrixBlock< mType > | subColumn (const label colIndex, const label rowIndex=0, label len=-1) const |
MatrixBlock< mType > | subColumn (const label colIndex, const label rowIndex=0, label len=-1) |
ConstMatrixBlock< mType > | subRow (const label rowIndex, const label colIndex=0, label len=-1) const |
MatrixBlock< mType > | subRow (const label rowIndex, const label colIndex=0, label len=-1) |
ConstMatrixBlock< mType > | subMatrix (const label rowIndex, const label colIndex, label szRows=-1, label szCols=-1) const |
MatrixBlock< mType > | subMatrix (const label rowIndex, const label colIndex, label szRows=-1, label szCols=-1) |
ConstMatrixBlock< mType > | block (const label rowIndex, const label colIndex) const |
MatrixBlock< mType > | block (const label rowIndex, const label colIndex) |
ConstMatrixBlock< mType > | block (const label m, const label n, const label mStart, const label nStart) const |
MatrixBlock< mType > | block (const label m, const label n, const label mStart, const label nStart) |
Foam::ConstMatrixBlock< Foam::Matrix< Form, Type > > | block (const label rowIndex, const label colIndex) const |
Foam::MatrixBlock< Foam::Matrix< Form, Type > > | block (const label rowIndex, const label colIndex) |
void | checki (const label irow) const |
void | checkj (const label jcol) const |
void | checkSize () const |
bool | uniform () const |
void | clear () |
List< Type > | release () |
void | swap (Matrix< Form, Type > &mat) |
void | transfer (Matrix< Form, Type > &mat) |
void | resize (const label m, const label n) |
void | resize_nocopy (const label mrow, const label ncol) |
void | setSize (const label m, const label n) |
void | shallowResize (const label m, const label n) |
void | round (const scalar tol=SMALL) |
Form | T () const |
tmp< Field< Type > > | Amul (const UList< Type > &x) const |
tmp< Field< Type > > | Amul (const IndirectListBase< Type, Addr > &x) const |
Foam::tmp< Foam::Field< Type > > | Amul (const IndirectListBase< Type, Addr > &x) const |
tmp< Field< Type > > | Tmul (const UList< Type > &x) const |
tmp< Field< Type > > | Tmul (const IndirectListBase< Type, Addr > &x) const |
Foam::tmp< Foam::Field< Type > > | Tmul (const IndirectListBase< Type, Addr > &x) const |
List< Type > | diag () const |
void | diag (const UList< Type > &list) |
Type | trace () const |
scalar | columnNorm (const label colIndex, const bool noSqrt=false) const |
scalar | norm (const bool noSqrt=false) const |
const Type * | operator[] (const label irow) const |
Type * | operator[] (const label irow) |
const Type & | operator() (const label irow, const label jcol) const |
Type & | operator() (const label irow, const label jcol) |
void | operator= (const Matrix< Form, Type > &mat) |
void | operator= (Matrix< Form, Type > &&mat) |
void | operator= (const ConstMatrixBlock< MatrixType > &Mb) |
void | operator= (const MatrixBlock< MatrixType > &Mb) |
void | operator= (const Foam::zero) |
void | operator= (const Type &val) |
void | operator+= (const Matrix< Form, Type > &other) |
void | operator+= (const Type &s) |
void | operator-= (const Matrix< Form, Type > &other) |
void | operator-= (const Type &s) |
void | operator*= (const Type &s) |
void | operator/= (const Type &s) |
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 |
bool | readMatrix (Istream &is) |
Ostream & | writeMatrix (Ostream &os, const label shortLen=0) const |
label | mRows () const noexcept |
label | nRows () const noexcept |
label | nCols () const noexcept |
const Type * | v () const |
Type * | v () |
ConstMatrixBlock< mType > | col (const label m, const label mStart, const label nStart) const |
MatrixBlock< mType > | col (const label m, const label mStart, const label nStart) |
void | col (const label m, const label rowStart) const=delete |
void | col (const label m, const label rowStart)=delete |
Additional Inherited Members | |
![]() | |
typedef Matrix< Form, Type > | mType |
typedef Type | cmptType |
typedef Type * | iterator |
![]() | |
static const Matrix< Form, Type > & | null () |
![]() | |
const typedef Type * | const_iterator |
Class to perform the LU decomposition on a symmetric matrix.
Definition at line 52 of file LUscalarMatrix.H.
LUscalarMatrix | ( | ) |
Definition at line 38 of file LUscalarMatrix.C.
LUscalarMatrix | ( | const scalarSquareMatrix & | M | ) |
Definition at line 44 of file LUscalarMatrix.C.
References Foam::LUDecompose().
LUscalarMatrix | ( | const lduMatrix & | ldum, |
const FieldField< Field, scalar > & | interfaceCoeffs, | ||
const lduInterfaceFieldPtrsList & | interfaces | ||
) |
Definition at line 55 of file LUscalarMatrix.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), forAll, lduMatrix::lduAddr(), Foam::LUDecompose(), Foam::mag(), UPstream::master(), UPstream::masterNo(), UPstream::msgType(), n, Foam::nl, UPstream::nProcs(), UPstream::parRun(), Foam::Pout, UPstream::scheduled, PtrList::set(), lduAddressing::size(), UPstream::subProcs(), and Foam::Zero.
ClassName | ( | "LUscalarMatrix" | ) |
void decompose | ( | const scalarSquareMatrix & | M | ) |
Definition at line 396 of file LUscalarMatrix.C.
References Foam::LUDecompose(), M, and SquareMatrix< scalar >::operator=().
Definition at line 29 of file LUscalarMatrixTemplates.C.
References Foam::LUBacksubstitute(), Foam::blockMeshTools::read(), List::resize(), Foam::vtk::write(), and x.
void inv | ( | scalarSquareMatrix & | M | ) | const |
Definition at line 404 of file LUscalarMatrix.C.
References Foam::LUBacksubstitute(), M, and Foam::Zero.
Foam::tmp<Foam::Field<Type> > solve | ( | const UList< Type > & | source | ) | const |
Definition at line 123 of file LUscalarMatrixTemplates.C.
References Foam::New(), and solve().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.