From 32d9254e36bdb88d1aa8d7257ee946c37df40cac Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Wed, 7 Jan 2009 11:08:52 +0000 Subject: [PATCH] subdivide after optimization --- Mesh/Generator.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp index aacb75f468..e4a13b1f3f 100644 --- a/Mesh/Generator.cpp +++ b/Mesh/Generator.cpp @@ -408,9 +408,6 @@ static void Mesh2D(GModel *m) } } - // use "full quad" subdivision - if(CTX.mesh.algo_subdivide == 1) RefineMesh(m, false, true); - // gmshCollapseSmallEdges (*m); double t2 = Cpu(); @@ -456,9 +453,6 @@ static void Mesh3D(GModel *m) for(unsigned int i = 0; i < connected.size(); i++) MeshDelaunayVolume(connected[i]); - // Use "full hexa" subdivision? - if(CTX.mesh.algo_subdivide == 2) RefineMesh(m, false, false, true); - double t2 = Cpu(); CTX.mesh_timer[2] = t2 - t1; Msg::Info("Mesh 3D complete (%g s)", CTX.mesh_timer[2]); @@ -564,6 +558,12 @@ void GenerateMesh(GModel *m, int ask) if(CTX.mesh.optimize_netgen > i) OptimizeMeshNetgen(m); } } + + // Subdivide into quads or hexas + if(m->getMeshStatus() == 2 && CTX.mesh.algo_subdivide == 1) + RefineMesh(m, false, true); + else if(m->getMeshStatus() == 3 && CTX.mesh.algo_subdivide == 2) + RefineMesh(m, false, false, true); // Create high order elements if(m->getMeshStatus() && CTX.mesh.order > 1) -- GitLab