deal.II version GIT relicensing-2289-g1e5549a87a 2024-12-21 21:30:00+00:00
\(\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\}}\)
Loading...
Searching...
No Matches
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 >:
Inheritance graph
[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< ObserverPointer< MatrixType, MatrixSimple< MatrixType > > > matrix
 
const double threshold
 
ObserverPointer< const AffineConstraints< typename MatrixType::value_type >, MatrixSimple< MatrixType > > constraints
 
AnyData residuals
 
ObserverPointer< 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 436 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 1210 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 1217 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 1230 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 1240 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 1322 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 1367 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 1249 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 1287 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 584 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 593 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 603 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 512 of file simple.h.

Member Data Documentation

◆ matrix

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

The vector of global matrices being assembled.

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

◆ constraints [1/2]

template<typename MatrixType >
ObserverPointer<const AffineConstraints<typename MatrixType::value_type>, MatrixSimple<MatrixType> > MeshWorker::Assembler::MatrixSimple< MatrixType >::constraints
privateinherited

A pointer to the object containing constraints.

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

◆ constraints [2/2]

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

A pointer to the object containing constraints.

Definition at line 116 of file simple.h.


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