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::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend > Class Template Referenceabstract

#include <interpolative_mapper_base.h>

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

Public Member Functions

Life Cycle
 InterpolativeMapperBase (ModelPart &rModelPartOrigin, ModelPart &rModelPartDestination)
 
 InterpolativeMapperBase (ModelPart &rModelPartOrigin, ModelPart &rModelPartDestination, Parameters JsonParameters)
 
 ~InterpolativeMapperBase () override=default
 Destructor. More...
 
Operations
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...
 
Access
TMappingMatrixTypeGetMappingMatrix () override
 This method returns the mapping-matrix. 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 MapperUniquePointerType Clone (ModelPart &rModelPartOrigin, ModelPart &rModelPartDestination, Parameters JsonParameters) const =0
 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...
 
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 ()
 
virtual int AreMeshesConforming () const
 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...
 
 KRATOS_CLASS_POINTER_DEFINITION (Mapper)
 
 KRATOS_CLASS_POINTER_DEFINITION (Mapper)
 Pointer definition of Mapper. More...
 

Protected Member Functions

Protected Access
ModelPartGetOriginModelPart ()
 This function origin model part. More...
 
ModelPartGetDestinationModelPart ()
 This function destination model part. More...
 
- Protected Member Functions inherited from Kratos::Mapper< TSparseSpace, TDenseSpace >
virtual double GetVertexMorphingRadius (const NodeType &rNode) const
 

Type Definitions

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
 
 KRATOS_CLASS_POINTER_DEFINITION (InterpolativeMapperBase)
 Pointer definition of InterpolativeMapperBase. More...
 

Input and output

int mMeshesAreConforming = false
 
TMappingMatrixUniquePointerType mpMappingMatrix
 
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...
 
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 ()
 

Private Operations

class AccessorInterpolativeMapperBase< TMapperBackend >
 

Additional Inherited Members

- 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
 

Member Typedef Documentation

◆ BaseType

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

◆ ComponentVariableType

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
typedef Variable<double> Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::ComponentVariableType

◆ IndexType

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
typedef std::size_t Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::IndexType

◆ InterfaceCommunicatorPointerType

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
typedef Kratos::unique_ptr<InterfaceCommunicator> Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::InterfaceCommunicatorPointerType

◆ InterfaceCommunicatorType

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

◆ InterfaceVectorContainerPointerType

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
typedef Kratos::unique_ptr<InterfaceVectorContainerType> Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::InterfaceVectorContainerPointerType

◆ InterfaceVectorContainerType

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
typedef InterfaceVectorContainer<TSparseSpace, TDenseSpace> Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::InterfaceVectorContainerType

◆ MapperInterfaceInfoUniquePointerType

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
typedef InterfaceCommunicator::MapperInterfaceInfoUniquePointerType Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::MapperInterfaceInfoUniquePointerType

◆ MapperLocalSystemPointer

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
typedef Kratos::unique_ptr<MapperLocalSystem> Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::MapperLocalSystemPointer

◆ MapperLocalSystemPointerVector

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
typedef std::vector<MapperLocalSystemPointer> Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::MapperLocalSystemPointerVector

◆ MapperUniquePointerType

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

◆ TMappingMatrixType

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

◆ TMappingMatrixUniquePointerType

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
typedef Kratos::unique_ptr<TMappingMatrixType> Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::TMappingMatrixUniquePointerType

Constructor & Destructor Documentation

◆ InterpolativeMapperBase() [1/2]

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

◆ InterpolativeMapperBase() [2/2]

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

◆ ~InterpolativeMapperBase()

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

Destructor.

Member Function Documentation

◆ GetDestinationModelPart()

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
ModelPart& Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::GetDestinationModelPart ( )
inlineprotected

This function destination model part.

Returns
The destination model part

◆ GetMappingMatrix()

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
TMappingMatrixType& Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::GetMappingMatrix ( )
inlineoverridevirtual

This method returns the mapping-matrix.

Returns
Reference to the mapping-matrix

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

◆ GetOriginModelPart()

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
ModelPart& Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::GetOriginModelPart ( )
inlineprotected

This function origin model part.

Returns
The origin model part

◆ Info()

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

◆ Initialize()

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
void Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::Initialize ( void  )
inlineprotectedvirtual

Initializing the Mapper This has to be called in the constructor of the derived classes, since it involves calls to pure virtual functions.

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

◆ InverseMap() [1/2]

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
void Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::InverseMap ( const Variable< array_1d< double, 3 > > &  rOriginVariable,
const Variable< array_1d< double, 3 > > &  rDestinationVariable,
Kratos::Flags  MappingOptions 
)
inlineoverridevirtual

Mapping from Destination to Origin, Vector Variable Same as InveseMap, but maps an array3-variable.

See also
InverseMap

Implements Kratos::Mapper< TSparseSpace, TDenseSpace >.

◆ InverseMap() [2/2]

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
void Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::InverseMap ( const Variable< double > &  rOriginVariable,
const Variable< double > &  rDestinationVariable,
Kratos::Flags  MappingOptions 
)
inlineoverridevirtual

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.

Parameters
rOriginVariableVariable on the Origin-ModelPart
rDestinationVariableVariable on the Destination-ModelPart
MappingOptionsflags used to specify options for the mapping
See also
Map

Implements Kratos::Mapper< TSparseSpace, TDenseSpace >.

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

Pointer definition of InterpolativeMapperBase.

◆ Map() [1/2]

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
void Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::Map ( const Variable< array_1d< double, 3 > > &  rOriginVariable,
const Variable< array_1d< double, 3 > > &  rDestinationVariable,
Kratos::Flags  MappingOptions 
)
inlineoverridevirtual

Mapping from Origin to Destination, Vector Variable Same as Map, but maps an array3-variable.

See also
Map

Implements Kratos::Mapper< TSparseSpace, TDenseSpace >.

◆ Map() [2/2]

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
void Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::Map ( const Variable< double > &  rOriginVariable,
const Variable< double > &  rDestinationVariable,
Kratos::Flags  MappingOptions 
)
inlineoverridevirtual

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)

Parameters
rOriginVariableVariable on the Origin-ModelPart
rDestinationVariableVariable on the Destination-ModelPart
MappingOptionsflags used to specify options for the mapping
See also
InverseMap

Implements Kratos::Mapper< TSparseSpace, TDenseSpace >.

◆ PrintData()

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

◆ PrintInfo()

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

◆ UpdateInterface()

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
void Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::UpdateInterface ( Kratos::Flags  MappingOptions,
double  SearchRadius 
)
inlineoverridevirtual

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.

Parameters
MappingOptionsflags used to specify how the update has to be done
SearchRadiussearch radius used for the search

Implements Kratos::Mapper< TSparseSpace, TDenseSpace >.

Reimplemented in Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >.

◆ ValidateInput()

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
void Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::ValidateInput ( )
inlineprotected

Friends And Related Function Documentation

◆ AccessorInterpolativeMapperBase< TMapperBackend >

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
friend class AccessorInterpolativeMapperBase< TMapperBackend >
friend

Member Data Documentation

◆ mMeshesAreConforming

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
int Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::mMeshesAreConforming = false
protected

◆ mpMappingMatrix

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
TMappingMatrixUniquePointerType Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::mpMappingMatrix
protected

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