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::QSVMSAdjointElementData< TDim, TNumNodes > Class Template Reference

Traits class to hold QSVMS adjoint element data. More...

#include <qs_vms_adjoint_element_data.h>

Collaboration diagram for Kratos::QSVMSAdjointElementData< TDim, TNumNodes >:

Public Types

Template Type Definitions
using EquationAuxiliaries = TResidualsDerivatives
 This holds static helper functions such as Check and GetIntegrationMethod for the equations. More...
 
using Residual = CalculationContainerTraits< std::tuple< Data >, std::tuple< SubAssembly< ResidualsContributions, ElementDataContainerIndex, 0, ResidualColumnOffset > > >
 This holds the container traits for primal residual computation which is required for analytical sensitivity computation. More...
 
using ResidualStateVariableFirstDerivatives = std::conditional_t< TDim==2, CalculationContainerTraits< std::tuple< Data >, std::tuple< SubAssembly< VelocityDerivativeContributions< 0 >, ElementDataContainerIndex, 0, ResidualColumnOffset >, SubAssembly< VelocityDerivativeContributions< 1 >, ElementDataContainerIndex, 1, ResidualColumnOffset >, SubAssembly< PressureDerivativeContributions, ElementDataContainerIndex, 2, ResidualColumnOffset > > >, CalculationContainerTraits< std::tuple< Data >, std::tuple< SubAssembly< VelocityDerivativeContributions< 0 >, ElementDataContainerIndex, 0, ResidualColumnOffset >, SubAssembly< VelocityDerivativeContributions< 1 >, ElementDataContainerIndex, 1, ResidualColumnOffset >, SubAssembly< VelocityDerivativeContributions< 2 >, ElementDataContainerIndex, 2, ResidualColumnOffset >, SubAssembly< PressureDerivativeContributions, ElementDataContainerIndex, 3, ResidualColumnOffset > > > >
 This holds the container traits for analytical first derivative computations. More...
 
using ResidualStateVariableSecondDerivatives = std::conditional_t< TDim==2, CalculationContainerTraits< std::tuple< Data >, std::tuple< SubAssembly< AccelerationDerivativeContributions< 0 >, ElementDataContainerIndex, 0, ResidualColumnOffset >, SubAssembly< AccelerationDerivativeContributions< 1 >, ElementDataContainerIndex, 1, ResidualColumnOffset >, SubAssembly< ZeroDerivatives< TNumNodes, 3 >, ElementDataContainerIndex, 2, ResidualColumnOffset > > >, CalculationContainerTraits< std::tuple< Data >, std::tuple< SubAssembly< AccelerationDerivativeContributions< 0 >, ElementDataContainerIndex, 0, ResidualColumnOffset >, SubAssembly< AccelerationDerivativeContributions< 1 >, ElementDataContainerIndex, 1, ResidualColumnOffset >, SubAssembly< AccelerationDerivativeContributions< 2 >, ElementDataContainerIndex, 2, ResidualColumnOffset >, SubAssembly< ZeroDerivatives< TNumNodes, 4 >, ElementDataContainerIndex, 3, ResidualColumnOffset > > > >
 This holds the traits for the analytical second derivative computations. More...
 
using ResidualShapeDerivatives = std::conditional_t< TDim==2, CalculationContainerTraits< std::tuple< Data >, std::tuple< SubAssembly< ShapeDerivatives< 0 >, ElementDataContainerIndex, 0, ResidualColumnOffset >, SubAssembly< ShapeDerivatives< 1 >, ElementDataContainerIndex, 1, ResidualColumnOffset > > >, CalculationContainerTraits< std::tuple< Data >, std::tuple< SubAssembly< ShapeDerivatives< 0 >, ElementDataContainerIndex, 0, ResidualColumnOffset >, SubAssembly< ShapeDerivatives< 1 >, ElementDataContainerIndex, 1, ResidualColumnOffset >, SubAssembly< ShapeDerivatives< 2 >, ElementDataContainerIndex, 2, ResidualColumnOffset > > > >
 This holds the traits for the analytical shape derivative computations. More...
 

Detailed Description

template<unsigned int TDim, unsigned int TNumNodes>
class Kratos::QSVMSAdjointElementData< TDim, TNumNodes >

Traits class to hold QSVMS adjoint element data.

This class provides following type information about element data EquationAuxiliaries: Needs to provide following auxiliary static methods static void Check(Element&, const ProcessInfo&) method -> Checks whether required data is there static GeometryData::IntegrationMethod GetIntegrationMethod() -> Provides the integration method

Residual: Provides CalculationContainerTraits with the data containers and calculation containers to compute the residuals.

ResidualStateVariableFirstDerivatives: Provides CalculationContainerTraits with data containers and calculation containers to compute the residual state first derivatives.

