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

This convergence criteria checks simultaneously different convergence criteria. More...

#include <composite_criterion.hpp>

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

Public Member Functions

Life Cycle
 CompositeCriterion (BasePointerType pFirstCriterion, BasePointerType pSecondCriterion)
 Constructor. More...
 
 CompositeCriterion (ConvergenceCriterionVectorType &rConvergenceCriteria)
 Constructor. More...
 
 CompositeCriterion (CompositeCriterion const &rOther)
 Copy constructor. More...
 
 ~CompositeCriterion () override
 Destructor. More...
 
Operators
void SetEchoLevel (int Level) override
 It sets the level of echo for the solving strategy. More...
 
bool PreCriteria (ModelPart &rModelPart, DofsArrayType &rDofSet, const SystemMatrixType &rA, const SystemVectorType &rDx, const SystemVectorType &rb) override
 
bool PostCriteria (ModelPart &rModelPart, DofsArrayType &rDofSet, const SystemMatrixType &rA, const SystemVectorType &rDx, const SystemVectorType &rb) override
 
void InitializeSolutionStep (ModelPart &rModelPart, DofsArrayType &rDofSet, const SystemMatrixType &rA, const SystemVectorType &rDx, const SystemVectorType &rb) override
 
void FinalizeSolutionStep (ModelPart &rModelPart, DofsArrayType &rDofSet, const SystemMatrixType &rA, const SystemVectorType &rDx, const SystemVectorType &rb) override
 
int Check (ModelPart &rModelPart) override
 This function is designed to be called once to perform all the checks needed on the input provided. More...
 
- Public Member Functions inherited from Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >
 ConvergenceCriterion ()
 Constructor. More...
 
 ConvergenceCriterion (ConvergenceCriterion const &rOther)
 Copy contructor. More...
 
 ~ConvergenceCriterion () override
 Destructor. More...
 
int GetEchoLevel ()
 
 KRATOS_CLASS_POINTER_DEFINITION (ConvergenceCriterion)
 Pointer definition of ConvergenceCriterion. 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
 
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...
 

Type Definitions

typedef ConvergenceCriterion< TSparseSpace, TDenseSpace > BaseType
 
typedef BaseType::LocalFlagType LocalFlagType
 
typedef BaseType::DataType DataType
 
typedef BaseType::DofsArrayType DofsArrayType
 
typedef BaseType::SystemMatrixType SystemMatrixType
 
typedef BaseType::SystemVectorType SystemVectorType
 
typedef BaseType::Pointer BasePointerType
 
typedef std::vector< BasePointerTypeConvergenceCriterionVectorType
 
 KRATOS_CLASS_POINTER_DEFINITION (CompositeCriterion)
 Pointer definition of CompositeCriterion. More...
 

Additional Inherited Members

- Public Types inherited from Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >
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
 
- 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)
 
- Protected Attributes inherited from Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >
int mEchoLevel
 

Detailed Description

template<class TSparseSpace, class TDenseSpace>
class Kratos::CompositeCriterion< TSparseSpace, TDenseSpace >

This convergence criteria checks simultaneously different convergence criteria.

Member Typedef Documentation

◆ BasePointerType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::Pointer Kratos::CompositeCriterion< TSparseSpace, TDenseSpace >::BasePointerType

◆ BaseType

template<class TSparseSpace , class TDenseSpace >
typedef ConvergenceCriterion<TSparseSpace,TDenseSpace> Kratos::CompositeCriterion< TSparseSpace, TDenseSpace >::BaseType

◆ ConvergenceCriterionVectorType

template<class TSparseSpace , class TDenseSpace >
typedef std::vector<BasePointerType> Kratos::CompositeCriterion< TSparseSpace, TDenseSpace >::ConvergenceCriterionVectorType

◆ DataType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::DataType Kratos::CompositeCriterion< TSparseSpace, TDenseSpace >::DataType

◆ DofsArrayType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::DofsArrayType Kratos::CompositeCriterion< TSparseSpace, TDenseSpace >::DofsArrayType

◆ LocalFlagType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::LocalFlagType Kratos::CompositeCriterion< TSparseSpace, TDenseSpace >::LocalFlagType

◆ SystemMatrixType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::SystemMatrixType Kratos::CompositeCriterion< TSparseSpace, TDenseSpace >::SystemMatrixType

◆ SystemVectorType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::SystemVectorType Kratos::CompositeCriterion< TSparseSpace, TDenseSpace >::SystemVectorType

Constructor & Destructor Documentation

◆ CompositeCriterion() [1/3]

template<class TSparseSpace , class TDenseSpace >
Kratos::CompositeCriterion< TSparseSpace, TDenseSpace >::CompositeCriterion ( BasePointerType  pFirstCriterion,
BasePointerType  pSecondCriterion 
)
inline

Constructor.

◆ CompositeCriterion() [2/3]

template<class TSparseSpace , class TDenseSpace >
Kratos::CompositeCriterion< TSparseSpace, TDenseSpace >::CompositeCriterion ( ConvergenceCriterionVectorType rConvergenceCriteria)
inline

Constructor.

◆ CompositeCriterion() [3/3]

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

Copy constructor.

◆ ~CompositeCriterion()

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

Destructor.

Member Function Documentation

◆ Check()

template<class TSparseSpace , class TDenseSpace >
int Kratos::CompositeCriterion< TSparseSpace, TDenseSpace >::Check ( ModelPart rModelPart)
inlineoverridevirtual

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
rModelPartModelPart containing the problem.
Returns
0 all ok

Reimplemented from Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >.

◆ FinalizeSolutionStep()

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

◆ InitializeSolutionStep()

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

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

Pointer definition of CompositeCriterion.

◆ PostCriteria()

template<class TSparseSpace , class TDenseSpace >
bool Kratos::CompositeCriterion< TSparseSpace, TDenseSpace >::PostCriteria ( ModelPart rModelPart,
DofsArrayType rDofSet,
const SystemMatrixType rA,
const SystemVectorType rDx,
const SystemVectorType rb 
)
inlineoverridevirtual
Returns
true if convergence is achieved, false otherwise

Reimplemented from Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >.

◆ PreCriteria()

template<class TSparseSpace , class TDenseSpace >
bool Kratos::CompositeCriterion< TSparseSpace, TDenseSpace >::PreCriteria ( ModelPart rModelPart,
DofsArrayType rDofSet,
const SystemMatrixType rA,
const SystemVectorType rDx,
const SystemVectorType rb 
)
inlineoverridevirtual
Returns
true if convergence is achieved, false otherwise

Reimplemented from Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >.

◆ SetEchoLevel()

template<class TSparseSpace , class TDenseSpace >
void Kratos::CompositeCriterion< TSparseSpace, TDenseSpace >::SetEchoLevel ( int  Level)
inlineoverridevirtual

It sets the level of echo for the solving strategy.

Parameters
LevelThe level to set

The different levels of echo are:

  • 0: Mute... no echo at all
  • 1: Printing time and basic informations
  • 2: Printing extra informations

Reimplemented from Kratos::ConvergenceCriterion< TSparseSpace, TDenseSpace >.


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