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::NormalGapProcess< TDim, TNumNodes, TNumNodesMaster > Class Template Reference

This process computes the normal gap. More...

#include <normal_gap_process.h>

Inheritance diagram for Kratos::NormalGapProcess< TDim, TNumNodes, TNumNodesMaster >:
Collaboration diagram for Kratos::NormalGapProcess< TDim, TNumNodes, TNumNodesMaster >:

Public Member Functions

Life Cycle
 NormalGapProcess (ModelPart &rMasterModelPart, ModelPart &rSlaveModelPart, const bool SearchOrientation=true)
 The constructor of the normal gap process uses the following inputs: More...
 
virtual ~NormalGapProcess ()=default
 
Operations
void operator() ()
 
void Execute () override
 Execute method is used to execute the Process algorithms. 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...
 
virtual const Parameters GetDefaultParameters () const
 This method provides the defaults parameters to avoid conflicts between the different constructors. 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...
 

Protected Attributes

Protected member Variables
ModelPartmrMasterModelPart
 
ModelPartmrSlaveModelPart
 The master model part to be considered. More...
 
const bool mSearchOrientation
 The slave model part to be considered. More...
 

Type Definitions

using MapperType = SimpleMortarMapperProcess< TDim, TNumNodes, Variable< array_1d< double, 3 > >, TNumNodesMaster >
 The type of mapper considered. More...
 
using NodesArrayType = ModelPart::NodesContainerType
 General type definitions. More...
 
static constexpr double ZeroTolerance = std::numeric_limits<double>::epsilon()
 The definition of zero tolerance. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (NormalGapProcess)
 Pointer definition of NormalGapProcess. More...
 

Protected Operations

static void SwitchFlagNodes (NodesArrayType &rNodes)
 This method switchs the flag of an array of nodes. More...
 
void ComputeNormalGap (NodesArrayType &rNodes)
 This method computes the normal gap. More...
 

Additional Inherited Members

- 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
 
- 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, SizeType TNumNodes, SizeType TNumNodesMaster = TNumNodes>
class Kratos::NormalGapProcess< TDim, TNumNodes, TNumNodesMaster >

This process computes the normal gap.

Author
Vicente Mataix Ferrandiz
Template Parameters
TDimThe dimension of work
TNumNodesThe number of nodes of the slave
TNumNodesMasterThe number of nodes of the master

Member Typedef Documentation

◆ MapperType

template<SizeType TDim, SizeType TNumNodes, SizeType TNumNodesMaster = TNumNodes>
using Kratos::NormalGapProcess< TDim, TNumNodes, TNumNodesMaster >::MapperType = SimpleMortarMapperProcess<TDim, TNumNodes, Variable<array_1d<double, 3> >, TNumNodesMaster>

The type of mapper considered.

◆ NodesArrayType

template<SizeType TDim, SizeType TNumNodes, SizeType TNumNodesMaster = TNumNodes>
using Kratos::NormalGapProcess< TDim, TNumNodes, TNumNodesMaster >::NodesArrayType = ModelPart::NodesContainerType

General type definitions.

Constructor & Destructor Documentation

◆ NormalGapProcess()

template<SizeType TDim, SizeType TNumNodes, SizeType TNumNodesMaster = TNumNodes>
Kratos::NormalGapProcess< TDim, TNumNodes, TNumNodesMaster >::NormalGapProcess ( ModelPart rMasterModelPart,
ModelPart rSlaveModelPart,
const bool  SearchOrientation = true 
)
inline

The constructor of the normal gap process uses the following inputs:

Parameters
rMasterModelPartThe master model part to be considered
rSlaveModelPartThe slave model part to be considered

◆ ~NormalGapProcess()

template<SizeType TDim, SizeType TNumNodes, SizeType TNumNodesMaster = TNumNodes>
virtual Kratos::NormalGapProcess< TDim, TNumNodes, TNumNodesMaster >::~NormalGapProcess ( )
virtualdefault

Member Function Documentation

◆ ComputeNormalGap()

template<SizeType TDim, SizeType TNumNodes, SizeType TNumNodesMaster>
void Kratos::NormalGapProcess< TDim, TNumNodes, TNumNodesMaster >::ComputeNormalGap ( NodesArrayType rNodes)
protected

This method computes the normal gap.

Parameters
rNodesThe set of nodes where the gap is computed

◆ Execute()

template<SizeType TDim, SizeType TNumNodes, SizeType TNumNodesMaster>
void Kratos::NormalGapProcess< TDim, TNumNodes, TNumNodesMaster >::Execute
overridevirtual

Execute method is used to execute the Process algorithms.

Reimplemented from Kratos::Process.

◆ Info()

template<SizeType TDim, SizeType TNumNodes, SizeType TNumNodesMaster = TNumNodes>
std::string Kratos::NormalGapProcess< TDim, TNumNodes, TNumNodesMaster >::Info ( ) const
inlineoverridevirtual

Turn back information as a string.

Reimplemented from Kratos::Process.

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<SizeType TDim, SizeType TNumNodes, SizeType TNumNodesMaster = TNumNodes>
Kratos::NormalGapProcess< TDim, TNumNodes, TNumNodesMaster >::KRATOS_CLASS_POINTER_DEFINITION ( NormalGapProcess< TDim, TNumNodes, TNumNodesMaster >  )

Pointer definition of NormalGapProcess.

◆ operator()()

template<SizeType TDim, SizeType TNumNodes, SizeType TNumNodesMaster = TNumNodes>
void Kratos::NormalGapProcess< TDim, TNumNodes, TNumNodesMaster >::operator() ( )
inline

◆ PrintInfo()

template<SizeType TDim, SizeType TNumNodes, SizeType TNumNodesMaster = TNumNodes>
void Kratos::NormalGapProcess< TDim, TNumNodes, TNumNodesMaster >::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

Reimplemented from Kratos::Process.

◆ SwitchFlagNodes()

template<SizeType TDim, SizeType TNumNodes, SizeType TNumNodesMaster = TNumNodes>
static void Kratos::NormalGapProcess< TDim, TNumNodes, TNumNodesMaster >::SwitchFlagNodes ( NodesArrayType rNodes)
inlinestaticprotected

This method switchs the flag of an array of nodes.

Parameters
rNodesThe set of nodes where the flags are reset

Member Data Documentation

◆ mrMasterModelPart

template<SizeType TDim, SizeType TNumNodes, SizeType TNumNodesMaster = TNumNodes>
ModelPart& Kratos::NormalGapProcess< TDim, TNumNodes, TNumNodesMaster >::mrMasterModelPart
protected

◆ mrSlaveModelPart

template<SizeType TDim, SizeType TNumNodes, SizeType TNumNodesMaster = TNumNodes>
ModelPart& Kratos::NormalGapProcess< TDim, TNumNodes, TNumNodesMaster >::mrSlaveModelPart
protected

The master model part to be considered.

◆ mSearchOrientation

template<SizeType TDim, SizeType TNumNodes, SizeType TNumNodesMaster = TNumNodes>
const bool Kratos::NormalGapProcess< TDim, TNumNodes, TNumNodesMaster >::mSearchOrientation
protected

The slave model part to be considered.

◆ ZeroTolerance

template<SizeType TDim, SizeType TNumNodes, SizeType TNumNodesMaster = TNumNodes>
constexpr double Kratos::NormalGapProcess< TDim, TNumNodes, TNumNodesMaster >::ZeroTolerance = std::numeric_limits<double>::epsilon()
staticconstexpr

The definition of zero tolerance.


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