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

#include <line_search_strategy.hpp>

Inheritance diagram for Kratos::LineSearchSolutionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >:
Collaboration diagram for Kratos::LineSearchSolutionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >:

Public Member Functions

Life Cycle
 LineSearchSolutionStrategy (ModelPart &rModelPart, typename SchemeType::Pointer pScheme, typename BuilderAndSolverType::Pointer pBuilderAndSolver, typename ConvergenceCriterionType::Pointer pConvergenceCriterion, Flags &rOptions, unsigned int MaxIterations=30, unsigned int LineSearchType=0)
 Constructor. More...
 
 LineSearchSolutionStrategy (ModelPart &rModelPart, typename SchemeType::Pointer pScheme, typename LinearSolverType::Pointer pLinearSolver, typename ConvergenceCriterionType::Pointer pConvergenceCriterion, Flags &rOptions, unsigned int MaxIterations=30, unsigned int LineSearchType=0)
 
 ~LineSearchSolutionStrategy () override
 Destructor. More...
 
- Public Member Functions inherited from Kratos::NewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
 NewtonRaphsonStrategy (ModelPart &rModelPart, typename SchemeType::Pointer pScheme, typename BuilderAndSolverType::Pointer pBuilderAndSolver, typename ConvergenceCriterionType::Pointer pConvergenceCriterion, Flags &rOptions, unsigned int MaxIterations=30)
 
 NewtonRaphsonStrategy (ModelPart &rModelPart, typename SchemeType::Pointer pScheme, typename LinearSolverType::Pointer pLinearSolver, typename ConvergenceCriterionType::Pointer pConvergenceCriterion, Flags &rOptions, unsigned int MaxIterations=30)
 
 ~NewtonRaphsonStrategy () override
 Destructor. More...
 
void InitializeSolutionStep () override
 Performs all the required operations that should be done (for each step) before solving the solution step. More...
 
void FinalizeSolutionStep () override
 Performs all the required operations that should be done (for each step) after solving the solution step. More...
 
bool SolveSolutionStep () override
 Solves the current step. This function returns true if a solution has been found, false otherwise. More...
 
bool SolveIteration () override
 Solves the iteration. This function returns true if a solution has been found, false otherwise. More...
 
void Clear () override
 Clears the internal storage. More...
 
int Check () override
 Function to perform expensive checks. More...
 
void SetEchoLevel (const int Level) override
 This sets the level of echo for the solving strategy. More...
 
void SetMaxIterationNumber (unsigned int MaxIterationNumber)
 This method sets the flag mMaxIterationNumber. More...
 
unsigned int GetMaxIterationNumber () override
 This method gets the flag mMaxIterationNumber. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (NewtonRaphsonStrategy)
 
- Public Member Functions inherited from Kratos::LinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
 LinearStrategy (ModelPart &rModelPart, typename SchemeType::Pointer pScheme, typename BuilderAndSolverType::Pointer pBuilderAndSolver, Flags &rOptions)
 
 LinearStrategy (ModelPart &rModelPart, typename SchemeType::Pointer pScheme, typename LinearSolverType::Pointer pLinearSolver, Flags &rOptions)
 
 ~LinearStrategy () override
 Destructor. More...
 
void SetScheme (typename SchemeType::Pointer pScheme)
 Set method for the time scheme. More...
 
SchemeType::Pointer GetScheme ()
 Get method for the time scheme. More...
 
void SetBuilderAndSolver (typename BuilderAndSolverType::Pointer pBuilderAndSolver)
 Set method for the builder and solver. More...
 
BuilderAndSolverType::Pointer GetBuilderAndSolver ()
 Get method for the builder and solver. More...
 
SystemMatrixTypeGetSystemMatrix ()
 This method returns the LHS matrix. More...
 
void GetDirectSystemMatrix (SystemMatrixType &A)
 This method directly sets the input as the LHS. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (LinearStrategy)
 
- Public Member Functions inherited from Kratos::SolutionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
 SolutionStrategy (ModelPart &rModelPart)
 Constructor. More...
 
 SolutionStrategy (ModelPart &rModelPart, Flags &rOptions)
 Constructor. More...
 
 ~SolutionStrategy () override
 Destructor. More...
 
virtual bool Solve ()
 The problem of interest is solved. More...
 
virtual int GetEchoLevel ()
 This returns the level of echo for the solution strategy. More...
 
void SetOptions (Flags &rOptions)
 Sets strategy options. More...
 
FlagsGetOptions ()
 Get strategy options. More...
 
ModelPartGetModelPart ()
 Operations to get the pointer to the model. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (SolutionStrategy)
 Pointer definition of SolutionStrategy. 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...
 

Protected Member Functions

Protected Operations
void Update () override
 Operation to update the solution ... if it is not called a trivial updater is used in which the values of the solution step of interest are assumed equal to the old values. More...
 
- Protected Member Functions inherited from Kratos::NewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
void Initialize () override
 Initialization of member variables and prior operations. More...
 
- Protected Member Functions inherited from Kratos::LinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
void Predict () override
 Operation to predict the solution ... if it is not called a trivial predictor is used in which the values of the solution step of interest are assumed equal to the old values. More...
 
void Update () override
 Here the database is updated. More...
 
void SetSystemDofs ()
 Performs all the required operations to reform dofs. More...
 
- Protected Member Functions inherited from Kratos::SolutionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
virtual void Finalize ()
 Finalization of member variables and prior operations. More...
 

Type Definitions

typedef NewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver > BaseType
 
typedef BaseType::LocalFlagType LocalFlagType
 
typedef BaseType::SystemVectorType SystemVectorType
 
