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::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend > Class Template Reference

Nearest Neighbor Mapper. More...

#include <nearest_neighbor_mapper.h>

Inheritance diagram for Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >:
Collaboration diagram for Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >:

Public Member Functions

Life Cycle
 NearestNeighborMapper (ModelPart &rModelPartOrigin, ModelPart &rModelPartDestination)
 
 NearestNeighborMapper (ModelPart &rModelPartOrigin, ModelPart &rModelPartDestination, Parameters JsonParameters)
 
 ~NearestNeighborMapper () override=default
 Destructor. More...
 
Operations
MapperUniquePointerType Clone (ModelPart &rModelPartOrigin, ModelPart &rModelPartDestination, Parameters JsonParameters) const override
 Cloning the Mapper returns a clone of the current Mapper pure virtual, has to be implemented in every derived mapper, used in the creation of the Mappers. More...
 
Inquiry
int AreMeshesConforming () const override
 Quering for mesh conformity This function is deprecated and will eventually be removed, hence it is best not to use it returns 1 if all the nodes are conform and 0 otherwise. 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...
 
- Public Member Functions inherited from Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >
 InterpolativeMapperBase (ModelPart &rModelPartOrigin, ModelPart &rModelPartDestination)
 
 InterpolativeMapperBase (ModelPart &rModelPartOrigin, ModelPart &rModelPartDestination, Parameters JsonParameters)
 
 ~InterpolativeMapperBase () override=default
 Destructor. More...
 
void UpdateInterface (Kratos::Flags MappingOptions, double SearchRadius) override
 Updates the mapping-system after the geometry/mesh has changed After changes in the topology (e.g. remeshing or sliding interfaces) the relations for the mapping have to be recomputed. This means that the search has to be conducted again and the mapping-system has to be rebuilt, hence this is expensive. More...
 
void Map (const Variable< double > &rOriginVariable, const Variable< double > &rDestinationVariable, Kratos::Flags MappingOptions) override
 Mapping from Origin to Destination, Scalar Variable Data is exchanged on the Interface, from the Origin-Modelpart to the Destination-ModelPart (the modelparts were specified in the construction Phase of the Mapper) More...
 
void Map (const Variable< array_1d< double, 3 > > &rOriginVariable, const Variable< array_1d< double, 3 > > &rDestinationVariable, Kratos::Flags MappingOptions) override
 Mapping from Origin to Destination, Vector Variable Same as Map, but maps an array3-variable. More...
 
void InverseMap (const Variable< double > &rOriginVariable, const Variable< double > &rDestinationVariable, Kratos::Flags MappingOptions) override
 Mapping from Destination to Origin, Scalar Variable Data is exchanged on the Interface, from the Destination-Modelpart to the Origin-ModelPart (the modelparts were specified in the construction Phase of the Mapper) It does the opposite of Map. More...
 
void InverseMap (const Variable< array_1d< double, 3 > > &rOriginVariable, const Variable< array_1d< double, 3 > > &rDestinationVariable, Kratos::Flags MappingOptions) override
 Mapping from Destination to Origin, Vector Variable Same as InveseMap, but maps an array3-variable. More...
 
TMappingMatrixTypeGetMappingMatrix () override
 This method returns the mapping-matrix. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (InterpolativeMapperBase)
 Pointer definition of InterpolativeMapperBase. More...
 
- Public Member Functions inherited from Kratos::Mapper< TSparseSpace, TDenseSpace >
 Mapper ()=default
 Constructor. More...
 
virtual ~Mapper ()=default
 Destructor. More...
 
 Mapper ()
 Default constructor. More...
 
virtual ~Mapper ()
 Destructor. More...
 
virtual void Update ()
 
virtual void Map (const Variable< array_3d > &rOriginVariable, const Variable< array_3d > &rDestinationVariable)=0
 
virtual void Map (const Variable< double > &rOriginVariable, const Variable< double > &rDestinationVariable)=0
 
virtual void InverseMap (const Variable< array_3d > &rDestinationVariable, const Variable< array_3d > &rOriginVariable)=0
 
virtual void InverseMap (const Variable< double > &rDestinationVariable, const Variable< double > &rOriginVariable)=0
 
virtual ModelPartGetInterfaceModelPartOrigin ()
 
virtual ModelPartGetInterfaceModelPartDestination ()
 
 KRATOS_CLASS_POINTER_DEFINITION (Mapper)
 
 KRATOS_CLASS_POINTER_DEFINITION (Mapper)
 Pointer definition of Mapper. More...
 

Pointer Definitions

Pointer definition of NearestNeighborMapper

typedef InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend > BaseType
 
typedef BaseType::MapperUniquePointerType MapperUniquePointerType
 
typedef BaseType::MapperInterfaceInfoUniquePointerType MapperInterfaceInfoUniquePointerType
 
 KRATOS_CLASS_POINTER_DEFINITION (NearestNeighborMapper)
 

Additional Inherited Members

- Public Types inherited from Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >
typedef Mapper< TSparseSpace, TDenseSpace > BaseType
 
typedef TMapperBackend::InterfaceCommunicatorType InterfaceCommunicatorType
 
typedef Kratos::unique_ptr< InterfaceCommunicatorInterfaceCommunicatorPointerType
 
typedef InterfaceCommunicator::MapperInterfaceInfoUniquePointerType MapperInterfaceInfoUniquePointerType
 
typedef Kratos::unique_ptr< MapperLocalSystemMapperLocalSystemPointer
 
typedef std::vector< MapperLocalSystemPointerMapperLocalSystemPointerVector
 
typedef InterfaceVectorContainer< TSparseSpace, TDenseSpace > InterfaceVectorContainerType
 
typedef Kratos::unique_ptr< InterfaceVectorContainerTypeInterfaceVectorContainerPointerType
 
typedef std::size_t IndexType
 
typedef BaseType::MapperUniquePointerType MapperUniquePointerType
 
typedef BaseType::TMappingMatrixType TMappingMatrixType
 
typedef Kratos::unique_ptr< TMappingMatrixTypeTMappingMatrixUniquePointerType
 
typedef Variable< doubleComponentVariableType
 
- Public Types inherited from Kratos::Mapper< TSparseSpace, TDenseSpace >
typedef Kratos::unique_ptr< MapperMapperUniquePointerType
 
typedef TSparseSpace::MatrixType TMappingMatrixType
 
typedef array_1d< double, 3 > array_3d
 
typedef Node NodeType
 
- Protected Member Functions inherited from Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >
ModelPartGetOriginModelPart ()
 This function origin model part. More...
 
ModelPartGetDestinationModelPart ()
 This function destination model part. More...
 
void Initialize ()
 Initializing the Mapper This has to be called in the constructor of the derived classes, since it involves calls to pure virtual functions. More...
 
void ValidateInput ()
 
- Protected Member Functions inherited from Kratos::Mapper< TSparseSpace, TDenseSpace >
virtual double GetVertexMorphingRadius (const NodeType &rNode) const
 
- Protected Attributes inherited from Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >
int mMeshesAreConforming = false
 
TMappingMatrixUniquePointerType mpMappingMatrix
 

Detailed Description

template<class TSparseSpace, class TDenseSpace, class TMapperBackend>
class Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >

Nearest Neighbor Mapper.

This class implements the Nearest Neighbor Mapping technique. Each node on the destination side gets assigned is's closest neighbor on the other side of the interface. In the mapping phase every node gets assigned the value of it's neighbor For information abt the available echo_levels and the JSON default-parameters look into the class description of the MapperCommunicator

Member Typedef Documentation

◆ BaseType

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
typedef InterpolativeMapperBase<TSparseSpace, TDenseSpace, TMapperBackend> Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >::BaseType

◆ MapperInterfaceInfoUniquePointerType

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
typedef BaseType::MapperInterfaceInfoUniquePointerType Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >::MapperInterfaceInfoUniquePointerType

◆ MapperUniquePointerType

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
typedef BaseType::MapperUniquePointerType Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >::MapperUniquePointerType

Constructor & Destructor Documentation

◆ NearestNeighborMapper() [1/2]

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >::NearestNeighborMapper ( ModelPart rModelPartOrigin,
ModelPart rModelPartDestination 
)
inline

◆ NearestNeighborMapper() [2/2]

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >::NearestNeighborMapper ( ModelPart rModelPartOrigin,
ModelPart rModelPartDestination,
Parameters  JsonParameters 
)
inline

◆ ~NearestNeighborMapper()

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >::~NearestNeighborMapper ( )
overridedefault

Destructor.

Member Function Documentation

◆ AreMeshesConforming()

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
int Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >::AreMeshesConforming ( ) const
inlineoverridevirtual

Quering for mesh conformity This function is deprecated and will eventually be removed, hence it is best not to use it returns 1 if all the nodes are conform and 0 otherwise.

Reimplemented from Kratos::Mapper< TSparseSpace, TDenseSpace >.

◆ Clone()

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
MapperUniquePointerType Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >::Clone ( ModelPart rModelPartOrigin,
ModelPart rModelPartDestination,
Parameters  JsonParameters 
) const
inlineoverridevirtual

Cloning the Mapper returns a clone of the current Mapper pure virtual, has to be implemented in every derived mapper, used in the creation of the Mappers.

See also
MapperFactory

Implements Kratos::Mapper< TSparseSpace, TDenseSpace >.

◆ Info()

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
std::string Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >::Info ( ) const
inlineoverridevirtual

Turn back information as a string.

Reimplemented from Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >.

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >::KRATOS_CLASS_POINTER_DEFINITION ( NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >  )

◆ PrintData()

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
void Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

◆ PrintInfo()

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
void Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

Reimplemented from Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >.


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