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.
|
This mapper simplifies the mapping between two model parts thanks to the projection over a reference plane. More...
#include <projection_3D_2D_mapper.h>
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 | |
ModelPart & | Get2DModelPart () |
This method returns the 2D model part. More... | |
ModelPart & | Get3DModelPart () |
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... | |
TMappingMatrixType & | GetMappingMatrix () 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 ModelPart & | GetInterfaceModelPartOrigin () |
virtual ModelPart & | GetInterfaceModelPartDestination () |
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< BaseType > | BaseMapperUniquePointerType |
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 > | |
ModelPart & | GetOriginModelPart () |
This function origin model part. More... | |
ModelPart & | GetDestinationModelPart () |
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 |
This mapper simplifies the mapping between two model parts thanks to the projection over a reference plane.
typedef BarycentricMapper<TSparseSpace, TDenseSpace, TMapperBackend> Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >::BarycentricMapperType |
typedef Kratos::unique_ptr<BaseType> Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >::BaseMapperUniquePointerType |
typedef InterpolativeMapperBase<TSparseSpace, TDenseSpace, TMapperBackend> Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >::BaseType |
BaseType definitions.
typedef TMapperBackend::InterfaceCommunicatorType Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >::InterfaceCommunicatorType |
Interface definitions.
typedef InterfaceCommunicator::MapperInterfaceInfoUniquePointerType Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >::MapperInterfaceInfoUniquePointerType |
typedef BaseType::MapperUniquePointerType Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >::MapperUniquePointerType |
typedef NearestElementMapper<TSparseSpace, TDenseSpace, TMapperBackend> Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >::NearestElementMapperType |
typedef NearestNeighborMapper<TSparseSpace, TDenseSpace, TMapperBackend> Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >::NearestNeighborMapperType |
Other mappers definition.
typedef BaseType::TMappingMatrixType Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >::TMappingMatrixType |
|
strong |
|
inline |
|
inline |
|
overridedefault |
Destructor.
|
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.
Implements Kratos::Mapper< TSparseSpace, TDenseSpace >.
|
inline |
This method returns the 2D model part.
|
inline |
This method returns the 3D model part.
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >.
Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >::KRATOS_CLASS_POINTER_DEFINITION | ( | Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend > | ) |
Pointer definition of Projection3D2DMapper.
|
inlineoverridevirtual |
Print object's data.
Reimplemented from Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >.
|
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.
MappingOptions | flags used to specify how the update has to be done |
SearchRadius | search radius used for the search |
Reimplemented from Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >.