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.
Public Member Functions | Friends | List of all members
Kratos::NearestElementInterfaceInfo Class Reference

#include <nearest_element_mapper.h>

Inheritance diagram for Kratos::NearestElementInterfaceInfo:
Collaboration diagram for Kratos::NearestElementInterfaceInfo:

Public Member Functions

 NearestElementInterfaceInfo (const NearestElementOptions Options={})
 Default constructor. More...
 
 NearestElementInterfaceInfo (const CoordinatesArrayType &rCoordinates, const IndexType SourceLocalSystemIndex, const IndexType SourceRank, const NearestElementOptions Options={})
 
MapperInterfaceInfo::Pointer Create () const override
 
MapperInterfaceInfo::Pointer Create (const CoordinatesArrayType &rCoordinates, const IndexType SourceLocalSystemIndex, const IndexType SourceRank) const override
 
InterfaceObject::ConstructionType GetInterfaceObjectType () const override
 returning the type of construction for the InterfaceObject The returned type is used to create the object for the bin-search It is tightly coupled to this class since it decides which information can be extracted by this class More...
 
void ProcessSearchResult (const InterfaceObject &rInterfaceObject) override
 Processing the result of the search This function processes the results of the search, i.e. it extracts the information needed from the neighbor and saves it such that it can be later accesse by the MapperLocalSystem for assembling it's local system. This happens in the remote partition. More...
 
void ProcessSearchResultForApproximation (const InterfaceObject &rInterfaceObject) override
 Processing the result of the search for computing an approximation This function processes the results of the search for computing an approximation. This can be necessary if e.g. a projection fails. In case an approximation is found the function "SetIsApproximation" has to be called to set internal flags for data-exchange and the computation of the local system by the MapperLocalSystem This happens in the remote partition. It's implementation is optional. More...
 
void GetValue (std::vector< int > &rValue, const InfoType ValueType) const override
 
void GetValue (std::vector< double > &rValue, const InfoType ValueType) const override
 
void GetValue (double &rValue, const InfoType ValueType) const override
 
void GetValue (int &rValue, const InfoType ValueType) const override
 
std::size_t GetNumSearchResults () const
 
- Public Member Functions inherited from Kratos::MapperInterfaceInfo
 MapperInterfaceInfo ()=default
 Default constructor. More...
 
 MapperInterfaceInfo (const CoordinatesArrayType &rCoordinates, const IndexType SourceLocalSystemIndex, const IndexType SourceRank)
 
virtual ~MapperInterfaceInfo ()=default
 Destructor. More...
 
IndexType GetLocalSystemIndex () const
 
IndexType GetSourceRank () const
 
bool GetLocalSearchWasSuccessful () const
 
bool GetIsApproximation () const
 
CoordinatesArrayTypeCoordinates ()
 
virtual void GetValue (std::size_t &rValue, const InfoType ValueType) const
 
virtual void GetValue (bool &rValue, const InfoType ValueType) const
 
virtual void GetValue (GeometryType &rValue, const InfoType ValueType) const
 
virtual void GetValue (std::vector< std::size_t > &rValue, const InfoType ValueType) const
 
virtual void GetValue (std::vector< bool > &rValue, const InfoType ValueType) const
 
virtual void GetValue (std::vector< GeometryType > &rValue, const InfoType ValueType) const
 
virtual std::string Info () const
 Turn back information as a string. More...
 
virtual void PrintInfo (std::ostream &rOStream) const
 Print information about this object. More...
 
virtual void PrintData (std::ostream &rOStream) const
 Print object's data. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (MapperInterfaceInfo)
 Pointer definition of MapperInterfaceInfo. More...
 

Friends

class Serializer
 

Additional Inherited Members

- Public Types inherited from Kratos::MapperInterfaceInfo
enum class  InfoType { Dummy }
 
typedef std::size_t IndexType
 
typedef InterfaceObject::CoordinatesArrayType CoordinatesArrayType
 
typedef InterfaceObject::NodeType NodeType
 
typedef InterfaceObject::GeometryType GeometryType
 
- Protected Member Functions inherited from Kratos::MapperInterfaceInfo
void SetLocalSearchWasSuccessful ()
 
void SetIsApproximation ()
 
