Version 1 (modified by 13 years ago) ( diff ) | ,
---|
Controlling Refinement in AstroBEAR 2.0
Overview
Refinement is triggered by various sections of code evaluating various refinement criteria described below. To mark cell i,j,k
for refinement, each routine sets Info%ErrFlag(i,j,k)=1
. If a cell is marked for refinement by more then one routine there is no problem since it will still be refined. Setting Info%ErrFlag(i,j,k)=0
however, is generally not a good idea since another flagging routine may have previously marked the cell for refinement with good reason.
After all of the cells in a given parent info have been potentially marked for refinement, the subroutine NewSubGrids in data_info_ops.f90 groups the flagged cells into rectangular patches so that every cell is within a patch and that no patch has a filling ratio less then the DesiredFillRatio for that level set in global.data. Having a DesiredFillRatio of 1.0 will effectively limit refinement to only cells marked for refinement however the MinimumGridSize also set in global.data may limit the actual desired fill ratios. Having many small grids is generally not as efficient as having a few larger grids even if they comprise more cells and so a desired fill ratio of 1.0 does not usually give the best performance. Values of .7 to .9 are recommended for optimal performance.
Attachments (13)
- ErrFlag1_7.png (21.0 KB ) - added by 13 years ago.
- ErrFlag1_9.png (45.1 KB ) - added by 13 years ago.
- ErrFlag1_10.png (69.3 KB ) - added by 13 years ago.
- ErrFlag1_10_4.png (40.0 KB ) - added by 13 years ago.
- ErrFlag1_7_2_3.png (40.5 KB ) - added by 13 years ago.
- ErrFlag1_10_2_3.png (79.9 KB ) - added by 13 years ago.
- ErrFlag1_9_2_3.png (52.5 KB ) - added by 13 years ago.
- mesh1.png (21.1 KB ) - added by 13 years ago.
- mesh2.png (21.3 KB ) - added by 13 years ago.
- mesh3.png (21.2 KB ) - added by 13 years ago.
- mesh4.png (21.3 KB ) - added by 13 years ago.
- problem.f90 (5.6 KB ) - added by 13 years ago.
- expanding_refinement.gif (1.8 MB ) - added by 13 years ago.