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.
List of all members
Kratos::SpecializedSpatialSearch< TSearchBackend > Class Template Reference

This class is used to search for elements, conditions and nodes in a given model part. More...

#include <specialized_spatial_search.h>

Inheritance diagram for Kratos::SpecializedSpatialSearch< TSearchBackend >:
Collaboration diagram for Kratos::SpecializedSpatialSearch< TSearchBackend >:

Public Member Functions

Life Cycle
 SpecializedSpatialSearch ()
 Default constructor. More...
 
 SpecializedSpatialSearch (Parameters ThisParameters)
 Constructor with parameters. More...
 
 ~SpecializedSpatialSearch () override=default
 Destructor. More...
 
Operations
void SearchElementsInRadiusExclusive (const ElementsContainerType &rStructureElements, const ElementsContainerType &rInputElements, const RadiusArrayType &rRadius, VectorResultElementsContainerType &rResults, VectorDistanceType &rResultsDistance) override
 Search neighbours for every element in "rInputElements" excluding itself. More...
 
void SearchElementsInRadiusExclusive (const ElementsContainerType &rStructureElements, const ElementsContainerType &rInputElements, const RadiusArrayType &rRadius, VectorResultElementsContainerType &rResults) override
 Search neighbours for every element in "rInputElements" excluding itself. More...
 
void SearchNodesInRadiusExclusive (const NodesContainerType &rStructureNodes, const NodesContainerType &rInputNodes, const RadiusArrayType &rRadius, VectorResultNodesContainerType &rResults, VectorDistanceType &rResultsDistance) override
 Search neighbours for every node in "rInputNodes" excluding itself. More...
 
void SearchNodesInRadiusExclusive (const NodesContainerType &rStructureNodes, const NodesContainerType &rInputNodes, const RadiusArrayType &rRadius, VectorResultNodesContainerType &rResults) override
 Search neighbours for every node in "rInputNodes" excluding itself. More...
 
void SearchConditionsInRadiusExclusive (const ConditionsContainerType &rStructureConditions, const ConditionsContainerType &rInputConditions, const RadiusArrayType &rRadius, VectorResultConditionsContainerType &rResults, VectorDistanceType &rResultsDistance) override
 Search neighbours for every Condition in "rInputConditions" excluding itself. More...
 
void SearchConditionsInRadiusExclusive (const ConditionsContainerType &rStructureConditions, const ConditionsContainerType &rInputConditions, const RadiusArrayType &rRadius, VectorResultConditionsContainerType &rResults) override
 Search neighbours for every Condition in "rInputConditions" excluding itself. More...
 
Input and output
std::string Info () const override
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 
void PrintData (std::ostream &rOStream) const override
 Print object's data. More...
 

Protected Member Functions

Protected Operations
Parameters GetDefaultParameters () const
 This method returns the default parameters. More...
 

Protected Attributes

Protected member Variables
Parameters mParameters
 

Type Definitions

using BaseType = SpatialSearch
 The base type. More...
 
using NodesContainerType = ModelPart::NodesContainerType
 Nodes classes. More...
 
using ResultNodesContainerType = NodesContainerType::ContainerType
 
using VectorResultNodesContainerType = std::vector< ResultNodesContainerType >
 
using ElementsContainerType = ModelPart::ElementsContainerType
 Elements classes. More...
 
using ResultElementsContainerType = ElementsContainerType::ContainerType
 
using VectorResultElementsContainerType = std::vector< ResultElementsContainerType >
 
using ConditionsContainerType = ModelPart::ConditionsContainerType
 Conditions classes. More...
 
using ResultConditionsContainerType = ConditionsContainerType::ContainerType
 
using VectorResultConditionsContainerType = std::vector< ResultConditionsContainerType >
 
using RadiusArrayType = std::vector< double >
 Input/output types. More...
 
using DistanceType = std::vector< double >
 
using VectorDistanceType = std::vector< DistanceType >
 
 KRATOS_CLASS_POINTER_DEFINITION (SpecializedSpatialSearch)
 Pointer definition of SpecializedSpatialSearch. More...
 

