* Activated Element size weights in OpenCascade meshing

* Activated element error power other than "2" in meshing tools
This commit is contained in:
Philippose Rajan 2010-02-26 23:11:13 +00:00
parent 96273c8861
commit 083330c033
2 changed files with 25 additions and 8 deletions

View File

@ -189,7 +189,6 @@ namespace netgen
double teterrpow = 2;
double CalcTetBadness (const Point3d & p1, const Point3d & p2,
@ -225,8 +224,11 @@ namespace netgen
h * h * ( 1 / ll1 + 1 / ll2 + 1 / ll3 +
1 / ll4 + 1 / ll5 + 1 / ll6 ) - 12;
if (teterrpow == 2)
return err*err;
teterrpow = mparam.opterrpow;
if(teterrpow < 1) teterrpow = 1;
if (teterrpow == 1) return err;
if (teterrpow == 2) return err*err;
return pow (err, teterrpow);
}
@ -347,12 +349,23 @@ namespace netgen
}
double errpow;
teterrpow = mparam.opterrpow;
if(teterrpow < 1) teterrpow = 1;
if (teterrpow == 1)
{
errpow = err;
grad = graderr;
}
if (teterrpow == 2)
{
errpow = err*err;
grad = (2 * err) * graderr;
}
else
if(teterrpow > 2)
{
errpow = pow (err, teterrpow);
grad = (teterrpow * errpow / err) * graderr;

View File

@ -915,7 +915,8 @@ namespace netgen
MeshOptimize2dOCCSurfaces meshopt(geom);
meshopt.SetFaceIndex (k);
meshopt.SetImproveEdges (0);
meshopt.SetMetricWeight (0.2);
meshopt.SetMetricWeight (mparam.elsizeweight);
//meshopt.SetMetricWeight (0.2);
meshopt.SetWriteStatus (0);
// (*testout) << "EdgeSwapping (mesh, (i > mparam.optsteps2d/2))" << endl;
@ -927,7 +928,8 @@ namespace netgen
MeshOptimize2dOCCSurfaces meshopt(geom);
meshopt.SetFaceIndex (k);
meshopt.SetImproveEdges (0);
meshopt.SetMetricWeight (0.2);
//meshopt.SetMetricWeight (0.2);
meshopt.SetMetricWeight (mparam.elsizeweight);
meshopt.SetWriteStatus (0);
// (*testout) << "ImproveMesh (mesh)" << endl;
@ -938,7 +940,8 @@ namespace netgen
MeshOptimize2dOCCSurfaces meshopt(geom);
meshopt.SetFaceIndex (k);
meshopt.SetImproveEdges (0);
meshopt.SetMetricWeight (0.2);
//meshopt.SetMetricWeight (0.2);
meshopt.SetMetricWeight (mparam.elsizeweight);
meshopt.SetWriteStatus (0);
// (*testout) << "CombineImprove (mesh)" << endl;
@ -950,7 +953,8 @@ namespace netgen
MeshOptimize2dOCCSurfaces meshopt(geom);
meshopt.SetFaceIndex (k);
meshopt.SetImproveEdges (0);
meshopt.SetMetricWeight (0.2);
//meshopt.SetMetricWeight (0.2);
meshopt.SetMetricWeight (mparam.elsizeweight);
meshopt.SetWriteStatus (0);
// (*testout) << "ImproveMesh (mesh)" << endl;