![]() |
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.
|
#include <mpm_boundary_rotation_utility.h>
Public Member Functions | |
Life Cycle | |
| MPMBoundaryRotationUtility (const unsigned int DomainSize, const unsigned int BlockSize, const Variable< double > &rVariable) | |
| Constructor. More... | |
| ~MPMBoundaryRotationUtility () override | |
| Destructor. More... | |
| MPMBoundaryRotationUtility & | operator= (MPMBoundaryRotationUtility const &rOther) |
| Assignment operator. More... | |
Operations | |
| void | Rotate (TLocalMatrixType &rLocalMatrix, TLocalVectorType &rLocalVector, GeometryType &rGeometry) const override |
| Rotate the local system contributions so that they are oriented with each node's normal. More... | |
| void | RotateRHS (TLocalVectorType &rLocalVector, GeometryType &rGeometry) const |
| RHS only version of Rotate. More... | |
| void | ApplySlipCondition (TLocalMatrixType &rLocalMatrix, TLocalVectorType &rLocalVector, GeometryType &rGeometry) const override |
| Apply roler type boundary conditions to the rotated local contributions. More... | |
| void | ApplySlipCondition (TLocalVectorType &rLocalVector, GeometryType &rGeometry) const override |
| RHS only version of ApplySlipCondition. More... | |
| void | ElementApplySlipCondition (TLocalMatrixType &rLocalMatrix, TLocalVectorType &rLocalVector, GeometryType &rGeometry) const |
| void | ElementApplySlipCondition (TLocalVectorType &rLocalVector, GeometryType &rGeometry) const |
| void | ConditionApplySlipCondition (TLocalMatrixType &rLocalMatrix, TLocalVectorType &rLocalVector, GeometryType &rGeometry) const |
| void | ConditionApplySlipCondition (TLocalVectorType &rLocalVector, GeometryType &rGeometry) const |
| bool | IsPenalty (GeometryType &rGeometry) const |
| virtual void | RotateDisplacements (ModelPart &rModelPart) const |
| Same functionalities as RotateVelocities, just to have a clear function naming. More... | |
| void | RotateVelocities (ModelPart &rModelPart) const override |
| virtual void | RecoverDisplacements (ModelPart &rModelPart) const |
| Same functionalities as RecoverVelocities, just to have a clear function naming. More... | |
| void | RecoverVelocities (ModelPart &rModelPart) const override |
| void | CalculateReactionForces (ModelPart &rModelPart) |
Input and output | |
| std::string | Info () const override |
| Turn back information as a string. More... | |
| void | PrintInfo (std::ostream &rOStream) const override |
| Print information about this object. More... | |
| void | PrintData (std::ostream &rOStream) const override |
| Print object's data. More... | |
Public Member Functions inherited from Kratos::CoordinateTransformationUtils< TLocalMatrixType, TLocalVectorType, double > | |
| 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 (TLocalVectorType &rLocalVector, GeometryType &rGeometry) const |
| RHS only version of Rotate. More... | |
| KRATOS_CLASS_POINTER_DEFINITION (CoordinateTransformationUtils) | |
| Pointer definition of CoordinateTransformationUtils. More... | |
Type Definitions | |
| typedef Node | NodeType |
| typedef Geometry< Node > | GeometryType |
| KRATOS_CLASS_POINTER_DEFINITION (MPMBoundaryRotationUtility) | |
| Pointer definition of MPMBoundaryRotationUtility. More... | |
Additional Inherited Members | |
Public Types inherited from Kratos::CoordinateTransformationUtils< TLocalMatrixType, TLocalVectorType, double > | |
| typedef Node | NodeType |
| typedef Geometry< Node > | GeometryType |
Protected Member Functions inherited from Kratos::CoordinateTransformationUtils< TLocalMatrixType, TLocalVectorType, double > | |
| void | RotateAux (TLocalMatrixType &rLocalMatrix, TLocalVectorType &rLocalVector, GeometryType &rGeometry) const |
| void | RotateAuxPure (TLocalMatrixType &rLocalMatrix, TLocalVectorType &rLocalVector, GeometryType &rGeometry) const |
| void | LocalRotationOperator2D (BoundedMatrix< double, TBlockSize, TBlockSize > &rRot, GeometryType::PointType &rThisPoint) const |
| void | LocalRotationOperator3D (BoundedMatrix< double, TBlockSize, TBlockSize > &rRot, GeometryType::PointType &rThisPoint) const |
| bool | IsSlip (const Node &rNode) const |
| double | Normalize (TVectorType &rThis) const |
| Normalize a vector. More... | |
| unsigned int | GetDomainSize () const |
| unsigned int | GetBlockSize () const |
| typedef Geometry< Node > Kratos::MPMBoundaryRotationUtility< TLocalMatrixType, TLocalVectorType >::GeometryType |
| typedef Node Kratos::MPMBoundaryRotationUtility< TLocalMatrixType, TLocalVectorType >::NodeType |
|
inline |
Constructor.
| DomainSize | Number of space dimensions (2 or 3) |
| NumRowsPerNode | Number of matrix or vector rows associated to each node. Displacement DOFs are assumed to be the first mDomainSize rows in each block of rows. |
| rVariable | Kratos variable used to flag nodes where local system contributions will be rotated. All nodes with rVariable != Zero will be rotated. |
|
inlineoverride |
Destructor.
|
inlineoverridevirtual |
Apply roler type boundary conditions to the rotated local contributions.
This function takes the rotated local system contributions so each node's displacement are expressed using a base oriented with its normal and imposes that the normal displacement is equal to the mesh displacement in the normal direction.
Reimplemented from Kratos::CoordinateTransformationUtils< TLocalMatrixType, TLocalVectorType, double >.
|
inlineoverridevirtual |
RHS only version of ApplySlipCondition.
Reimplemented from Kratos::CoordinateTransformationUtils< TLocalMatrixType, TLocalVectorType, double >.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::CoordinateTransformationUtils< TLocalMatrixType, TLocalVectorType, double >.
|
inline |
| Kratos::MPMBoundaryRotationUtility< TLocalMatrixType, TLocalVectorType >::KRATOS_CLASS_POINTER_DEFINITION | ( | MPMBoundaryRotationUtility< TLocalMatrixType, TLocalVectorType > | ) |
Pointer definition of MPMBoundaryRotationUtility.
|
inline |
Assignment operator.
|
inlineoverridevirtual |
Print object's data.
Reimplemented from Kratos::CoordinateTransformationUtils< TLocalMatrixType, TLocalVectorType, double >.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::CoordinateTransformationUtils< TLocalMatrixType, TLocalVectorType, double >.
|
inlinevirtual |
Same functionalities as RecoverVelocities, just to have a clear function naming.
|
inlineoverridevirtual |
Transform nodal displacement from the rotated system to the original configuration The name is kept to be Recover Velocities, since it is currently a derived class of coordinate_transformation_utilities in the core
Reimplemented from Kratos::CoordinateTransformationUtils< TLocalMatrixType, TLocalVectorType, double >.
|
inlineoverridevirtual |
Rotate the local system contributions so that they are oriented with each node's normal.
| rLocalMatrix | Local system matrix |
| rLocalVector | Local RHS vector |
| rGeometry | A reference to the element's (or condition's) geometry |
Reimplemented from Kratos::CoordinateTransformationUtils< TLocalMatrixType, TLocalVectorType, double >.
|
inlinevirtual |
Same functionalities as RotateVelocities, just to have a clear function naming.
|
inline |
RHS only version of Rotate.
|
inlineoverridevirtual |
Transform nodal displacement to the rotated coordinates (aligned with each node's normal) The name is kept to be Rotate Velocities, since it is currently a derived class of coordinate_transformation_utilities in the core
Reimplemented from Kratos::CoordinateTransformationUtils< TLocalMatrixType, TLocalVectorType, double >.