Additional Inherited Members

Detailed Description

template<SpatialContainer TSearchBackend>
class Kratos::SpecializedSpatialSearch< TSearchBackend >

This class is used to search for elements, conditions and nodes in a given model part.

In order to perform the search it uses as backend some of the the spatial containers defined spatial_containers folder

Template Parameters
TSearchBackendThe spatial container to be used as backend
Author
Vicente Mataix Ferrandiz

Member Typedef Documentation

◆ BaseType

template<SpatialContainer TSearchBackend>
using Kratos::SpecializedSpatialSearch< TSearchBackend >::BaseType = SpatialSearch

The base type.

◆ ConditionsContainerType

Conditions classes.

◆ DistanceType

template<SpatialContainer TSearchBackend>
using Kratos::SpatialSearch::DistanceType = std::vector<double>

◆ ElementsContainerType

template<SpatialContainer TSearchBackend>
using Kratos::SpatialSearch::ElementsContainerType = ModelPart::ElementsContainerType

Elements classes.

◆ NodesContainerType

template<SpatialContainer TSearchBackend>
using Kratos::SpatialSearch::NodesContainerType = ModelPart::NodesContainerType

Nodes classes.

◆ RadiusArrayType

template<SpatialContainer TSearchBackend>
using Kratos::SpatialSearch::RadiusArrayType = std::vector<double>

Input/output types.

◆ ResultConditionsContainerType

◆ ResultElementsContainerType

◆ ResultNodesContainerType

◆ VectorDistanceType

template<SpatialContainer TSearchBackend>
using Kratos::SpatialSearch::VectorDistanceType = std::vector<DistanceType>

◆ VectorResultConditionsContainerType

template<SpatialContainer TSearchBackend>
using Kratos::SpatialSearch::VectorResultConditionsContainerType = std::vector<ResultConditionsContainerType>

◆ VectorResultElementsContainerType

template<SpatialContainer TSearchBackend>
using Kratos::SpatialSearch::VectorResultElementsContainerType = std::vector<ResultElementsContainerType>

◆ VectorResultNodesContainerType

template<SpatialContainer TSearchBackend>
using Kratos::SpatialSearch::VectorResultNodesContainerType = std::vector<ResultNodesContainerType>

Constructor & Destructor Documentation

◆ SpecializedSpatialSearch() [1/2]

template<SpatialContainer TSearchBackend>
Kratos::SpecializedSpatialSearch< TSearchBackend >::SpecializedSpatialSearch ( )
inline

Default constructor.

◆ SpecializedSpatialSearch() [2/2]

template<SpatialContainer TSearchBackend>
Kratos::SpecializedSpatialSearch< TSearchBackend >::SpecializedSpatialSearch ( Parameters  ThisParameters)
inline

Constructor with parameters.

Parameters
ThisParametersThe parameters to be considered

◆ ~SpecializedSpatialSearch()

template<SpatialContainer TSearchBackend>
Kratos::SpecializedSpatialSearch< TSearchBackend >::~SpecializedSpatialSearch ( )
overridedefault

Destructor.

Member Function Documentation

◆ GetDefaultParameters()

template<SpatialContainer TSearchBackend>
Parameters Kratos::SpecializedSpatialSearch< TSearchBackend >::GetDefaultParameters
protected

This method returns the default parameters.

Returns
The default parameters

◆ Info()

template<SpatialContainer TSearchBackend>
std::string Kratos::SpecializedSpatialSearch< TSearchBackend >::Info ( ) const
inlineoverridevirtual

Turn back information as a string.

Reimplemented from Kratos::SpatialSearch.

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<SpatialContainer TSearchBackend>
Kratos::SpecializedSpatialSearch< TSearchBackend >::KRATOS_CLASS_POINTER_DEFINITION ( SpecializedSpatialSearch< TSearchBackend >  )

Pointer definition of SpecializedSpatialSearch.

◆ PrintData()

template<SpatialContainer TSearchBackend>
void Kratos::SpecializedSpatialSearch< TSearchBackend >::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

