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.
Functions
Kratos::ConstraintUtilities Namespace Reference

Functions

void ComputeActiveDofs (ModelPart &rModelPart, std::vector< int > &rActiveDofs, const ModelPart::DofsArrayType &rDofSet)
 This method computes the active dofs. More...
 
void DistributedComputeActiveDofs (ModelPart &rModelPart, std::vector< int > &rActiveDofs, const ModelPart::DofsArrayType &rDofSet, const std::size_t InitialDofId)
 This method computes the active dofs. More...
 
void ResetSlaveDofs (ModelPart &rModelPart)
 This method resets the values of the slave dofs. More...
 
void ApplyConstraints (ModelPart &rModelPart)
 This method resets the values of the slave dofs. More...
 
void PreComputeExplicitConstraintConstribution (ModelPart &rModelPart, const std::vector< std::string > &rDofVariableNames, const std::vector< std::string > &rResidualDofVariableNames)
 This method precomputes the contribution of the explicit MPC over nodal residual forces. More...
 
void PreComputeExplicitConstraintMassAndInertia (ModelPart &rModelPart, const std::string &DofDisplacementVariableName="DISPLACEMENT", const std::string &MassVariableName="NODAL_MASS", const std::string &DofRotationVariableName="ROTATION", const std::string &InertiaVariableName="NODAL_INERTIA_TENSOR")
 This method precomputes the contribution of the explicit MPC over nodal masses and inertias. More...
 

Function Documentation

◆ ApplyConstraints()

void Kratos::ConstraintUtilities::ApplyConstraints ( ModelPart rModelPart)

This method resets the values of the slave dofs.

Parameters
rModelPartThe model of the problem to solve

◆ ComputeActiveDofs()

void Kratos::ConstraintUtilities::ComputeActiveDofs ( ModelPart rModelPart,
std::vector< int > &  rActiveDofs,
const ModelPart::DofsArrayType rDofSet 
)

This method computes the active dofs.

Parameters
rModelPartReference to the ModelPart containing the problem
rActiveDofsVector containing the active dofs
rDofSetThe whole set of dofs

◆ DistributedComputeActiveDofs()

void Kratos::ConstraintUtilities::DistributedComputeActiveDofs ( ModelPart rModelPart,
std::vector< int > &  rActiveDofs,
const ModelPart::DofsArrayType rDofSet,
const std::size_t  InitialDofId 
)

This method computes the active dofs.

Parameters
rModelPartReference to the ModelPart containing the problem
rActiveDofsVector containing the active dofs
rDofSetThe whole set of dofs

◆ PreComputeExplicitConstraintConstribution()

void Kratos::ConstraintUtilities::PreComputeExplicitConstraintConstribution ( ModelPart rModelPart,
const std::vector< std::string > &  rDofVariableNames,
const std::vector< std::string > &  rResidualDofVariableNames 
)

This method precomputes the contribution of the explicit MPC over nodal residual forces.

Parameters
rModelPartThe model of the problem to solve
rDofVariableNamesThe name of the Dof variables to check
rResidualDofVariableNamesThe name name of the corresponding residual variables

◆ PreComputeExplicitConstraintMassAndInertia()

void Kratos::ConstraintUtilities::PreComputeExplicitConstraintMassAndInertia ( ModelPart rModelPart,
const std::string &  DofDisplacementVariableName = "DISPLACEMENT",
const std::string &  MassVariableName = "NODAL_MASS",
const std::string &  DofRotationVariableName = "ROTATION",
const std::string &  InertiaVariableName = "NODAL_INERTIA_TENSOR" 
)

This method precomputes the contribution of the explicit MPC over nodal masses and inertias.

Todo:
The inertia must be computed using the Steiner theorem https://en.wikipedia.org/wiki/Parallel_axis_theorem
Parameters
rModelPartThe model of the problem to solve
DofDisplacementVariableNameThe name of the Dof variables to check
MassVariableNameThe name of the variable of the nodal mass
DofRotationVariableNameThe name of the rotational variable name
InertiaVariableNameThe inertia variable to be considered

◆ ResetSlaveDofs()

void Kratos::ConstraintUtilities::ResetSlaveDofs ( ModelPart rModelPart)

This method resets the values of the slave dofs.

Parameters
rModelPartThe model of the problem to solve