Public Member Functions | Private Member Functions | Private Attributes

MeshWorker::Assembler::MatrixSimple< MATRIX > Class Template Reference
[The MeshWorker interface]

Inheritance diagram for MeshWorker::Assembler::MatrixSimple< MATRIX >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 MatrixSimple (double threshold=1.e-12)
void initialize (MATRIX &m)
void initialize (const ConstraintMatrix &constraints)
template<class DOFINFO >
void initialize_info (DOFINFO &info, bool face) const
template<class DOFINFO >
void assemble (const DOFINFO &info)
template<class DOFINFO >
void assemble (const DOFINFO &info1, const DOFINFO &info2)

Private Member Functions

void assemble (const FullMatrix< double > &M, const std::vector< unsigned int > &i1, const std::vector< unsigned int > &i2)

Private Attributes

SmartPointer< MATRIX,
MatrixSimple< MATRIX > > 
matrix
SmartPointer< const
ConstraintMatrix, MatrixSimple
< MATRIX > > 
constraints
const double threshold

Detailed Description

template<class MATRIX>
class MeshWorker::Assembler::MatrixSimple< MATRIX >

Assemble local matrices into a single global matrix without using block structure.

After being initialized with a SparseMatrix object (or another matrix offering the same functionality as SparseMatrix::add()), this class can be used in a MeshWorker::loop() to assemble the cell and face matrices into the global matrix.

Todo:
On locally refined meshes, a ConstraintMatrix should be used to automatically eliminate hanging nodes.
Author:
Guido Kanschat, 2009

Definition at line 125 of file simple.h.


Constructor & Destructor Documentation

template<class MATRIX >
MeshWorker::Assembler::MatrixSimple< MATRIX >::MatrixSimple ( double  threshold = 1.e-12 ) [inline]

Constructor, initializing the threshold, which limits how small numbers may be to be entered into the matrix.

Definition at line 561 of file simple.h.


Member Function Documentation

template<class MATRIX >
void MeshWorker::Assembler::MatrixSimple< MATRIX >::initialize ( MATRIX m ) [inline]

Store the result matrix for later assembling.

Definition at line 569 of file simple.h.

References LAPACKSupport::matrix.

Referenced by MeshWorker::Assembler::SystemSimple< MATRIX, VECTOR >::initialize().

template<class MATRIX >
void MeshWorker::Assembler::MatrixSimple< MATRIX >::initialize ( const ConstraintMatrix constraints ) [inline]

Initialize the constraints.

Definition at line 577 of file simple.h.

template<class MATRIX >
template<class DOFINFO >
void MeshWorker::Assembler::MatrixSimple< MATRIX >::initialize_info ( DOFINFO &  info,
bool  face 
) const [inline]

Initialize the local data in the DoFInfo object used later for assembling.

The info object refers to a cell if !face, or else to an interior or boundary face.

Reimplemented in MeshWorker::Assembler::SystemSimple< MATRIX, VECTOR >.

Definition at line 586 of file simple.h.

Referenced by MeshWorker::Assembler::SystemSimple< MATRIX, VECTOR >::initialize_info().

template<class MATRIX >
template<class DOFINFO >
void MeshWorker::Assembler::MatrixSimple< MATRIX >::assemble ( const DOFINFO &  info ) [inline]

Assemble the matrix DoFInfo::M1[0] into the global matrix.

Reimplemented in MeshWorker::Assembler::SystemSimple< MATRIX, VECTOR >.

Definition at line 618 of file simple.h.

References internal::assemble().

Referenced by MeshWorker::Assembler::SystemSimple< MATRIX, VECTOR >::assemble().

template<class MATRIX >
template<class DOFINFO >
void MeshWorker::Assembler::MatrixSimple< MATRIX >::assemble ( const DOFINFO &  info1,
const DOFINFO &  info2 
) [inline]

Assemble both local matrices in the info objects into the global matrix.

Reimplemented in MeshWorker::Assembler::SystemSimple< MATRIX, VECTOR >.

Definition at line 627 of file simple.h.

References internal::assemble().

template<class MATRIX >
void MeshWorker::Assembler::MatrixSimple< MATRIX >::assemble ( const FullMatrix< double > &  M,
const std::vector< unsigned int > &  i1,
const std::vector< unsigned int > &  i2 
) [inline, private]

Assemble a single matrix into matrix.

Definition at line 595 of file simple.h.

References AssertDimension, FullMatrix< number >::m(), LAPACKSupport::matrix, and FullMatrix< number >::n().


Member Data Documentation

The global matrix being assembled.

Definition at line 192 of file simple.h.

A pointer to the object containing constraints.

Definition at line 196 of file simple.h.

template<class MATRIX>
const double MeshWorker::Assembler::MatrixSimple< MATRIX >::threshold [private]

The smallest positive number that will be entered into the global matrix. All smaller absolute values will be treated as zero and will not be assembled.

Definition at line 207 of file simple.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Fri Feb 3 2012 06:04:15 by doxygen 1.7.2