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.
|
Base Class for all Mappers. More...
#include <mapper.h>
Public Member Functions | |
Life Cycle | |
Mapper ()=default | |
Constructor. More... | |
virtual | ~Mapper ()=default |
Destructor. More... | |
Mapper () | |
Default constructor. More... | |
virtual | ~Mapper () |
Destructor. More... | |
Operations | |
virtual void | UpdateInterface (Kratos::Flags MappingOptions, double SearchRadius)=0 |
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... | |
virtual void | Map (const Variable< double > &rOriginVariable, const Variable< double > &rDestinationVariable, Kratos::Flags MappingOptions)=0 |
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... | |
virtual void | Map (const Variable< array_1d< double, 3 > > &rOriginVariable, const Variable< array_1d< double, 3 > > &rDestinationVariable, Kratos::Flags MappingOptions)=0 |
Mapping from Origin to Destination, Vector Variable Same as Map, but maps an array3-variable. More... | |
virtual void | InverseMap (const Variable< double > &rOriginVariable, const Variable< double > &rDestinationVariable, Kratos::Flags MappingOptions)=0 |
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... | |
virtual void | InverseMap (const Variable< array_1d< double, 3 > > &rOriginVariable, const Variable< array_1d< double, 3 > > &rDestinationVariable, Kratos::Flags MappingOptions)=0 |
Mapping from Destination to Origin, Vector Variable Same as InveseMap, but maps an array3-variable. 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 | 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 |
Access | |
virtual TMappingMatrixType & | GetMappingMatrix () |
This method returns the mapping-matrix. More... | |
virtual ModelPart & | GetInterfaceModelPartOrigin () |
virtual ModelPart & | GetInterfaceModelPartDestination () |
Inquiry | |
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... | |
Input and output | |
virtual std::string | Info () const |
Turn back information as a string. More... | |
virtual void | PrintInfo (std::ostream &rOStream) const |
Print information about this object. More... | |
virtual void | PrintData (std::ostream &rOStream) const |
Print object's data. More... | |
virtual std::string | Info () const |
Turn back information as a string. More... | |
virtual void | PrintInfo (std::ostream &rOStream) const |
Print information about this object. More... | |
virtual void | PrintData (std::ostream &rOStream) const |
Print object's data. More... | |
Protected Member Functions | |
Protected Operators | |
virtual double | GetVertexMorphingRadius (const NodeType &rNode) const |
Pointer Definitions | |
Pointer definition of Mapper | |
typedef Kratos::unique_ptr< Mapper > | MapperUniquePointerType |
typedef TSparseSpace::MatrixType | TMappingMatrixType |
KRATOS_CLASS_POINTER_DEFINITION (Mapper) | |
Type Definitions | |
typedef array_1d< double, 3 > | array_3d |
typedef Node | NodeType |
KRATOS_CLASS_POINTER_DEFINITION (Mapper) | |
Pointer definition of Mapper. More... | |
Base Class for all Mappers.
Short class definition.
This is the base class for every mapper. This is the equivalent to a Kratos-SolvingStrategy. It provides the basic interface for the mapping operations
Detail class definition.
typedef array_1d<double,3> Kratos::Mapper< TSparseSpace, TDenseSpace >::array_3d |
typedef Kratos::unique_ptr<Mapper> Kratos::Mapper< TSparseSpace, TDenseSpace >::MapperUniquePointerType |
typedef Node Kratos::Mapper< TSparseSpace, TDenseSpace >::NodeType |
typedef TSparseSpace::MatrixType Kratos::Mapper< TSparseSpace, TDenseSpace >::TMappingMatrixType |
|
default |
Constructor.
|
virtualdefault |
Destructor.
|
inline |
Default constructor.
|
inlinevirtual |
Destructor.
|
inlinevirtual |
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 in Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >.
|
pure virtual |
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.
Implemented in Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::NearestElementMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >, and Kratos::BarycentricMapper< TSparseSpace, TDenseSpace, TMapperBackend >.
|
inlinevirtual |
Reimplemented in Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >.
|
inlinevirtual |
Reimplemented in Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >.
|
inlinevirtual |
This method returns the mapping-matrix.
Reimplemented in Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >, and Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >.
|
inlineprotectedvirtual |
Reimplemented in Kratos::MapperVertexMorphing.
|
inlinevirtual |
Turn back information as a string.
Reimplemented in Kratos::MapperVertexMorphingSymmetric, Kratos::MapperVertexMorphingMatrixFree, Kratos::MapperVertexMorphingImprovedIntegration, Kratos::MapperVertexMorphing, Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::NearestElementMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >, and Kratos::BarycentricMapper< TSparseSpace, TDenseSpace, TMapperBackend >.
|
inlinevirtual |
Turn back information as a string.
Reimplemented in Kratos::MapperVertexMorphingSymmetric, Kratos::MapperVertexMorphingMatrixFree, Kratos::MapperVertexMorphingImprovedIntegration, Kratos::MapperVertexMorphing, Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::NearestElementMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >, and Kratos::BarycentricMapper< TSparseSpace, TDenseSpace, TMapperBackend >.
|
inlinevirtual |
|
pure virtual |
Mapping from Destination to Origin, Vector Variable Same as InveseMap, but maps an array3-variable.
Implemented in Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >, and Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >.
|
pure virtual |
|
pure virtual |
|
pure virtual |
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.
rOriginVariable | Variable on the Origin-ModelPart |
rDestinationVariable | Variable on the Destination-ModelPart |
MappingOptions | flags used to specify options for the mapping |
Implemented in Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >, and Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >.
Kratos::Mapper< TSparseSpace, TDenseSpace >::KRATOS_CLASS_POINTER_DEFINITION | ( | Mapper< TSparseSpace, TDenseSpace > | ) |
Pointer definition of Mapper.
Kratos::Mapper< TSparseSpace, TDenseSpace >::KRATOS_CLASS_POINTER_DEFINITION | ( | Mapper< TSparseSpace, TDenseSpace > | ) |
|
pure virtual |
Mapping from Origin to Destination, Vector Variable Same as Map, but maps an array3-variable.
Implemented in Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >, and Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >.
|
pure virtual |
|
pure virtual |
|
pure virtual |
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)
rOriginVariable | Variable on the Origin-ModelPart |
rDestinationVariable | Variable on the Destination-ModelPart |
MappingOptions | flags used to specify options for the mapping |
Implemented in Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >, and Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >.
|
inlinevirtual |
Print object's data.
Reimplemented in Kratos::MapperVertexMorphingSymmetric, Kratos::MapperVertexMorphingMatrixFree, Kratos::MapperVertexMorphingImprovedIntegration, Kratos::MapperVertexMorphing, Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::NearestElementMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >, and Kratos::BarycentricMapper< TSparseSpace, TDenseSpace, TMapperBackend >.
|
inlinevirtual |
Print object's data.
Reimplemented in Kratos::MapperVertexMorphingSymmetric, Kratos::MapperVertexMorphingMatrixFree, Kratos::MapperVertexMorphingImprovedIntegration, Kratos::MapperVertexMorphing, Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::NearestElementMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >, and Kratos::BarycentricMapper< TSparseSpace, TDenseSpace, TMapperBackend >.
|
inlinevirtual |
Print information about this object.
Reimplemented in Kratos::MapperVertexMorphingSymmetric, Kratos::MapperVertexMorphingMatrixFree, Kratos::MapperVertexMorphingImprovedIntegration, Kratos::MapperVertexMorphing, Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::NearestElementMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >, and Kratos::BarycentricMapper< TSparseSpace, TDenseSpace, TMapperBackend >.
|
inlinevirtual |
Print information about this object.
Reimplemented in Kratos::MapperVertexMorphingSymmetric, Kratos::MapperVertexMorphingMatrixFree, Kratos::MapperVertexMorphingImprovedIntegration, Kratos::MapperVertexMorphing, Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::NearestElementMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >, and Kratos::BarycentricMapper< TSparseSpace, TDenseSpace, TMapperBackend >.
|
inlinevirtual |
|
pure virtual |
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 |
Implemented in Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >, and Kratos::CouplingGeometryMapper< TSparseSpace, TDenseSpace >.