KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
List of all members
Kratos::DeflationUtils Class Reference

#include <deflation_utils.h>

Collaboration diagram for Kratos::DeflationUtils:

Public Types

Type Definitions
typedef boost::numeric::ublas::compressed_matrix< doubleSparseMatrixType
 
typedef boost::numeric::ublas::vector< doubleSparseVectorType
 

Operators

Constructor. Destructor.

void VisualizeAggregates (ModelPart::NodesContainerType &rNodes, Variable< double > &rVariable, const int max_reduced_size)
 
static void ConstructW (const std::size_t max_reduced_size, SparseMatrixType &rA, std::vector< int > &w, SparseMatrixType &deflatedA)
 
static void ConstructW (const int max_reduced_size, SparseMatrixType &rA, std::vector< int > &w, SparseMatrixType &deflatedA, const std::size_t block_size)
 block version of ConstructW. To be used when multiple DOFS are associated to the same node. More...
 
static void ApplyW (const std::vector< int > &w, const SparseVectorType &x, SparseVectorType &y)
 
static void ApplyWtranspose (const std::vector< int > &w, const SparseVectorType &x, SparseVectorType &y)
 
static void FillDeflatedMatrix (const SparseMatrixType &rA, std::vector< int > &w, SparseMatrixType &Ah)
 

Detailed Description

This class defines utility for aggregation of node clusters to be used in deflated solvers. Detail class definition.

\URL[Example of use html]{ extended_documentation/no_ex_of_use.html}

    \URL[Example of use pdf]{ extended_documentation/no_ex_of_use.pdf}

      \URL[Example of use doc]{ extended_documentation/no_ex_of_use.doc}

            \URL[Example of use ps]{ extended_documentation/no_ex_of_use.ps}


                    \URL[Extended documentation html]{ extended_documentation/no_ext_doc.html}

                      \URL[Extended documentation pdf]{ extended_documentation/no_ext_doc.pdf}

                            \URL[Extended documentation doc]{ extended_documentation/no_ext_doc.doc}

                              \URL[Extended documentation ps]{ extended_documentation/no_ext_doc.ps}

Member Typedef Documentation

◆ SparseMatrixType

typedef boost::numeric::ublas::compressed_matrix<double> Kratos::DeflationUtils::SparseMatrixType

◆ SparseVectorType

typedef boost::numeric::ublas::vector<double> Kratos::DeflationUtils::SparseVectorType

Member Function Documentation

◆ ApplyW()

static void Kratos::DeflationUtils::ApplyW ( const std::vector< int > &  w,
const SparseVectorType x,
SparseVectorType y 
)
inlinestatic

◆ ApplyWtranspose()

static void Kratos::DeflationUtils::ApplyWtranspose ( const std::vector< int > &  w,
const SparseVectorType x,
SparseVectorType y 
)
inlinestatic

◆ ConstructW() [1/2]

static void Kratos::DeflationUtils::ConstructW ( const int  max_reduced_size,
SparseMatrixType rA,
std::vector< int > &  w,
SparseMatrixType deflatedA,
const std::size_t  block_size 
)
inlinestatic

block version of ConstructW. To be used when multiple DOFS are associated to the same node.

◆ ConstructW() [2/2]

static void Kratos::DeflationUtils::ConstructW ( const std::size_t  max_reduced_size,
SparseMatrixType rA,
std::vector< int > &  w,
SparseMatrixType deflatedA 
)
inlinestatic

this function constructs the structure of a smaller matrix using a technique taken from MIS aggregation the algorythm is taken from the pyamg lib

◆ FillDeflatedMatrix()

static void Kratos::DeflationUtils::FillDeflatedMatrix ( const SparseMatrixType rA,
std::vector< int > &  w,
SparseMatrixType Ah 
)
inlinestatic

◆ VisualizeAggregates()

void Kratos::DeflationUtils::VisualizeAggregates ( ModelPart::NodesContainerType rNodes,
Variable< double > &  rVariable,
const int  max_reduced_size 
)
inline

visualize aggregates. This function assumes that neighbours are calculated and builds the connectivity matrix then writes it to a nodal variable so that it can be used for visualizing it.


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