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.
Classes | List of all members
Kratos::EdgeBasedDataStructure< TDim > Class Template Reference

#include <edge_based_data_structure.h>

Collaboration diagram for Kratos::EdgeBasedDataStructure< TDim >:

Classes

class  EdgeData
 

Public Member Functions

Life Cycle
 EdgeBasedDataStructure ()=default
 Constructor. More...
 
 ~EdgeBasedDataStructure ()=default
 Destructor. More...
 
EdgeBasedDataStructure & operator= (const EdgeBasedDataStructure &rOther)=delete
 Assignment operator. More...
 
Operations
void CalculateEdgeDataStructure (const ModelPart &rModelPart)
 
void Clear ()
 
Access
SizeType NumberOfEdges () const
 
const IndicesVectorType & GetRowIndices () const
 
const IndicesVectorType & GetColIndices () const
 
const MassMatrixVectorType & GetMassMatrixDiagonal () const
 
double GetMassMatrixDiagonal (IndexType I) const
 
const BoundaryMassMatrixVectorType & GetBoundaryMassMatrixDiagonal () const
 
const array_1d< double, TDim > & GetBoundaryMassMatrixDiagonal (IndexType I) const
 
const MassMatrixVectorType & GetLumpedMassMatrixDiagonal () const
 
double GetLumpedMassMatrixDiagonal (IndexType I) const
 
const EdgeDataVectorType & GetEdgeData () const
 
EdgeData & GetEdgeData (IndexType I, IndexType J)
 
const EdgeData & GetEdgeData (IndexType I, IndexType J) const
 
Input and output
std::string Info () const
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const
 Print information about this object. More...
 
void PrintData (std::ostream &rOStream) const
 Print object's data. More...
 

Type Definitions

using IndexType = std::size_t
 Index type definition. More...
 
using SizeType = std::size_t
 Size type definition. More...
 
using EdgeDataPointerType = std::unique_ptr< EdgeData >
 Edge data container pointer type. More...
 
using SparseGraphType = SparseGraph< IndexType >
 Sparse graph definition. More...
 
using IndicesVectorType = std::vector< IndexType >
 CSR storage indices vector definition. More...
 
using EdgeDataVectorType = std::vector< EdgeDataPointerType >
 CSR storage off-diagonal values vector definition. More...
 
using MassMatrixVectorType = std::vector< double >
 CSR storage mass matrices vector definition. More...
 
using BoundaryMassMatrixVectorType = std::vector< array_1d< double, TDim > >
 CSR storage boundary mass matrices vector definition. More...
 
static constexpr std::size_t NumNodes = TDim + 1
 
static constexpr std::size_t NumEdges = TDim == 2 ? 3 : 6
 
static constexpr std::size_t NumEdgesFace = TDim == 2 ? 1 : 3
 
static constexpr std::size_t NumNodesFace = TDim == 2 ? 2 : 3
 
 KRATOS_CLASS_POINTER_DEFINITION (EdgeBasedDataStructure)
 Pointer definition of EdgeBasedDataStructure. More...
 

Private Operations

class Serializer
 

Member Typedef Documentation

◆ BoundaryMassMatrixVectorType

template<unsigned int TDim>
using Kratos::EdgeBasedDataStructure< TDim >::BoundaryMassMatrixVectorType = std::vector<array_1d<double,TDim> >

CSR storage boundary mass matrices vector definition.

◆ EdgeDataPointerType

template<unsigned int TDim>
using Kratos::EdgeBasedDataStructure< TDim >::EdgeDataPointerType = std::unique_ptr<EdgeData>

Edge data container pointer type.

◆ EdgeDataVectorType

template<unsigned int TDim>
using Kratos::EdgeBasedDataStructure< TDim >::EdgeDataVectorType = std::vector<EdgeDataPointerType>

CSR storage off-diagonal values vector definition.

◆ IndexType

template<unsigned int TDim>
using Kratos::EdgeBasedDataStructure< TDim >::IndexType = std::size_t

Index type definition.

◆ IndicesVectorType

template<unsigned int TDim>
using Kratos::EdgeBasedDataStructure< TDim >::IndicesVectorType = std::vector<IndexType>

CSR storage indices vector definition.

◆ MassMatrixVectorType

template<unsigned int TDim>
using Kratos::EdgeBasedDataStructure< TDim >::MassMatrixVectorType = std::vector<double>

CSR storage mass matrices vector definition.

◆ SizeType

template<unsigned int TDim>
using Kratos::EdgeBasedDataStructure< TDim >::SizeType = std::size_t

Size type definition.

◆ SparseGraphType

template<unsigned int TDim>
using Kratos::EdgeBasedDataStructure< TDim >::SparseGraphType = SparseGraph<IndexType>

Sparse graph definition.

Constructor & Destructor Documentation

◆ EdgeBasedDataStructure()

template<unsigned int TDim>
Kratos::EdgeBasedDataStructure< TDim >::EdgeBasedDataStructure ( )
default

Constructor.

◆ ~EdgeBasedDataStructure()

template<unsigned int TDim>
Kratos::EdgeBasedDataStructure< TDim >::~EdgeBasedDataStructure ( )
default

