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.
|
This class includes some utilities used for contact computations. More...
#include <contact_utilities.h>
Public Member Functions | |
Life Cycle | |
ContactUtilities ()=default | |
Constructor. More... | |
virtual | ~ContactUtilities ()=default |
Destructor. More... | |
Static Public Member Functions | |
Operations | |
static double | CalculateRelativeSizeMesh (ModelPart &rModelPart) |
This function computes the relative size of the mesh. More... | |
static double | CalculateMaxNodalH (ModelPart &rModelPart) |
This method computes the maximal nodal H. More... | |
static double | CalculateMeanNodalH (ModelPart &rModelPart) |
This method computes the mean nodal H. More... | |
static double | CalculateMinimalNodalH (ModelPart &rModelPart) |
This method computes the minimal nodal H. More... | |
template<class TPointType > | |
static void | ScaleNode (TPointType &rPointToScale, const array_1d< double, 3 > &rNormal, const double LengthSearch) |
This function scales the points according to a factor (to increase the bounding box) More... | |
static double | DistancePoints (const GeometryType::CoordinatesArrayType &rPointOrigin, const GeometryType::CoordinatesArrayType &rPointDestiny) |
Calculates the distance between nodes. More... | |
static void | ComputeStepJump (ModelPart &rModelPart, const double DeltaTime, const bool HalfJump=true) |
It calculates the center updated in u_n+1 or u_n+1/2. More... | |
static bool | CheckActivity (ModelPart &rModelPart, const bool ThrowError=true) |
It checks the activity of the current contact simulation. More... | |
static bool | CheckModelPartHasRotationDoF (ModelPart &rModelPart) |
This method checks that the modelpart has a rotation DoF. More... | |
static void | CleanContactModelParts (ModelPart &rModelPart) |
This method removes the model parts with computing conditions. More... | |
static void | ComputeExplicitContributionConditions (ModelPart &rModelPart) |
It computes the explicit contributions of the conditions. More... | |
static void | ActivateConditionWithActiveNodes (ModelPart &rModelPart) |
It activates the conditions with active nodes. More... | |
static array_1d< double, 3 > | GetHalfJumpCenter (GeometryType &rThisGeometry) |
It calculates the center updated in u_n+1/2. More... | |
template<std::size_t TDim, std::size_t TNumNodes> | |
static BoundedMatrix< double, TNumNodes, TDim > | ComputeTangentMatrixSlip (const GeometryType &rGeometry, const std::size_t StepSlip=1) |
It calculates the matrix containing the tangent vector of the r_gt (for frictional contact) More... | |
Type Definitions | |
using | CoordinatesArrayType = Point::CoordinatesArrayType |
using | GeometryType = Geometry< Node > |
Definition of geometries. More... | |
using | NodesArrayType = ModelPart::NodesContainerType |
The containers of the components of the model parts. More... | |
using | ConditionsArrayType = ModelPart::ConditionsContainerType |
using | IndexType = std::size_t |
Index type definition. More... | |
using | SizeType = std::size_t |
Size type definition. More... | |
KRATOS_CLASS_POINTER_DEFINITION (ContactUtilities) | |
Pointer definition of ExactMortarIntegrationUtility. More... | |
This class includes some utilities used for contact computations.
Definition of geometries.
using Kratos::ContactUtilities::IndexType = std::size_t |
Index type definition.
The containers of the components of the model parts.
using Kratos::ContactUtilities::SizeType = std::size_t |
Size type definition.
|
default |
Constructor.
This is the default constructor
|
virtualdefault |
Destructor.
|
static |
It activates the conditions with active nodes.
rModelPart | The modelpart to check |
This method computes the maximal nodal H.
rModelPart | The modelpart to compute |
This method computes the mean nodal H.
rModelPart | The modelpart to compute |
This method computes the minimal nodal H.
rModelPart | The modelpart to compute |
This function computes the relative size of the mesh.
rModelPart | The modelpart to compute |
|
static |
It checks the activity of the current contact simulation.
rModelPart | The modelpart to check the activity |
ThrowError | If an error is thrown |
This method checks that the modelpart has a rotation DoF.
Used in the convergence criteria
rModelPart | The modelpart to clean up |
|
static |
This method removes the model parts with computing conditions.
So for example we can remove potential errors in remeshing processes
rModelPart | The modelpart to clean up |
|
static |
It computes the explicit contributions of the conditions.
rModelPart | The modelpart to update |
|
static |
It calculates the center updated in u_n+1 or u_n+1/2.
rModelPart | The modelpart to update |
DeltaTime | The increment of time considered |
HalfJump | If the jumpt is just half dt |
|
inlinestatic |
It calculates the matrix containing the tangent vector of the r_gt (for frictional contact)
rGeometry | The geometry to calculate |
StepSlip | The considered step slip |
|
static |
Calculates the distance between nodes.
rPointOrigin | The first node |
rPointDestiny | The second node |
|
static |
It calculates the center updated in u_n+1/2.
rThisGeometry | The geometry to calculate |
Kratos::ContactUtilities::KRATOS_CLASS_POINTER_DEFINITION | ( | ContactUtilities | ) |
Pointer definition of ExactMortarIntegrationUtility.
|
inlinestatic |
This function scales the points according to a factor (to increase the bounding box)
rPointToScale | The point to scale |
rNormal | The normal of the point |
LengthSearch | The factor considered to "grow" the node |