Print object's data.

Reimplemented from Kratos::SpatialSearch.

◆ PrintInfo()

template<SpatialContainer TSearchBackend>
void Kratos::SpecializedSpatialSearch< TSearchBackend >::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

Reimplemented from Kratos::SpatialSearch.

◆ SearchConditionsInRadiusExclusive() [1/2]

template<SpatialContainer TSearchBackend>
void Kratos::SpecializedSpatialSearch< TSearchBackend >::SearchConditionsInRadiusExclusive ( const ConditionsContainerType rStructureConditions,
const ConditionsContainerType rInputConditions,
const RadiusArrayType rRadius,
VectorResultConditionsContainerType rResults 
)
overridevirtual

Search neighbours for every Condition in "rInputConditions" excluding itself.

Reimplemented from Kratos::SpatialSearch.

◆ SearchConditionsInRadiusExclusive() [2/2]

template<SpatialContainer TSearchBackend>
void Kratos::SpecializedSpatialSearch< TSearchBackend >::SearchConditionsInRadiusExclusive ( const ConditionsContainerType rStructureConditions,
const ConditionsContainerType rInputConditions,
const RadiusArrayType rRadius,
VectorResultConditionsContainerType rResults,
VectorDistanceType rResultsDistance 
)
overridevirtual

Search neighbours for every Condition in "rInputConditions" excluding itself.

KDtree definitions

Octree definitions

StaticBins definitions

BinsDynamic definitions

Reimplemented from Kratos::SpatialSearch.

◆ SearchElementsInRadiusExclusive() [1/2]

template<SpatialContainer TSearchBackend>
void Kratos::SpecializedSpatialSearch< TSearchBackend >::SearchElementsInRadiusExclusive ( const ElementsContainerType rStructureElements,
const ElementsContainerType rInputElements,
const RadiusArrayType rRadius,
VectorResultElementsContainerType rResults 
)
overridevirtual

Search neighbours for every element in "rInputElements" excluding itself.

Reimplemented from Kratos::SpatialSearch.

◆ SearchElementsInRadiusExclusive() [2/2]

template<SpatialContainer TSearchBackend>
void Kratos::SpecializedSpatialSearch< TSearchBackend >::SearchElementsInRadiusExclusive ( const ElementsContainerType rStructureElements,
const ElementsContainerType rInputElements,
const RadiusArrayType rRadius,
VectorResultElementsContainerType rResults,
VectorDistanceType rResultsDistance 
)
overridevirtual

Search neighbours for every element in "rInputElements" excluding itself.

KDtree definitions

Octree definitions

StaticBins definitions

BinsDynamic definitions

Reimplemented from Kratos::SpatialSearch.

◆ SearchNodesInRadiusExclusive() [1/2]

template<SpatialContainer TSearchBackend>
void Kratos::SpecializedSpatialSearch< TSearchBackend >::SearchNodesInRadiusExclusive ( const NodesContainerType rStructureNodes,
const NodesContainerType rInputNodes,
const RadiusArrayType rRadius,
VectorResultNodesContainerType rResults 
)
overridevirtual

Search neighbours for every node in "rInputNodes" excluding itself.

Reimplemented from Kratos::SpatialSearch.

◆ SearchNodesInRadiusExclusive() [2/2]

template<SpatialContainer TSearchBackend>
void Kratos::SpecializedSpatialSearch< TSearchBackend >::SearchNodesInRadiusExclusive ( const NodesContainerType rStructureNodes,
const NodesContainerType rInputNodes,
const RadiusArrayType rRadius,
VectorResultNodesContainerType rResults,
VectorDistanceType rResultsDistance 
)
overridevirtual

Search neighbours for every node in "rInputNodes" excluding itself.

KDtree definitions

Octree definitions

StaticBins definitions

BinsDynamic definitions

Reimplemented from Kratos::SpatialSearch.

Member Data Documentation

◆ mParameters

template<SpatialContainer TSearchBackend>
Parameters Kratos::SpecializedSpatialSearch< TSearchBackend >::mParameters
protected

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