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.
Public Types | Public Member Functions | List of all members
Kratos::CableNetMpcProcess Class Reference

#include <old_cable_net_mpc_process.h>

Inheritance diagram for Kratos::CableNetMpcProcess:
Collaboration diagram for Kratos::CableNetMpcProcess:

Public Types

typedef Node NodeType
 
typedef Node ::Pointer NodeTypePointer
 
typedef std::vector< NodeTypePointer > NodeVector
 
typedef ModelPart::NodesContainerType NodesArrayType
 
typedef std::vector< NodeTypePointer >::iterator NodeIterator
 
typedef std::vector< double > DoubleVector
 
typedef DoubleVector::iterator DoubleVectorIterator
 
typedef std::size_t SizeType
 
typedef Element::GeometryType GeometryType
 
typedef Element::VectorType VectorType
 
typedef ModelPart::ElementsContainerType ElementsArrayType
 
typedef Bucket< 3, NodeType, NodeVector, NodeTypePointer, NodeIterator, DoubleVectorIterator > BucketType
 
typedef Tree< KDTreePartition< BucketType > > KDTree
 

Public Member Functions

 KRATOS_CLASS_POINTER_DEFINITION (CableNetMpcProcess)
 Pointer definition of ApplyMultipointConstraintsProcess. More...
 
 CableNetMpcProcess (ModelPart &model_part, Parameters rParameters)
 Constructor. More...
 
void CoupleModelParts ()
 This function finds neighbor nodes for each slave node and couples the nodes this is the main function of this process. More...
 
void CoupleSlaveToNeighborMasterNodes (const NodeType &rCurrentSlaveNode, const NodeVector &rNeighborNodes, const DoubleVector &rNodalNeighborWeights, const SizeType &rNumberOfNeighbors)
 This function couples nodes by calling the parent class functions. More...
 
void CreateListOfNodesOfMasterSubModelPart (NodeVector &MasterNodeList)
 This function creates a NodeVector of the master nodes to be used for the Kd tree. More...
 
void CalculateNodalWeights (const DoubleVector &rResultingSquaredDistances, DoubleVector &rNodalNeighborWeights, const SizeType &rNumberOfNeighbors)
 This function re-calculates the weights used in mpc. More...
 
void ExecuteInitializeSolutionStep () override
 
void CreateSpringElements (ModelPart &rMasterModelPart, ModelPart &rSlaveModelPart)
 
void ComputeWeightForAllNeighbors (ModelPart::NodeType &design_node, NodeVector &neighbor_nodes, SizeType number_of_neighbors, DoubleVector &list_of_weights)
 
double CalculateCurrentLength (ModelPart::NodeType &rNodeI, ModelPart::NodeType &rNodeJ)
 
void SetmIsInitialized (const bool &check)
 
bool GetmIsInitialized () const
 

Member Typedef Documentation

◆ BucketType

◆ DoubleVector

◆ DoubleVectorIterator

typedef DoubleVector::iterator Kratos::CableNetMpcProcess::DoubleVectorIterator

◆ ElementsArrayType

◆ GeometryType

◆ KDTree

◆ NodeIterator

◆ NodesArrayType

◆ NodeType

◆ NodeTypePointer

◆ NodeVector

◆ SizeType

◆ VectorType

Constructor & Destructor Documentation

◆ CableNetMpcProcess()

Kratos::CableNetMpcProcess::CableNetMpcProcess ( ModelPart &  model_part,
Parameters  rParameters 
)
inline

Constructor.

Member Function Documentation

◆ CalculateCurrentLength()

double Kratos::CableNetMpcProcess::CalculateCurrentLength ( ModelPart::NodeType &  rNodeI,
ModelPart::NodeType &  rNodeJ 
)
inline

◆ CalculateNodalWeights()

void Kratos::CableNetMpcProcess::CalculateNodalWeights ( const DoubleVector &  rResultingSquaredDistances,
DoubleVector &  rNodalNeighborWeights,
const SizeType &  rNumberOfNeighbors 
)
inline

This function re-calculates the weights used in mpc.

◆ ComputeWeightForAllNeighbors()

void Kratos::CableNetMpcProcess::ComputeWeightForAllNeighbors ( ModelPart::NodeType &  design_node,
NodeVector &  neighbor_nodes,
SizeType  number_of_neighbors,
DoubleVector &  list_of_weights 
)
inline

◆ CoupleModelParts()

void Kratos::CableNetMpcProcess::CoupleModelParts ( )
inline

This function finds neighbor nodes for each slave node and couples the nodes this is the main function of this process.

◆ CoupleSlaveToNeighborMasterNodes()

void Kratos::CableNetMpcProcess::CoupleSlaveToNeighborMasterNodes ( const NodeType &  rCurrentSlaveNode,
const NodeVector &  rNeighborNodes,
const DoubleVector &  rNodalNeighborWeights,
const SizeType &  rNumberOfNeighbors 
)
inline

This function couples nodes by calling the parent class functions.

◆ CreateListOfNodesOfMasterSubModelPart()

void Kratos::CableNetMpcProcess::CreateListOfNodesOfMasterSubModelPart ( NodeVector &  MasterNodeList)
inline

This function creates a NodeVector of the master nodes to be used for the Kd tree.

◆ CreateSpringElements()

void Kratos::CableNetMpcProcess::CreateSpringElements ( ModelPart &  rMasterModelPart,
ModelPart &  rSlaveModelPart 
)
inline

◆ ExecuteInitializeSolutionStep()

void Kratos::CableNetMpcProcess::ExecuteInitializeSolutionStep ( )
inlineoverride

◆ GetmIsInitialized()

bool Kratos::CableNetMpcProcess::GetmIsInitialized ( ) const
inline

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::CableNetMpcProcess::KRATOS_CLASS_POINTER_DEFINITION ( CableNetMpcProcess  )

Pointer definition of ApplyMultipointConstraintsProcess.

◆ SetmIsInitialized()

void Kratos::CableNetMpcProcess::SetmIsInitialized ( const bool &  check)
inline

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