13 #ifndef SYMMETRY_UTILITY_H
14 #define SYMMETRY_UTILITY_H
99 std::vector<std::pair <NodeTypePointer,NodeTypePointer>>
Map;
114 std::vector<std::pair <NodeTypePointer,NodeVector>>
Map;
152 virtual std::string
Info()
const
154 return "SymmetryUtility";
160 rOStream <<
"SymmetryUtility";
183 std::string mUtilName;
186 bool mAxisSymmetry=
false;
187 RotationalSymmetryData mRotationalSymmetryData;
188 bool mPlaneSymmetry=
false;
189 PlaneSymmetryData mPlaneSymmetryData;
194 NodeVector mListOfNodesOfModelPart;
195 KDTree::Pointer mpSearchTree;
210 NodeTypePointer GetRotatedNode(
NodeType& rNode,
int RotationIndex);
211 NodeTypePointer GetReflectedNode(
NodeType& rNode);
Short class definition.
Definition: bucket.h:57
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
Short class definition.
Definition: symmetry_utility.h:58
Bucket< 3, NodeType, NodeVector, NodeTypePointer, NodeVectorIterator, DoubleVectorIterator > BucketType
Definition: symmetry_utility.h:73
virtual std::string Info() const
Turn back information as a string.
Definition: symmetry_utility.h:152
virtual void PrintInfo(std::ostream &rOStream) const
Print information about this object.
Definition: symmetry_utility.h:158
std::vector< NodeTypePointer >::iterator NodeVectorIterator
Definition: symmetry_utility.h:68
ModelPart::NodeType::Pointer NodeTypePointer
Definition: symmetry_utility.h:66
std::vector< double >::iterator DoubleVectorIterator
Definition: symmetry_utility.h:70
std::vector< double > DoubleVector
Definition: symmetry_utility.h:69
virtual void PrintData(std::ostream &rOStream) const
Print object's data.
Definition: symmetry_utility.h:164
ModelPart::NodeType NodeType
Definition: symmetry_utility.h:65
Tree< KDTreePartition< BucketType > > KDTree
Definition: symmetry_utility.h:74
std::vector< NodeTypePointer > NodeVector
Definition: symmetry_utility.h:67
array_1d< double, 3 > array_3d
Definition: symmetry_utility.h:64
virtual ~SymmetryUtility()
Destructor.
Definition: symmetry_utility.h:87
KRATOS_CLASS_POINTER_DEFINITION(SymmetryUtility)
Pointer definition of SymmetryUtility.
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
static void GetRotationMatrix(const array_1d< double, 3 > &EulerAngles, double rotation_matrix[3][3])
Definition: GeometryFunctions.h:1549
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
Definition: symmetry_utility.h:91
std::vector< std::pair< NodeTypePointer, NodeTypePointer > > Map
Definition: symmetry_utility.h:99
array_1d< double, 3 > Normal
Definition: symmetry_utility.h:95
array_1d< double, 3 > Point
Definition: symmetry_utility.h:93
Matrix ReflectionMatrix
Definition: symmetry_utility.h:97
Definition: symmetry_utility.h:102
array_1d< double, 3 > Point
Definition: symmetry_utility.h:104
double Angle
Definition: symmetry_utility.h:106
array_1d< double, 3 > Axis
Definition: symmetry_utility.h:110
std::vector< std::pair< NodeTypePointer, NodeVector > > Map
Definition: symmetry_utility.h:114
int NumRot
Definition: symmetry_utility.h:108
std::vector< Matrix > RotationMatrices
Definition: symmetry_utility.h:112