Build LocalH tree for each domain separately, if not already present before volume meshing

This commit is contained in:
Matthias Hochsteger 2021-06-16 15:49:23 +02:00
parent 5ec753452e
commit 6237f5542f
2 changed files with 9 additions and 2 deletions

View File

@ -721,7 +721,9 @@ namespace netgen
if(mesh3d.GetNDomains()==0) if(mesh3d.GetNDomains()==0)
return MESHING3_OK; return MESHING3_OK;
if (!mesh3d.HasLocalHFunction()) mesh3d.CalcLocalH(mp.grading); // localh function is built for each domain separately in blockfill ( more efficient )
if (!mesh3d.HasLocalHFunction() && !mp.blockfill)
mesh3d.CalcLocalH(mp.grading);
auto md = DivideMesh(mesh3d, mp); auto md = DivideMesh(mesh3d, mp);

View File

@ -1182,7 +1182,12 @@ void Meshing3 :: BlockFillLocalH (Mesh & mesh,
const MeshingParameters & mp) const MeshingParameters & mp)
{ {
static Timer t("Mesing3::BlockFillLocalH"); RegionTimer reg(t); static Timer t("Mesing3::BlockFillLocalH"); RegionTimer reg(t);
// PrepareBlockFillLocalH(mesh, mp);
if (!mesh.HasLocalHFunction())
{
mesh.CalcLocalH(mp.grading);
PrepareBlockFillLocalH(mesh, mp);
}
double filldist = mp.filldist; double filldist = mp.filldist;