FormingWorlds / PROTEUS

Coupled atmosphere-interior framework to simulate the temporal evolution of rocky planets.
https://fwl-proteus.readthedocs.io
Apache License 2.0
12 stars 1 forks source link

Self-consistent mantle and core mass with interior modules #253

Closed nichollsh closed 4 days ago

nichollsh commented 1 week ago

I've realised that PROTEUS contains two different mantle masses, although we are treating them as one. There's the mantle mass derived from the planet mass provided in the config file, and there's the mantle mass calculated by SPIDER (and Aragog?) which is derived using a hydrostatic calculation from the provided interior radius.

We should make sure that we use a consistent mantle/core mass. The best option in lieu of a true structure code is to use Aragog/SPIDER to do the hydrostatic integration, and use an input parameter for the Dummy interior module.

The question is then: do we prescribe an interior mass, or an interior radius? The latter is much easier since it's already an input to SPIDER/Aragog. However, the former is more physical since it is the mass that is a conserved quantity, not the radius. We need to think carefully about this.

Connected to #50.

lsoucasse commented 4 days ago

Hi @nichollsh, if you want to derive the planet radius from mantle mass with aragog you need to rely on the Adams-Williamson EOS: $\rho(r) = \frac{\rho_S K_S}{K_S + \rho_S g(r-r_S)}$ where $\rho_S$ is the surface density, $r_S$ the surface radius and $K_S$ the adiabatic modulus.

lsoucasse commented 4 days ago

When integrating to get the mass it leads to: $M = \int_{r_i}^{rS} \rho(r)4\pi r^2 dr = \int \frac{a r^2}{b+r}dr = a [\frac{-3b^2-2br+r^2}{2}+b^2\ln(|b+r|)]{r_i}^{r_S}$ with $a=4\pi K_S / g$ and $b = K_S/(\rho_S g) - r_S$

lsoucasse commented 4 days ago

Then it is a non linear equation to solve to get $r_S$ for a given $M$.

nichollsh commented 4 days ago

Thanks, Laurent, this is really helpful.

I think we will need to think about how to best handle the structure calculation. It makes a lot more sense to use this formula to do the integration rather than setting up a new Aragog solver every time. Maybe this can be put into Aragog as a standalone function, or maybe we can put this into a new structure model (to keep with the modularity aspect of things).