Skip to content

Commit

Permalink
Skip test on Trilinos
Browse files Browse the repository at this point in the history
Trilinos actually manages to get the correct answer somehow
  • Loading branch information
guyer committed Feb 22, 2024
1 parent d6c792c commit 65980c4
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
4 changes: 3 additions & 1 deletion examples/diffusion/mesh1D.py
Original file line number Diff line number Diff line change
Expand Up @@ -731,7 +731,7 @@
... input("No-flux - steady-state failure. \
... Press <return> to proceed...")
>>> print(numerix.allclose(phi, 0.2, atol=1e-5))
>>> print(numerix.allclose(phi, 0.2, atol=1e-5)) # doctest: +NOT_TRILINOS_SOLVER
False
.. image:: /figures/examples/diffusion/mesh1D-noflux_steady_fail.*
Expand All @@ -742,6 +742,8 @@
Depending on the solver, we find that the value may be uniformly zero,
infinity, or NaN, or the solver may just fail!
What happened to our no-flux boundary conditions?
Trilinos actually manages to get the correct solution, but this should not
be relied on; this problem has an infinite number of solutions.
The problem is that in the implicit discretization of :math:`\nabla\cdot(D\nabla\phi) = 0`,
Expand Down
6 changes: 6 additions & 0 deletions fipy/solvers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,12 @@ def _import_mesh_matrices(suite):
test=lambda: solver_suite != 'pyamgx',
why="the PyAMGX solver is being used.",
skipWarning=True)

register_skipper(flag='NOT_TRILINOS_SOLVER',
test=lambda: solver_suite not in ['trilinos', 'no-pysparse'],
why="the Trilinos solvers are being used.",
skipWarning=True)

del register_skipper

_log.info("Solver suite is %s", solver_suite)
Expand Down

0 comments on commit 65980c4

Please sign in to comment.