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

Plasticity regularisation #17

Merged
merged 8 commits into from
Feb 21, 2024
Merged

Conversation

boriskaus
Copy link
Contributor

@boriskaus boriskaus commented Feb 12, 2024

This PR adds viscoplastic regularisation to the rheology model of LaMEM (red item):
Screenshot 2024-02-12 at 23 05 42

Previous, we could do plasticity regularisation already by specifying the eta_st viscosity per phase, which changes the minimum viscosity from its global value (eta_min), to a phase-wise value.
Another possibility is by amending the plasticity yield stress directly:

$$\tau_y = \tau_y + 2 \eta_{\textrm{vp}} \dot{\varepsilon}_{II}^{\textrm{pl}}$$

where $\tau_y$ is a yield stress, $\eta_{\textrm{vp}}$ a regularisation viscosity, and $\dot{\varepsilon}_{II}^{\textrm{pl}}$ the plastic strainrate. This regularisation was used by Duretz et al. 2018 , among others.

This PR adds a new, phase-wise, material parameter to specify this (set to zero by default):

eta_vp = 1e19

Comparison of regularisation methods
The newly added test /tests/t4_Loc/localization_eta_vp_reg.dat was used to compare the different formulations, with $\eta_{vp}=10^{21}$ Pas, or $\eta_{st}=10^{21}$ Pas. Looking at the number of SNES iterations shows that both regularisations reduce the number of iterations, but that the viscoplastic method is slightly more efficient:
iter

A table with timings (on an M2 MacBook Pro):

method total time [s]
no regularisation 392
eta_st 82
eta_vp 57

A comparison of the 2nd invariant of the strain rate at the end of the simulation for different resolutions for a case that uses the new method using eta_vp=1e21.
vp_reg_comparison

@sgeotech sgeotech merged commit 14df57e into master Feb 21, 2024
2 checks passed
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

Successfully merging this pull request may close these issues.

2 participants