diff --git a/Mesh/CenterlineField.cpp b/Mesh/CenterlineField.cpp index d11e585726fa150b67b1cb42a25b4b044d5b9782..88818f58a7b7f838efc5420ebfb656f1b9f34f06 100644 --- a/Mesh/CenterlineField.cpp +++ b/Mesh/CenterlineField.cpp @@ -863,7 +863,7 @@ void Centerline::cutMesh() for(unsigned int i = 0; i < edges.size(); i++){ std::vector<MLine*> lines = edges[i].lines; double L = edges[i].length; - double D = (edges[i].minRad+edges[i].maxRad); + double D = 2.*edges[i].minRad; //(edges[i].minRad+edges[i].maxRad); // double AR = L/D; printf("*** Centerline branch %d (AR=%.1f) \n", edges[i].tag, AR); //if ( edges[i].children.size()) printf("children (%d) = ", edges[i].children.size()); @@ -1151,16 +1151,16 @@ void Centerline::operator() (double x, double y, double z, SMetric3 &metr, GEnt //user-defined parameters //define h_n, h_t1, and h_t2 - double thickness = radMax/2.; + double thickness = radMax/3.; double h_far = radMax/5.; - double beta = (ds <= thickness) ? 1.2 : 2.8; //CTX::instance()->mesh.smoothRatio; + double beta = (ds <= thickness) ? 1.2 : 2.1; //CTX::instance()->mesh.smoothRatio; double dist = (ds <= thickness) ? ds: thickness; double h_n_0 = thickness/20.; double h_n = std::min( (h_n_0+ds*log(beta)), h_far); - double betaMin = 10.; - double betaMax = 3.2; + double betaMin = 10.0; + double betaMax = 3.1; double oneOverD2_min = 1./(2.*rhoMin*rhoMin*(betaMin*betaMin-1)) * (sqrt(1+ (4.*rhoMin*rhoMin*(betaMin*betaMin-1))/(h_n*h_n))-1.); double oneOverD2_max = 1./(2.*rhoMax*rhoMax*(betaMax*betaMax-1)) * diff --git a/benchmarks/centerlines/bypass.stl b/benchmarks/centerlines/bypass.stl index c0ecaf3ee7752404a4f5db46d3e35b467d048fef..676073b724eeb7965775f2e19777817445cbac9b 100644 Binary files a/benchmarks/centerlines/bypass.stl and b/benchmarks/centerlines/bypass.stl differ diff --git a/benchmarks/stl/artery.geo b/benchmarks/stl/artery.geo index eda3c6c7b27529bf0ac6ecb14cbb111910b5c33e..12250dd18cf63dc8eeb3ccbd40a2c6e11825329b 100644 --- a/benchmarks/stl/artery.geo +++ b/benchmarks/stl/artery.geo @@ -1,6 +1,6 @@ -Mesh.Algorithm = 6; //(1=MeshAdapt, 2=Automatic, 5=Delaunay, 6=Frontal, 7=bamg, 8=delquad) +Mesh.Algorithm = 8; //(1=MeshAdapt, 2=Automatic, 5=Delaunay, 6=Frontal, 7=bamg, 8=delquad) -Mesh.RemeshParametrization=0; //(0=harmonic_circle, 1=conformal, 2=rbf, 3=harmonic_plane, 4=convex_circle, 5=convex_plane, 6=harmonic square" +Mesh.RemeshParametrization=7; //(0=harmonic_circle, 1=conformal, 2=rbf, 3=harmonic_plane, 4=convex_circle, 5=convex_plane, 6=harmonic square" Mesh.RemeshAlgorithm=1; //(0) nosplit (1) automatic (2) split metis Mesh.CharacteristicLengthFactor=0.1;