Reference documentation for deal.II version 8.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
MeshWorker::Assembler::MGMatrixSimple< MATRIX > Class Template Reference

#include <simple.h>

Public Member Functions

 MGMatrixSimple (double threshold=1.e-12)
 
void initialize (MGLevelObject< MATRIX > &m)
 
void initialize (const MGConstrainedDoFs &mg_constrained_dofs)
 
void initialize_local_blocks (const BlockIndices &)
 
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< types::global_dof_index > &i1, const std::vector< types::global_dof_index > &i2)
 
void assemble (MATRIX &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 (MATRIX &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 (MATRIX &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 (MATRIX &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 (MATRIX &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
< 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 255 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 743 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 751 of file simple.h.

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

Initialize the multilevel constraints.

Definition at line 758 of file simple.h.

template<class MATRIX >
void MeshWorker::Assembler::MGMatrixSimple< MATRIX >::initialize_local_blocks ( const BlockIndices )
inline
Deprecated:
This function is of no effect. Only the block info structure in DoFInfo is being used.

Store information on the local block structure. If the assembler is inititialized with this function, initialize_info() will generate one local matrix for each block row and column, which will be numbered lexicographically, row by row.

In spite of using local block structure, all blocks will be enteres into the same global matrix, disregarding any global block structure.

Definition at line 765 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 771 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 781 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 792 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 1036 of file simple.h.

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

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

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

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

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

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

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

Member Data Documentation

The global matrix being assembled.

Definition at line 387 of file simple.h.

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

Definition at line 393 of file simple.h.

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

Definition at line 399 of file simple.h.

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

Definition at line 405 of file simple.h.

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

Definition at line 411 of file simple.h.

template<class MATRIX>
SmartPointer<const MGConstrainedDoFs,MGMatrixSimple<MATRIX> > MeshWorker::Assembler::MGMatrixSimple< MATRIX >::mg_constrained_dofs
private

A pointer to the object containing constraints.

Definition at line 415 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 422 of file simple.h.


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