-
Notifications
You must be signed in to change notification settings - Fork 3
add examples of usage of GeoParams in basic PT codes #3
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
base: main
Are you sure you want to change the base?
Conversation
Sounds good - as to putting this back to the |
Great, I've pushed VE benchmark and VE inclusion with improved damping strategy. They should be much better basis for VEVP implementations. They now include design of PT parameters based on Räss et al. (2022). The damping is applied on the residual rather than on flux components. |
… conductivity update using GeoParams(?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That should work
Thanks @tduretz for the contribution! I invited @boriskaus to the repo as well. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tduretz can you add a .gitignore
and include in there .DS_Store
and .vscode
?
Also, you may want to have to scripts
in a scripts folder to keep the src
for potentially have the main module if needed at some point in there (e.g. in case of adding unit/reference tests).
This is something that we still need (I think) to add to the rheology kernels, but you should not do @generated function phase_viscosity(v::NTuple{N,Any}, ε̇ii, phase, args) where N
quote
Base.@_inline_meta
Base.@nexprs $N i -> v[i].Phase === phase && return computeViscosity_εII(v[i].CompositeRheology[1], ε̇ii, args)
end
end This results in about x3.5 speedup in the GeoParams version. I will address this issue in GeoParams when I have a spare minute. |
example with (regularised) Drucker-Prager plasticity used through GeoParams
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I now get:
ERROR: UndefVarError: DruckerPrager_regularised not defined
Should this be defined somewhere in the script or is it a new GP functionality?
that's new in GeoParams; you should link the code with |
added Manifest file (so you have the correct version of GeoParams)
the previous comparison between GeoParams & the native implementation was not entirely fair, as the GeoParams version was updating both vertices and centers whereas the native version only updated centers. This code makes them more similar (and timings are more similar as well). Yet there appears to be a bug in the "native" VEP version as it explodes even in the purely viscoelastic case. I don't see where I go wrong, so save the current effort
added a version that computes plasticity using invariants; times between the GeoParams and native implementation are much closer now & results the same
update Manifest & required packages
update script to directly use the GeoParams routine to update deviatoric stresses
using dimensional values
added dilatant rheologies as option for GP (not working!)
…eoParams-examples"
In the codes, shouldn't one use updated pressure in momentum equation (as "usual")? That would make the scheme slightly more stable. |
Yes
Yes, this can help a little bit. I do this in the latest example with dilation. |
What is that status here? Could I merge this upon resolving the conflicts? |
Hmm, good question. Yes I think it is ok to merge (haven’t run it in a long time, though) |
I have a suggestion. What about we rename the folder |
Organising script within distinct examples with respective folders may be a good idea. |
Good idea! |
We can store some example of usage of GeoParams together with simple PT codes.
So far only VE loading and inclusion VE loading work.
The codes are unstable and they need an improved damping strategy. I will take care of that soon.
Would be great to invite @boriskaus to this repository such that he can follow and contribute.
Once we get all basic scripts work (including future VEVP and power-law VE runs) we can think of moving the
scripts to a more appropriate repo (GeoParams?).