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.
|
#include <interpolative_mapper_base.h>
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 | |
TMappingMatrixType & | GetMappingMatrix () 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 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... | |
Protected Member Functions | |
Protected Access | |
ModelPart & | GetOriginModelPart () |
This function origin model part. More... | |
ModelPart & | GetDestinationModelPart () |
This function destination model part. More... | |
Protected Member Functions inherited from Kratos::Mapper< TSparseSpace, TDenseSpace > | |
virtual double | GetVertexMorphingRadius (const NodeType &rNode) const |
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< Mapper > | MapperUniquePointerType |
typedef TSparseSpace::MatrixType | TMappingMatrixType |
typedef array_1d< double, 3 > | array_3d |
typedef Node | NodeType |
typedef Mapper<TSparseSpace, TDenseSpace> Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::BaseType |
typedef Variable<double> Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::ComponentVariableType |
typedef std::size_t Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::IndexType |
typedef Kratos::unique_ptr<InterfaceCommunicator> Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::InterfaceCommunicatorPointerType |
typedef TMapperBackend::InterfaceCommunicatorType Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::InterfaceCommunicatorType |
typedef Kratos::unique_ptr<InterfaceVectorContainerType> Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::InterfaceVectorContainerPointerType |
typedef InterfaceVectorContainer<TSparseSpace, TDenseSpace> Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::InterfaceVectorContainerType |
typedef InterfaceCommunicator::MapperInterfaceInfoUniquePointerType Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::MapperInterfaceInfoUniquePointerType |
typedef Kratos::unique_ptr<MapperLocalSystem> Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::MapperLocalSystemPointer |
typedef std::vector<MapperLocalSystemPointer> Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::MapperLocalSystemPointerVector |
typedef BaseType::MapperUniquePointerType Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::MapperUniquePointerType |
typedef BaseType::TMappingMatrixType Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::TMappingMatrixType |
typedef Kratos::unique_ptr<TMappingMatrixType> Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::TMappingMatrixUniquePointerType |
|
inline |
|
inline |
|
overridedefault |
Destructor.
|
inlineprotected |
This function destination model part.
|
inlineoverridevirtual |
This method returns the mapping-matrix.
Reimplemented from Kratos::Mapper< TSparseSpace, TDenseSpace >.
|
inlineprotected |
This function origin model part.
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::Mapper< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >, and Kratos::NearestElementMapper< TSparseSpace, TDenseSpace, TMapperBackend >.
|
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 >.
|
inlineoverridevirtual |
Mapping from Destination to Origin, Vector Variable Same as InveseMap, but maps an array3-variable.
Implements Kratos::Mapper< TSparseSpace, TDenseSpace >.
|
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.
rOriginVariable | Variable on the Origin-ModelPart |
rDestinationVariable | Variable on the Destination-ModelPart |
MappingOptions | flags used to specify options for the mapping |
Implements Kratos::Mapper< TSparseSpace, TDenseSpace >.
Kratos::InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend >::KRATOS_CLASS_POINTER_DEFINITION | ( | InterpolativeMapperBase< TSparseSpace, TDenseSpace, TMapperBackend > | ) |
Pointer definition of InterpolativeMapperBase.
|
inlineoverridevirtual |
Mapping from Origin to Destination, Vector Variable Same as Map, but maps an array3-variable.
Implements Kratos::Mapper< TSparseSpace, TDenseSpace >.
|
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)
rOriginVariable | Variable on the Origin-ModelPart |
rDestinationVariable | Variable on the Destination-ModelPart |
MappingOptions | flags used to specify options for the mapping |
Implements Kratos::Mapper< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Print object's data.
Reimplemented from Kratos::Mapper< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >, and Kratos::NearestElementMapper< TSparseSpace, TDenseSpace, TMapperBackend >.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::Mapper< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >, Kratos::NearestNeighborMapper< TSparseSpace, TDenseSpace, TMapperBackend >, and Kratos::NearestElementMapper< 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 |
Implements Kratos::Mapper< TSparseSpace, TDenseSpace >.
Reimplemented in Kratos::Projection3D2DMapper< TSparseSpace, TDenseSpace, TMapperBackend >.
|
inlineprotected |
|
friend |
|
protected |
|
protected |