[FLASH-USERS] V-cycle not converging

Artur Gawryszczak gawrysz at camk.edu.pl
Fri Sep 19 02:25:09 EDT 2008


On czwartek, 18 września 2008, seyit wrote:
> 1) Is this warning something bad?

It depends on what was its cause. You may set mgrid_print_norm to .true. to 
see how many V-cycles are taken and how the convergence ratio changes. You 
may also want to inspect mg_unk array (mgw[1-5] fields in Flash 2.3 and 
earlier) to find where residuals remain uncorrected.

What boundary conditions do you use for gravity? For "isolated" BC it may 
happen that increase of mgrid_max_iter_change will help.

Another possibility is a defect of grid structure with a two refinement level 
difference across a corner or edge of the blocks. It occurs rarely when both 
refinement and derefinement of blocks takes place. Unfortunately I haven't 
any simple model that reproduces this problem. If this occured in your 
simulation you may expect defect in potential field located at grid fault 
(something like cosmic string ;-) ). It has usually magnitude of order of 1% 
or less, related to the correct field (an example or residual: 
http://users.camk.edu.pl/gawrysz/badrefinement.png), so it is possible that 
your simulations aren't much affected. You may also reduce mgrid_max_vcycles 
from the default value (100) to what is really needed (typically 10-15) to 
save some CPU time in some cases.

The change from mgw[1-5] fields in unk array to mg_unk array introduced in 
Flash 2.4 also reduced convergence ratio in multigrid solver, which 
indicates possible bug in guardcell communication. I haven't investigated it 
much - I just reverted from use of mg_unk to mgw[1-5] in unk.

If you plan to use multigrid solver in future I recommend you to switch to 
Flash 3.0 - the implementation of multigrid there is faster and better than 
in Flash 2.x.

> 2) would reducing mgrid_max_residual_norm (or using -O3 optimization)
> help?

It may hide the problem and will degrade quality of solution.

> PS: have I mentioned how bad ifort 8 is?... I guess I have. I was reminded
> of that again today, when I noticed yet again that that compiler messed up
> some results.

For me version 7 was unusable, 8 behaved suspiciously, 9 seemed to be usable 
until I run into some compiler bugs that messed up MPI communication, now I 
hope that 10.1 works well. In general Intel compilers are good because they 
produce fast executable but it is good to use other compilers and compare 
results from time to time.

-- 
Cheers,
        Artur



More information about the flash-users mailing list