Skip to content

Commit ad89ffa

Browse files
authored
Merge pull request #60 from scientificcomputing/finsberg/solver-tolerance
Set default tolerance to 1e-6 rather than 1e-10
2 parents 8855f51 + c85f4f6 commit ad89ffa

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/scifem/solvers.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ def set_post_solve_callback(self, callback: Callable[["NewtonSolver"], None]):
9999
"""Set a callback function that is called after each Newton iteration."""
100100
self._post_solve_callback = callback
101101

102-
def solve(self, atol=1e-10, rtol=1e-10, beta=1.0) -> int:
102+
def solve(self, atol=1e-6, rtol=1e-6, beta=1.0) -> int:
103103
"""Solve the nonlinear problem using Newton's method.
104104
105105
Args:
@@ -208,7 +208,7 @@ def solve(self, atol=1e-10, rtol=1e-10, beta=1.0) -> int:
208208
residual = self.dx.norm(petsc4py.typing.NormType.NORM_2)
209209
if i == 1:
210210
self.residual_0 = residual
211-
relative_residual = residual / self.residual_0
211+
relative_residual = residual / max(self.residual_0, atol)
212212

213213
logger.info(
214214
f"Newton iteration {i}"

0 commit comments

Comments
 (0)