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.