Reference documentation for deal.II version Git 4fbb5374f0 2021-01-22 15:02:13 -0500
\(\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 | Private Attributes | 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)
 
void initialize (MatrixType &m)
 
void initialize (std::vector< MatrixType > &m)
 
void initialize (const AffineConstraints< typename MatrixType::value_type > &constraints)
 
void initialize (AnyData &results)
 

Private Attributes

std::vector< SmartPointer< MatrixType, MatrixSimple< MatrixType > > > matrix
 
const double threshold
 
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.

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

Member Function Documentation

◆ initialize() [1/6]

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

◆ initialize() [2/6]

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 1231 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 1241 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 1323 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 1368 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 1250 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 1288 of file simple.h.

◆ initialize() [3/6]

template<typename MatrixType >
void MeshWorker::Assembler::MatrixSimple< MatrixType >::initialize ( MatrixType &  m)
inlineinherited

Store the result matrix for later assembling.

Definition at line 585 of file simple.h.

◆ initialize() [4/6]

template<typename MatrixType >
void MeshWorker::Assembler::MatrixSimple< MatrixType >::initialize ( std::vector< MatrixType > &  m)
inlineinherited

Store several result matrices for later assembling.

Definition at line 594 of file simple.h.

◆ initialize() [5/6]

template<typename MatrixType >
void MeshWorker::Assembler::MatrixSimple< MatrixType >::initialize ( const AffineConstraints< typename MatrixType::value_type > &  constraints)
inlineinherited

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

◆ initialize() [6/6]

template<typename VectorType >
void MeshWorker::Assembler::ResidualSimple< VectorType >::initialize ( AnyData results)
inlineinherited

Initialize with an AnyData object holding the result of assembling.

Assembling currently writes into the first vector of results.

Definition at line 513 of file simple.h.

Member Data Documentation

◆ matrix

template<typename MatrixType>
std::vector<SmartPointer<MatrixType, MatrixSimple<MatrixType> > > MeshWorker::Assembler::MatrixSimple< MatrixType >::matrix
protectedinherited

The vector of global matrices being assembled.

Definition at line 215 of file simple.h.

◆ threshold

template<typename MatrixType>
const double MeshWorker::Assembler::MatrixSimple< MatrixType >::threshold
protectedinherited

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

◆ residuals

template<typename VectorType>
AnyData MeshWorker::Assembler::ResidualSimple< VectorType >::residuals
protectedinherited

The global residual vectors filled by assemble().

Definition at line 110 of file simple.h.

◆ constraints

template<typename VectorType>
SmartPointer<const AffineConstraints<typename VectorType::value_type>, ResidualSimple<VectorType> > MeshWorker::Assembler::ResidualSimple< VectorType >::constraints
protectedinherited

A pointer to the object containing constraints.

Definition at line 117 of file simple.h.


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