Destructor.

Member Function Documentation

◆ CalculateEdgeDataStructure()

template<unsigned int TDim>
void Kratos::EdgeBasedDataStructure< TDim >::CalculateEdgeDataStructure ( const ModelPart &  rModelPart)
inline

◆ Clear()

template<unsigned int TDim>
void Kratos::EdgeBasedDataStructure< TDim >::Clear ( )
inline

◆ GetBoundaryMassMatrixDiagonal() [1/2]

template<unsigned int TDim>
const BoundaryMassMatrixVectorType& Kratos::EdgeBasedDataStructure< TDim >::GetBoundaryMassMatrixDiagonal ( ) const
inline

◆ GetBoundaryMassMatrixDiagonal() [2/2]

template<unsigned int TDim>
const array_1d<double,TDim>& Kratos::EdgeBasedDataStructure< TDim >::GetBoundaryMassMatrixDiagonal ( IndexType  I) const
inline

◆ GetColIndices()

template<unsigned int TDim>
const IndicesVectorType& Kratos::EdgeBasedDataStructure< TDim >::GetColIndices ( ) const
inline

◆ GetEdgeData() [1/3]

template<unsigned int TDim>
const EdgeDataVectorType& Kratos::EdgeBasedDataStructure< TDim >::GetEdgeData ( ) const
inline

◆ GetEdgeData() [2/3]

template<unsigned int TDim>
EdgeData& Kratos::EdgeBasedDataStructure< TDim >::GetEdgeData ( IndexType  I,
IndexType  J 
)
inline

◆ GetEdgeData() [3/3]

template<unsigned int TDim>
const EdgeData& Kratos::EdgeBasedDataStructure< TDim >::GetEdgeData ( IndexType  I,
IndexType  J 
) const
inline

◆ GetLumpedMassMatrixDiagonal() [1/2]

template<unsigned int TDim>
const MassMatrixVectorType& Kratos::EdgeBasedDataStructure< TDim >::GetLumpedMassMatrixDiagonal ( ) const
inline

◆ GetLumpedMassMatrixDiagonal() [2/2]

template<unsigned int TDim>
double Kratos::EdgeBasedDataStructure< TDim >::GetLumpedMassMatrixDiagonal ( IndexType  I) const
inline

◆ GetMassMatrixDiagonal() [1/2]

template<unsigned int TDim>
const MassMatrixVectorType& Kratos::EdgeBasedDataStructure< TDim >::GetMassMatrixDiagonal ( ) const
inline

◆ GetMassMatrixDiagonal() [2/2]

template<unsigned int TDim>
double Kratos::EdgeBasedDataStructure< TDim >::GetMassMatrixDiagonal ( IndexType  I) const
inline

◆ GetRowIndices()

template<unsigned int TDim>
const IndicesVectorType& Kratos::EdgeBasedDataStructure< TDim >::GetRowIndices ( ) const
inline

◆ Info()

template<unsigned int TDim>
std::string Kratos::EdgeBasedDataStructure< TDim >::Info ( ) const
inline

Turn back information as a string.

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<unsigned int TDim>
Kratos::EdgeBasedDataStructure< TDim >::KRATOS_CLASS_POINTER_DEFINITION ( EdgeBasedDataStructure< TDim >  )

Pointer definition of EdgeBasedDataStructure.

◆ NumberOfEdges()

template<unsigned int TDim>
SizeType Kratos::EdgeBasedDataStructure< TDim >::NumberOfEdges ( ) const
inline

◆ operator=()

template<unsigned int TDim>
EdgeBasedDataStructure& Kratos::EdgeBasedDataStructure< TDim >::operator= ( const EdgeBasedDataStructure< TDim > &  rOther)
delete

Assignment operator.

◆ PrintData()

template<unsigned int TDim>
void Kratos::EdgeBasedDataStructure< TDim >::PrintData ( std::ostream &  rOStream) const
inline

Print object's data.

◆ PrintInfo()

template<unsigned int TDim>
void Kratos::EdgeBasedDataStructure< TDim >::PrintInfo ( std::ostream &  rOStream) const
inline

Print information about this object.

Friends And Related Function Documentation

◆ Serializer

template<unsigned int TDim>
friend class Serializer
friend

Member Data Documentation

◆ NumEdges

template<unsigned int TDim>
constexpr std::size_t Kratos::EdgeBasedDataStructure< TDim >::NumEdges = TDim == 2 ? 3 : 6
staticconstexpr

◆ NumEdgesFace

template<unsigned int TDim>
constexpr std::size_t Kratos::EdgeBasedDataStructure< TDim >::NumEdgesFace = TDim == 2 ? 1 : 3
staticconstexpr

◆ NumNodes

template<unsigned int TDim>
constexpr std::size_t Kratos::EdgeBasedDataStructure< TDim >::NumNodes = TDim + 1
staticconstexpr

◆ NumNodesFace

template<unsigned int TDim>
constexpr std::size_t Kratos::EdgeBasedDataStructure< TDim >::NumNodesFace = TDim == 2 ? 2 : 3
staticconstexpr

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