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.
Typedefs | Functions
Kratos::ContainerVariableDataHolderUtilsHelper Namespace Reference

Typedefs

using VariableVariantType = std::variant< const Variable< double > *, const Variable< array_1d< double, 3 > > * >
 
using VariablePairVariantType = std::variant< std::pair< const Variable< double > *, const Variable< double > * >, std::pair< const Variable< array_1d< double, 3 > > *, const Variable< array_1d< double, 3 > > * > >
 

Functions

VariableVariantType GetTemporaryVariable (const std::vector< IndexType > &rShape)
 
VariablePairVariantType GetTemporaryVariable1And2 (const std::vector< IndexType > &rShape)
 
template<class TDataType1 , class TDataType2 , std::enable_if_t< std::disjunction_v< std::is_arithmetic< TDataType1 >, std::is_same< TDataType1, Vector >, std::is_same< TDataType1, Matrix >>, bool > = true>
void GenericAtomicAdd (TDataType1 &rOutput, const TDataType2 &rInput)
 
template<class TDataType , std::size_t TSize, class TDataType2 >
void GenericAtomicAdd (array_1d< TDataType, TSize > &rOutput, const TDataType2 &rInput)
 
template<class TDataType >
VariableExpressionDataIO< TDataType >::Pointer GetVariableExpressionDataIO (const Variable< TDataType > &rVaraible, const std::vector< IndexType > &rShape)
 
void ComputeMatrixExpressionProduct (LiteralFlatExpression< double > &rOutputExpression, const Matrix &rMatrix, const LiteralFlatExpression< double > &rInputExpression, const IndexType NumberOfEntities, const IndexType ExpressionLocalSize)
 

Typedef Documentation

◆ VariablePairVariantType

using Kratos::ContainerVariableDataHolderUtilsHelper::VariablePairVariantType = typedef std::variant< std::pair<const Variable<double>*, const Variable<double>*>, std::pair<const Variable<array_1d<double, 3> >*, const Variable<array_1d<double, 3> >*> >

◆ VariableVariantType

Function Documentation

◆ ComputeMatrixExpressionProduct()

void Kratos::ContainerVariableDataHolderUtilsHelper::ComputeMatrixExpressionProduct ( LiteralFlatExpression< double > &  rOutputExpression,
const Matrix rMatrix,
const LiteralFlatExpression< double > &  rInputExpression,
const IndexType  NumberOfEntities,
const IndexType  ExpressionLocalSize 
)

◆ GenericAtomicAdd() [1/2]

template<class TDataType , std::size_t TSize, class TDataType2 >
void Kratos::ContainerVariableDataHolderUtilsHelper::GenericAtomicAdd ( array_1d< TDataType, TSize > &  rOutput,
const TDataType2 &  rInput 
)
inline

◆ GenericAtomicAdd() [2/2]

template<class TDataType1 , class TDataType2 , std::enable_if_t< std::disjunction_v< std::is_arithmetic< TDataType1 >, std::is_same< TDataType1, Vector >, std::is_same< TDataType1, Matrix >>, bool > = true>
void Kratos::ContainerVariableDataHolderUtilsHelper::GenericAtomicAdd ( TDataType1 &  rOutput,
const TDataType2 &  rInput 
)
inline

◆ GetTemporaryVariable()

VariableVariantType Kratos::ContainerVariableDataHolderUtilsHelper::GetTemporaryVariable ( const std::vector< IndexType > &  rShape)

◆ GetTemporaryVariable1And2()

VariablePairVariantType Kratos::ContainerVariableDataHolderUtilsHelper::GetTemporaryVariable1And2 ( const std::vector< IndexType > &  rShape)

◆ GetVariableExpressionDataIO()

template<class TDataType >
VariableExpressionDataIO<TDataType>::Pointer Kratos::ContainerVariableDataHolderUtilsHelper::GetVariableExpressionDataIO ( const Variable< TDataType > &  rVaraible,
const std::vector< IndexType > &  rShape 
)