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

Potential Numerical Issue? #1

Open
benhills opened this issue Sep 1, 2022 · 2 comments
Open

Potential Numerical Issue? #1

benhills opened this issue Sep 1, 2022 · 2 comments
Assignees
Labels
documentation Improvements or additions to documentation help wanted Extra attention is needed question Further information is requested

Comments

@benhills
Copy link

benhills commented Sep 1, 2022

I am playing around with your model to think about timescales for fabric evolution.

I can reproduce your demo result in /demo/fabric-evolution/run-fabric-evolution.py
However, if I change the number of time steps, Nt, to 500 instead of 50 (the default value) I get this oscillatory behavior which looks like a numerical artifact. It is especially apparent in the simple shear case although I have not tried all cases. I tried changing the time step which would be my normal approach for a numerical issue but that did not change anything.

I wonder if you can explain this physically (e.g. once the total strain exceeds 1 this weird behavior may be expected).

Thanks for any help! and awesome work on this, very slick model.

Screen Shot 2022-09-01 at 5 34 15 PM

@nicholasmr nicholasmr reopened this Sep 6, 2022
@nicholasmr
Copy link
Owner

Hi Ben,

I'm very pleased that you find our model useful.

The short answer is that your regularization is too weak, and that you should multiply the regularization matrix by some constant > 1. You'll see, however, that doing so effectively reduces the spectral resolution (L), limiting how strong a single maxima you can model (a1 eigenvalue). This, I guess, is hardly a problem if you are just playing around with fabric timescales etc., else try set L=20 which also comes with a default (calibrated) regularization.
See https://github.com/nicholasmr/specfab/wiki/Fabric-evolution#regularization for a pure-shear example of the effect/need for regularization.

We chose the default regularization strength weak enough to reduce its influence on the effective spectral resolution, while also providing sufficient regularization needed for typical large-scale ice-flow model implementations. Put differently, ice parcels in large-scale flow models are unlikely to experience the deformation history you are prescribing, and we can therefore allow ourselves to reduce the strength of regularization a bit in order to gain some spectral resolution (ability to model tighter c-axis distributions for a given L).

Regarding parcel strains exceeding 1, this is a good point. However, one might imagine another parcel deformation experiment with an initial fabric that is not isotropic, but rather with a preexisting strong single maximum. Modelling the fabric evolution up until strain ~1 would be equivalent to continuing the deformation experiment of an initially-isotropic fabric beyond strain = 1.

I hope this makes sense and was useful, else feel free to follow up.

@nicholasmr nicholasmr added documentation Improvements or additions to documentation help wanted Extra attention is needed question Further information is requested labels Sep 6, 2022
@nicholasmr nicholasmr self-assigned this Sep 6, 2022
@benhills
Copy link
Author

benhills commented Sep 6, 2022

This is very helpful, thank you.
I will keep you posted on any significant updates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation help wanted Extra attention is needed question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants