Yosef<div><br></div><div>As Ian mentioned, there are two changes that may affect this:</div><div><br></div><div>(1) The way in which the shape of the buffer region and the restricted region are determined may be different now, even if a grid has the same number of grid points. The old way was inconsistent under certain circumstances. If this is the case, then certain grid points that used to be defined via interpolation are now defined via time interpolation or vice versa. You can see such differences if you output the grid structure, e.g. via setting Carpet::verbose or CarpetLib::output_bboxes. (The resulting output may be difficult to read.)</div>
<div><br></div><div>(2) Carpet&#39;s prolongation operators are implemented differently and may be more efficient. If so, you should be seeing differences at the round-off level. If you see differences only at every other point, then this is likely the case – every second point is copied from the coarse grid, the points in between are interpolated. Carpet also contains self-tests to ensure that the operators have the desired order of accuracy.</div>
<div><br></div><div>-erik</div><div><br>On Friday, July 27, 2012, Ian Hinder  wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>

    
    
    
<div>
<p>Hi Yosef,
<br>
<br>I believe the code was reorganised in carpet and this needed the algorithm to change in a way that meant numerical results would change.  I can&#39;t check right now, but this should have been mentioned in the announcement of the new version of carpet as well as the ET release notes.
<br>
<br><font color="#999999">-- </font>
<br><font color="#999999">Ian Hinder</font>
<br><font color="#999999"><a href="javascript:_e({}, &#39;cvml&#39;, &#39;ian.hinder@aei.mpg.de&#39;);" target="_blank">ian.hinder@aei.mpg.de</a></font>
<br><font color="#999999"></font>
<br>
<br>----- Original message -----
<br>&gt; While trying to understand why the results from a BBH run
<br>&gt; differed when using the 2011_05 and 2011_10 version of ET
<br>&gt; I noticed that the two versions gave different results on every
<br>&gt; other point of the buffer region (in a 2 level run) on the 2nd
<br>&gt; time level.
<br>&gt; 
<br>&gt; I reran the test using McLachlan and I found a similar
<br>&gt; behavior, but for fewer points (here, only 3, rather
<br>&gt; than 8) and only the innermost points.
<br>&gt; 
<br>&gt; 
<br>&gt; diff -w -u ~/ET/Old/Cactus/test/mc/gxx.x.asc ~/ET/Develop/Cactus/test/mc 
<br>&gt; | grep &quot;^[+-]2&quot;
<br>&gt; -2           0 0 0 0 26 8 8   0.1         1.8 0 0 5.86163790879802
<br>&gt; +2           0             0 0 0     26 8 8   0.1         1.8 0 0 5.86163790879801
<br>&gt; -2           0 1 0 0 26 8 8   0.1         1.8 0 0 5.86163790879802
<br>&gt; +2           0             1 0 0     26 8 8   0.1         1.8 0 0 5.86163790879801
<br>&gt; -2           0 1 0 0 59 8 8   0.1         5.1 0 0 2.06954055131151
<br>&gt; +2           0             1 0 0     59 8 8   0.1         5.1 0 0 2.06940807802512
<br>&gt; -2           0 1 0 0 61 8 8   0.1         5.3 0 0 2.01672019300839
<br>&gt; +2           0             1 0 0     61 8 8   0.1         5.3 0 0 2.01674238678588
<br>&gt; -2           0 1 0 0 63 8 8   0.1         5.5 0 0 1.96875965038995
<br>&gt; +2           0             1 0 0     63 8 8   0.1         5.5 0 0 1.96875664800624
<br>&gt; 
<br>&gt; 
<br>&gt; 
<br>&gt; One of the major differences between these two versions of ET is the
<br>&gt; switch from the git to hg version of carpet.
<br>&gt; 
<br>&gt; Here is the full parfile that I used.
<br>&gt; 
<br>&gt; #==============================================================================
<br>&gt; 
<br>&gt; ActiveThorns = &quot;admanalysis admbase admcoupling admmacros coordgauge 
<br>&gt; spacemask StaticConformal   boundary time cartgrid3d ioutil iobasic 
<br>&gt; nanchecker CoordBase aeilocalinterp Slab SphericalSurface LocalReduce 
<br>&gt; MoL Carpet CarpetInterp CarpetIOASCII CarpetLib CarpetReduce CarpetSlab 
<br>&gt; CarpetRegrid2 SphericalSurface CarpetIOHDF5 CarpetIOScalar InitBase 
<br>&gt; SymBase LoopControl GSL ReflectionSymmetry&quot;
<br>&gt; 
<br>&gt; 
<br>&gt; ActiveThorns = &quot;TimerReport&quot;
<br>&gt; 
<br>&gt; TimerReport::out_every       = 512
<br>&gt; TimerReport::out_filename = &quot;TimerReport&quot;
<br>&gt; Carpet::output_timers_every = 512
<br>&gt; #------------------------------------------------------------------------------
<br>&gt; 
<br>&gt; # Run parameters
<br>&gt; #------------------------------------------------------------------------------
<br>&gt; 
<br>&gt; # Grid
<br>&gt; 
<br>&gt; mol::ode_method                                               = &quot;RK4&quot;
<br>&gt; mol::mol_intermediate_steps                       = 4
<br>&gt; mol::mol_num_scratch_levels                       = 1
<br>&gt; 
<br>&gt; 
<br>&gt; 
<br>&gt; CoordBase::domainsize             = &quot;minmax&quot;
<br>&gt; CoordBase::xmin                         = 0
<br>&gt; CoordBase::ymin                         = 0
<br>&gt; CoordBase::zmin                         = 0
<br>&gt; CoordBase::xmax                         = 10
<br>&gt; CoordBase::ymax                         = 10
<br>&gt; CoordBase::zmax                         = 10
<br>&gt; CoordBase::spacing                   = &quot;numcells&quot;
<br>&gt; CoordBase::ncells_x                 = 50
<br>&gt; CoordBase::ncells_y                 = 50
<br>&gt; CoordBase::ncells_z                 = 50
<br>&gt; CartGrid3D::type                       = &quot;coordbase&quot;
<br>&gt; CartGrid3D::domain                   = &quot;full&quot;
<br>&gt; CartGrid3D::bitant_plane       = &quot;xy&quot;
<br>&gt; CartGrid3D::avoid_originx     = no
<br>&gt; CartGrid3D::avoid_originy     = no
<br>&gt; CartGrid3D::avoid_originz     = no
<br>&gt; 
<br>&gt; CoordBase::boundary_size_x_lower               = 4
<br>&gt; CoordBase::boundary_size_y_lower               = 4
<br>&gt; CoordBase::boundary_size_z_lower               = 4
<br>&gt; CoordBase::boundary_shiftout_x_lower       = 1
<br>&gt; CoordBase::boundary_shiftout_y_lower       = 1
<br>&gt; CoordBase::boundary_shiftout_z_lower       = 1
<br>&gt; 
<br>&gt; CoordBase::boundary_size_x_upper               = 4
<br>&gt; CoordBase::boundary_size_y_upper               = 4
<br>&gt; CoordBase::boundary_size_z_upper               = 4
<br>&gt; 
<br>&gt; ReflectionSymmetry::reflection_x = yes
<br>&gt; ReflectionSymmetry::reflection_y = yes
<br>&gt; ReflectionSymmetry::reflection_z = yes
<br>&gt; ReflectionSymmetry::avoid_origin_x = no
<br>&gt; ReflectionSymmetry::avoid_origin_y = no
<br>&gt; ReflectionSymmetry::avoid_origin_z = no
<br>&gt; 
<br>&gt; 
<br>&gt; 
<br>&gt; driver::ghost_size                                               = 4
<br>&gt; 
<br>&gt; #-----------------------------------------------------------</p>
</div>

</blockquote></div><br><br>-- <br>Erik Schnetter &lt;<a href="mailto:schnetter@cct.lsu.edu" target="_blank">schnetter@cct.lsu.edu</a>&gt;<br><a href="http://www.perimeterinstitute.ca/personal/eschnetter/" target="_blank">http://www.perimeterinstitute.ca/personal/eschnetter/</a><br>