11 #ifndef DIRECTION_DAMPING_UTILITIES_H
12 #define DIRECTION_DAMPING_UTILITIES_H
25 #include "custom_utilities/filter_function.h"
86 void CreateListOfNodesOfModelPart();
88 void CreateSearchTreeWithAllNodesOfModelPart();
90 void InitalizeDampingFactorsToHaveNoInfluence();
92 void SetDampingFactors();
94 FilterFunction::Pointer CreateDampingFunction( std::string damping_type )
const;
96 void ThrowWarningIfNodeNeighborsExceedLimit(
const ModelPart::NodeType& given_node,
const unsigned int number_of_neighbors )
const;
106 virtual std::string
Info()
const
108 return "DirectionDampingUtilities";
114 rOStream <<
"DirectionDampingUtilities";
131 std::vector<double> mDampingFactors;
134 unsigned int mBucketSize = 100;
135 unsigned int mMaxNeighborNodes = 10000;
136 NodeVector mListOfNodesOfModelPart;
137 KDTree::Pointer mpSearchTree;
Short class definition.
Definition: bucket.h:57
Class for direction damping of the shape update.
Definition: direction_damping_utilities.h:43
Bucket< 3, NodeType, NodeVector, NodeTypePointer, NodeVectorIterator, DoubleVectorIterator > BucketType
Definition: direction_damping_utilities.h:58
Tree< KDTreePartition< BucketType > > KDTree
Definition: direction_damping_utilities.h:59
virtual void PrintData(std::ostream &rOStream) const
Print object's data.
Definition: direction_damping_utilities.h:118
array_1d< double, 3 > array_3d
Definition: direction_damping_utilities.h:49
virtual void PrintInfo(std::ostream &rOStream) const
Print information about this object.
Definition: direction_damping_utilities.h:112
std::vector< double > DoubleVector
Definition: direction_damping_utilities.h:54
ModelPart::NodeType::Pointer NodeTypePointer
Definition: direction_damping_utilities.h:51
virtual ~DirectionDampingUtilities()
Destructor.
Definition: direction_damping_utilities.h:72
KRATOS_CLASS_POINTER_DEFINITION(DirectionDampingUtilities)
Pointer definition of DirectionDampingUtilities.
virtual std::string Info() const
Turn back information as a string.
Definition: direction_damping_utilities.h:106
std::vector< NodeTypePointer >::iterator NodeVectorIterator
Definition: direction_damping_utilities.h:53
ModelPart::NodeType NodeType
Definition: direction_damping_utilities.h:50
std::vector< double >::iterator DoubleVectorIterator
Definition: direction_damping_utilities.h:55
std::vector< NodeTypePointer > NodeVector
Definition: direction_damping_utilities.h:52
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
This class defines the node.
Definition: node.h:65
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
A generic tree data structure for spatial partitioning.
Definition: tree.h:190
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21