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 |