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::FluidAdjointTestUtilitiesHelper Namespace Reference

Typedefs

using IndexType = std::size_t
 
using NodeType = ModelPart::NodeType
 

Functions

template<class TDataType >
std::function< double &(NodeType &, const IndexType)> GetPerturbationMethod (const Variable< TDataType > &rPerturbationVariable)
 
template<>
std::function< double &(ModelPart::NodeType &, const IndexType)> GetPerturbationMethod (const Variable< double > &rPerturbationVariable)
 
template<>
std::function< double &(ModelPart::NodeType &, const IndexType)> GetPerturbationMethod (const Variable< array_1d< double, 3 >> &rPerturbationVariable)
 
template<class TDataType >
IndexType GetVariableDimension (const Variable< TDataType > &rVariable, const ProcessInfo &rProcessInfo)
 
template<>
IndexType GetVariableDimension (const Variable< double > &rVariable, const ProcessInfo &rProcessInfo)
 
template<>
IndexType GetVariableDimension (const Variable< array_1d< double, 3 >> &rVariable, const ProcessInfo &rProcessInfo)
 
template<class TEntityType >
void CalculateResidual (Vector &residual, TEntityType &rEntity, const ProcessInfo &rProcessInfo)
 
template<class TContainerType , class TDataType >
void RunAdjointEntityDerivativesTest (ModelPart &rPrimalModelPart, ModelPart &rAdjointModelPart, const std::function< void(ModelPart &)> &rUpdateModelPart, const Variable< TDataType > &rVariable, const std::function< void(Matrix &, typename TContainerType::data_type &, const ProcessInfo &)> &rCalculateElementResidualDerivatives, const IndexType EquationOffset, const IndexType DerivativeOffset, const double Delta, const double Tolerance)
 

Typedef Documentation

◆ IndexType

◆ NodeType

Function Documentation

◆ CalculateResidual()

template<class TEntityType >
void Kratos::FluidAdjointTestUtilitiesHelper::CalculateResidual ( Vector residual,
TEntityType &  rEntity,
const ProcessInfo rProcessInfo 
)

◆ GetPerturbationMethod() [1/3]

template<>
std::function<double&(ModelPart::NodeType&, const IndexType)> Kratos::FluidAdjointTestUtilitiesHelper::GetPerturbationMethod ( const Variable< array_1d< double, 3 >> &  rPerturbationVariable)

◆ GetPerturbationMethod() [2/3]

template<>
std::function<double&(ModelPart::NodeType&, const IndexType)> Kratos::FluidAdjointTestUtilitiesHelper::GetPerturbationMethod ( const Variable< double > &  rPerturbationVariable)

◆ GetPerturbationMethod() [3/3]

template<class TDataType >
std::function<double&(NodeType&, const IndexType)> Kratos::FluidAdjointTestUtilitiesHelper::GetPerturbationMethod ( const Variable< TDataType > &  rPerturbationVariable)

◆ GetVariableDimension() [1/3]

template<>
IndexType Kratos::FluidAdjointTestUtilitiesHelper::GetVariableDimension ( const Variable< array_1d< double, 3 >> &  rVariable,
const ProcessInfo rProcessInfo 
)

◆ GetVariableDimension() [2/3]

template<>
IndexType Kratos::FluidAdjointTestUtilitiesHelper::GetVariableDimension ( const Variable< double > &  rVariable,
const ProcessInfo rProcessInfo 
)

◆ GetVariableDimension() [3/3]

template<class TDataType >
IndexType Kratos::FluidAdjointTestUtilitiesHelper::GetVariableDimension ( const Variable< TDataType > &  rVariable,
const ProcessInfo rProcessInfo 
)

◆ RunAdjointEntityDerivativesTest()

template<class TContainerType , class TDataType >
void Kratos::FluidAdjointTestUtilitiesHelper::RunAdjointEntityDerivativesTest ( ModelPart rPrimalModelPart,
ModelPart rAdjointModelPart,
const std::function< void(ModelPart &)> &  rUpdateModelPart,
const Variable< TDataType > &  rVariable,
const std::function< void(Matrix &, typename TContainerType::data_type &, const ProcessInfo &)> &  rCalculateElementResidualDerivatives,
const IndexType  EquationOffset,
const IndexType  DerivativeOffset,
const double  Delta,
const double  Tolerance 
)