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 iters)
 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...
 
unsigned int GetNumIterations () const
 Return the number of iterations.
 
unsigned int GetNumSetupCalls () const
 Return the number of calls to the solver's Setup function.
 
unsigned int GetNumSolveCalls () const
 Return the number of calls to the solver's Solve function.
 
virtual void ArchiveOut (ChArchiveOut &archive)
 Method to allow serialization of transient data to archives.
 
virtual void ArchiveIn (ChArchiveIn &archive)
 Method to allow de-serialization of transient data from archives.
 

Protected Attributes

unsigned int maxiters
 maximum number of iterations
 
double reltol
 relative tolerance
 
double abstolS
 absolute tolerance (states)
 
double abstolL
 absolute tolerance (Lagrange multipliers)
 
unsigned int numiters
 number of iterations
 
unsigned int numsetups
 number of calls to the solver's Setup function
 
unsigned int numsolves
 number of calls to the solver's Solve function
 

Member Function Documentation

◆ SetAbsTolerances() [1/2]

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

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.

◆ SetAbsTolerances() [2/2]

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

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.

◆ SetRelTolerance()

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

Set the relative tolerance.

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


The documentation for this class was generated from the following file:
  • /builds/uwsbel/chrono/src/chrono/timestepper/ChTimestepper.h