Fluid structure interaction suite
LAC::Initializer Class Reference

General class, used to initialize different types of block vectors, block atrices and block sparsity patterns using a common interface. More...

#include <lac_initializer.h>

Public Member Functions

 Initializer (const IndexSet &owned_rows, const IndexSet &relevant_rows, const MPI_Comm &comm=MPI_COMM_WORLD, const IndexSet &owned_columns=IndexSet(), const IndexSet &relevant_columns=IndexSet())
 
void operator() (LATrilinos::Vector &v, bool fast=false)
 Initialize a non ghosted TrilinosWrappers::MPI::BlockVector. More...
 
void ghosted (LATrilinos::Vector &v, bool fast=false)
 Initialize a ghosted TrilinosWrappers::MPI::Vector. More...
 
void operator() (LAPETSc::Vector &v, bool fast=false)
 Initialize a non ghosted TrilinosWrappers::MPI::Vector. More...
 
void ghosted (LAPETSc::Vector &v, bool fast=false)
 Initialize a ghosted TrilinosWrappers::MPI::Vector. More...
 
void operator() (LAVector &v, bool fast=false)
 Initialize a serial BlockVector<double>. More...
 
void ghosted (LAVector &v, bool fast=false)
 Initiale a ghosted BlockVector<double>. More...
 
void operator() (TrilinosWrappers::SparsityPattern &s)
 Initialize a Trilinos Sparsity Pattern. More...
 
void operator() (SparsityPattern &s)
 Initialize a deal.II Sparsity Pattern. More...
 
template<int dim, int spacedim>
void operator() (TrilinosWrappers::SparsityPattern &s, const DoFHandler< dim, spacedim > &dh, const AffineConstraints< double > &cm, const Table< 2, DoFTools::Coupling > &coupling)
 Initialize a Trilinos Sparsity Pattern. More...
 
template<int dim, int spacedim>
void operator() (SparsityPattern &s, const DoFHandler< dim, spacedim > &dh, const AffineConstraints< double > &cm, const Table< 2, DoFTools::Coupling > &coupling)
 Initialize a Deal.II Sparsity Pattern. More...
 
void operator() (const LASparsityPattern &sparsity, LASparseMatrix &matrix)
 Initialize a deal.II matrix. More...
 
void operator() (const LATrilinos::SparsityPattern &sparsity, LATrilinos::SparseMatrix &matrix)
 Initialize a Trilinos matrix. More...
 
void operator() (const LAPETSc::SparsityPattern &sparsity, LAPETSc::SparseMatrix &matrix)
 Initialize a PETSc matrix. More...
 

Private Attributes

std::unique_ptr< DynamicSparsityPatterndsp
 The dynamic sparisty pattern. More...
 
const IndexSet owned_rows
 Owned dofs. More...
 
const IndexSet relevant_rows
 
const MPI_Comm & comm
 MPI Communicator. More...
 
const IndexSet owned_columns
 Relevant dofs. More...
 
const IndexSet relevant_columns
 

Detailed Description

General class, used to initialize different types of block vectors, block atrices and block sparsity patterns using a common interface.

Definition at line 208 of file lac_initializer.h.

Constructor & Destructor Documentation

◆ Initializer()

LAC::Initializer::Initializer ( const IndexSet owned_rows,
const IndexSet relevant_rows,
const MPI_Comm &  comm = MPI_COMM_WORLD,
const IndexSet owned_columns = IndexSet(),
const IndexSet relevant_columns = IndexSet() 
)
inline

Definition at line 211 of file lac_initializer.h.

Member Function Documentation

◆ operator()() [1/10]

void LAC::Initializer::operator() ( LATrilinos::Vector v,
bool  fast = false 
)
inline

Initialize a non ghosted TrilinosWrappers::MPI::BlockVector.

Definition at line 227 of file lac_initializer.h.

References comm, owned_rows, and TrilinosWrappers::MPI::Vector::reinit().

◆ ghosted() [1/3]

void LAC::Initializer::ghosted ( LATrilinos::Vector v,
bool  fast = false 
)
inline

Initialize a ghosted TrilinosWrappers::MPI::Vector.

Definition at line 237 of file lac_initializer.h.

References comm, owned_rows, TrilinosWrappers::MPI::Vector::reinit(), and relevant_rows.

◆ operator()() [2/10]

void LAC::Initializer::operator() ( LAPETSc::Vector v,
bool  fast = false 
)
inline

Initialize a non ghosted TrilinosWrappers::MPI::Vector.

