File tree 2 files changed +18
-6
lines changed
2 files changed +18
-6
lines changed Original file line number Diff line number Diff line change 720
720
721
721
and solve the steady-state problem
722
722
723
- >>> DiffusionTerm(coeff=D).solve(var=phi) #doctest: +PYSPARSE_SOLVER
723
+ >>> try:
724
+ ... DiffusionTerm(coeff=D).solve(var=phi)
725
+ ... except:
726
+ ... pass
724
727
>>> if __name__ == '__main__':
725
728
... viewer.plot()
726
729
>>> from fipy import input
727
730
>>> if __name__ == '__main__':
728
- ... input("No-flux - stead -state failure. \
731
+ ... input("No-flux - steady -state failure. \
729
732
... Press <return> to proceed...")
730
733
731
- >>> print(numerix.allclose(phi, 0.0 )) #doctest: +PYSPARSE_SOLVER
732
- True
734
+ >>> print(numerix.allclose(phi, 0.2, atol=1e-5 )) # doctest: +NOT_TRILINOS_SOLVER
735
+ False
733
736
734
737
.. image:: /figures/examples/diffusion/mesh1D-noflux_steady_fail.*
735
738
:width: 90%
736
739
:align: center
737
740
:alt: (failed) steady-state solution for no-flux boundary conditions
738
741
739
- we find that the value is uniformly zero! What happened to our no-flux boundary
740
- conditions?
742
+ Depending on the solver, we find that the value may be uniformly zero,
743
+ infinity, or NaN, or the solver may just fail!
744
+ What happened to our no-flux boundary conditions?
745
+ Trilinos actually manages to get the correct solution, but this should not
746
+ be relied on; this problem has an infinite number of solutions.
741
747
742
748
The problem is that in the implicit discretization of :math:`\nabla\cdot(D\nabla\phi) = 0`,
743
749
Original file line number Diff line number Diff line change @@ -190,6 +190,12 @@ def _import_mesh_matrices(suite):
190
190
test = lambda : solver_suite != 'pyamgx' ,
191
191
why = "the PyAMGX solver is being used." ,
192
192
skipWarning = True )
193
+
194
+ register_skipper (flag = 'NOT_TRILINOS_SOLVER' ,
195
+ test = lambda : solver_suite not in ['trilinos' , 'no-pysparse' ],
196
+ why = "the Trilinos solvers are being used." ,
197
+ skipWarning = True )
198
+
193
199
del register_skipper
194
200
195
201
_log .info ("Solver suite is %s" , solver_suite )
You can’t perform that action at this time.
0 commit comments