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

Assing Master-Slave Constraints to Neighbouring Nodes. More...

#include <assign_master_slave_constraints_to_neighbours_utility.h>

Collaboration diagram for Kratos::AssignMasterSlaveConstraintsToNeighboursUtility:

Public Member Functions

Life Cycle
 AssignMasterSlaveConstraintsToNeighboursUtility (NodesContainerType &rMasterStructureNodes)
 Constructor taking a NodesContainerType parameter. More...
 
virtual ~AssignMasterSlaveConstraintsToNeighboursUtility ()
 
Operations
void SearchNodesInRadiusForNode (NodeType::Pointer pSlaveNode, double const Radius, ResultNodesContainerType &rCloudOfNodes, ResultNodesContainerType &rLocalResults)
 Perform Node Search. More...
 
void GetDofsAndCoordinatesForSlaveNode (NodeType::Pointer pSlaveNode, const std::vector< std::reference_wrapper< const Kratos::Variable< double >>> &rVariableList, std::vector< DofPointerVectorType > &rSlaveDofs, array_1d< double, 3 > &rSlaveCoordinates)
 Collect Dofs and Coordinates. More...
 
void GetDofsAndCoordinatesForCloudOfNodes (const ResultNodesContainerType &CloudOfNodesArray, const std::vector< std::reference_wrapper< const Kratos::Variable< double >>> &rVariableList, std::vector< DofPointerVectorType > &rCloudOfDofs, Matrix &rCloudOfNodesCoordinates)
 Get Dofs and Coordinates arrays for a given variable list. (For nodes) More...
 
void AssignMasterSlaveConstraintsToNodes (NodesContainerType pSlaveNodes, double const Radius, ModelPart &rComputingModelPart, const std::vector< std::reference_wrapper< const Kratos::Variable< double >>> &rVariableList, double const MinNumOfNeighNodes)
 Assign Master-Slave Constraints to a set of Nodes. More...
 
Input and output
virtual std::string Info () const
 Turn back information as a string. More...
 
virtual void PrintInfo (std::ostream &rOStream) const
 Print information about this object. More...
 
virtual void PrintData (std::ostream &rOStream) const
 Print object's data. More...
 

Type Definitions

using NodeType = ModelPart::NodeType
 
using DofType = NodeType::DofType
 
using NodesContainerType = ModelPart::NodesContainerType
 
using NodeBinsType = BinsDynamic< 3, NodeType, NodesContainerType::ContainerType >
 
using ConstraintContainerType = ModelPart::MasterSlaveConstraintContainerType
 General containers type definitions. More...
 
using ResultNodesContainerType = NodesContainerType::ContainerType
 
using VectorResultNodesContainerType = std::vector< ResultNodesContainerType >
 
using RadiusArrayType = std::vector< double >
 
using DofPointerVectorType = std::vector< Dof< double >::Pointer >
 
 KRATOS_CLASS_POINTER_DEFINITION (AssignMasterSlaveConstraintsToNeighboursUtility)
 Pointer definition of AssignMasterSlaveConstraintsToNeighboursUtility. More...
 

Detailed Description

Assing Master-Slave Constraints to Neighbouring Nodes.

Utility for assigning Master-Slave Constraints to neighbouring nodes.

This class provides a method to search for neighbouring nodes of one node within a given radius and assign a master-slave constraint using radial basis functions.

Author
Sebastian Ares de Parga Regalado

This utility provides a method to search for neighbouring nodes of a given node within a specified radius and assign a master-slave constraint using radial basis functions.

Note
This class is used in multi-physics simulations where constraints are required between nodes within a certain proximity.
The implementation uses spatial search and radial basis functions for efficient searching and constraint assignment.
This utility is intended to be used in conjunction with the Kratos ModelPart and related classes.
The utility is thread-safe and supports parallel execution.
The utility is initialized with a set of master nodes and can assign constraints to slave nodes within their neighbourhood.
Author
Sebastian Ares de Parga Regalado

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