Definition at line 246 of file lac_initializer.h.

References comm, owned_rows, and PETScWrappers::MPI::Vector::reinit().

◆ ghosted() [2/3]

void LAC::Initializer::ghosted ( LAPETSc::Vector v,
bool  fast = false 
)
inline

Initialize a ghosted TrilinosWrappers::MPI::Vector.

Definition at line 257 of file lac_initializer.h.

References comm, owned_rows, PETScWrappers::MPI::Vector::reinit(), and relevant_rows.

◆ operator()() [3/10]

void LAC::Initializer::operator() ( LAVector &  v,
bool  fast = false 
)
inline

Initialize a serial BlockVector<double>.

Definition at line 267 of file lac_initializer.h.

References owned_rows, and IndexSet::size().

◆ ghosted() [3/3]

void LAC::Initializer::ghosted ( LAVector &  v,
bool  fast = false 
)
inline

Initiale a ghosted BlockVector<double>.

Same as above.

Definition at line 277 of file lac_initializer.h.

References owned_rows, and IndexSet::size().

◆ operator()() [4/10]

void LAC::Initializer::operator() ( TrilinosWrappers::SparsityPattern s)
inline

Initialize a Trilinos Sparsity Pattern.

Definition at line 286 of file lac_initializer.h.

References comm, owned_columns, owned_rows, and TrilinosWrappers::SparsityPattern::reinit().

◆ operator()() [5/10]

void LAC::Initializer::operator() ( SparsityPattern s)
inline

Initialize a deal.II Sparsity Pattern.

Definition at line 295 of file lac_initializer.h.

References owned_columns, owned_rows, SparsityPattern::reinit(), and IndexSet::size().

◆ operator()() [6/10]

template<int dim, int spacedim>
void LAC::Initializer::operator() ( TrilinosWrappers::SparsityPattern s,
const DoFHandler< dim, spacedim > &  dh,
const AffineConstraints< double > &  cm,
const Table< 2, DoFTools::Coupling > &  coupling 
)
inline

◆ operator()() [7/10]

template<int dim, int spacedim>
void LAC::Initializer::operator() ( SparsityPattern s,
const DoFHandler< dim, spacedim > &  dh,
const AffineConstraints< double > &  cm,
const Table< 2, DoFTools::Coupling > &  coupling 
)
inline

Initialize a Deal.II Sparsity Pattern.

Definition at line 326 of file lac_initializer.h.

References SparsityPattern::copy_from(), dsp, DoFTools::make_sparsity_pattern(), owned_columns, owned_rows, and IndexSet::size().

◆ operator()() [8/10]

void LAC::Initializer::operator() ( const LASparsityPattern &  sparsity,
LASparseMatrix &  matrix 
)
inline

Initialize a deal.II matrix.

Definition at line 344 of file lac_initializer.h.

◆ operator()() [9/10]

void LAC::Initializer::operator() ( const LATrilinos::SparsityPattern sparsity,
LATrilinos::SparseMatrix matrix 
)
inline

Initialize a Trilinos matrix.

Definition at line 355 of file lac_initializer.h.

◆ operator()() [10/10]

void LAC::Initializer::operator() ( const LAPETSc::SparsityPattern sparsity,
LAPETSc::SparseMatrix matrix 
)
inline

Initialize a PETSc matrix.

Definition at line 367 of file lac_initializer.h.

References comm, owned_columns, and owned_rows.

Member Data Documentation

◆ dsp

std::unique_ptr<DynamicSparsityPattern> LAC::Initializer::dsp
private

The dynamic sparisty pattern.

Definition at line 378 of file lac_initializer.h.

Referenced by operator()().

◆ owned_rows

const IndexSet LAC::Initializer::owned_rows
private

Owned dofs.

Definition at line 383 of file lac_initializer.h.

Referenced by ghosted(), and operator()().

◆ relevant_rows

const IndexSet LAC::Initializer::relevant_rows
private

Definition at line 384 of file lac_initializer.h.

Referenced by ghosted(), and operator()().

◆ comm

const MPI_Comm& LAC::Initializer::comm
private

MPI Communicator.

Definition at line 388 of file lac_initializer.h.

Referenced by ghosted(), and operator()().

◆ owned_columns

const IndexSet LAC::Initializer::owned_columns
private

Relevant dofs.

Definition at line 393 of file lac_initializer.h.

Referenced by operator()().

◆ relevant_columns

const IndexSet LAC::Initializer::relevant_columns
private

Definition at line 394 of file lac_initializer.h.


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