typedef ConvergenceCriterion< TSparseSpace, TDenseSpace > ConvergenceCriterionType
 
typedef BaseType::BuilderAndSolverType BuilderAndSolverType
 
typedef BaseType::SchemeType SchemeType
 
typedef TLinearSolver LinearSolverType
 
 KRATOS_CLASS_POINTER_DEFINITION (LineSearchSolutionStrategy)
 

Additional Inherited Members

- Public Types inherited from Kratos::NewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
typedef LinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver > BaseType
 
typedef BaseType::LocalFlagType LocalFlagType
 
typedef ConvergenceCriterion< TSparseSpace, TDenseSpace > ConvergenceCriterionType
 
typedef BaseType::BuilderAndSolverType BuilderAndSolverType
 
typedef BaseType::SchemeType SchemeType
 
typedef TLinearSolver LinearSolverType
 
typedef TSparseSpace SparseSpaceType
 
typedef BaseType::DofsArrayType DofsArrayType
 
typedef BaseType::SystemMatrixType SystemMatrixType
 
typedef BaseType::SystemVectorType SystemVectorType
 
typedef BaseType::SystemMatrixPointerType SystemMatrixPointerType
 
typedef BaseType::SystemVectorPointerType SystemVectorPointerType
 
- Public Types inherited from Kratos::LinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
typedef SolutionStrategy< TSparseSpace, TDenseSpace, TLinearSolver > BaseType
 
typedef BaseType::LocalFlagType LocalFlagType
 
typedef BaseType::BuilderAndSolverType BuilderAndSolverType
 
typedef BaseType::SchemeType SchemeType
 
typedef TLinearSolver LinearSolverType
 
typedef TSparseSpace SparseSpaceType
 
typedef BaseType::DofsArrayType DofsArrayType
 
typedef BaseType::SystemMatrixType SystemMatrixType
 
typedef BaseType::SystemVectorType SystemVectorType
 
typedef BaseType::SystemMatrixPointerType SystemMatrixPointerType
 
typedef BaseType::SystemVectorPointerType SystemVectorPointerType
 
- Public Types inherited from Kratos::SolutionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
typedef SolverLocalFlags LocalFlagType
 
typedef ModelPart::DofsArrayType DofsArrayType
 
typedef TSparseSpace::MatrixType SystemMatrixType
 
typedef TSparseSpace::VectorType SystemVectorType
 
typedef TSparseSpace::MatrixPointerType SystemMatrixPointerType
 
typedef TSparseSpace::VectorPointerType SystemVectorPointerType
 
typedef SolutionScheme< TSparseSpace, TDenseSpace > SchemeType
 
typedef SolutionBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver > BuilderAndSolverType
 
- 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::NewtonRaphsonStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
ConvergenceCriterionType::Pointer mpConvergenceCriteria
 
unsigned int mMaxIterationNumber
 The pointer to the convergence criteria employed. More...
 
- Protected Attributes inherited from Kratos::LinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
SchemeType::Pointer mpScheme
 
BuilderAndSolverType::Pointer mpBuilderAndSolver
 The pointer to the time scheme employed. More...
 
SystemVectorPointerType mpDx
 The pointer to the builder and solver employed. More...
 
SystemVectorPointerType mpb
 The incremement in the solution. More...
 
SystemMatrixPointerType mpA
 The RHS vector of the system of equations. More...
 
- Protected Attributes inherited from Kratos::SolutionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
Flags mOptions
 
int mEchoLevel
 

Member Typedef Documentation

◆ BaseType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef NewtonRaphsonStrategy<TSparseSpace, TDenseSpace, TLinearSolver> Kratos::LineSearchSolutionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::BaseType

◆ BuilderAndSolverType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::BuilderAndSolverType Kratos::LineSearchSolutionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::BuilderAndSolverType

◆ ConvergenceCriterionType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef ConvergenceCriterion<TSparseSpace, TDenseSpace> Kratos::LineSearchSolutionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ConvergenceCriterionType

◆ LinearSolverType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef TLinearSolver Kratos::LineSearchSolutionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::LinearSolverType

◆ LocalFlagType

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

◆ SchemeType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::SchemeType Kratos::LineSearchSolutionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SchemeType

◆ SystemVectorType

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

Constructor & Destructor Documentation

◆ LineSearchSolutionStrategy() [1/2]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::LineSearchSolutionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::LineSearchSolutionStrategy ( ModelPart rModelPart,
typename SchemeType::Pointer  pScheme,
typename BuilderAndSolverType::Pointer  pBuilderAndSolver,
typename ConvergenceCriterionType::Pointer  pConvergenceCriterion,
Flags rOptions,
unsigned int  MaxIterations = 30,
unsigned int  LineSearchType = 0 
)
inline

Constructor.

◆ LineSearchSolutionStrategy() [2/2]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::LineSearchSolutionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::LineSearchSolutionStrategy ( ModelPart rModelPart,
typename SchemeType::Pointer  pScheme,
typename LinearSolverType::Pointer  pLinearSolver,
typename ConvergenceCriterionType::Pointer  pConvergenceCriterion,
Flags rOptions,
unsigned int  MaxIterations = 30,
unsigned int  LineSearchType = 0 
)
inline

◆ ~LineSearchSolutionStrategy()

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

Destructor.

Member Function Documentation

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

◆ Update()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::LineSearchSolutionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::Update ( )
inlineoverrideprotectedvirtual

Operation to update the solution ... if it is not called a trivial updater is used in which the values of the solution step of interest are assumed equal to the old values.

Reimplemented from Kratos::SolutionStrategy< TSparseSpace, TDenseSpace, TLinearSolver >.


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