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

This mapper simplifies the mapping between two model parts thanks to the projection over a reference plane. More...

#include <projection_3D_2D_mapper.h>

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

Public Types

Enum's
enum class  EntityTypeMesh { NONE , CONDITIONS , ELEMENTS }
 Entity type mesh considered. More...
 
- 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
 

Public Member Functions

Life Cycle
 Projection3D2DMapper (ModelPart &rModelPartOrigin, ModelPart &rModelPartDestination)
 
 Projection3D2DMapper (ModelPart &rModelPartOrigin, ModelPart &rModelPartDestination, Parameters JsonParameters)
 
 ~Projection3D2DMapper () 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...
 
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...
 
Access
ModelPartGet2DModelPart ()
 This method returns the 2D model part. More...
 
ModelPartGet3DModelPart ()
 This method returns the 3D model part. 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 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 ()
 
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...
 

Type Definitions

typedef InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend > BaseType
 BaseType definitions. More...
 
typedef Kratos::unique_ptr< BaseTypeBaseMapperUniquePointerType
 
typedef BaseType::TMappingMatrixType TMappingMatrixType
 
typedef BaseType::MapperUniquePointerType MapperUniquePointerType
 
typedef TMapperBackend::InterfaceCommunicatorType InterfaceCommunicatorType
 Interface definitions. More...
 
typedef InterfaceCommunicator::MapperInterfaceInfoUniquePointerType MapperInterfaceInfoUniquePointerType
 
typedef NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend > NearestNeighborMapperType
 Other mappers definition. More...
 
typedef NearestElementMapper< TSparseSpace, TDenseSpace, TMapperBackend > NearestElementMapperType
 
typedef BarycentricMapper< TSparseSpace, TDenseSpace, TMapperBackend > BarycentricMapperType
 
 KRATOS_CLASS_POINTER_DEFINITION (Projection3D2DMapper)
 Pointer definition of Projection3D2DMapper. More...
 

Additional Inherited Members

- 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::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >

This mapper simplifies the mapping between two model parts thanks to the projection over a reference plane.

Author
Vicente Mataix Ferrandiz

Member Typedef Documentation

◆ BarycentricMapperType

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
typedef BarycentricMapper<TSparseSpace, TDenseSpace, TMapperBackend> Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >::BarycentricMapperType

◆ BaseMapperUniquePointerType

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
typedef Kratos::unique_ptr<BaseType> Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >::BaseMapperUniquePointerType

◆ BaseType

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

BaseType definitions.

◆ InterfaceCommunicatorType

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

Interface definitions.

◆ MapperInterfaceInfoUniquePointerType

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

◆ MapperUniquePointerType

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

◆ NearestElementMapperType

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
typedef NearestElementMapper<TSparseSpace, TDenseSpace, TMapperBackend> Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >::NearestElementMapperType

◆ NearestNeighborMapperType

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
typedef NearestNeighborMapper<TSparseSpace, TDenseSpace, TMapperBackend> Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >::NearestNeighborMapperType

Other mappers definition.

◆ TMappingMatrixType

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

Member Enumeration Documentation

◆ EntityTypeMesh

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
enum Kratos::Projection3D2DMapper::EntityTypeMesh
strong

Entity type mesh considered.

Enumerator
NONE 
CONDITIONS 
ELEMENTS 

Constructor & Destructor Documentation

◆ Projection3D2DMapper() [1/2]

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

◆ Projection3D2DMapper() [2/2]

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

◆ ~Projection3D2DMapper()

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

Destructor.

Member Function Documentation

◆ Clone()

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

◆ Get2DModelPart()

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
ModelPart& Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >::Get2DModelPart ( )
inline

This method returns the 2D model part.

Returns
The 2D model part

◆ Get3DModelPart()

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
ModelPart& Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >::Get3DModelPart ( )
inline

This method returns the 3D model part.

Returns
The 3D model part

◆ Info()

template<class TSparseSpace , class TDenseSpace , class TMapperBackend >
std::string Kratos::Projection3D2DMapper< 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::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >::KRATOS_CLASS_POINTER_DEFINITION ( Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >  )

Pointer definition of Projection3D2DMapper.

◆ PrintData()

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

◆ PrintInfo()

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

Print information about this object.

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

◆ UpdateInterface()

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

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


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