chrono::ChImplicitIterativeTimestepper Class Reference

## Description

Base properties for implicit solvers.

Such integrators require solution of a nonlinear problem, typically solved using an iterative process, up to a desired tolerance. At each iteration, a linear system must be solved.

#include <ChTimestepper.h>

Inheritance diagram for chrono::ChImplicitIterativeTimestepper:
Collaboration diagram for chrono::ChImplicitIterativeTimestepper:

## Public Member Functions

void SetMaxiters (int miters)
Set the max number of iterations using the Newton Raphson procedure.

double GetMaxiters ()
Get the max number of iterations using the Newton Raphson procedure.

void SetRelTolerance (double rel_tol)
Set the relative tolerance. More...

void SetAbsTolerances (double abs_tolS, double abs_tolL)
Set the absolute tolerances. More...

void SetAbsTolerances (double abs_tol)
Set the absolute tolerances. More...

int GetNumIterations () const
Return the number of iterations.

int GetNumSetupCalls () const
Return the number of calls to the solver's Setup function.

int GetNumSolveCalls () const
Return the number of calls to the solver's Solve function.

virtual void ArchiveOUT (ChArchiveOut &marchive)
Method to allow serialization of transient data to archives.

virtual void ArchiveIN (ChArchiveIn &marchive)
Method to allow de serialization of transient data from archives.

## Protected Attributes

int maxiters
maximum number of iterations

double reltol
relative tolerance

double abstolS
absolute tolerance (states)

double abstolL
absolute tolerance (Lagrange multipliers)

int numiters
number of iterations

int numsetups
number of calls to the solver's Setup function

int numsolves
number of calls to the solver's Solve function

## Member Function Documentation

 void chrono::ChImplicitIterativeTimestepper::SetAbsTolerances ( double abs_tolS, double abs_tolL )

Set the absolute tolerances.

These tolerances are optionally used by derived classes in the Newton-Raphson convergence test. This version sets separate absolute tolerances for states and Lagrange multipliers.

 void chrono::ChImplicitIterativeTimestepper::SetAbsTolerances ( double abs_tol )

Set the absolute tolerances.

These tolerances are optionally used by derived classes in the Newton-Raphson convergence test. This version sets equal absolute tolerances for states and Lagrange multipliers.

 void chrono::ChImplicitIterativeTimestepper::SetRelTolerance ( double rel_tol )

Set the relative tolerance.

This tolerance is optionally used by derived classes in the Newton-Raphson convergence test.