Repository navigation
Use current-surface depth for adiabatic pressure in visco-plastic rheology - #2
Open
Minerallo wants to merge 2 commits into
Conversation
Minerallo
force-pushed
the
fix-adiabatic-plasticity-current-surface-depth
branch
from
July 26, 2026 22:47
603ad82 to
14481a1
Compare
Minerallo
marked this pull request as ready for review
July 26, 2026 22:58
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi everyone,
I continue on PR#7150, which added a way to calculate depth below the deformed
mesh surface at every timestep.
The visco-plastic model can use adiabatic pressure for plastic yielding and
for viscous creep. It currently evaluates this pressure using the original
geometry surface. With a free surface, this can make a trench that moved 6 km
downward behave as if it were buried below 6 km of rock. This makes the yield
stress too high and also changes pressure-dependent creep viscosity.
This change evaluates the adiabatic pressure using depth below the current
surface when mesh deformation is enabled. It is used wherever the
visco-plastic model requests adiabatic pressure: plastic yielding, diffusion
creep, dislocation creep, Peierls creep, and Frank-Kamenetskii viscosity.
I also added a helper function
AdiabaticConditions::pressure_at_depth(), which evaluates theadiabatic profile at the representative geometry point for a given depth so it get less repetitive.
The test moves the right half of a 2D box surface downward by 6 km. Both
the undeformed and lowered halves remain at the expected zero-pressure yield
stress of 0.985 MPa and the same diffusion-creep viscosity. The test also
verifies that the pressure used by plasticity is 0 MPa on both parts of the
current surface. Without the correction, the lowered half reaches a yield
stress of about 35.7 MPa and its pressure-dependent creep viscosity is also
incorrect.
I also tested 6 km trenches in Cartesian and spherical geometries in both 2D
and 3D (image left). In every case, the corrected yield stress remains at the expected
surface value and diffusion viscosity matches the undeformed surface.
For the test :
The diffusion viscosity at the current surface is
9.446440e17 Pa sin allfour models, including at the bottom of each 6 km trench.
For all pull requests:
If yes, please describe your usage of AI models in the creation of this pull request
For new features/models or changes of existing features:
Cheers,
Michael