- Protected Attributes inherited from Kratos::MapperInterfaceInfo
IndexType mSourceLocalSystemIndex
 
CoordinatesArrayType mCoordinates
 
IndexType mSourceRank = 0
 

Constructor & Destructor Documentation

◆ NearestElementInterfaceInfo() [1/2]

Kratos::NearestElementInterfaceInfo::NearestElementInterfaceInfo ( const NearestElementOptions  Options = {})
inlineexplicit

Default constructor.

◆ NearestElementInterfaceInfo() [2/2]

Kratos::NearestElementInterfaceInfo::NearestElementInterfaceInfo ( const CoordinatesArrayType rCoordinates,
const IndexType  SourceLocalSystemIndex,
const IndexType  SourceRank,
const NearestElementOptions  Options = {} 
)
inlineexplicit

Member Function Documentation

◆ Create() [1/2]

MapperInterfaceInfo::Pointer Kratos::NearestElementInterfaceInfo::Create ( ) const
inlineoverridevirtual

◆ Create() [2/2]

MapperInterfaceInfo::Pointer Kratos::NearestElementInterfaceInfo::Create ( const CoordinatesArrayType rCoordinates,
const IndexType  SourceLocalSystemIndex,
const IndexType  SourceRank 
) const
inlineoverridevirtual

◆ GetInterfaceObjectType()

InterfaceObject::ConstructionType Kratos::NearestElementInterfaceInfo::GetInterfaceObjectType ( ) const
inlineoverridevirtual

returning the type of construction for the InterfaceObject The returned type is used to create the object for the bin-search It is tightly coupled to this class since it decides which information can be extracted by this class

Author
Philipp Bucher

Implements Kratos::MapperInterfaceInfo.

◆ GetNumSearchResults()

std::size_t Kratos::NearestElementInterfaceInfo::GetNumSearchResults ( ) const
inline

◆ GetValue() [1/4]

void Kratos::NearestElementInterfaceInfo::GetValue ( double rValue,
const InfoType  ValueType 
) const
inlineoverridevirtual

Reimplemented from Kratos::MapperInterfaceInfo.

◆ GetValue() [2/4]

void Kratos::NearestElementInterfaceInfo::GetValue ( int rValue,
const InfoType  ValueType 
) const
inlineoverridevirtual

Reimplemented from Kratos::MapperInterfaceInfo.

◆ GetValue() [3/4]

void Kratos::NearestElementInterfaceInfo::GetValue ( std::vector< double > &  rValue,
const InfoType  ValueType 
) const
inlineoverridevirtual

Reimplemented from Kratos::MapperInterfaceInfo.

◆ GetValue() [4/4]

void Kratos::NearestElementInterfaceInfo::GetValue ( std::vector< int > &  rValue,
const InfoType  ValueType 
) const
inlineoverridevirtual

Reimplemented from Kratos::MapperInterfaceInfo.

◆ ProcessSearchResult()

void Kratos::NearestElementInterfaceInfo::ProcessSearchResult ( const InterfaceObject rInterfaceObject)
overridevirtual

Processing the result of the search This function processes the results of the search, i.e. it extracts the information needed from the neighbor and saves it such that it can be later accesse by the MapperLocalSystem for assembling it's local system. This happens in the remote partition.

Parameters
rpInterfaceObjectThe InterfaceObject found by the search
Author
Philipp Bucher

Implements Kratos::MapperInterfaceInfo.

◆ ProcessSearchResultForApproximation()

void Kratos::NearestElementInterfaceInfo::ProcessSearchResultForApproximation ( const InterfaceObject rInterfaceObject)
overridevirtual

Processing the result of the search for computing an approximation This function processes the results of the search for computing an approximation. This can be necessary if e.g. a projection fails. In case an approximation is found the function "SetIsApproximation" has to be called to set internal flags for data-exchange and the computation of the local system by the MapperLocalSystem This happens in the remote partition. It's implementation is optional.

Parameters
rpInterfaceObjectThe InterfaceObject found by the search
See also
ProcessSearchResult
SetIsApproximation
Author
Philipp Bucher

Reimplemented from Kratos::MapperInterfaceInfo.

Friends And Related Function Documentation

◆ Serializer

friend class Serializer
friend

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