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::BinBasedMeshTransfer< TDim > Class Template Reference

This class allows the interpolation between non-matching meshes in 2D and 3D. More...

#include <binbased_projection.h>

Collaboration diagram for Kratos::BinBasedMeshTransfer< TDim >:

Public Member Functions

Life Cycle
 BinBasedMeshTransfer ()=default
 Default constructor. More...
 
virtual ~BinBasedMeshTransfer ()=default
 Destructor. More...
 
Operations
void DirectInterpolation (ModelPart &rOrigin_ModelPart, ModelPart &rDestination_ModelPart)
 Interpolate the whole problem type. More...
 
template<class TDataType >
void DirectVariableInterpolation (ModelPart &rFixed_ModelPart, ModelPart &rMoving_ModelPart, Variable< TDataType > &rFixedDomainVariable, Variable< TDataType > &rMovingDomainVariable, BinBasedFastPointLocator< TDim > &node_locator)
 Interpolate one variable from the fixed mesh to the moving one. More...
 
template<class TDataType >
void MappingFromMovingMesh (ModelPart &rMoving_ModelPart, ModelPart &rFixed_ModelPart, Variable< TDataType > &rMovingDomainVariable, Variable< TDataType > &rFixedDomainVariable, BinBasedFastPointLocator< TDim > &node_locator)
 
template<class TDataType >
void MappingFromMovingMesh_VariableMeshes (ModelPart &rMoving_ModelPart, ModelPart &rFixed_ModelPart, Variable< TDataType > &rMovingDomainVariable, Variable< TDataType > &rFixedDomainVariable, BinBasedNodesInElementLocator< TDim > &node_locator)
 Interpolate one variable from the moving mesh to the fixed one. More...
 
Input and output
virtual std::string Info () const
 Turn back information as a stemplate<class T, std::size_t dim> tring. 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...
 

Type Definitions

typedef Node NodeType
 Node type definition. More...
 
typedef Geometry< NodeTypeGeometryType
 
 KRATOS_CLASS_POINTER_DEFINITION (BinBasedMeshTransfer< TDim >)
 Pointer definition of BinBasedMeshTransfer. More...
 

Detailed Description

template<std::size_t TDim>
class Kratos::BinBasedMeshTransfer< TDim >

This class allows the interpolation between non-matching meshes in 2D and 3D.

Author
Antonia Larese De Tetto antol.nosp@m.dt@c.nosp@m.imne..nosp@m.upc..nosp@m.edu

This class allows the interpolation of a scalar or vectorial variable between non-matching meshes in 2D and 3D.

For every node of the destination model part it is checked in which element of the origin model part it is contained and a linear interpolation is performed

The data structure used by default is static bin. In order to use this utility the construction of a bin of object

See also
BinBasedNodesInElementLocator and a bin of nodes
BinBasedFastPointLocator is required at the beginning of the calculation (only ONCE).

Member Typedef Documentation

◆ GeometryType

template<std::size_t TDim>
typedef Geometry<NodeType> Kratos::BinBasedMeshTransfer< TDim >::GeometryType

◆ NodeType

template<std::size_t TDim>
typedef Node Kratos::BinBasedMeshTransfer< TDim >::NodeType

Node type definition.

Constructor & Destructor Documentation

◆ BinBasedMeshTransfer()

template<std::size_t TDim>
Kratos::BinBasedMeshTransfer< TDim >::BinBasedMeshTransfer ( )
default

Default constructor.

◆ ~BinBasedMeshTransfer()

template<std::size_t TDim>
virtual Kratos::BinBasedMeshTransfer< TDim >::~BinBasedMeshTransfer ( )
virtualdefault

Destructor.

Member Function Documentation

◆ DirectInterpolation()

template<std::size_t TDim>
void Kratos::BinBasedMeshTransfer< TDim >::DirectInterpolation ( ModelPart rOrigin_ModelPart,
ModelPart rDestination_ModelPart 
)
inline

Interpolate the whole problem type.

