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::MapperInterfaceInfo Class Referenceabstract

Object for storing data that is needed to construct the local-mapping-system. More...

#include <mapper_interface_info.h>

Inheritance diagram for Kratos::MapperInterfaceInfo:
Collaboration diagram for Kratos::MapperInterfaceInfo:

Public Types

Enum's
enum class  InfoType { Dummy }
 

Public Member Functions

Life Cycle
 MapperInterfaceInfo ()=default
 Default constructor. More...
 
 MapperInterfaceInfo (const CoordinatesArrayType &rCoordinates, const IndexType SourceLocalSystemIndex, const IndexType SourceRank)
 
virtual ~MapperInterfaceInfo ()=default
 Destructor. More...
 
Operations
virtual void ProcessSearchResult (const InterfaceObject &rInterfaceObject)=0
 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...
 
virtual void ProcessSearchResultForApproximation (const InterfaceObject &rInterfaceObject)
 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...
 
virtual MapperInterfaceInfo::Pointer Create (const CoordinatesArrayType &rCoordinates, const IndexType SourceLocalSystemIndex, const IndexType SourceRank) const =0
 
virtual MapperInterfaceInfo::Pointer Create () const =0
 
virtual InterfaceObject::ConstructionType GetInterfaceObjectType () const =0
 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...
 
IndexType GetLocalSystemIndex () const
 
IndexType GetSourceRank () const
 
bool GetLocalSearchWasSuccessful () const
 
bool GetIsApproximation () const
 
CoordinatesArrayTypeCoordinates ()
 
Access
virtual void GetValue (int &rValue, const InfoType ValueType) const
 
virtual void GetValue (std::size_t &rValue, const InfoType ValueType) const
 
virtual void GetValue (double &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< int > &rValue, const InfoType ValueType) const
 
virtual void GetValue (std::vector< std::size_t > &rValue, const InfoType ValueType) const
 
