deal.II version GIT relicensing-2167-g9622207b8f 2024-11-21 12:40: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::ResidualLocalBlocksToGlobalBlocks< VectorType > Class Template Reference

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

Public Member Functions

void initialize (const BlockInfo *block_info, AnyData &residuals)
 
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 (VectorType &global, const BlockVector< double > &local, const std::vector< types::global_dof_index > &dof)
 

Private Attributes

AnyData residuals
 
ObserverPointer< const BlockInfo, ResidualLocalBlocksToGlobalBlocks< VectorType > > block_info
 
ObserverPointer< const AffineConstraints< typename VectorType::value_type >, ResidualLocalBlocksToGlobalBlocks< VectorType > > constraints
 

Detailed Description

template<typename VectorType>
class MeshWorker::Assembler::ResidualLocalBlocksToGlobalBlocks< VectorType >

Assemble local residuals into global residuals.

The global residuals are expected as an FEVectors object. The local residuals are block vectors.

Depending on whether the BlockInfo object was initialize with BlockInfo::initialize_local(), the comprehensive or block data model is used locally.

In the block model, each of the blocks of the local vectors corresponds to the restriction of a single block of the system to this cell (see GlossBlock). Thus, the size of this local block is the number of degrees of freedom of the corresponding base element of the FESystem.

Todo:
Comprehensive model currently not implemented.

Definition at line 111 of file assembler.h.

Member Function Documentation

◆ initialize() [1/2]

template<typename VectorType >
void MeshWorker::Assembler::ResidualLocalBlocksToGlobalBlocks< VectorType >::initialize ( const BlockInfo block_info,
AnyData residuals 
)
inline

Copy the BlockInfo and the matrix pointers into local variables.

Definition at line 530 of file assembler.h.

◆ initialize() [2/2]

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

Initialize the constraints.

Definition at line 540 of file assembler.h.

◆ initialize_info()

template<typename VectorType >
template<class DOFINFO >
void MeshWorker::Assembler::ResidualLocalBlocksToGlobalBlocks< 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 550 of file assembler.h.

◆ assemble() [1/3]

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

Assemble the local residuals into the global residuals.

Definition at line 590 of file assembler.h.

◆ assemble() [2/3]

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

Assemble both local residuals into the global residuals.

Definition at line 602 of file assembler.h.

◆ assemble() [3/3]

template<typename VectorType >
void MeshWorker::Assembler::ResidualLocalBlocksToGlobalBlocks< VectorType >::assemble ( VectorType &  global,
const BlockVector< double > &  local,
const std::vector< types::global_dof_index > &  dof 
)
inlineprivate

Assemble a single local residual into the global.

Definition at line 559 of file assembler.h.

Member Data Documentation

◆ residuals

template<typename VectorType >
AnyData MeshWorker::Assembler::ResidualLocalBlocksToGlobalBlocks< VectorType >::residuals
private

The global vectors, stored as an AnyData container of pointers.

Definition at line 165 of file assembler.h.

◆ block_info

template<typename VectorType >
ObserverPointer<const BlockInfo, ResidualLocalBlocksToGlobalBlocks<VectorType> > MeshWorker::Assembler::ResidualLocalBlocksToGlobalBlocks< VectorType >::block_info
private

A pointer to the object containing the block structure.

Definition at line 172 of file assembler.h.

◆ constraints

template<typename VectorType >
ObserverPointer<const AffineConstraints<typename VectorType::value_type>, ResidualLocalBlocksToGlobalBlocks<VectorType> > MeshWorker::Assembler::ResidualLocalBlocksToGlobalBlocks< VectorType >::constraints
private

A pointer to the object containing constraints.

Definition at line 179 of file assembler.h.


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