Reference documentation for deal.II version 9.1.0-pre
Public Member Functions | Private Member Functions | Private Attributes | List of all members
MeshWorker::Assembler::MGMatrixSimple< MatrixType > Class Template Reference

#include <deal.II/meshworker/simple.h>

Public Member Functions

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

Private Attributes

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

Detailed Description

template<typename MatrixType>
class MeshWorker::Assembler::MGMatrixSimple< MatrixType >

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 271 of file simple.h.

Constructor & Destructor Documentation

template<typename MatrixType >
MeshWorker::Assembler::MGMatrixSimple< MatrixType >::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 781 of file simple.h.

Member Function Documentation

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::initialize ( MGLevelObject< MatrixType > &  m)
inline

Store the result matrix for later assembling.

Definition at line 788 of file simple.h.

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::initialize ( const MGConstrainedDoFs mg_constrained_dofs)
inline

Initialize the multilevel constraints.

Definition at line 795 of file simple.h.

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::initialize_fluxes ( MGLevelObject< MatrixType > &  flux_up,
MGLevelObject< MatrixType > &  flux_down 
)
inline

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

Definition at line 803 of file simple.h.

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::initialize_interfaces ( MGLevelObject< MatrixType > &  interface_in,
MGLevelObject< MatrixType > &  interface_out 
)
inline

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

Definition at line 814 of file simple.h.

template<typename MatrixType >
template<class DOFINFO >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::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 826 of file simple.h.

template<typename MatrixType >
template<class DOFINFO >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::assemble ( const DOFINFO &  info)
inline

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

Definition at line 1054 of file simple.h.

template<typename MatrixType >
template<class DOFINFO >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::assemble ( const DOFINFO &  info1,
const DOFINFO &  info2 
)
inline

Assemble both local matrices in the info1 and info2 objects into the global matrices.

Definition at line 1112 of file simple.h.

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::assemble ( MatrixType &  G,
const FullMatrix< double > &  M,
const std::vector< types::global_dof_index > &  i1,
const std::vector< types::global_dof_index > &  i2 
)
inlineprivate

Assemble a single matrix into a global matrix.

Definition at line 853 of file simple.h.

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::assemble ( MatrixType &  G,
const FullMatrix< double > &  M,
const std::vector< types::global_dof_index > &  i1,
const std::vector< types::global_dof_index > &  i2,
const unsigned int  level 
)
inlineprivate

Assemble a single matrix into a global matrix.

Definition at line 873 of file simple.h.

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::assemble_up ( MatrixType &  G,
const FullMatrix< double > &  M,
const std::vector< types::global_dof_index > &  i1,
const std::vector< types::global_dof_index > &  i2,
const unsigned int  level = numbers::invalid_unsigned_int 
)
inlineprivate

Assemble a single matrix into a global matrix.

Definition at line 926 of file simple.h.

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::assemble_down ( MatrixType &  G,
const FullMatrix< double > &  M,
const std::vector< types::global_dof_index > &  i1,
const std::vector< types::global_dof_index > &  i2,
const unsigned int  level = numbers::invalid_unsigned_int 
)
inlineprivate

Assemble a single matrix into a global matrix.

Definition at line 955 of file simple.h.

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::assemble_in ( MatrixType &  G,
const FullMatrix< double > &  M,
const std::vector< types::global_dof_index > &  i1,
const std::vector< types::global_dof_index > &  i2,
const unsigned int  level = numbers::invalid_unsigned_int 
)
inlineprivate

Assemble a single matrix into a global matrix.

Definition at line 984 of file simple.h.

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::assemble_out ( MatrixType &  G,
const FullMatrix< double > &  M,
const std::vector< types::global_dof_index > &  i1,
const std::vector< types::global_dof_index > &  i2,
const unsigned int  level = numbers::invalid_unsigned_int 
)
inlineprivate

Assemble a single matrix into a global matrix.

Definition at line 1024 of file simple.h.

Member Data Documentation

template<typename MatrixType>
SmartPointer<MGLevelObject<MatrixType>, MGMatrixSimple<MatrixType> > MeshWorker::Assembler::MGMatrixSimple< MatrixType >::matrix
private

The global matrix being assembled.

Definition at line 400 of file simple.h.

template<typename MatrixType>
SmartPointer<MGLevelObject<MatrixType>, MGMatrixSimple<MatrixType> > MeshWorker::Assembler::MGMatrixSimple< MatrixType >::flux_up
private

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

Definition at line 407 of file simple.h.

template<typename MatrixType>
SmartPointer<MGLevelObject<MatrixType>, MGMatrixSimple<MatrixType> > MeshWorker::Assembler::MGMatrixSimple< MatrixType >::flux_down
private

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

Definition at line 414 of file simple.h.

template<typename MatrixType>
SmartPointer<MGLevelObject<MatrixType>, MGMatrixSimple<MatrixType> > MeshWorker::Assembler::MGMatrixSimple< MatrixType >::interface_in
private

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

Definition at line 421 of file simple.h.

template<typename MatrixType>
SmartPointer<MGLevelObject<MatrixType>, MGMatrixSimple<MatrixType> > MeshWorker::Assembler::MGMatrixSimple< MatrixType >::interface_out
private

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

Definition at line 428 of file simple.h.

template<typename MatrixType>
SmartPointer<const MGConstrainedDoFs, MGMatrixSimple<MatrixType> > MeshWorker::Assembler::MGMatrixSimple< MatrixType >::mg_constrained_dofs
private

A pointer to the object containing constraints.

Definition at line 433 of file simple.h.

template<typename MatrixType>
const double MeshWorker::Assembler::MGMatrixSimple< MatrixType >::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 440 of file simple.h.


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