Reference documentation for deal.II version 9.5.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\}}\)
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
MeshWorker::Assembler::MGMatrixSimple< MatrixType > Class Template Reference

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

Public Member Functions

 MGMatrixSimple (double threshold=1.e-12)
 
void initialize (MGLevelObject< MatrixType > &m)
 
void initialize (const MGConstrainedDoFs &mg_constrained_dofs)
 
void initialize_fluxes (MGLevelObject< MatrixType > &flux_up, MGLevelObject< MatrixType > &flux_down)
 
void initialize_interfaces (MGLevelObject< MatrixType > &interface_in, MGLevelObject< MatrixType > &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 (MatrixType &G, const FullMatrix< double > &M, const std::vector< types::global_dof_index > &i1, const std::vector< types::global_dof_index > &i2)
 
void assemble (MatrixType &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 (MatrixType &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 (MatrixType &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 (MatrixType &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 (MatrixType &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< MatrixType >, MGMatrixSimple< MatrixType > > matrix
 
SmartPointer< MGLevelObject< MatrixType >, MGMatrixSimple< MatrixType > > flux_up
 
SmartPointer< MGLevelObject< MatrixType >, MGMatrixSimple< MatrixType > > flux_down
 
SmartPointer< MGLevelObject< MatrixType >, MGMatrixSimple< MatrixType > > interface_in
 
SmartPointer< MGLevelObject< MatrixType >, MGMatrixSimple< MatrixType > > interface_out
 
SmartPointer< const MGConstrainedDoFs, MGMatrixSimple< MatrixType > > mg_constrained_dofs
 
const double threshold
 

Detailed Description

template<typename MatrixType>
class MeshWorker::Assembler::MGMatrixSimple< MatrixType >

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.

Definition at line 254 of file simple.h.

Constructor & Destructor Documentation

◆ MGMatrixSimple()

template<typename MatrixType >
MeshWorker::Assembler::MGMatrixSimple< MatrixType >::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 761 of file simple.h.

Member Function Documentation

◆ initialize() [1/2]

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::initialize ( MGLevelObject< MatrixType > &  m)
inline

Store the result matrix for later assembling.

Definition at line 768 of file simple.h.

◆ initialize() [2/2]

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::initialize ( const MGConstrainedDoFs mg_constrained_dofs)
inline

Initialize the multilevel constraints.

Definition at line 775 of file simple.h.

◆ initialize_fluxes()

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::initialize_fluxes ( MGLevelObject< MatrixType > &  flux_up,
MGLevelObject< MatrixType > &  flux_down 
)
inline

Initialize the matrices flux_up and flux_down used for local refinement with discontinuous Galerkin methods.

Definition at line 783 of file simple.h.

◆ initialize_interfaces()

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::initialize_interfaces ( MGLevelObject< MatrixType > &  interface_in,
MGLevelObject< MatrixType > &  interface_out 
)
inline

Initialize the matrices interface_in and interface_out used for local refinement with continuous Galerkin methods.

Definition at line 794 of file simple.h.

◆ initialize_info()

template<typename MatrixType >
template<class DOFINFO >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::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 806 of file simple.h.

◆ assemble() [1/4]

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

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

Definition at line 1034 of file simple.h.

◆ assemble() [2/4]

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

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

Definition at line 1092 of file simple.h.

◆ assemble() [3/4]

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::assemble ( MatrixType &  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 833 of file simple.h.

◆ assemble() [4/4]

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::assemble ( MatrixType &  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 853 of file simple.h.

◆ assemble_up()

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::assemble_up ( MatrixType &  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 906 of file simple.h.

◆ assemble_down()

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::assemble_down ( MatrixType &  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 935 of file simple.h.

◆ assemble_in()

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::assemble_in ( MatrixType &  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 964 of file simple.h.

◆ assemble_out()

template<typename MatrixType >
void MeshWorker::Assembler::MGMatrixSimple< MatrixType >::assemble_out ( MatrixType &  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 1004 of file simple.h.

Member Data Documentation

◆ matrix

template<typename MatrixType >
SmartPointer<MGLevelObject<MatrixType>, MGMatrixSimple<MatrixType> > MeshWorker::Assembler::MGMatrixSimple< MatrixType >::matrix
private

The global matrix being assembled.

Definition at line 383 of file simple.h.

◆ flux_up

template<typename MatrixType >
SmartPointer<MGLevelObject<MatrixType>, MGMatrixSimple<MatrixType> > MeshWorker::Assembler::MGMatrixSimple< MatrixType >::flux_up
private

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

Definition at line 390 of file simple.h.

◆ flux_down

template<typename MatrixType >
SmartPointer<MGLevelObject<MatrixType>, MGMatrixSimple<MatrixType> > MeshWorker::Assembler::MGMatrixSimple< MatrixType >::flux_down
private

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

Definition at line 397 of file simple.h.

◆ interface_in

template<typename MatrixType >
SmartPointer<MGLevelObject<MatrixType>, MGMatrixSimple<MatrixType> > MeshWorker::Assembler::MGMatrixSimple< MatrixType >::interface_in
private

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

Definition at line 404 of file simple.h.

◆ interface_out

template<typename MatrixType >
SmartPointer<MGLevelObject<MatrixType>, MGMatrixSimple<MatrixType> > MeshWorker::Assembler::MGMatrixSimple< MatrixType >::interface_out
private

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.

◆ mg_constrained_dofs

template<typename MatrixType >
SmartPointer<const MGConstrainedDoFs, MGMatrixSimple<MatrixType> > MeshWorker::Assembler::MGMatrixSimple< MatrixType >::mg_constrained_dofs
private

A pointer to the object containing constraints.

Definition at line 416 of file simple.h.

◆ threshold

template<typename MatrixType >
const double MeshWorker::Assembler::MGMatrixSimple< MatrixType >::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 423 of file simple.h.


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