ResidualStateVariableSecondDerivatives: Provides CalculationContainerTraits with data containers and calculation containers to compute the residual state second derivatives.

ResidualShapeDerivatives: Provides CalculationContainerTraits with data containers and calculation containers to compute the residual shape derivatives.

Template Parameters
TDimDimensionality of the element.
TNumNodesNumber of nodes in the element.

Member Typedef Documentation

◆ EquationAuxiliaries

template<unsigned int TDim, unsigned int TNumNodes>
using Kratos::QSVMSAdjointElementData< TDim, TNumNodes >::EquationAuxiliaries = TResidualsDerivatives

This holds static helper functions such as Check and GetIntegrationMethod for the equations.

◆ Residual

template<unsigned int TDim, unsigned int TNumNodes>
using Kratos::QSVMSAdjointElementData< TDim, TNumNodes >::Residual = CalculationContainerTraits< std::tuple< Data>, std::tuple< SubAssembly<ResidualsContributions, ElementDataContainerIndex, 0, ResidualColumnOffset> > >

This holds the container traits for primal residual computation which is required for analytical sensitivity computation.

◆ ResidualShapeDerivatives

template<unsigned int TDim, unsigned int TNumNodes>
using Kratos::QSVMSAdjointElementData< TDim, TNumNodes >::ResidualShapeDerivatives = std::conditional_t< TDim == 2, CalculationContainerTraits< std::tuple< Data>, std::tuple< SubAssembly<ShapeDerivatives<0>, ElementDataContainerIndex, 0, ResidualColumnOffset>, SubAssembly<ShapeDerivatives<1>, ElementDataContainerIndex, 1, ResidualColumnOffset> > >, CalculationContainerTraits< std::tuple< Data>, std::tuple< SubAssembly<ShapeDerivatives<0>, ElementDataContainerIndex, 0, ResidualColumnOffset>, SubAssembly<ShapeDerivatives<1>, ElementDataContainerIndex, 1, ResidualColumnOffset>, SubAssembly<ShapeDerivatives<2>, ElementDataContainerIndex, 2, ResidualColumnOffset> > > >

This holds the traits for the analytical shape derivative computations.

◆ ResidualStateVariableFirstDerivatives

template<unsigned int TDim, unsigned int TNumNodes>
using Kratos::QSVMSAdjointElementData< TDim, TNumNodes >::ResidualStateVariableFirstDerivatives = std::conditional_t< TDim == 2, CalculationContainerTraits< std::tuple< Data>, std::tuple< SubAssembly<VelocityDerivativeContributions<0>, ElementDataContainerIndex, 0, ResidualColumnOffset>, SubAssembly<VelocityDerivativeContributions<1>, ElementDataContainerIndex, 1, ResidualColumnOffset>, SubAssembly<PressureDerivativeContributions, ElementDataContainerIndex, 2, ResidualColumnOffset> > >, CalculationContainerTraits< std::tuple< Data>, std::tuple< SubAssembly<VelocityDerivativeContributions<0>, ElementDataContainerIndex, 0, ResidualColumnOffset>, SubAssembly<VelocityDerivativeContributions<1>, ElementDataContainerIndex, 1, ResidualColumnOffset>, SubAssembly<VelocityDerivativeContributions<2>, ElementDataContainerIndex, 2, ResidualColumnOffset>, SubAssembly<PressureDerivativeContributions, ElementDataContainerIndex, 3, ResidualColumnOffset> > > >

This holds the container traits for analytical first derivative computations.

◆ ResidualStateVariableSecondDerivatives

template<unsigned int TDim, unsigned int TNumNodes>
using Kratos::QSVMSAdjointElementData< TDim, TNumNodes >::ResidualStateVariableSecondDerivatives = std::conditional_t< TDim == 2, CalculationContainerTraits< std::tuple< Data>, std::tuple< SubAssembly<AccelerationDerivativeContributions<0>, ElementDataContainerIndex, 0, ResidualColumnOffset>, SubAssembly<AccelerationDerivativeContributions<1>, ElementDataContainerIndex, 1, ResidualColumnOffset>, SubAssembly<ZeroDerivatives<TNumNodes, 3>, ElementDataContainerIndex, 2, ResidualColumnOffset> > >, CalculationContainerTraits< std::tuple< Data>, std::tuple< SubAssembly<AccelerationDerivativeContributions<0>, ElementDataContainerIndex, 0, ResidualColumnOffset>, SubAssembly<AccelerationDerivativeContributions<1>, ElementDataContainerIndex, 1, ResidualColumnOffset>, SubAssembly<AccelerationDerivativeContributions<2>, ElementDataContainerIndex, 2, ResidualColumnOffset>, SubAssembly<ZeroDerivatives<TNumNodes, 4>, ElementDataContainerIndex, 3, ResidualColumnOffset> > > >

This holds the traits for the analytical second derivative computations.


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