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

Base class for convergence accelerators This class is intended to be the base of any convergence accelerator in Kratos. More...

#include <convergence_accelerator.h>

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

Public Member Functions

Life Cycle
 ConvergenceAccelerator ()=default
 
 ConvergenceAccelerator (Parameters ThisParameters)
 
 ConvergenceAccelerator (const ConvergenceAccelerator &Other)=delete
 
virtual ~ConvergenceAccelerator ()=default
 
Operations
virtual void Initialize ()
 Initialize the convergence accelerator Operations that are required to be done once before the resolution of the problem. More...
 
virtual void InitializeSolutionStep ()
 Operations before solving the solution step Performs all the required operations that should be done (for each step) before solving the solution step. More...
 
virtual void InitializeNonLinearIteration ()
 Operations before each non-linear iteration Performs all the required operations that should be done before each non-linear iteration. More...
 
virtual void UpdateSolution (const VectorType &rResidualVector, VectorType &rIterationGuess)
 Corrects the given iteration guess Computes the correction of the iteration guess according to the provided residual vector Note that the correction is performed over the given iteration guess, so the return value is already modified. More...
 
virtual void FinalizeNonLinearIteration ()
 Operations after each non-linear iteration Performs all the required operations that should be done at the end of each non-linear iteration. More...
 
virtual void FinalizeSolutionStep ()
 Operations after solving the solution step Performs all the required operations that should be done (for each step) after solving the solution step. More...
 
virtual void Finalize ()
 Finalize the convergence accelerator Perform all the operations required after the resolution of the problem. More...
 
virtual void Clear ()
 Clear the internal storage Clears all the internal data (e.g. previous observation matrices) More...
 
virtual void SetEchoLevel (int Level)
 Set the Echo Level object Set the echo level of the convergence accelerator. More...
 
int GetEchoLevel ()
 Get the Echo Level object Get the echo level of the convergence accelerator. More...
 
virtual bool IsBlockNewton () const
 Checks if the update direction is unique or double For the current convergence accelerator, this method returns information about the nature of the coupling If it is block Newton, the update is done in both directions. Otherwise, it is done in one direction. More...
 

Protected Member Functions

Protected Access
virtual void ComputeJacobianApproximation ()
 
virtual DenseMatrixPointerType pGetInverseJacobianApproximation ()
 
virtual std::size_t GetProblemSize () const
 

Protected Attributes

Protected member Variables
int mEchoLevel
 

Type Definitions

typedef TSparseSpace::VectorType VectorType
 
typedef TSparseSpace::MatrixType MatrixType
 
typedef TSparseSpace::VectorPointerType VectorPointerType
 
typedef TSparseSpace::MatrixPointerType MatrixPointerType
 
typedef TDenseSpace::VectorType DenseVectorType
 
typedef TDenseSpace::MatrixType DenseMatrixType
 
typedef TDenseSpace::MatrixPointerType DenseMatrixPointerType
 
typedef TDenseSpace::VectorPointerType DenseVectorPointerType
 
 KRATOS_CLASS_POINTER_DEFINITION (ConvergenceAccelerator)
 

Detailed Description

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

Base class for convergence accelerators This class is intended to be the base of any convergence accelerator in Kratos.

Template Parameters
TSparseSpaceLinear algebra sparse space
TDenseSpaceLinear algebra dense space

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