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

This utilitiy has as objective to interpolate the values inside elements (and conditions?) in a model part, using as input the original model part and the new one. More...

#include <nodal_values_interpolation_process.h>

Inheritance diagram for Kratos::NodalValuesInterpolationProcess< TDim >:
Collaboration diagram for Kratos::NodalValuesInterpolationProcess< TDim >:

Public Types

Enum's
enum class  FrameworkEulerLagrange { EULERIAN = 0 , LAGRANGIAN = 1 , ALE = 2 }
 This enums allows to differentiate the working framework. More...
 
- Public Types inherited from Kratos::Flags
enum  FlagsList {
  Flag0 = BlockType(1) , Flag1 = BlockType(1) << 1 , Flag2 = BlockType(1) << 2 , Flag3 = BlockType(1) << 3 ,
  Flag4 = BlockType(1) << 4 , Flag5 = BlockType(1) << 5 , Flag6 = BlockType(1) << 6 , Flag7 = BlockType(1) << 7 ,
  Flag8 = BlockType(1) << 8 , Flag9 = BlockType(1) << 9 , Flag10 = BlockType(1) << 10 , Flag11 = BlockType(1) << 11 ,
  Flag12 = BlockType(1) << 12 , Flag13 = BlockType(1) << 13 , Flag14 = BlockType(1) << 14 , Flag15 = BlockType(1) << 15 ,
  Flag16 = BlockType(1) << 16 , Flag17 = BlockType(1) << 17 , Flag18 = BlockType(1) << 18 , Flag19 = BlockType(1) << 19 ,
  Flag20 = BlockType(1) << 20 , Flag21 = BlockType(1) << 21 , Flag22 = BlockType(1) << 22 , Flag23 = BlockType(1) << 23 ,
  Flag24 = BlockType(1) << 24 , Flag25 = BlockType(1) << 25 , Flag26 = BlockType(1) << 26 , Flag27 = BlockType(1) << 27 ,
  Flag28 = BlockType(1) << 28 , Flag29 = BlockType(1) << 29 , Flag30 = BlockType(1) << 30
}
 
typedef int64_t BlockType
 
typedef int64_t FlagType
 
typedef std::size_t IndexType
 

Public Member Functions

Life Cycle
 NodalValuesInterpolationProcess (ModelPart &rOriginMainModelPart, ModelPart &rDestinationMainModelPart, Parameters ThisParameters=Parameters(R"({})"))
 The constructor of the search utility uses the following inputs: More...
 
 ~NodalValuesInterpolationProcess () override=default
 Destructor. More...
 
Operators
void operator() ()
 
Operations
void Execute () override
 We execute the search relative to the old and new model part. More...
 
const Parameters GetDefaultParameters () const override
 This method provides the defaults parameters to avoid conflicts between the different constructors. 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...
 
- Public Member Functions inherited from Kratos::Process
 KRATOS_CLASS_POINTER_DEFINITION (Process)
 Pointer definition of Process. More...
 
 Process ()
 Default constructor. More...
 
 Process (const Flags options)
 
 ~Process () override
 Destructor. More...
 
void operator() ()
 This operator is provided to call the process as a function and simply calls the Execute method. More...
 
virtual Process::Pointer Create (Model &rModel, Parameters ThisParameters)
 This method creates an pointer of the process. More...
 
virtual void ExecuteInitialize ()
 This function is designed for being called at the beginning of the computations right after reading the model and the groups. More...
 
virtual void ExecuteBeforeSolutionLoop ()
 This function is designed for being execute once before the solution loop but after all of the solvers where built. More...
 
virtual void ExecuteInitializeSolutionStep ()
 This function will be executed at every time step BEFORE performing the solve phase. More...
 
virtual void ExecuteFinalizeSolutionStep ()
 This function will be executed at every time step AFTER performing the solve phase. More...
 
virtual void ExecuteBeforeOutputStep ()
 This function will be executed at every time step BEFORE writing the output. More...
 
virtual void ExecuteAfterOutputStep ()
 This function will be executed at every time step AFTER writing the output. More...
 
virtual void ExecuteFinalize ()
 This function is designed for being called at the end of the computations. More...
 
virtual int Check ()
 This function is designed for being called after ExecuteInitialize ONCE to verify that the input is correct. More...
 
virtual void Clear ()
 This method clears the assignation of the conditions. More...
 
void PrintData (std::ostream &rOStream) const override
 Print object's data. More...
 
- Public Member Functions inherited from Kratos::Flags
Flagsoperator= (Flags const &rOther)
 Assignment operator. More...
 
 operator bool () const
 
Flags operator~ () const
 
bool operator! () const
 
void AssignFlags (Flags const &rOther)
 
void Set (const Flags ThisFlag)
 
void Set (const Flags ThisFlag, bool Value)
 
void Reset (const Flags ThisFlag)
 
void Flip (const Flags ThisFlag)
 
void SetPosition (IndexType Position, bool Value=true)
 
bool GetPosition (IndexType Position) const
 
void FlipPosition (IndexType Position)
 
void ClearPosition (IndexType Position)
 
void Clear ()
 
Flags AsFalse () const
 
bool Is (Flags const &rOther) const
 
bool IsDefined (Flags const &rOther) const
 
bool IsNot (Flags const &rOther) const
 
bool IsNotDefined (Flags const &rOther) const
 
 KRATOS_CLASS_POINTER_DEFINITION (Flags)
 Pointer definition of Flags. More...
 
const Flagsoperator|= (const Flags &Other)
 
const Flagsoperator&= (const Flags &Other)
 
 Flags ()
 Default constructor. More...
 
 Flags (Flags const &rOther)
 Copy constructor. More...
 
