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.
|
Base class for convergence accelerators This class is intended to be the base of any convergence accelerator in Kratos. More...
#include <convergence_accelerator.h>
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) | |
Base class for convergence accelerators This class is intended to be the base of any convergence accelerator in Kratos.
TSparseSpace | Linear algebra sparse space |
TDenseSpace | Linear algebra dense space |