ASPECT vs CitcomS run time


Has anyone done any recent comparisons of the time it takes to run 3D simulations in ASPECT vs CitcomS? I have been considering migrating some research projects from CitcomS to ASPECT, but I have heard ASPECT can be as much as 100 times slower for 3D spherical shell mantle convection simulations. Does anyone have any recent experience comparing the run time for ASPECT vs CitcomS?


Hi Robert,
We talked a few times in the past about speed comparisons. So far I do not have a precise comparison because that involves a lot of tradeoffs in terms of accuracy, resolution etc., but based on general experience running CitcomS models for my PhD and a lot of ASPECT models now for my Postdoc and later I think the speed is much more comparable than a factor 100 difference. Circumstantial evidence is that I ran models for my PhD thesis in CitcomS that took around 10000 CPU hours, which I reproduced in ASPECT with an adapative mesh (highest resolution equal to the CitcomS models) in around 35000 CPU hours. Since ASPECT uses Q2P1 elements compared to CitomS Q1P0 the solution would be more accurate, but whether that accuracy is equivalent to a 3.5 times increase in CPU time is hard to tell. In my experience there is a lot of room for optimization of solver parameters for specific applications in ASPECT (see, because the defaults are very conservatively chosen towards accuracy.
I would expect that CitcomS is particularly fast at models with small viscosity variation that are nearly steady state (several benchmark problems) because its assembly is less expensive per degree of freedom. As far as I remember Citcom also skips Stokes solver phases if the solution does not converge, while ASPECT keeps trying until it either converges or crashes, so it is possible to run into corner cases were Citcom continues after a some iterations, while ASPECT gets stuck for a longer time.
It is definitely possible that ASPECT is slower for your application (but if so, likely at most at a factor of 5, not 100), but it is also possible it is faster. If you happen to have an application that is 100 times slower I would be interested to see it to figure out if we can tune the parameters to make that work better.