![]() |
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.
|
Tools to apply slip conditions @detail A utility to rotate the local contributions of certain nodes to the system matrix, which is required to apply slip conditions in arbitrary directions. More...
#include <flow_rate_slip_utility.h>
Public Member Functions | |
Life Cycle | |
FlowRateSlipUtility () | |
Default constructor. More... | |
virtual | ~FlowRateSlipUtility () |
Destructor. More... | |
Operations | |
virtual void | ApplySlipCondition (TLocalMatrixType &rLocalMatrix, TLocalVectorType &rLocalVector, GeometryType &rGeometry) const override |
Apply slip boundary conditions to the rotated local contributions. @detail This function takes the local system contributions rotated so each node's velocities are expressed using a base oriented with its normal and imposes that the normal velocity is equal to the mesh velocity in the normal direction. More... | |
virtual void | ApplySlipCondition (TLocalVectorType &rLocalVector, GeometryType &rGeometry) const override |
RHS only version of ApplySlipCondition. More... | |
virtual void | RotateVelocities (ModelPart &rModelPart) const override |
Transform nodal velocities to the rotated coordinates (aligned with each node's normal) More... | |
virtual void | RecoverVelocities (ModelPart &rModelPart) const override |
Input and output | |
virtual std::string | Info () const override |
virtual void | PrintInfo (std::ostream &rOStream) const override |
![]() | |
CoordinateTransformationUtils (const unsigned int DomainSize, const unsigned int NumRowsPerNode, const Kratos::Flags &rSelectionFlag=SLIP) | |
Constructor. More... | |
virtual | ~CoordinateTransformationUtils () |
Destructor. More... | |
virtual void | CalculateRotationOperatorPure (TLocalMatrixType &rRotationMatrix, const GeometryType::PointType &rThisPoint) const |
Calculates rotation operator for given point. More... | |
void | LocalRotationOperatorPure (BoundedMatrix< double, 3, 3 > &rRot, const GeometryType::PointType &rThisPoint) const |
void | LocalRotationOperatorPure (BoundedMatrix< double, 2, 2 > &rRot, const GeometryType::PointType &rThisPoint) const |
virtual void | CalculateRotationOperatorPureShapeSensitivities (TLocalMatrixType &rRotationMatrixShapeDerivative, const std::size_t DerivativeNodeIndex, const std::size_t DerivativeDirectionIndex, const GeometryType::PointType &rThisPoint) const |
Calculates rotation nodal matrix shape sensitivities. More... | |
virtual void | CalculateRotationOperatorPureShapeSensitivities (BoundedMatrix< double, 2, 2 > &rOutput, const std::size_t DerivativeNodeIndex, const std::size_t DerivativeDirectionIndex, const GeometryType::PointType &rThisPoint) const |
Calculate 2d rotation nodal matrix shape sensitivities. More... | |
virtual void | CalculateRotationOperatorPureShapeSensitivities (BoundedMatrix< double, 3, 3 > &rOutput, const std::size_t DerivativeNodeIndex, const std::size_t DerivativeDirectionIndex, const GeometryType::PointType &rThisPoint) const |
Calculate 3d rotation nodal matrix shape sensitivities. More... | |
virtual void | Rotate (TLocalMatrixType &rLocalMatrix, TLocalVectorType &rLocalVector, GeometryType &rGeometry) const |
Rotate the local system contributions so that they are oriented with each node's normal. More... | |
virtual void | Rotate (TLocalVectorType &rLocalVector, GeometryType &rGeometry) const |
RHS only version of Rotate. More... | |
virtual void | PrintData (std::ostream &rOStream) const |
Print object's data. More... | |
KRATOS_CLASS_POINTER_DEFINITION (CoordinateTransformationUtils) | |
Pointer definition of CoordinateTransformationUtils. More... | |
Type Definitions | |
typedef CoordinateTransformationUtils< TLocalMatrixType, TLocalVectorType, TValueType > | BaseType |
typedef std::size_t | SizeType |
typedef Node | NodeType |
typedef Geometry< NodeType > | GeometryType |
KRATOS_CLASS_POINTER_DEFINITION (FlowRateSlipUtility) | |
Pointer definition of FlowRateSlipUtility. More... | |
Additional Inherited Members | |
![]() | |
typedef Node | NodeType |
typedef Geometry< Node > | GeometryType |
![]() | |
template<unsigned int TDim, unsigned int TBlockSize, unsigned int TSkip = 0> | |
void | RotateAux (TLocalMatrixType &rLocalMatrix, TLocalVectorType &rLocalVector, GeometryType &rGeometry) const |
template<unsigned int TDim> | |
void | RotateAuxPure (TLocalMatrixType &rLocalMatrix, TLocalVectorType &rLocalVector, GeometryType &rGeometry) const |
template<unsigned int TBlockSize, unsigned int TSkip = 0> | |
void | LocalRotationOperator2D (BoundedMatrix< double, TBlockSize, TBlockSize > &rRot, GeometryType::PointType &rThisPoint) const |
template<unsigned int TBlockSize, unsigned int TSkip = 0> | |
void | LocalRotationOperator3D (BoundedMatrix< double, TBlockSize, TBlockSize > &rRot, GeometryType::PointType &rThisPoint) const |
bool | IsSlip (const Node &rNode) const |
template<class TVectorType > | |
double | Normalize (TVectorType &rThis) const |
Normalize a vector. More... | |
unsigned int | GetDomainSize () const |
unsigned int | GetBlockSize () const |
Tools to apply slip conditions @detail A utility to rotate the local contributions of certain nodes to the system matrix, which is required to apply slip conditions in arbitrary directions.
typedef CoordinateTransformationUtils<TLocalMatrixType,TLocalVectorType,TValueType> Kratos::FlowRateSlipUtility< TLocalMatrixType, TLocalVectorType, TValueType >::BaseType |
typedef Geometry<NodeType> Kratos::FlowRateSlipUtility< TLocalMatrixType, TLocalVectorType, TValueType >::GeometryType |
typedef Node Kratos::FlowRateSlipUtility< TLocalMatrixType, TLocalVectorType, TValueType >::NodeType |
typedef std::size_t Kratos::FlowRateSlipUtility< TLocalMatrixType, TLocalVectorType, TValueType >::SizeType |
|
inline |
Default constructor.
|
inlinevirtual |
Destructor.
|
inlineoverridevirtual |
Apply slip boundary conditions to the rotated local contributions. @detail This function takes the local system contributions rotated so each node's velocities are expressed using a base oriented with its normal and imposes that the normal velocity is equal to the mesh velocity in the normal direction.
rLocalMatrix | A reference to the LHS local matrix |
rLocalVector | A reference to the RHS local vector |
rGeometry | A reference to the geometry of the element or condition |
Reimplemented from Kratos::CoordinateTransformationUtils< TLocalMatrixType, TLocalVectorType, TValueType >.
|
inlineoverridevirtual |
RHS only version of ApplySlipCondition.
rLocalVector | A reference to the RHS local vector |
rGeometry | A reference to the geometry of the element or condition |
Reimplemented from Kratos::CoordinateTransformationUtils< TLocalMatrixType, TLocalVectorType, TValueType >.
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::CoordinateTransformationUtils< TLocalMatrixType, TLocalVectorType, TValueType >.
Kratos::FlowRateSlipUtility< TLocalMatrixType, TLocalVectorType, TValueType >::KRATOS_CLASS_POINTER_DEFINITION | ( | FlowRateSlipUtility< TLocalMatrixType, TLocalVectorType, TValueType > | ) |
Pointer definition of FlowRateSlipUtility.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::CoordinateTransformationUtils< TLocalMatrixType, TLocalVectorType, TValueType >.
|
inlineoverridevirtual |
Transform nodal velocities from the rotated system to the original one
rModelPart | A reference to the model part |
Reimplemented from Kratos::CoordinateTransformationUtils< TLocalMatrixType, TLocalVectorType, TValueType >.
|
inlineoverridevirtual |
Transform nodal velocities to the rotated coordinates (aligned with each node's normal)
rModelPart | A reference to the model part |
Reimplemented from Kratos::CoordinateTransformationUtils< TLocalMatrixType, TLocalVectorType, TValueType >.