geodynamics / aspect

A parallel, extensible finite element code to simulate convection in both 2D and 3D models.
https://aspect.geodynamics.org/
Other
217 stars 232 forks source link

Made FK reference temperature and pressure user inputs #5924

Closed Grant-Block closed 1 week ago

Grant-Block commented 1 week ago

Pull Request Checklist. Please read and check each box with an X. Delete any part not applicable. Ask on the forum if you need help with any step.

The Frank Kamenetskii implementation had the reference temperature and pressure set to their adiabatic surface values. These reference values determine where the viscosity temperature and pressure dependencies go to 0 respectively, and may depend on model geometry. I made these values user inputs with the defaults being the adiabatic surface values.

Before your first pull request:

For all pull requests:

For new features/models or changes of existing features:

Grant-Block commented 1 week ago

Hi @gassmoeller, thank you for your comments. I made a test and fixed the parameter names and default values. I'll use an example from the project I'm working on right now for why I think this change should be necessary for the FK rheology. I'm currently trying to replicate and extend this paper http://dx.doi.org/10.1002/2015JB012149 which uses a simple viscosity profile, examples of which are shown in its figure 2 (pasted below). image

The important feature of this profile is that it will quickly decrease in the lithosphere as the temperature increases up to the LAB where it reaches its minimum, eta_0. It will then slowly increase in the asthenosphere with the increasing pressure. The minimum in the profile is defined by T_0 and P_0 in the FK rheology. (The paper uses a reference depth instead of pressure, but if the lithosphere density remains constant or changes slowly this is easy to get around). Without the user defined reference temperature and pressure, when I tried to replicate this I would get a profile that was slightly incorrect. Here's an example for a case I did with eta_0 = 5*10^21 Pa: image image

The top image is with the default reference T_0 and P_0, and the bottom is with the user defined values which I set to be at the initial LAB. Having the user be able to set these should allow more use cases for this rheology when the problem has an LAB or other boundary layer.

Also, I'm seeing that I'm currently failing the no-unity build set up step before it compiles. It compiles for me locally, do you know what could be causing that issue?

Thank you for your help with this!

gassmoeller commented 1 week ago

/rebuild