16 #if !defined(KRATOS_MAPPER_H_INCLUDED)
17 #define KRATOS_MAPPER_H_INCLUDED
41 template<
class TSparseSpace,
class TDenseSpace>
86 double SearchRadius) = 0;
161 KRATOS_ERROR <<
"This mapper doesn't implement \"GetMappingMatrix\"!" << std::endl;
166 KRATOS_ERROR <<
"This mapper doesn't implement \"GetInterfaceModelPartOrigin\"!" << std::endl;
171 KRATOS_ERROR <<
"This mapper doesn't implement \"GetInterfaceModelPartDestination\"!" << std::endl;
185 KRATOS_ERROR <<
"This mapper doesn't implement \"AreMeshesConforming\"!" << std::endl;
193 virtual std::string
Info()
const
201 rOStream <<
"Mapper";
207 rOStream <<
"Mapper working in: ";
208 if (TSparseSpace::IsDistributed()){
211 rOStream <<
"OpenMP";
218 template<
class TSparseSpace,
class TDenseSpace>
220 std::ostream& rOStream,
224 rOStream <<
":" << std::endl;
Base Class for all Mappers.
Definition: mapper.h:43
virtual ModelPart & GetInterfaceModelPartDestination()
Definition: mapper.h:169
TSparseSpace::MatrixType TMappingMatrixType
Definition: mapper.h:55
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....
virtual int AreMeshesConforming() const
Quering for mesh conformity This function is deprecated and will eventually be removed,...
Definition: mapper.h:183
Mapper()=default
Constructor.
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,...
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,...
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.
virtual void PrintData(std::ostream &rOStream) const
Print object's data.
Definition: mapper.h:205
virtual std::string Info() const
Turn back information as a string.
Definition: mapper.h:193
virtual void PrintInfo(std::ostream &rOStream) const
Print information about this object.
Definition: mapper.h:199
virtual TMappingMatrixType & GetMappingMatrix()
This method returns the mapping-matrix.
Definition: mapper.h:159
KRATOS_CLASS_POINTER_DEFINITION(Mapper)
Kratos::unique_ptr< Mapper > MapperUniquePointerType
Definition: mapper.h:53
virtual ModelPart & GetInterfaceModelPartOrigin()
Definition: mapper.h:164
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.
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...
virtual ~Mapper()=default
Destructor.
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
#define KRATOS_ERROR
Definition: exception.h:161
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::unique_ptr< T > unique_ptr
Definition: smart_pointers.h:33
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432