virtual void GetValue (std::vector< double > &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
 
Input and output
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...
 

Protected Member Functions

Protected Operations
void SetLocalSearchWasSuccessful ()
 
void SetIsApproximation ()
 

Protected Attributes

Protected member Variables
IndexType mSourceLocalSystemIndex
 
CoordinatesArrayType mCoordinates
 
IndexType mSourceRank = 0
 

Type Definitions

typedef std::size_t IndexType
 
typedef InterfaceObject::CoordinatesArrayType CoordinatesArrayType
 
typedef InterfaceObject::NodeType NodeType
 
typedef InterfaceObject::GeometryType GeometryType
 
 KRATOS_CLASS_POINTER_DEFINITION (MapperInterfaceInfo)
 Pointer definition of MapperInterfaceInfo. More...
 

Private Access

class Serializer
 

Detailed Description

Object for storing data that is needed to construct the local-mapping-system.

When constructing th local-mapper-system, some data from the "other" side of the Interface is needed which is different for every mapper. This class stores the data needed and provides it later when the local-system is constructed. For the data-exchange in MPI the data is saved using serialization

Member Typedef Documentation

◆ CoordinatesArrayType

◆ GeometryType

◆ IndexType

◆ NodeType

Member Enumeration Documentation

◆ InfoType

Enumerator
Dummy 

Constructor & Destructor Documentation

◆ MapperInterfaceInfo() [1/2]

Kratos::MapperInterfaceInfo::MapperInterfaceInfo ( )
default

Default constructor.

◆ MapperInterfaceInfo() [2/2]

Kratos::MapperInterfaceInfo::MapperInterfaceInfo ( const CoordinatesArrayType rCoordinates,
const IndexType  SourceLocalSystemIndex,
const IndexType  SourceRank 
)
inlineexplicit

◆ ~MapperInterfaceInfo()

virtual Kratos::MapperInterfaceInfo::~MapperInterfaceInfo ( )
virtualdefault

Destructor.

Member Function Documentation

◆ Coordinates()

CoordinatesArrayType& Kratos::MapperInterfaceInfo::Coordinates ( )
inline

◆ Create() [1/2]

virtual MapperInterfaceInfo::Pointer Kratos::MapperInterfaceInfo::Create ( ) const
pure virtual

◆ Create() [2/2]

virtual MapperInterfaceInfo::Pointer Kratos::MapperInterfaceInfo::Create ( const CoordinatesArrayType rCoordinates,
const IndexType  SourceLocalSystemIndex,
const IndexType  SourceRank 
) const
pure virtual

◆ GetInterfaceObjectType()

virtual InterfaceObject::ConstructionType Kratos::MapperInterfaceInfo::GetInterfaceObjectType ( ) const
pure virtual

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

Implemented in Kratos::NearestNeighborInterfaceInfo, Kratos::NearestElementInterfaceInfo, and Kratos::BarycentricInterfaceInfo.

◆ GetIsApproximation()

bool Kratos::MapperInterfaceInfo::GetIsApproximation ( ) const
inline

◆ GetLocalSearchWasSuccessful()

bool Kratos::MapperInterfaceInfo::GetLocalSearchWasSuccessful ( ) const
inline

◆ GetLocalSystemIndex()

IndexType Kratos::MapperInterfaceInfo::GetLocalSystemIndex ( ) const
inline

◆ GetSourceRank()

IndexType Kratos::MapperInterfaceInfo::GetSourceRank ( ) const
inline

◆ GetValue() [1/10]

virtual void Kratos::MapperInterfaceInfo::GetValue ( bool rValue,
const InfoType  ValueType 
) const
inlinevirtual

◆ GetValue() [2/10]

virtual void Kratos::MapperInterfaceInfo::GetValue ( double rValue,
const InfoType  ValueType 
) const
inlinevirtual

◆ GetValue() [3/10]

virtual void Kratos::MapperInterfaceInfo::GetValue ( GeometryType rValue,
const InfoType  ValueType 
) const
inlinevirtual

◆ GetValue() [4/10]

virtual void Kratos::MapperInterfaceInfo::GetValue ( int rValue,
const InfoType  ValueType 
) const
inlinevirtual

◆ GetValue() [5/10]

virtual void Kratos::MapperInterfaceInfo::GetValue ( std::size_t &  rValue,
const InfoType  ValueType 
) const
inlinevirtual

◆ GetValue() [6/10]

virtual void Kratos::MapperInterfaceInfo::GetValue ( std::vector< bool > &  rValue,
const InfoType  ValueType 
) const
inlinevirtual

◆ GetValue() [7/10]

virtual void Kratos::MapperInterfaceInfo::GetValue ( std::vector< double > &  rValue,
const InfoType  ValueType 
) const
inlinevirtual

◆ GetValue() [8/10]

virtual void Kratos::MapperInterfaceInfo::GetValue ( std::vector< GeometryType > &  rValue,
const InfoType  ValueType 
) const
inlinevirtual

◆ GetValue() [9/10]

virtual void Kratos::MapperInterfaceInfo::GetValue ( std::vector< int > &  rValue,
const InfoType  ValueType 
) const
inlinevirtual

◆ GetValue() [10/10]

virtual void Kratos::MapperInterfaceInfo::GetValue ( std::vector< std::size_t > &  rValue,
const InfoType  ValueType 
) const
inlinevirtual

◆ Info()

virtual std::string Kratos::MapperInterfaceInfo::Info ( ) const
inlinevirtual

Turn back information as a string.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::MapperInterfaceInfo::KRATOS_CLASS_POINTER_DEFINITION ( MapperInterfaceInfo  )

Pointer definition of MapperInterfaceInfo.

◆ PrintData()

virtual void Kratos::MapperInterfaceInfo::PrintData ( std::ostream &  rOStream) const
inlinevirtual

Print object's data.

◆ PrintInfo()

virtual void Kratos::MapperInterfaceInfo::PrintInfo ( std::ostream &  rOStream) const
inlinevirtual

Print information about this object.

◆ ProcessSearchResult()

virtual void Kratos::MapperInterfaceInfo::ProcessSearchResult ( const InterfaceObject rInterfaceObject)
pure virtual

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

Implemented in Kratos::NearestNeighborInterfaceInfo, Kratos::NearestElementInterfaceInfo, and Kratos::BarycentricInterfaceInfo.

◆ ProcessSearchResultForApproximation()

virtual void Kratos::MapperInterfaceInfo::ProcessSearchResultForApproximation ( const InterfaceObject rInterfaceObject)
inlinevirtual

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 in Kratos::NearestElementInterfaceInfo.

◆ SetIsApproximation()

void Kratos::MapperInterfaceInfo::SetIsApproximation ( )
inlineprotected

◆ SetLocalSearchWasSuccessful()

void Kratos::MapperInterfaceInfo::SetLocalSearchWasSuccessful ( )
inlineprotected

Friends And Related Function Documentation

◆ Serializer

friend class Serializer
friend

Member Data Documentation

◆ mCoordinates

CoordinatesArrayType Kratos::MapperInterfaceInfo::mCoordinates
protected

◆ mSourceLocalSystemIndex

IndexType Kratos::MapperInterfaceInfo::mSourceLocalSystemIndex
protected

◆ mSourceRank

IndexType Kratos::MapperInterfaceInfo::mSourceRank = 0
protected

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