Public Member Functions | Private Member Functions | Private Attributes

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

List of all members.

Public Member Functions

 MGMatrixSimple (double threshold=1.e-12)
void initialize (MGLevelObject< MATRIX > &m)
void initialize (const MGConstrainedDoFs &mg_constrained_dofs)
void initialize_fluxes (MGLevelObject< MATRIX > &flux_up, MGLevelObject< MATRIX > &flux_down)
void initialize_interfaces (MGLevelObject< MATRIX > &interface_in, MGLevelObject< MATRIX > &interface_out)
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 (MATRIX &G, const FullMatrix< double > &M, const std::vector< unsigned int > &i1, const std::vector< unsigned int > &i2)
void assemble (MATRIX &G, const FullMatrix< double > &M, const std::vector< unsigned int > &i1, const std::vector< unsigned int > &i2, const unsigned int level)
void assemble_up (MATRIX &G, const FullMatrix< double > &M, const std::vector< unsigned int > &i1, const std::vector< unsigned int > &i2, const unsigned int level=numbers::invalid_unsigned_int)
void assemble_down (MATRIX &G, const FullMatrix< double > &M, const std::vector< unsigned int > &i1, const std::vector< unsigned int > &i2, const unsigned int level=numbers::invalid_unsigned_int)
void assemble_in (MATRIX &G, const FullMatrix< double > &M, const std::vector< unsigned int > &i1, const std::vector< unsigned int > &i2, const unsigned int level=numbers::invalid_unsigned_int)
void assemble_out (MATRIX &G, const FullMatrix< double > &M, const std::vector< unsigned int > &i1, const std::vector< unsigned int > &i2, const unsigned int level=numbers::invalid_unsigned_int)

Private Attributes

SmartPointer< MGLevelObject
< MATRIX >, MGMatrixSimple
< MATRIX > > 
matrix
SmartPointer< MGLevelObject
< MATRIX >, MGMatrixSimple
< MATRIX > > 
flux_up
SmartPointer< MGLevelObject
< MATRIX >, MGMatrixSimple
< MATRIX > > 
flux_down
SmartPointer< MGLevelObject
< MATRIX >, MGMatrixSimple
< MATRIX > > 
interface_in
SmartPointer< MGLevelObject
< MATRIX >, MGMatrixSimple
< MATRIX > > 
interface_out
SmartPointer< const
MGConstrainedDoFs,
MGMatrixSimple< MATRIX > > 
mg_constrained_dofs
const double threshold

Detailed Description

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

Assemble local matrices into level matrices without using block structure.

Todo:
The matrix structures needed for assembling level matrices with local refinement and continuous elements are missing.
Author:
Guido Kanschat, 2009

Definition at line 223 of file simple.h.


Constructor & Destructor Documentation

template<class MATRIX >
MeshWorker::Assembler::MGMatrixSimple< MATRIX >::MGMatrixSimple ( 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 641 of file simple.h.


Member Function Documentation

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

Store the result matrix for later assembling.

Definition at line 649 of file simple.h.

References LAPACKSupport::matrix.

template<class MATRIX >
void MeshWorker::Assembler::MGMatrixSimple< MATRIX >::initialize ( const MGConstrainedDoFs mg_constrained_dofs ) [inline]

Initialize the multilevel constraints.

Definition at line 656 of file simple.h.

template<class MATRIX >
void MeshWorker::Assembler::MGMatrixSimple< MATRIX >::initialize_fluxes ( MGLevelObject< MATRIX > &  flux_up,
MGLevelObject< MATRIX > &  flux_down 
) [inline]

Initialize the matrices flux_up and flux_down used for local refinement with discontinuous Galerkin methods.

Definition at line 663 of file simple.h.

template<class MATRIX >
void MeshWorker::Assembler::MGMatrixSimple< MATRIX >::initialize_interfaces ( MGLevelObject< MATRIX > &  interface_in,
MGLevelObject< MATRIX > &  interface_out 
) [inline]

Initialize the matrices interface_in and interface_out used for local refinement with continuous Galerkin methods.

Definition at line 673 of file simple.h.

template<class MATRIX >
template<class DOFINFO >
void MeshWorker::Assembler::MGMatrixSimple< 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.

Definition at line 684 of file simple.h.

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

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

Definition at line 915 of file simple.h.

References internal::assemble(), and LAPACKSupport::matrix.

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

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

Definition at line 931 of file simple.h.

References internal::assemble(), Assert, StandardExceptions::ExcInternalError(), and LAPACKSupport::matrix.

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

Assemble a single matrix into a global matrix.

Definition at line 692 of file simple.h.

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

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

Assemble a single matrix into a global matrix.

Definition at line 723 of file simple.h.

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

template<class MATRIX >
void MeshWorker::Assembler::MGMatrixSimple< MATRIX >::assemble_up ( MATRIX G,
const FullMatrix< double > &  M,
const std::vector< unsigned int > &  i1,
const std::vector< unsigned int > &  i2,
const unsigned int  level = numbers::invalid_unsigned_int 
) [inline, private]

Assemble a single matrix into a global matrix.

Definition at line 767 of file simple.h.

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

template<class MATRIX >
void MeshWorker::Assembler::MGMatrixSimple< MATRIX >::assemble_down ( MATRIX G,
const FullMatrix< double > &  M,
const std::vector< unsigned int > &  i1,
const std::vector< unsigned int > &  i2,
const unsigned int  level = numbers::invalid_unsigned_int 
) [inline, private]

Assemble a single matrix into a global matrix.

Definition at line 797 of file simple.h.

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

template<class MATRIX >
void MeshWorker::Assembler::MGMatrixSimple< MATRIX >::assemble_in ( MATRIX G,
const FullMatrix< double > &  M,
const std::vector< unsigned int > &  i1,
const std::vector< unsigned int > &  i2,
const unsigned int  level = numbers::invalid_unsigned_int 
) [inline, private]

Assemble a single matrix into a global matrix.

Definition at line 827 of file simple.h.

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

template<class MATRIX >
void MeshWorker::Assembler::MGMatrixSimple< MATRIX >::assemble_out ( MATRIX G,
const FullMatrix< double > &  M,
const std::vector< unsigned int > &  i1,
const std::vector< unsigned int > &  i2,
const unsigned int  level = numbers::invalid_unsigned_int 
) [inline, private]

Assemble a single matrix into a global matrix.

Definition at line 870 of file simple.h.

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


Member Data Documentation

The global matrix being assembled.

Definition at line 367 of file simple.h.

The matrix used for face flux terms across the refinement edge, coupling coarse to fine.

Definition at line 375 of file simple.h.

The matrix used for face flux terms across the refinement edge, coupling fine to coarse.

Definition at line 383 of file simple.h.

The matrix used for face contributions for continuous elements across the refinement edge, coupling coarse to fine.

Definition at line 392 of file simple.h.

The matrix used for face contributions for continuous elements across the refinement edge, coupling fine to coarse.

Definition at line 401 of file simple.h.

A pointer to the object containing constraints.

Definition at line 405 of file simple.h.

template<class MATRIX>
const double MeshWorker::Assembler::MGMatrixSimple< 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 416 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