fipy.solvers.convergence

Classes

AbsoluteToleranceConvergence(solver, ...[, ...])

Absolute tolerance satisfied

BreakdownDivergence(solver, iterations, ...)

Method broke down.

Convergence(solver, iterations, residual, ...)

Information about why a solver converged.

ConvergenceBase(solver, iterations, ...[, ...])

Information about whether and why a solver converged.

Divergence(solver, iterations, residual, ...)

Information about why a solver diverged.

HappyBreakdownConvergence(solver, ...[, ...])

"Exact" solution found and more iterations will just make things worse.

IllConditionedDivergence(solver, iterations, ...)

Matrix was ill-conditioned.

IllConditionedPreconditionerDivergence(...)

Preconditioner is ill-conditioned.

IteratingConvergence(solver, iterations, ...)

Solve still in progress.

IterationConvergence(solver, iterations, ...)

Requested iterations complete (and no residual calculated).

IterationDivergence(solver, iterations, ...)

Exceeded maximum iterations.

LossOfAccuracyConvergence(solver, ...[, ...])

Numerical loss of precision occurred.

NullDivergence(solver, iterations, residual, ...)

Breakdown when solving the Hessenberg system within GMRES.

OutOfRangeDivergence(solver, iterations, ...)

A value became too small, too large, or invalid.

PreconditioningDivergence(solver, ...[, ...])

A problem with the preconditioner.

RHSZeroConvergence(solver, iterations, ...)

\(\vec{b} = 0\), so exact solution is \(\vec{x} = 0\).

RelativeToleranceConvergence(solver, ...[, ...])

Relative tolerance satisfied

StagnatedDivergence(solver, iterations, ...)

The method stagnated.

ToleranceDivergence(solver, iterations, ...)

Residual norm increased too much.

Exceptions

DivergenceWarning(divergence)

Warning raised when solver diverges.

class fipy.solvers.convergence.AbsoluteToleranceConvergence(solver, iterations, residual, criterion, actual_code=None, **kwargs)

Bases: Convergence

Absolute tolerance satisfied

::

residual < atol * scale

__str__()

Return str(self).

class fipy.solvers.convergence.BreakdownDivergence(solver, iterations, residual, criterion, actual_code=None, **kwargs)

Bases: Divergence

Method broke down.

__str__()

Return str(self).

class fipy.solvers.convergence.Convergence(solver, iterations, residual, criterion, actual_code=None, **kwargs)

Bases: ConvergenceBase

Information about why a solver converged.

__str__()

Return str(self).

class fipy.solvers.convergence.ConvergenceBase(solver, iterations, residual, criterion, actual_code=None, **kwargs)

Bases: object

Information about whether and why a solver converged.

solver

The linear solver that was invoked.

Type:

Solver

iterations

The number of linear iterations the solver performed.

Type:

int

criterion

The Convergence test used by the solver.

Type:

str

tolerance_scale

The multiplier applied to the tolerance in order for this solver to satisfy criterion.

Type:

float

residual

The unscaled norm of the residual achieved by the solver.

Type:

float

status_code

The canonical return value for this type of convergence.

Type:

int or str

status_name

The text representation of status_code.

Type:

str

actual_code

The status value actually returned by the solver.

Type:

int or str

__str__()

Return str(self).

class fipy.solvers.convergence.Divergence(solver, iterations, residual, criterion, actual_code=None, **kwargs)

Bases: ConvergenceBase

Information about why a solver diverged.

__str__()

Return str(self).

exception fipy.solvers.convergence.DivergenceWarning(divergence)

Bases: UserWarning

Warning raised when solver diverges.

__cause__

exception cause

__context__

exception context

__delattr__(name, /)

Implement delattr(self, name).

__getattribute__(name, /)

Return getattr(self, name).

__reduce__()

Helper for pickle.

__repr__()

Return repr(self).

__setattr__(name, value, /)

Implement setattr(self, name, value).

__str__()

Return str(self).

add_note()

Exception.add_note(note) – add a note to the exception

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class fipy.solvers.convergence.HappyBreakdownConvergence(solver, iterations, residual, criterion, actual_code=None, **kwargs)

Bases: Convergence

“Exact” solution found and more iterations will just make things worse.

__str__()

Return str(self).

class fipy.solvers.convergence.IllConditionedDivergence(solver, iterations, residual, criterion, actual_code=None, **kwargs)

Bases: Divergence

Matrix was ill-conditioned.

__str__()

Return str(self).

class fipy.solvers.convergence.IllConditionedPreconditionerDivergence(solver, iterations, residual, criterion, actual_code=None, **kwargs)

Bases: PreconditioningDivergence

Preconditioner is ill-conditioned.

__str__()

Return str(self).

class fipy.solvers.convergence.IteratingConvergence(solver, iterations, residual, criterion, actual_code=None, **kwargs)

Bases: Convergence

Solve still in progress.

__str__()

Return str(self).

class fipy.solvers.convergence.IterationConvergence(solver, iterations, residual, criterion, actual_code=None, **kwargs)

Bases: Convergence

Requested iterations complete (and no residual calculated).

__str__()

Return str(self).

class fipy.solvers.convergence.IterationDivergence(solver, iterations, residual, criterion, actual_code=None, **kwargs)

Bases: Divergence

Exceeded maximum iterations.

__str__()

Return str(self).

class fipy.solvers.convergence.LossOfAccuracyConvergence(solver, iterations, residual, criterion, actual_code=None, **kwargs)

Bases: Convergence

Numerical loss of precision occurred.

__str__()

Return str(self).

class fipy.solvers.convergence.NullDivergence(solver, iterations, residual, criterion, actual_code=None, **kwargs)

Bases: Divergence

Breakdown when solving the Hessenberg system within GMRES.

__str__()

Return str(self).

class fipy.solvers.convergence.OutOfRangeDivergence(solver, iterations, residual, criterion, actual_code=None, **kwargs)

Bases: Divergence

A value became too small, too large, or invalid.

__str__()

Return str(self).

class fipy.solvers.convergence.PreconditioningDivergence(solver, iterations, residual, criterion, actual_code=None, **kwargs)

Bases: Divergence

A problem with the preconditioner.

__str__()

Return str(self).

class fipy.solvers.convergence.RHSZeroConvergence(solver, iterations, residual, criterion, actual_code=None, **kwargs)

Bases: Convergence

\(\vec{b} = 0\), so exact solution is \(\vec{x} = 0\).

__str__()

Return str(self).

class fipy.solvers.convergence.RelativeToleranceConvergence(solver, iterations, residual, criterion, actual_code=None, **kwargs)

Bases: Convergence

Relative tolerance satisfied

::

residual < rtol * scale

__str__()

Return str(self).

class fipy.solvers.convergence.StagnatedDivergence(solver, iterations, residual, criterion, actual_code=None, **kwargs)

Bases: Divergence

The method stagnated.

__str__()

Return str(self).

class fipy.solvers.convergence.ToleranceDivergence(solver, iterations, residual, criterion, actual_code=None, **kwargs)

Bases: Divergence

Residual norm increased too much.

__str__()

Return str(self).

Last updated on Sep 03, 2025. Created using Sphinx 7.1.2.