How to run a fully converged hysrostatic model?¶
With "full model", I mean a model with consistent hydrostatic strucure and/or consistent radiative transfer, which takes time.
The basic idea is to start SMALL! Put e.g. NXX=20 and NZZ=20 in datamod.f and run the code until some kind of convergence is achieved. Use restart=.true. and then stepwise increase resolution. I usually do 20x20, then 50x50 and then 100x100 for high resolution over night. If you use solve_diskstruc, the disk structure tends to get converged from the midplane upwards, and the number of main (disk structure) iterations required to achieve convergence is at least as large as the number of z-grid points NZZ, at a kind of "information transfer speed". Therefore, better start small and then refine.
Another tip is to stepwise increase Mdisk. The radiative transfer is much quicker for low optical depth (e.g. tau<100), but massive disks have midplane tau=100000 or higher. So try Mdisk=1.E-5, then Mdisk=1.E-4 and so on, always with restart=.true.
It might also be helpful to run the code with a smaller chemistry, but I haven't tried that yet. Don't use perfect_ice for intermediate runs - this will slow down the code by a factor of about 5 for cool and icy disks. Also, using freeze_RT=.true. can temporarily accelerate the code, because the radiative transfer is simply not called anymore. Of course, the final runs should have everything switched back on again, except for the freezers.
A very useful tip is furthermore to simply use a restart-file from another, similar model run, although even in this case, it might be a good idea to lower the grid size first, and then to re-increase it.
Unfortunately, true global convergence can often not be achieved. Although typically more than 95% of the grid cells actually do converge, there are often just some cells (or upper parts of some columns) which tend to start oscillating between global iterations, possibly realted to some physical instabilities. My advice here is simply to look at the convergence of the model (see stdout) and judge the convergence by "eye", until it seems extremely unlikely that further iterations could change the line fluxes or profiles and then to press
Peter Woitke, 18.Sept 2008