virtual ~Flags ()
 Destructor. More...
 

Type Definitions

typedef ModelPart::NodesContainerType NodesArrayType
 
typedef ModelPart::ElementsContainerType ElementsArrayType
 
typedef ModelPart::ConditionsContainerType ConditionsArrayType
 
typedef Node NodeType
 
typedef Geometry< NodeTypeGeometryType
 
typedef Point PointType
 
typedef PointType::CoordinatesArrayType CoordinatesArrayType
 
typedef PointBoundary PointBoundaryType
 
typedef PointBoundaryType::Pointer PointTypePointer
 
typedef std::vector< PointTypePointerPointVector
 
typedef PointVector::iterator PointIterator
 
typedef std::vector< doubleDistanceVector
 
typedef DistanceVector::iterator DistanceIterator
 
typedef Bucket< 3ul, PointBoundaryType, PointVector, PointTypePointer, PointIterator, DistanceIteratorBucketType
 
typedef Tree< KDTreePartition< BucketType > > KDTreeType
 
 KRATOS_CLASS_POINTER_DEFINITION (NodalValuesInterpolationProcess)
 Pointer definition of NodalValuesInterpolationProcess. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Kratos::Flags
static const Flags AllDefined ()
 
static const Flags AllTrue ()
 
static Flags Create (IndexType ThisPosition, bool Value=true)
 

Detailed Description

template<SizeType TDim>
class Kratos::NodalValuesInterpolationProcess< TDim >

This utilitiy has as objective to interpolate the values inside elements (and conditions?) in a model part, using as input the original model part and the new one.

The process employs the projection.h from MeshingApplication, which works internally using a kd-tree. Additionally if it can't found the node inside the reference mesh it will try to extrapolate from the skin (if the option is activated)

Author
Vicente Mataix Ferrandiz

Member Typedef Documentation

◆ BucketType

◆ ConditionsArrayType

◆ CoordinatesArrayType

◆ DistanceIterator

template<SizeType TDim>
typedef DistanceVector::iterator Kratos::NodalValuesInterpolationProcess< TDim >::DistanceIterator

◆ DistanceVector

template<SizeType TDim>
typedef std::vector<double> Kratos::NodalValuesInterpolationProcess< TDim >::DistanceVector

◆ ElementsArrayType

◆ GeometryType

template<SizeType TDim>
typedef Geometry<NodeType> Kratos::NodalValuesInterpolationProcess< TDim >::GeometryType

◆ KDTreeType

◆ NodesArrayType

◆ NodeType

template<SizeType TDim>
typedef Node Kratos::NodalValuesInterpolationProcess< TDim >::NodeType

◆ PointBoundaryType

◆ PointIterator

template<SizeType TDim>
typedef PointVector::iterator Kratos::NodalValuesInterpolationProcess< TDim >::PointIterator

◆ PointType

template<SizeType TDim>
typedef Point Kratos::NodalValuesInterpolationProcess< TDim >::PointType

◆ PointTypePointer

template<SizeType TDim>
typedef PointBoundaryType::Pointer Kratos::NodalValuesInterpolationProcess< TDim >::PointTypePointer

◆ PointVector

template<SizeType TDim>
typedef std::vector<PointTypePointer> Kratos::NodalValuesInterpolationProcess< TDim >::PointVector

Member Enumeration Documentation

◆ FrameworkEulerLagrange

This enums allows to differentiate the working framework.

Enumerator
EULERIAN 
LAGRANGIAN 
ALE 

Constructor & Destructor Documentation

◆ NodalValuesInterpolationProcess()

template<SizeType TDim>
Kratos::NodalValuesInterpolationProcess< TDim >::NodalValuesInterpolationProcess ( ModelPart rOriginMainModelPart,
ModelPart rDestinationMainModelPart,
Parameters  ThisParameters = Parameters(R"({})") 
)

The constructor of the search utility uses the following inputs:

Parameters
rOriginMainModelPartThe model part from where interpolate values
rDestinationMainModelPartThe model part where we want to interpolate the values
ThisParametersThe parameters containing all the information needed

◆ ~NodalValuesInterpolationProcess()

template<SizeType TDim>
Kratos::NodalValuesInterpolationProcess< TDim >::~NodalValuesInterpolationProcess ( )
overridedefault

Destructor.

Member Function Documentation

◆ Execute()

template<SizeType TDim>
void Kratos::NodalValuesInterpolationProcess< TDim >::Execute
overridevirtual

We execute the search relative to the old and new model part.

Reimplemented from Kratos::Process.

◆ GetDefaultParameters()

template<SizeType TDim>
const Parameters Kratos::NodalValuesInterpolationProcess< TDim >::GetDefaultParameters
overridevirtual

This method provides the defaults parameters to avoid conflicts between the different constructors.

Reimplemented from Kratos::Process.

◆ Info()

template<SizeType TDim>
std::string Kratos::NodalValuesInterpolationProcess< TDim >::Info ( ) const
inlineoverridevirtual

Turn back information as a string.

Reimplemented from Kratos::Process.

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<SizeType TDim>
Kratos::NodalValuesInterpolationProcess< TDim >::KRATOS_CLASS_POINTER_DEFINITION ( NodalValuesInterpolationProcess< TDim >  )

Pointer definition of NodalValuesInterpolationProcess.

◆ operator()()

template<SizeType TDim>
void Kratos::NodalValuesInterpolationProcess< TDim >::operator() ( )
inline

◆ PrintInfo()

template<SizeType TDim>
void Kratos::NodalValuesInterpolationProcess< TDim >::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

Reimplemented from Kratos::Process.


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