Parameters
rOrigin_ModelPartthe model part all the variable should be taken from
rDestination_ModelPartthe destination model part where we want to know the values of the variables

◆ DirectVariableInterpolation()

template<std::size_t TDim>
template<class TDataType >
void Kratos::BinBasedMeshTransfer< TDim >::DirectVariableInterpolation ( ModelPart rFixed_ModelPart,
ModelPart rMoving_ModelPart,
Variable< TDataType > &  rFixedDomainVariable,
Variable< TDataType > &  rMovingDomainVariable,
BinBasedFastPointLocator< TDim > &  node_locator 
)
inline

Interpolate one variable from the fixed mesh to the moving one.

Parameters
rFixed_ModelPartthe model part all the variable should be taken from
rMoving_ModelPartthe destination model part where we want to know the values of the variables
rFixedDomainVariablethe name of the interpolated variable in the origin model part
rMovingDomainVariablethe name of the interpolated variable in the destination model part
node_locatorprecomputed bin of objects. It is to be constructed separately
See also
binbased_fast_point_locator.h

◆ Info()

template<std::size_t TDim>
virtual std::string Kratos::BinBasedMeshTransfer< TDim >::Info ( ) const
inlinevirtual

Turn back information as a stemplate<class T, std::size_t dim> tring.

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<std::size_t TDim>
Kratos::BinBasedMeshTransfer< TDim >::KRATOS_CLASS_POINTER_DEFINITION ( BinBasedMeshTransfer< TDim >  )

Pointer definition of BinBasedMeshTransfer.

◆ MappingFromMovingMesh()

template<std::size_t TDim>
template<class TDataType >
void Kratos::BinBasedMeshTransfer< TDim >::MappingFromMovingMesh ( ModelPart rMoving_ModelPart,
ModelPart rFixed_ModelPart,
Variable< TDataType > &  rMovingDomainVariable,
Variable< TDataType > &  rFixedDomainVariable,
BinBasedFastPointLocator< TDim > &  node_locator 
)
inline

Map one variable from the moving mesh to the fixed one -The two meshes should be of the same dimensions otherwise better to use MappingFromMovingMesh_VariableMeshes that is a much generic tool.

Parameters
rFixed_ModelPartthe model part all the variable should be taken from
rMoving_ModelPartthe destination model part where we want to know the values of the variables
rFixedDomainVariablethe name of the interpolated variable in the origin model part
rMovingDomainVariablethe name of the interpolated variable in the destination model part
node_locatorprecomputed bin of objects (elelments of the fixed mesh). It is to be constructed separately
See also
binbased_nodes_in_element_locator

◆ MappingFromMovingMesh_VariableMeshes()

template<std::size_t TDim>
template<class TDataType >
void Kratos::BinBasedMeshTransfer< TDim >::MappingFromMovingMesh_VariableMeshes ( ModelPart rMoving_ModelPart,
ModelPart rFixed_ModelPart,
Variable< TDataType > &  rMovingDomainVariable,
Variable< TDataType > &  rFixedDomainVariable,
BinBasedNodesInElementLocator< TDim > &  node_locator 
)
inline

Interpolate one variable from the moving mesh to the fixed one.

Parameters
rFixed_ModelPartthe model part all the variable should be taken from
rMoving_ModelPartthe destination model part where we want to know the values of the variables
rFixedDomainVariablethe name of the interpolated variable in the origin model part
rMovingDomainVariablethe name of the interpolated variable in the destination model part
node_locatorprecomputed bin of nodes of the fixed mesh. It is to be constructed separately
See also
binbased_nodes_in_element_locator

◆ PrintData()

template<std::size_t TDim>
virtual void Kratos::BinBasedMeshTransfer< TDim >::PrintData ( std::ostream &  rOStream) const
inlinevirtual

Print object's data.

◆ PrintInfo()

template<std::size_t TDim>
virtual void Kratos::BinBasedMeshTransfer< TDim >::PrintInfo ( std::ostream &  rOStream) const
inlinevirtual

Print information about this object.


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