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

#include <coupling_geometry_mapper.h>

Inheritance diagram for Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >:
Collaboration diagram for Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >:

Public Member Functions

Life Cycle
 CouplingGeometryMapper (ModelPart &rModelPartOrigin, ModelPart &rModelPartDestination)
 
 CouplingGeometryMapper (ModelPart &rModelPartOrigin, ModelPart &rModelPartDestination, Parameters JsonParameters)
 
 ~CouplingGeometryMapper () 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
MappingMatrixTypeGetMappingMatrix () override
 This method returns the mapping-matrix. More...
 
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...
 
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...
 
ModelPartGetInterfaceModelPartOrigin () override
 
ModelPartGetInterfaceModelPartDestination () override
 
- 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 Initialize ()
 
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 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...
 

Pointer Definitions

Pointer definition of CouplingGeometryMapper

typedef Mapper< TSparseSpace, TDenseSpace > BaseType
 
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 MappingMatrixType
 
typedef Kratos::unique_ptr< MappingMatrixTypeMappingMatrixUniquePointerType
 
typedef LinearSolver< TSparseSpace, TDenseSpace > LinearSolverType
 
typedef Kratos::shared_ptr< LinearSolverTypeLinearSolverSharedPointerType
 
typedef TSparseSpace::VectorType TSystemVectorType
 
typedef Kratos::unique_ptr< TSystemVectorTypeTSystemVectorUniquePointerType
 
 KRATOS_CLASS_POINTER_DEFINITION (CouplingGeometryMapper)
 

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
 
- Protected Member Functions inherited from Kratos::Mapper< TSparseSpace, TDenseSpace >
virtual double GetVertexMorphingRadius (const NodeType &rNode) const
 

Member Typedef Documentation

◆ BaseType

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

◆ IndexType

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

◆ InterfaceVectorContainerPointerType

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

◆ InterfaceVectorContainerType

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

◆ LinearSolverSharedPointerType

template<class TSparseSpace , class TDenseSpace >
typedef Kratos::shared_ptr<LinearSolverType> Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >::LinearSolverSharedPointerType

◆ LinearSolverType

template<class TSparseSpace , class TDenseSpace >
typedef LinearSolver<TSparseSpace, TDenseSpace> Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >::LinearSolverType

◆ MapperLocalSystemPointer

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

◆ MapperLocalSystemPointerVector

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

◆ MapperUniquePointerType

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

◆ MappingMatrixType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::TMappingMatrixType Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >::MappingMatrixType

◆ MappingMatrixUniquePointerType

template<class TSparseSpace , class TDenseSpace >
typedef Kratos::unique_ptr<MappingMatrixType> Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >::MappingMatrixUniquePointerType

◆ TSystemVectorType

template<class TSparseSpace , class TDenseSpace >
typedef TSparseSpace::VectorType Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >::TSystemVectorType

◆ TSystemVectorUniquePointerType

template<class TSparseSpace , class TDenseSpace >
typedef Kratos::unique_ptr<TSystemVectorType> Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >::TSystemVectorUniquePointerType

Constructor & Destructor Documentation

◆ CouplingGeometryMapper() [1/2]

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

◆ CouplingGeometryMapper() [2/2]

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

◆ ~CouplingGeometryMapper()

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

Destructor.

Member Function Documentation

◆ Clone()

template<class TSparseSpace , class TDenseSpace >
MapperUniquePointerType Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >::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 >.

◆ GetInterfaceModelPartDestination()

template<class TSparseSpace , class TDenseSpace >
ModelPart& Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >::GetInterfaceModelPartDestination ( )
inlineoverridevirtual

◆ GetInterfaceModelPartOrigin()

template<class TSparseSpace , class TDenseSpace >
ModelPart& Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >::GetInterfaceModelPartOrigin ( )
inlineoverridevirtual

◆ GetMappingMatrix()

template<class TSparseSpace , class TDenseSpace >
MappingMatrixType& Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >::GetMappingMatrix ( )
inlineoverridevirtual

This method returns the mapping-matrix.

Returns
Reference to the mapping-matrix

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

◆ Info()

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

Turn back information as a string.

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

◆ InverseMap() [1/2]

template<class TSparseSpace , class TDenseSpace >
void Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >::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 >
void Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >::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 >
Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >::KRATOS_CLASS_POINTER_DEFINITION ( CouplingGeometryMapper< TSparseSpace, TDenseSpace >  )

◆ Map() [1/2]

template<class TSparseSpace , class TDenseSpace >
void Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >::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 >
void Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >::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 >
void Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

Print object's data.

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

◆ PrintInfo()

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

Print information about this object.

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

◆ UpdateInterface()

template<class TSparseSpace , class TDenseSpace >
void Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >::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 >.


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