Reference documentation for deal.II version 9.2.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Public Member Functions | Private Member Functions | List of all members
MeshWorker::Assembler::SystemSimple< MatrixType, VectorType > Class Template Reference

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

Inheritance diagram for MeshWorker::Assembler::SystemSimple< MatrixType, VectorType >:
[legend]

Public Member Functions

 SystemSimple (double threshold=1.e-12)
 
void initialize (MatrixType &m, VectorType &rhs)
 
void initialize (const AffineConstraints< typename VectorType::value_type > &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 Vector< double > &vector, const unsigned int index, const std::vector< types::global_dof_index > &indices)
 
void assemble (const FullMatrix< double > &M, const Vector< double > &vector, const unsigned int index, const std::vector< types::global_dof_index > &i1, const std::vector< types::global_dof_index > &i2)
 
- Private Member Functions inherited from MeshWorker::Assembler::MatrixSimple< MatrixType >
 MatrixSimple (double threshold=1.e-12)
 
void initialize (MatrixType &m)
 
void initialize (std::vector< MatrixType > &m)
 
void initialize (const AffineConstraints< typename MatrixType::value_type > &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 inherited from MeshWorker::Assembler::ResidualSimple< VectorType >
void initialize (AnyData &results)
 
void initialize (const AffineConstraints< typename VectorType::value_type > &constraints)
 
void initialize_local_blocks (const BlockIndices &)
 
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)
 

Additional Inherited Members

- Private Attributes inherited from MeshWorker::Assembler::MatrixSimple< MatrixType >
std::vector< SmartPointer< MatrixType, MatrixSimple< MatrixType > > > matrix
 
const double threshold
 
- Private Attributes inherited from MeshWorker::Assembler::ResidualSimple< VectorType >
AnyData residuals
 
SmartPointer< const AffineConstraints< typename VectorType::value_type >, ResidualSimple< VectorType > > constraints
 

Detailed Description

template<typename MatrixType, typename VectorType>
class MeshWorker::Assembler::SystemSimple< MatrixType, VectorType >

Assemble a simple matrix and a simple right hand side at once. We use a combination of MatrixSimple and ResidualSimple to achieve this. Cell and face operators should fill the matrix and vector objects in LocalResults and this class will assemble them into matrix and vector objects.

Author
Guido Kanschat, 2009

Definition at line 457 of file simple.h.

Constructor & Destructor Documentation

◆ SystemSimple()

template<typename MatrixType , typename VectorType >
MeshWorker::Assembler::SystemSimple< MatrixType, VectorType >::SystemSimple ( double  threshold = 1.e-12)

Constructor setting the threshold value in MatrixSimple.

Definition at line 1233 of file simple.h.

Member Function Documentation

◆ initialize() [1/2]

template<typename MatrixType , typename VectorType >
void MeshWorker::Assembler::SystemSimple< MatrixType, VectorType >::initialize ( MatrixType &  m,
VectorType rhs 
)
inline

Store the two objects data is assembled into.

Definition at line 1240 of file simple.h.

◆ initialize() [2/2]

template<typename MatrixType , typename VectorType >
void MeshWorker::Assembler::SystemSimple< MatrixType, VectorType >::initialize ( const AffineConstraints< typename VectorType::value_type > &  constraints)
inline

Initialize the constraints. After this function has been called with a valid AffineConstraints object, the function AffineConstraints::distribute_local_to_global() will be used by assemble() to distribute the cell and face matrices into a global sparse matrix.

Definition at line 1253 of file simple.h.

◆ initialize_info()

template<typename MatrixType , typename VectorType >
template<class DOFINFO >
void MeshWorker::Assembler::SystemSimple< MatrixType, VectorType >::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 1263 of file simple.h.

◆ assemble() [1/4]

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

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

Definition at line 1345 of file simple.h.

◆ assemble() [2/4]

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

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

Definition at line 1390 of file simple.h.

◆ assemble() [3/4]

template<typename MatrixType , typename VectorType >
void MeshWorker::Assembler::SystemSimple< MatrixType, VectorType >::assemble ( const FullMatrix< double > &  M,
const Vector< double > &  vector,
const unsigned int  index,
const std::vector< types::global_dof_index > &  indices 
)
inlineprivate

Assemble a single matrix M into the element at index in the vector matrix.

Definition at line 1272 of file simple.h.

◆ assemble() [4/4]

template<typename MatrixType , typename VectorType >
void MeshWorker::Assembler::SystemSimple< MatrixType, VectorType >::assemble ( const FullMatrix< double > &  M,
const Vector< double > &  vector,
const unsigned int  index,
const std::vector< types::global_dof_index > &  i1,
const std::vector< types::global_dof_index > &  i2 
)
inlineprivate

Definition at line 1310 of file simple.h.


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