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

Odd Behaviour When Using the cut timestep size Nonlinear solver failure strategy #6049

Open
danieldouglas92 opened this issue Sep 25, 2024 · 2 comments

Comments

@danieldouglas92
Copy link
Contributor

I'm creating a 2D subduction model with a visco-plastic rheology and the reactive fluid transport model. I was trying to use the cut timestep size functionality and have encountered some strange behaviour. When the model fails to converge and actually cuts the time step size, the solution that it converges to becomes extremely unstable. The temperature in the model starts to increase and the velocity blows up.

The model I'm building uses the box with lithosphere boundary indicators, prescribes a velocity of 5 cm/yr on the left lithosphere boundary, the left boundary and bottom boundary are open, and the rest are free slip.

I've designed a test which only runs for 4000 years. When I make the max timestep size 500 years, near the end of the model the model does not converge and the model restarts with a cut timestep and converges. When I run the exact same model with a max timestep size of 100 years, the model converges the whole time and does NOT need to restart with a cut timestep.

Here is what the output looks like at the end of the model run when the timestep is not cut. The velocity is as expected, and the temperature in the model does not increase.

image

image

And here is what the output looks like at the end of the model run when the timestep does get cut. The velocity blows up and the temperature starts to increase. If I let the model run for longer, the velocity blows up more, and the temperature increases more.

image

image

Notice how the maximum temperature is now 2200 K vs 1900 K when the timestep is not cut, and the velocity is ~5 m/yr vs 5 cm/yr when the timestep is not cut. I've attached the .prm files and the .wb file that I used for this test.

test_cut_timestep.txt

test_NO_cut_timestep.txt

2D_tian_slab.json

@tjhei
Copy link
Member

tjhei commented Sep 26, 2024

I am not surprised that we have cases where time step cutting combined with some other feature is broken.
I can try to see if I can find something. How many timesteps are needed before you see things break?

@danieldouglas92
Copy link
Contributor Author

danieldouglas92 commented Sep 26, 2024

@tjhei It takes 8 time steps before things break, I'm working on designing a test that fails more readily and requires less computational resources right now!

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

2 participants