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::ConvergenceCriterion< TSparseSpace, TDenseSpace > Class Template Reference

Convergence Criterion base class. More...

#include <convergence_criterion.hpp>

Inheritance diagram for Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >:
Collaboration diagram for Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >:

Public Member Functions

Life Cycle
 ConvergenceCriterion ()
 Constructor. More...
 
 ConvergenceCriterion (ConvergenceCriterion const &rOther)
 Copy contructor. More...
 
 ~ConvergenceCriterion () override
 Destructor. More...
 
Operations
virtual void SetEchoLevel (int Level)
 
int GetEchoLevel ()
 
virtual bool PreCriteria (ModelPart &rModelPart, DofsArrayType &rDofSet, const SystemMatrixType &rA, const SystemVectorType &rDx, const SystemVectorType &rb)
 
virtual bool PostCriteria (ModelPart &rModelPart, DofsArrayType &rDofSet, const SystemMatrixType &rA, const SystemVectorType &rDx, const SystemVectorType &rb)
 
virtual void InitializeSolutionStep (ModelPart &rModelPart, DofsArrayType &rDofSet, const SystemMatrixType &rA, const SystemVectorType &rDx, const SystemVectorType &rb)
 
virtual void FinalizeSolutionStep (ModelPart &rModelPart, DofsArrayType &rDofSet, const SystemMatrixType &rA, const SystemVectorType &rDx, const SystemVectorType &rb)
 
virtual int Check (ModelPart &rModelPart)
 
- 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
 
virtual std::string Info () const
 Turn back information as a string. 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...
 
 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
int mEchoLevel
 

Type Definitions

typedef CriterionLocalFlags LocalFlagType
 
typedef TSparseSpace::DataType DataType
 
typedef ModelPart::DofsArrayType DofsArrayType
 
typedef TSparseSpace::MatrixType SystemMatrixType
 
typedef TSparseSpace::VectorType SystemVectorType
 
typedef TDenseSpace::MatrixType LocalSystemMatrixType
 
typedef TDenseSpace::VectorType LocalSystemVectorType
 
 KRATOS_CLASS_POINTER_DEFINITION (ConvergenceCriterion)
 Pointer definition of ConvergenceCriterion. 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<class TSparseSpace, class TDenseSpace>
class Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >

Convergence Criterion base class.

This is the base class for the convergence criteria

Member Typedef Documentation

◆ DataType

template<class TSparseSpace , class TDenseSpace >
typedef TSparseSpace::DataType Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >::DataType

◆ DofsArrayType

template<class TSparseSpace , class TDenseSpace >
typedef ModelPart::DofsArrayType Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >::DofsArrayType

◆ LocalFlagType

template<class TSparseSpace , class TDenseSpace >
typedef CriterionLocalFlags Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >::LocalFlagType

◆ LocalSystemMatrixType

template<class TSparseSpace , class TDenseSpace >
typedef TDenseSpace::MatrixType Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >::LocalSystemMatrixType

◆ LocalSystemVectorType

template<class TSparseSpace , class TDenseSpace >
typedef TDenseSpace::VectorType Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >::LocalSystemVectorType

◆ SystemMatrixType

template<class TSparseSpace , class TDenseSpace >
typedef TSparseSpace::MatrixType Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >::SystemMatrixType

◆ SystemVectorType

template<class TSparseSpace , class TDenseSpace >
typedef TSparseSpace::VectorType Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >::SystemVectorType

Constructor & Destructor Documentation

◆ ConvergenceCriterion() [1/2]

template<class TSparseSpace , class TDenseSpace >
Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >::ConvergenceCriterion ( )
inline

Constructor.

◆ ConvergenceCriterion() [2/2]

template<class TSparseSpace , class TDenseSpace >
Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >::ConvergenceCriterion ( ConvergenceCriterion< TSparseSpace, TDenseSpace > const &  rOther)
inline

Copy contructor.

◆ ~ConvergenceCriterion()

template<class TSparseSpace , class TDenseSpace >
Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >::~ConvergenceCriterion ( )
inlineoverride

Destructor.

Member Function Documentation

◆ Check()

template<class TSparseSpace , class TDenseSpace >
virtual int Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >::Check ( ModelPart rModelPart)
inlinevirtual

This function is designed to be called once to perform all the checks needed on the input provided. Checks can be "expensive" as the function is designed to catch user's errors.

Parameters
rModelPart
Returns
0 all ok

Reimplemented in Kratos::CompositeCriterion< TSparseSpace, TDenseSpace >.

◆ FinalizeSolutionStep()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >::FinalizeSolutionStep ( ModelPart rModelPart,
DofsArrayType rDofSet,
const SystemMatrixType rA,
const SystemVectorType rDx,
const SystemVectorType rb 
)
inlinevirtual

◆ GetEchoLevel()

template<class TSparseSpace , class TDenseSpace >
int Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >::GetEchoLevel ( )
inline

◆ InitializeSolutionStep()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >::InitializeSolutionStep ( ModelPart rModelPart,
DofsArrayType rDofSet,
const SystemMatrixType rA,
const SystemVectorType rDx,
const SystemVectorType rb 
)
inlinevirtual

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<class TSparseSpace , class TDenseSpace >
Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >::KRATOS_CLASS_POINTER_DEFINITION ( ConvergenceCriterion< TSparseSpace, TDenseSpace >  )

Pointer definition of ConvergenceCriterion.

◆ PostCriteria()

template<class TSparseSpace , class TDenseSpace >
virtual bool Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >::PostCriteria ( ModelPart rModelPart,
DofsArrayType rDofSet,
const SystemMatrixType rA,
const SystemVectorType rDx,
const SystemVectorType rb 
)
inlinevirtual

◆ PreCriteria()

template<class TSparseSpace , class TDenseSpace >
virtual bool Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >::PreCriteria ( ModelPart rModelPart,
DofsArrayType rDofSet,
const SystemMatrixType rA,
const SystemVectorType rDx,
const SystemVectorType rb 
)
inlinevirtual

◆ SetEchoLevel()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >::SetEchoLevel ( int  Level)
inlinevirtual

level of echo for the convergence criterion 0 -> mute... no echo at all 1 -> print basic informations 2 -> print extra informations

Reimplemented in Kratos::CompositeCriterion< TSparseSpace, TDenseSpace >.

Member Data Documentation

◆ mEchoLevel

template<class TSparseSpace , class TDenseSpace >
int Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >::mEchoLevel
protected

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