![]() |
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.
|
This class is designed to allow the fast location of MANY points on the top of a 3D mesh. More...
#include <binbased_fast_point_locator.h>
Public Member Functions | |
Life Cycle | |
| BinBasedFastPointLocator (ModelPart &rModelPart) | |
| This is the default constructor. More... | |
| virtual | ~BinBasedFastPointLocator ()=default |
| Destructor. More... | |
| BinBasedFastPointLocator (BinBasedFastPointLocator const &rOther) | |
| Copy constructor. More... | |
Static Public Member Functions | |
Private Operations | |
| static void | GetContainer (ModelPart &rModelPart, PointerVectorSet< Element, IndexedObject >::ContainerType &rContainerArray) |
| This operation is defined to the the corresponding container type. More... | |
| static void | GetContainer (ModelPart &rModelPart, PointerVectorSet< Condition, IndexedObject >::ContainerType &rContainerArray) |
| This operation is defined to the the corresponding container type. More... | |
Public Attributes | |
| array_1d< double, TDim+1 > EntityType::Pointer ResultIteratorType const SizeType const double | Tolerance |
| BinsType::Pointer | mpBinsObjectDynamic |
| The model part containing the mesh for the search. More... | |
Type Definitions | |
| typedef TConfigureType | ConfigureType |
| The configure type. More... | |
| typedef ConfigureType::PointType | PointType |
| The definition of the different containers. More... | |
| typedef ConfigureType::EntityType | EntityType |
| typedef ConfigureType::ContainerType | ContainerType |
| typedef ConfigureType::IteratorType | IteratorType |
| typedef ConfigureType::ResultContainerType | ResultContainerType |
| typedef ConfigureType::ResultIteratorType | ResultIteratorType |
| typedef BinsObjectDynamic< ConfigureType > | BinsType |
| typedef BinsObjectDynamic< ConfigureType >::CoordinateType | BinsCoordinateType |
| typedef BinsObjectDynamic< ConfigureType >::PointType | BinsPointType |
| typedef Node | NodeType |
| The definition of the node. More... | |
| typedef Geometry< NodeType > | GeometryType |
| The definition of the geometry. More... | |
| typedef std::size_t | SizeType |
| The size definition. More... | |
| typedef std::size_t | IndexType |
| The index definition. More... | |
| KRATOS_CLASS_POINTER_DEFINITION (BinBasedFastPointLocator) | |
| Pointer definition of BinBasedFastPointLocator. More... | |
Operations | |
| & | rCoordinates |
| array_1d< double, TDim+1 > & | rNShapeFunction |
| array_1d< double, TDim+1 > EntityType::Pointer & | pEntity |
| array_1d< double, TDim+1 > EntityType::Pointer ResultIteratorType | ItResultBegin |
| array_1d< double, TDim+1 > EntityType::Pointer ResultIteratorType const SizeType | MaxNumberOfResults = 1000 |
| void | UpdateSearchDatabase () |
| Function to construct or update the search database. More... | |
| void | UpdateSearchDatabaseAssignedSize (const BinsCoordinateType CellSize) |
| Function to construct or update the search database. More... | |
| KRATOS_DEPRECATED_MESSAGE ("This is legacy version (using array instead of vector for shape function)") bool FindPointOnMesh(const array_1d< double | |
| This function should find the element into which a given node is located and return a pointer to the element and the vector containing the shape functions that define the postion within the element. More... | |
This class is designed to allow the fast location of MANY points on the top of a 3D mesh.
The utility relies on the creation of a Bin of objects that allows finding quikly a reduced number of element candidates for the location of a point. The basic idea is to allow finding the element in which a given spatial position sits The user should call the function "UpdateSearchDatabase" to mount the bin and subsequently locate the points as needed
| TDim | If we work in a 2D or 3D space |
| TConfigureType | The spatial container |
| typedef BinsObjectDynamic<ConfigureType>::CoordinateType Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::BinsCoordinateType |
| typedef BinsObjectDynamic<ConfigureType>::PointType Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::BinsPointType |
| typedef BinsObjectDynamic<ConfigureType> Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::BinsType |
| typedef TConfigureType Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::ConfigureType |
The configure type.
| typedef ConfigureType::ContainerType Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::ContainerType |
| typedef ConfigureType::EntityType Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::EntityType |
| typedef Geometry<NodeType> Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::GeometryType |
The definition of the geometry.
| typedef std::size_t Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::IndexType |
The index definition.
| typedef ConfigureType::IteratorType Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::IteratorType |
| typedef Node Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::NodeType |
The definition of the node.
| typedef ConfigureType::PointType Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::PointType |
The definition of the different containers.
| typedef ConfigureType::ResultContainerType Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::ResultContainerType |
| typedef ConfigureType::ResultIteratorType Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::ResultIteratorType |
| typedef std::size_t Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::SizeType |
The size definition.
|
inlineexplicit |
This is the default constructor.
| rModelPart | The model part of the mesh used in the search |
|
virtualdefault |
Destructor.
|
inline |
Copy constructor.
|
inlinestatic |
This operation is defined to the the corresponding container type.
| rModelPart | The model part to get the condition container |
| The | corresponding condition array |
|
inlinestatic |
This operation is defined to the the corresponding container type.
| rModelPart | The model part to get the element container |
| The | corresponding element array |
| Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::KRATOS_CLASS_POINTER_DEFINITION | ( | BinBasedFastPointLocator< TDim, TConfigureType > | ) |
Pointer definition of BinBasedFastPointLocator.
| Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::KRATOS_DEPRECATED_MESSAGE | ( | "This is legacy version (using array instead of vector for shape function)" | ) | const |
This function should find the element into which a given node is located and return a pointer to the element and the vector containing the shape functions that define the postion within the element.
| rCoordinates | The vector containign the coordinates of the point to be searched |
| rNShapeFunction | The vector containing the shape function of the located point |
| pEntity | The pointer to the element containing the located point |
| ItResultBegin | The iterator of the search |
| MaxNumberOfResults | The max number of results to be considered |
| Tolerance | The tolerance considered on the search |
|
inline |
Function to construct or update the search database.
|
inline |
Function to construct or update the search database.
| CellSize | The current size of the cell used for search |
| array_1d<double, TDim + 1 > EntityType::Pointer ResultIteratorType Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::ItResultBegin |
| array_1d<double, TDim + 1 > EntityType::Pointer ResultIteratorType const SizeType Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::MaxNumberOfResults = 1000 |
| BinsType::Pointer Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::mpBinsObjectDynamic |
The model part containing the mesh for the search.
| array_1d<double, TDim + 1 > EntityType::Pointer& Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::pEntity |
| & Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::rCoordinates |
| array_1d<double, TDim + 1 >& Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::rNShapeFunction |
| array_1d<double, TDim + 1 > EntityType::Pointer ResultIteratorType const SizeType const double Kratos::BinBasedFastPointLocator< TDim, TConfigureType >::Tolerance |