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

weighted BFBT Preconditioner #5830

Open tjhei opened 1 month ago

tjhei commented 1 month ago

FYI @quangx

tjhei commented 3 weeks ago

examples to test:

quangx commented 3 weeks ago

examples to test:

  • coobook/convection_box/
  • benchmarks/burstedde/
  • benchmarks/annulus

Below is a table with iteration counts. Linear solver tolerance is set to 1e-10 for convection box and burstedde and 1e-6 for annulus.

Preconditioner Convection box Burstedde Annulus Steinberger Continental extension
Weighted BFBT 53 68 47 div by 0 5000+
Inverse Mass Matrix 50 34 56 - -
tjhei commented 3 weeks ago

cookbooks/steinberger? cookbooks/continental_extension?

jdannberg commented 2 weeks ago

Some more suggestions:

2D Spherical

2D compressible convection with a reference profile and material properties from BurnMan coookbooks/burnman/burnman.prm → need to set end time to 0

2D spherical, top: fixed velocity, bottom: tangential; T-dependent viscosity + viscosity jumps → this one could be used to test different formulations for the mass conservations equation as well (like projected density) if we think that might cause problems

Convection using a pressure–temperature look-up table and the rheology of Steinberger and Calderwood (2006) cookbooks/steinberger/steinberger.prm → need to set end time to 0 2D quarter spherical shell with periodic boundary; projected density approximation, strong viscosity contrasts

Since the one above did not work: could try Thermochemical plume model using multiple P–T look-up tables cookbooks/multicomponent_steinberger/steinberger_thermochemical_plume.prm This is like the one above, but with tangential velocity boundaries on all sides, and without the projected density approximation

3D spherical

benchmarks/nsinker_spherical_shell/gmg.prm
3D spherical, fized velocity top+ bottom

2D box

Sublithospheric convection beneath an oceanic plate with a grain size dependent rheology cookbooks/grain_size_ridge/grain_size_ridge.prm → need to set end time to 0 combination of prescribed velocity and traction boundaries, very strong viscosity contrasts

3D box

relatively simple: Using the World Builder to model the thermal structure of oceanic transform faults cookbooks/transform_fault_behn_2007/temperature_dependent.prm (There’s aslo an isoviscous version in the same folder) → need to set end time to 0 combination of fixed boundary velocity and traction (material can flow through bottom, left, right boundaries)

quangx commented 1 week ago
Test Inverse Mass Matrix Weighted BFBT
2D Spherical 90,82 No convergence
3D Spherical (3,4 levels) 120, No convergence 56 , 82
2D box - No convergence
3D box - No convergence
Convection box 50 53
Burstedde 34 68
Annulus 56 47
Steinberger - Division by 0
Continental extension - No convergence
tjhei commented 6 days ago

burnman.prm works when you set the pressure scaling to 1. This likely means something is still off with pressure scaling.