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::FluidAdjointSlipUtilities Class Reference

#include <fluid_adjoint_slip_utilities.h>

Collaboration diagram for Kratos::FluidAdjointSlipUtilities:

Public Types

Type Definitions
using NodeType = Node
 
using IndexType = std::size_t
 
using GeometryType = Geometry< NodeType >
 
using CoordinateTransformationUtilities = CoordinateTransformationUtils< Matrix, Vector, double >
 

Public Member Functions

Life Cycle
 FluidAdjointSlipUtilities (const IndexType Dimension, const IndexType BlockSize)
 
Operations
void CalculateRotatedSlipConditionAppliedSlipVariableDerivatives (Matrix &rOutput, const Matrix &rResidualDerivatives, const GeometryType &rGeometry) const
 Calculates rotated slip applied state derivatives. More...
 
void CalculateRotatedSlipConditionAppliedNonSlipVariableDerivatives (Matrix &rOutput, const Matrix &rResidualDerivatives, const GeometryType &rGeometry) const
 Calculates rotated slip applied state derivatives. More...
 
void AddNodalRotationDerivatives (Matrix &rOutput, const Matrix &rResidualDerivatives, const IndexType NodeStartIndex, const NodeType &rNode) const
 Rotates residual derivatives. More...
 
void AddNodalApplySlipConditionDerivatives (Matrix &rOutput, const IndexType NodeStartIndex, const NodeType &rNode) const
 Slip condition residual derivatives. More...
 
void AddNodalResidualDerivatives (Matrix &rOutput, const Matrix &rResidualDerivatives, const IndexType NodeStartIndex) const
 Adds the nodal state derivatives as it is. More...
 
void ClearNodalResidualDerivatives (Matrix &rOutput, const IndexType ResidualIndex) const
 Clears a residual derivative. More...
 

Member Typedef Documentation

◆ CoordinateTransformationUtilities

◆ GeometryType

◆ IndexType

◆ NodeType

Constructor & Destructor Documentation

◆ FluidAdjointSlipUtilities()

Kratos::FluidAdjointSlipUtilities::FluidAdjointSlipUtilities ( const IndexType  Dimension,
const IndexType  BlockSize 
)

Member Function Documentation

◆ AddNodalApplySlipConditionDerivatives()

void Kratos::FluidAdjointSlipUtilities::AddNodalApplySlipConditionDerivatives ( Matrix rOutput,
const IndexType  NodeStartIndex,
const NodeType rNode 
) const

Slip condition residual derivatives.

This method is used to apply slip condition state derivatives to part of the non-rotated residual derivatives which corresponds to a given node.

Parameters
rOutputNodal slip condition applied state derivatives
NodeStartIndexBlock starting column for that specific node
rNodeNode which has rotated residual derivative contributions

◆ AddNodalResidualDerivatives()

void Kratos::FluidAdjointSlipUtilities::AddNodalResidualDerivatives ( Matrix rOutput,
const Matrix rResidualDerivatives,
const IndexType  NodeStartIndex 
) const

Adds the nodal state derivatives as it is.

This method is used to apply slip condition state derivatives to part of the non-rotated residual derivatives which corresponds to a given node.

Parameters
rOutputOutput state derivatives
rResidualDerivativesNon-rotated state derivatives
NodeStartIndexBlock starting column for that specific node

◆ AddNodalRotationDerivatives()

void Kratos::FluidAdjointSlipUtilities::AddNodalRotationDerivatives ( Matrix rOutput,
const Matrix rResidualDerivatives,
const IndexType  NodeStartIndex,
const NodeType rNode 
) const
inline

Rotates residual derivatives.

This method is used to rotate part of the non-rotated residual derivatives which corresponds to a given node.

Parameters
rOutputNodal rotated state derivatives
rResidualDerivativesNon-rotated state derivatives
NodeStartIndexBlock starting column for that specific node
rNodeNode which has rotated residual derivative contributions

◆ CalculateRotatedSlipConditionAppliedNonSlipVariableDerivatives()

void Kratos::FluidAdjointSlipUtilities::CalculateRotatedSlipConditionAppliedNonSlipVariableDerivatives ( Matrix rOutput,
const Matrix rResidualDerivatives,
const GeometryType rGeometry 
) const

Calculates rotated slip applied state derivatives.

This method calculates rotated slip applied state derivatives when non-rotated residual derivatives are given. Nodal rotations are determined by SLIP flag. If SLIP flag is true, then it is assumed to be rotated as well as slip condition applied.

This method assumes first dofs to be VELOCITY, and derivatives not starting with w.r.t. VELOCITY because SLIP is based on the VELOCITY variable.

Parameters
rOutputRotated and slip applied state derivatives
rResidualDerivativesNon-rotated and non-slip applied state derivatives
rGeometryGeometry of which rResidualDerivatives are computed on

◆ CalculateRotatedSlipConditionAppliedSlipVariableDerivatives()

void Kratos::FluidAdjointSlipUtilities::CalculateRotatedSlipConditionAppliedSlipVariableDerivatives ( Matrix rOutput,
const Matrix rResidualDerivatives,
const GeometryType rGeometry 
) const

Calculates rotated slip applied state derivatives.

This method calculates rotated slip applied state derivatives when non-rotated residual derivatives are given. Nodal rotations are determined by SLIP flag. If SLIP flag is true, then it is assumed to be rotated as well as slip condition applied.

This method assumes first dofs to be VELOCITY, and derivatives starting with w.r.t. VELOCITY

Parameters
rOutputRotated and slip applied state derivatives
rResidualDerivativesNon-rotated and non-slip applied state derivatives
rGeometryGeometry of which rResidualDerivatives are computed on

◆ ClearNodalResidualDerivatives()

void Kratos::FluidAdjointSlipUtilities::ClearNodalResidualDerivatives ( Matrix rOutput,
const IndexType  ResidualIndex 
) const

Clears a residual derivative.

Parameters
rOutputOutput matrix
ResidualIndexResidual index which needs to be set to zero.

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