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...
 
EdgeBasedDataStructureoperator= (const EdgeBasedDataStructure &rOther)=delete
 Assignment operator. More...
 
Operations
void CalculateEdgeDataStructure (const ModelPart &rModelPart)
 
void Clear ()
 
Access
SizeType NumberOfEdges () const
 
const IndicesVectorTypeGetRowIndices () const
 
const IndicesVectorTypeGetColIndices () const
 
const MassMatrixVectorTypeGetMassMatrixDiagonal () const
 
double GetMassMatrixDiagonal (IndexType I) const
 
const BoundaryMassMatrixVectorTypeGetBoundaryMassMatrixDiagonal () const
 
const array_1d< double, TDim > & GetBoundaryMassMatrixDiagonal (IndexType I) const
 
const MassMatrixVectorTypeGetLumpedMassMatrixDiagonal () const
 
double GetLumpedMassMatrixDiagonal (IndexType I) const
 
const EdgeDataVectorTypeGetEdgeData () const
 
EdgeDataGetEdgeData (IndexType I, IndexType J)
 
const EdgeDataGetEdgeData (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: