Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solution divergence between different combinations of linear and nonlinear solver schemes #6046

Open
naliboff opened this issue Sep 21, 2024 · 0 comments

Comments

@naliboff
Copy link
Contributor

naliboff commented Sep 21, 2024

This post is a follow-up from a related series of issues and pull requests (#4370, #4563, #6002) that discuss solver failure or solution divergence for different combinations linear (AMG, GMG) and nonlinear (iterated Stokes, iterated Newton Stokes, etc) solvers.

@anne-glerum, @egpuckett, and previously discussed these results a few weeks ago.

As a starting point, I first ran a modified version of benchmarks/viscoelastic_plastic_shear_bands/kaus_2010/kaus_2010_extension.prm with elasticity removed and other updates to the solver parameters based on recent testing. One examples of this PRM is attached.

This model was run for 0.01 Myr (100 time steps) was run for the following four parameter combinations:

  1. Nonlinear solver tolerance = 1e-5, zero traction surface (no mesh deformation)
  2. Nonlinear solver tolerance = 1e-7, zero traction surface (no mesh deformation)
  3. Nonlinear solver tolerance = 1e-5, free surface (mesh deformation)
  4. Nonlinear solver tolerance = 1e-7, free surface (mesh deformation)

For each of the four parameter combinations above, the following four solver combinations were tested:

  1. Stokes solver type = block AMG, Nonlinear solver scheme = single Advection, iterated Stokes
  2. Stokes solver type= block GMG, Nonlinear solver scheme = single Advection, iterated Stokes
  3. Stokes solver type= block AMG, Nonlinear solver scheme = single Advection and iterated Newton Stokes
  4. Stokes solver type= block GMG, Nonlinear solver scheme = single Advection and iterated Newton Stokes

At time = 0, the solutions (strain rate) are qualitatively very similar for a nonlinear solver tolerance of 1e-5 and zero traction surface or free surface:

Zero Traction Surface, t=0, Nonlinear Solver Tolerance = 1e-5
zero_traction_surface_ntol5_single_advection_strain_rate 0000

Free Surface, t=0.1 Myr, Nonlinear Solver Tolerance = 1e-5*
free_surface_ntol5_single_advection_strain_rate 0100

From t=0 to t=0.1 Myr, the two models (block AMG versus block GMG) using single Advection, Iterated Stokes still have qualitatively similar solutions, while the models using single Advection, iterated Newton Stokes diverge:

Zero Traction Surface, t=0.1 Myr, Nonlinear Solver Tolerance = 1e-5

zero_traction_surface_ntol5_single_advection_strain_rate 0100

Free Surface, t=0.1 Myr, Nonlinear Solver Tolerance = 1e-5*
free_surface_ntol5_single_advection_strain_rate 0100

Making the nonlinear solver tolerance stricter (1e-7) leads to qualitatively similar strain rate fields for both the zero traction and free surface cases:

Zero Traction Surface, t=0.1 Myr, Nonlinear Solver Tolerance = 1e-7
zero_traction_surface_ntol7_single_advection 0100

Free Surface, t=0.1 Myr, Nonlinear Solver Tolerance = 1e-7*

free_surface_ntol7_single_advection_strain_rate 0100

Notably, the results for the case of Nonlinear solver scheme = single Advection, iterated Stokes and a Nonlinear solver tolerance = 1e-5 or 1e-7 show little divergence.

Initial conclusions: For the same linear solver tolerance, a stricter nonlinear solver tolerance is needed for iterated Newton Stokes (and presumably iterated defect correction Stokes) related to iterated Stokes.

Next Steps:

  1. Test to see if we can achieve qualitatively similar solutions for the continental extension cookbook with stricter solver tolerances across the four solver scheme combinations tested here.
  2. Update the continental extension cookbook and related documentation accordingly.

@MFraters @bangerth @YiminJin @tjhei - This may be of interest.

Example PRM File:
kaus_2010_extension_gmg_iterated-newton-stokes.prm.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant