按需失效同步缓存:Regrid_Onelevel 改为返回 bool

将 cgh::Regrid_Onelevel 的返回类型从 void 改为 bool,
在网格真正发生移动时返回 true,否则返回 false。
调用方仅在返回 true 时才失效 sync_cache_*,避免了
每次 RecursiveStep 结束后无条件失效所有层级缓存的冗余开销。

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
CGH0S7
2026-02-25 16:00:26 +08:00
parent ccf6adaf75
commit efc8bf29ea
3 changed files with 17 additions and 16 deletions

View File

@@ -1301,13 +1301,13 @@ bool cgh::Interp_One_Point(MyList<var> *VarList,
}
void cgh::Regrid_Onelevel(int lev, int Symmetry, int BH_num, double **Porgbr, double **Porg0,
bool cgh::Regrid_Onelevel(int lev, int Symmetry, int BH_num, double **Porgbr, double **Porg0,
MyList<var> *OldList, MyList<var> *StateList,
MyList<var> *FutureList, MyList<var> *tmList, bool BB,
monitor *ErrorMonitor)
{
if (lev < movls)
return;
return false;
#if (0)
// #if (PSTR == 1 || PSTR == 2)
@@ -1396,7 +1396,7 @@ void cgh::Regrid_Onelevel(int lev, int Symmetry, int BH_num, double **Porgbr, do
for (bhi = 0; bhi < BH_num; bhi++)
delete[] tmpPorg[bhi];
delete[] tmpPorg;
return;
return false;
}
// x direction
rr = (Porg0[bhi][0] - handle[lev][grd][0]) / dX;
@@ -1500,6 +1500,7 @@ void cgh::Regrid_Onelevel(int lev, int Symmetry, int BH_num, double **Porgbr, do
for (int bhi = 0; bhi < BH_num; bhi++)
delete[] tmpPorg[bhi];
delete[] tmpPorg;
return tot_flag;
}