<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif; "><div>Erik,</div><div>&nbsp;&nbsp;</div><div>How does one &quot;nest&quot; loops over grids at different levels? &nbsp; &nbsp;In my way of doing things, it was something like...</div><div><br></div><div><br></div><div>l = level;</div><div><br></div><div><div>&nbsp;gblm1 = mgh[l-1];</div><div>&nbsp;while (gblm1 != NULL) {</div></div><div>&nbsp; &nbsp; &nbsp; &nbsp;Bbox coarse_bbox = gblm1-&gt;bbox;</div><div><br></div><div>&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;gbl = mgh[l];</div><div>&nbsp; &nbsp; &nbsp; &nbsp;while (gbl != NULL) { &nbsp;</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; Bbox fine_bbox = gbl-&gt;bbox;</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// On the regions for which the finer grid overlaps the coarse grid,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; // do some operations...</div><div>&nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;gbl = gbl-&gt;next;</div><div>&nbsp; &nbsp; &nbsp; }</div><div><br></div><div><div>&nbsp; &nbsp;gblm1 = gblm1-&gt;next;</div><div>}</div></div><div><br></div><div><br></div><div>I have an idea of something to try, below, but I'm worried that I'm abusing the SWITCH_TO_LEVEL macro…</div><div><br></div><div><br></div><div>//reflevel = finer grid…</div><div><div>&nbsp;SWITCH_TO_LEVEL( cctkGH, reflevel - 1 ) {</div></div><div>&nbsp; &nbsp; BEGIN_MAP_LOOP (cctkGH, CCTK_GF) {</div><div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BEGIN_LOCAL_COMPONENT_LOOP (cctkGH, CCTK_GF) {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DECLARE_CCTK_ARGUMENTS;</div></div><div><br></div><div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;SWITCH_TO_LEVEL( cctkGH, reflevel ) {</div><div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;BEGIN_MAP_LOOP (cctkGH, CCTK_GF) {</div><div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BEGIN_LOCAL_COMPONENT_LOOP (cctkGH, CCTK_GF) {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DECLARE_CCTK_ARGUMENTS;</div></div></div><div><br></div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // where fine grid bbox overlaps coarse bbox….</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // do operations on coarse grid…</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SWITCH_TO_LEVEL( cctkGH, reflevel - 1 ) {&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // do operations…, e.g. call &quot;L&quot; operator</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } END_SWITCH_TO_LEVEL;&nbsp;</div><div><br></div><div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} END_LOCAL_COMPONENT_LOOP;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } END_MAP_LOOP;</div></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} END_SWITCH_TO_LEVEL;&nbsp;</div><div><br></div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp;} END_LOCAL_COMPONENT_LOOP;</div><div>&nbsp; &nbsp; } END_MAP_LOOP;</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div><div>} END_SWITCH_TO_LEVEL;&nbsp;</div></div></div><div><br></div><div><br></div><div><br></div><div>Or?</div><div><br></div></body></html>