netgen/libsrc/geom2d/genmesh2d.cpp

744 lines
20 KiB
C++
Raw Normal View History

2011-02-19 03:50:58 +05:00
#include <meshing.hpp>
2009-01-13 04:40:13 +05:00
#include <geometry2d.hpp>
2011-02-19 03:50:58 +05:00
2009-01-13 04:40:13 +05:00
namespace netgen
{
2014-09-25 20:51:57 +06:00
// extern DLL_HEADER MeshingParameters mparam;
2009-01-13 04:40:13 +05:00
2011-02-28 17:59:27 +05:00
extern void Optimize2d (Mesh & mesh, MeshingParameters & mp);
2009-01-13 04:40:13 +05:00
2012-08-28 16:36:58 +06:00
void CalcPartition (const SplineSegExt & spline,
// double l,
MeshingParameters & mp, Mesh & mesh,
// double h, double h1, double h2, double hcurve,
2019-07-09 13:39:16 +05:00
double elto0, NgArray<double> & points)
2012-08-28 16:36:58 +06:00
{
double fperel, oldf, f;
int n = 1;
NgArray<Point<2> > xi;
NgArray<double> hi;
// do one extra step
int not_fine_enough = 2;
while(not_fine_enough && n < 10000)
{
not_fine_enough--;
n*=4;
xi.SetSize(n);
hi.SetSize(n);
for (int i = 0; i < n; i++)
2012-08-28 16:36:58 +06:00
{
xi[i] = spline.GetPoint ( (i+0.5) / n );
hi[i] = mesh.GetH (Point<3> (xi[i](0), xi[i](1), 0));
2012-08-28 16:36:58 +06:00
}
// limit slope
double gradh = min(1/elto0,mp.grading);
for (int i = 0; i < n-1; i++)
2012-08-28 16:36:58 +06:00
{
double hnext = hi[i] + gradh * (xi[i+1]-xi[i]).Length();
if(hnext > 2*hi[i])
not_fine_enough = 2;
hi[i+1] = min(hi[i+1], hnext);
2012-08-28 16:36:58 +06:00
}
for (int i = n-1; i > 1; i--)
2012-08-28 16:36:58 +06:00
{
double hnext = hi[i] + gradh * (xi[i-1]-xi[i]).Length();
if(hnext > 2*hi[i])
not_fine_enough = 2;
hi[i-1] = min(hi[i-1], hnext);
2012-08-28 16:36:58 +06:00
}
}
2012-08-28 16:36:58 +06:00
points.SetSize (0);
double len = spline.Length();
double dt = len / n;
double sum = 0;
for (int i = 1; i <= n; i++)
{
2014-08-20 01:58:36 +06:00
// double t = (i-0.5)*dt;
2012-08-28 16:36:58 +06:00
double fun = hi[i-1];
sum += dt / fun;
}
2019-02-08 03:09:34 +05:00
int nel = int (sum+0.5);
if (nel == 0) nel = 1;
2012-08-28 16:36:58 +06:00
fperel = sum / nel;
points.Append (0);
int i = 1;
oldf = 0;
for (int j = 1; j <= n && i < nel; j++)
{
double t = (j-0.5)*dt;
double fun = hi[j-1];
f = oldf + dt / fun;
while (i * fperel < f && i < nel)
{
points.Append ( dt * (j-1) + (i * fperel - oldf) * fun);
i++;
}
oldf = f;
t += dt;
}
points.Append (len);
}
2011-02-28 17:59:27 +05:00
// partitionizes spline curve
void Partition (const SplineSegExt & spline,
2012-08-28 16:43:39 +06:00
MeshingParameters & mp, double hxxx, double elto0,
2011-02-28 17:59:27 +05:00
Mesh & mesh, Point3dTree & searchtree, int segnr)
{
int n = 100;
2012-08-28 16:36:58 +06:00
Point<2> mark, oldmark;
2019-07-09 13:39:16 +05:00
NgArray<double> curvepoints;
2011-02-28 17:59:27 +05:00
double edgelength, edgelengthold;
2012-08-28 16:36:58 +06:00
CalcPartition (spline, mp, mesh, elto0, curvepoints);
2011-02-28 17:59:27 +05:00
2012-08-28 16:36:58 +06:00
double dt = 1.0 / n;
2011-02-28 17:59:27 +05:00
2012-08-28 16:36:58 +06:00
int j = 1;
2011-02-28 17:59:27 +05:00
2012-08-28 16:36:58 +06:00
Point<2> pold = spline.GetPoint (0);
double lold = 0;
2011-02-28 17:59:27 +05:00
oldmark = pold;
edgelengthold = 0;
2019-07-09 13:39:16 +05:00
NgArray<int> locsearch;
2011-02-28 17:59:27 +05:00
2012-08-28 16:36:58 +06:00
for (int i = 1; i <= n; i++)
2011-02-28 17:59:27 +05:00
{
2012-08-28 16:36:58 +06:00
Point<2> p = spline.GetPoint (i*dt);
double l = lold + Dist (p, pold);
2011-02-28 17:59:27 +05:00
while (j < curvepoints.Size() && (l >= curvepoints[j] || i == n))
{
2012-08-28 16:36:58 +06:00
double frac = (curvepoints[j]-lold) / (l-lold);
2011-02-28 17:59:27 +05:00
edgelength = i*dt + (frac-1)*dt;
mark = spline.GetPoint (edgelength);
{
PointIndex pi1 = -1, pi2 = -1;
Point3d mark3(mark(0), mark(1), 0);
Point3d oldmark3(oldmark(0), oldmark(1), 0);
2012-08-28 16:43:39 +06:00
double h = mesh.GetH (Point<3> (oldmark(0), oldmark(1), 0));
2011-02-28 17:59:27 +05:00
Vec<3> v (1e-4*h, 1e-4*h, 1e-4*h);
searchtree.GetIntersecting (oldmark3 - v, oldmark3 + v, locsearch);
for (int k = 0; k < locsearch.Size(); k++)
if ( mesh[PointIndex(locsearch[k])].GetLayer() == spline.layer)
pi1 = locsearch[k];
searchtree.GetIntersecting (mark3 - v, mark3 + v, locsearch);
for (int k = 0; k < locsearch.Size(); k++)
if ( mesh[PointIndex(locsearch[k])].GetLayer() == spline.layer)
pi2 = locsearch[k];
if (pi1 == -1)
{
pi1 = mesh.AddPoint(oldmark3, spline.layer);
searchtree.Insert (oldmark3, pi1);
}
if (pi2 == -1)
{
pi2 = mesh.AddPoint(mark3, spline.layer);
searchtree.Insert (mark3, pi2);
}
Segment seg;
seg.edgenr = segnr;
seg.si = spline.bc; // segnr;
seg[0] = pi1;
seg[1] = pi2;
seg.domin = spline.leftdom;
seg.domout = spline.rightdom;
seg.epgeominfo[0].edgenr = segnr;
seg.epgeominfo[0].dist = edgelengthold;
seg.epgeominfo[1].edgenr = segnr;
seg.epgeominfo[1].dist = edgelength;
seg.singedge_left = spline.hpref_left;
seg.singedge_right = spline.hpref_right;
mesh.AddSegment (seg);
}
oldmark = mark;
edgelengthold = edgelength;
j++;
}
pold = p;
lold = l;
}
}
2012-08-27 22:07:27 +06:00
void SplineGeometry2d :: PartitionBoundary (MeshingParameters & mp, double h, Mesh & mesh2d)
2011-02-28 17:59:27 +05:00
{
enum { D = 2 };
Box<D> bbox;
GetBoundingBox (bbox);
double dist = Dist (bbox.PMin(), bbox.PMax());
Point<3> pmin;
Point<3> pmax;
pmin(2) = -dist; pmax(2) = dist;
for(int j=0;j<D;j++)
{
pmin(j) = bbox.PMin()(j);
pmax(j) = bbox.PMax()(j);
}
Point3dTree searchtree (pmin, pmax);
for (int i = 0; i < splines.Size(); i++)
for (int side = 0; side <= 1; side++)
{
int dom = (side == 0) ? GetSpline(i).leftdom : GetSpline(i).rightdom;
if (dom != 0) GetSpline(i).layer = GetDomainLayer (dom);
}
2012-08-28 16:36:58 +06:00
// mesh size restrictions ...
2018-12-04 10:58:08 +05:00
for (auto & point : geompoints)
mesh2d.RestrictLocalH (Point<3> (point(0), point(1), 0), point.hmax);
2012-08-28 16:36:58 +06:00
for (int i = 0; i < splines.Size(); i++)
{
const SplineSegExt & spline = GetSpline(i);
const GeomPoint<2> & p1 = spline.StartPI();
const GeomPoint<2> & p2 = spline.EndPI();
double h1 = min (p1.hmax, h/p1.refatpoint);
mesh2d.RestrictLocalH (Point<3>(p1(0),p1(1),0), h1);
double h2 = min (p2.hmax, h/p2.refatpoint);
mesh2d.RestrictLocalH (Point<3>(p2(0),p2(1),0), h2);
double len = spline.Length();
mesh2d.RestrictLocalHLine (Point<3>(p1(0),p1(1),0),
Point<3>(p2(0),p2(1),0), len/mp.segmentsperedge);
double hcurve = min (spline.hmax, h/spline.reffak);
double hl = GetDomainMaxh (spline.leftdom);
if (hl > 0) hcurve = min2 (hcurve, hl);
double hr = GetDomainMaxh (spline.rightdom);
if (hr > 0) hcurve = min2 (hcurve, hr);
2020-10-19 16:19:25 +05:00
// skip curvature restrictions for straight lines
if(spline.MaxCurvature()==0)
{
mesh2d.RestrictLocalHLine (Point<3>(p1(0),p1(1),0),
Point<3>(p2(0),p2(1),0), hcurve);
}
else
{
int np = 1000;
for (double t = 0.5/np; t < 1; t += 1.0/np)
{
Point<2> x = spline.GetPoint(t);
double hc = 1.0/mp.curvaturesafety / (1e-99+spline.CalcCurvature (t));
mesh2d.RestrictLocalH (Point<3> (x(0), x(1), 0), min2(hc, hcurve));
}
}
2012-08-28 16:36:58 +06:00
}
2018-11-08 14:37:33 +05:00
for (auto mspnt : mp.meshsize_points)
mesh2d.RestrictLocalH (mspnt.pnt, mspnt.h);
2018-12-04 10:58:08 +05:00
// add point elements
for (auto & point : geompoints)
if (point.name.length())
{
Point<3> newp(point(0), point(1), 0);
PointIndex npi = mesh2d.AddPoint (newp, 1, FIXEDPOINT);
mesh2d.AddLockedPoint(npi);
Element0d el(npi, npi);
el.name = point.name;
mesh2d.SetCD2Name(npi, point.name);
mesh2d.pointelements.Append (el);
searchtree.Insert (newp, npi);
}
// first add all vertices (for compatible orientation on periodic bnds)
{
double diam2 = Dist2(pmin, pmax);
for (int i = 0; i < splines.Size(); i++)
for (int j : { 1, 2 })
{
Point<2> hnewp = (j == 1) ? splines[i]->StartPI() : splines[i]->EndPI();
Point<3> newp(hnewp(0), hnewp(1), 0);
int layer = GetSpline(i).layer;
int npi = -1;
for (PointIndex pi = PointIndex::BASE;
pi < mesh2d.GetNP()+PointIndex::BASE; pi++)
if (Dist2 (mesh2d.Point(pi), newp) < 1e-12 * diam2 && mesh2d.Point(pi).GetLayer() == layer)
npi = pi;
if (npi == -1)
{
npi = mesh2d.AddPoint (newp, layer);
searchtree.Insert (newp, npi);
}
}
}
2011-02-28 17:59:27 +05:00
for (int i = 0; i < splines.Size(); i++)
if (GetSpline(i).copyfrom == -1)
{
// astrid - set boundary meshsize to domain meshsize h
// if no domain mesh size is given, the max h value from the bounding box is used
2012-08-28 16:36:58 +06:00
double hl = GetDomainMaxh ( GetSpline(i).leftdom );
double hr = GetDomainMaxh ( GetSpline(i).rightdom );
double useh = h;
if (hl > 0) useh = min2 (h, hl);
if (hr > 0) useh = min2 (h, hr);
Partition(GetSpline(i), mp, useh, elto0, mesh2d, searchtree, i+1);
2011-02-28 17:59:27 +05:00
}
else
{
CopyEdgeMesh (GetSpline(i).copyfrom, i+1, mesh2d, searchtree);
}
}
void SplineGeometry2d :: CopyEdgeMesh (int from, int to, Mesh & mesh, Point3dTree & searchtree)
{
Array<PointIndex, PointIndex> mappoints (mesh.GetNP());
Array<double, PointIndex> param (mesh.GetNP());
mappoints = PointIndex::INVALID;
2011-02-28 17:59:27 +05:00
param = 0;
Point3d pmin, pmax;
mesh.GetBox (pmin, pmax);
double diam2 = Dist2(pmin, pmax);
PrintMessage(3, string("Copy edge, from ") + ToString(from) + " to " + ToString(to));
2011-02-28 17:59:27 +05:00
for (const auto& seg : mesh.LineSegments())
2011-02-28 17:59:27 +05:00
{
if (seg.edgenr == from)
{
mappoints[seg[0]] = 1;
param[seg[0]] = seg.epgeominfo[0].dist;
2011-02-28 17:59:27 +05:00
mappoints[seg[1]] = 1;
param[seg[1]] = seg.epgeominfo[1].dist;
2011-02-28 17:59:27 +05:00
}
}
bool mapped = false;
for (auto i : Range(mappoints))
2011-02-28 17:59:27 +05:00
{
if (mappoints[i].IsValid())
2011-02-28 17:59:27 +05:00
{
Point<2> newp = splines.Get(to)->GetPoint (param[i]);
2012-08-28 16:43:39 +06:00
Point<3> newp3 (newp(0), newp(1), 0);
2011-02-28 17:59:27 +05:00
PointIndex npi = PointIndex::INVALID;
2011-02-28 17:59:27 +05:00
for (auto pi : Range(mesh.Points()))
2011-02-28 17:59:27 +05:00
if (Dist2 (mesh.Point(pi), newp3) < 1e-12 * diam2)
npi = pi;
if (!npi.IsValid())
2011-02-28 17:59:27 +05:00
{
npi = mesh.AddPoint (newp3);
searchtree.Insert (newp3, npi);
}
mappoints[i] = npi;
2011-02-28 17:59:27 +05:00
mesh.GetIdentifications().Add (i, npi, to);
mapped = true;
}
}
if(mapped)
mesh.GetIdentifications().SetType(to,Identifications::PERIODIC);
// copy segments
int oldnseg = mesh.GetNSeg();
2012-08-28 16:43:39 +06:00
for (int i = 1; i <= oldnseg; i++)
2011-02-28 17:59:27 +05:00
{
const Segment & seg = mesh.LineSegment(i);
if (seg.edgenr == from)
{
Segment nseg;
nseg.edgenr = to;
nseg.si = GetSpline(to-1).bc; // splines.Get(to)->bc;
nseg[0] = mappoints[seg[0]];
nseg[1] = mappoints[seg[1]];
2011-02-28 17:59:27 +05:00
nseg.domin = GetSpline(to-1).leftdom;
nseg.domout = GetSpline(to-1).rightdom;
nseg.epgeominfo[0].edgenr = to;
nseg.epgeominfo[0].dist = param[seg[0]];
2011-02-28 17:59:27 +05:00
nseg.epgeominfo[1].edgenr = to;
nseg.epgeominfo[1].dist = param[seg[1]];
2011-02-28 17:59:27 +05:00
mesh.AddSegment (nseg);
}
}
}
2009-01-13 04:40:13 +05:00
void MeshFromSpline2D (SplineGeometry2d & geometry,
2014-09-26 02:23:31 +06:00
shared_ptr<Mesh> & mesh,
2009-01-13 04:40:13 +05:00
MeshingParameters & mp)
{
Delaunay for 2d mesh generation Squashed commit of the following: commit 84f36ffeb409f5fddb389c75ee48b4872b516ae9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 18:27:15 2020 +0200 revert change in spline partitioning commit d4aef23a22a9beb26c4453267c99dd7533174ced Merge: 15a467aa 97dfecd0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:59:00 2020 +0200 Merge branch 'master' into delaunay2d commit 15a467aa7f7cb09f9ea3d984905fe3da69f0b238 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:44:31 2020 +0200 delaunay2d - fix trig orientation commit be223412ad972722a51b64a5bccf7ca2bec566c8 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:29:46 2020 +0200 fix delaunay swapping commit 48b95ae2ee1cbabcfae79dfd1cb7af1fd69d77f3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:27:51 2020 +0200 testout only with debug settings commit d82b7a7cecb6f65f42b79b666fc58d0116dc0365 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:37:10 2020 +0200 delaunay only for large domains commit 1f51eaca1ff7a3777e4f32ba9e35e48d496a2854 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:21:33 2020 +0200 compress points in delaunay commit 20a223f36f3912a208db80c717d9dd87851ba43f Merge: 2446b746 4c15146d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:31:14 2020 +0200 Merge branch 'master' into delaunay2d commit 2446b74687ee56633a86e748e85343919edbd5ad Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:22:01 2020 +0200 optimize CalcPartition() and PartitionBoundary() commit 3baa58833348a72f16853530a5d17e73424186df Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 12:24:17 2020 +0200 MeshingParameters - delaunay2d option (default is off) commit e79b113dde9b9c4c5b92239817c6058ca468c319 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 16:12:45 2020 +0200 fix windows build error commit 92c7b9c1ed4016458980bbc21c61dae07f4444c7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:44 2020 +0200 delaunay bugfix commit 6880194107819cfb2d23206e7e0f48ff5aa3fc10 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:05 2020 +0200 csg2d - fix bug with splines commit 1d9baa299d49e1f6fa16f4368885601ed01c5de7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 18:40:23 2020 +0200 CSG2d - faster AddIntersections (search tree per loop) commit 2679ef0dee10cdf486441af47ca4c081aa7eb50b Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 17:13:17 2020 +0200 bounding box for Loop commit 894c6345b737693e32cbda368e56f56764e11085 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:48:51 2020 +0200 remove debug check, output in blockfill commit 2b0a0892c41e746b12e5e852cdb138acd3d2c4e3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:40:53 2020 +0200 compress mesh after delaunay commit 1de33c87eee3199d4d9b18544f66e53329b47a2f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:37:07 2020 +0200 revert change in improve2d commit 41a60e89533e94b93b92202ac17852d3aee9acbb Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:25:07 2020 +0200 cleanup delaunay2d commit c16aae324969cd5a90748953019933690d013337 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:39:56 2020 +0200 sunburst chart - tooltip formatting commit 4d61e1fdeab302ba357904f22f951361935791f0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:03:37 2020 +0200 delaunay seems to work commit 8bd43f54d1efd6862f1b403cdb6c8ce9b5f7b3c6 Merge: 90ac7adb 25efdadd Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:08:01 2020 +0200 Merge remote-tracking branch 'gitlab/master' into delaunay2d commit 90ac7adb562cf2402345c5dfb4281bd097b5d62d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:49 2020 +0200 fix Loop::operator= commit 1eb4f2de3b6576f503a073011a208fa8f609524e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:13 2020 +0200 more statistics in sunburst chart commit db8b97ffbbc7db2a3413c4f8a5528eebe3488d57 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 11:17:28 2020 +0200 more work on delaunay2d commit eaa675f2351252b5fde423f241b10e231d1eb97e Merge: 0eb9f9bd 8f837cb9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:51:31 2020 +0200 Merge remote-tracking branch 'gitlab/delaunay2d' into delaunay2d commit 0eb9f9bd1c31a0e3c3c796c9280b1c1d007ace26 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:50:10 2020 +0200 further csg2d optimization commit 8f837cb9a281acca7c33159985da3b6992fe638f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 19:02:31 2020 +0200 csg2d - optimize Loop::operator= commit 7bb4f16b886b20902b0d3563716055fc1734d47e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 10:28:20 2020 +0200 csg2d performance (search tree, inside tests) commit 2c9ebce04d7989223327a1875e1b65bf180c95f5 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 2 16:33:24 2020 +0200 [WIP] delaunay2d commit 749df2311a3ac1976faaa9f0b60846709a2087b9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 1 11:36:03 2020 +0200 something commit cda9fffde33a86b71467debb86848fdb9cfbf80c Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Sep 30 12:06:53 2020 +0200 delaunay2d - fix size of starting trig
2020-10-16 21:28:09 +05:00
static Timer tall("MeshFromSpline2D"); RegionTimer rtall(tall);
static Timer t_h("SetH");
static Timer t_tensor("tensor domain meshing");
static Timer t_part_boundary("PartitionBoundary");
static Timer t_hpref("mark hpref points");
2009-01-13 04:40:13 +05:00
PrintMessage (1, "Generate Mesh from spline geometry");
Box<2> bbox = geometry.GetBoundingBox ();
Delaunay for 2d mesh generation Squashed commit of the following: commit 84f36ffeb409f5fddb389c75ee48b4872b516ae9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 18:27:15 2020 +0200 revert change in spline partitioning commit d4aef23a22a9beb26c4453267c99dd7533174ced Merge: 15a467aa 97dfecd0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:59:00 2020 +0200 Merge branch 'master' into delaunay2d commit 15a467aa7f7cb09f9ea3d984905fe3da69f0b238 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:44:31 2020 +0200 delaunay2d - fix trig orientation commit be223412ad972722a51b64a5bccf7ca2bec566c8 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:29:46 2020 +0200 fix delaunay swapping commit 48b95ae2ee1cbabcfae79dfd1cb7af1fd69d77f3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:27:51 2020 +0200 testout only with debug settings commit d82b7a7cecb6f65f42b79b666fc58d0116dc0365 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:37:10 2020 +0200 delaunay only for large domains commit 1f51eaca1ff7a3777e4f32ba9e35e48d496a2854 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:21:33 2020 +0200 compress points in delaunay commit 20a223f36f3912a208db80c717d9dd87851ba43f Merge: 2446b746 4c15146d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:31:14 2020 +0200 Merge branch 'master' into delaunay2d commit 2446b74687ee56633a86e748e85343919edbd5ad Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:22:01 2020 +0200 optimize CalcPartition() and PartitionBoundary() commit 3baa58833348a72f16853530a5d17e73424186df Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 12:24:17 2020 +0200 MeshingParameters - delaunay2d option (default is off) commit e79b113dde9b9c4c5b92239817c6058ca468c319 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 16:12:45 2020 +0200 fix windows build error commit 92c7b9c1ed4016458980bbc21c61dae07f4444c7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:44 2020 +0200 delaunay bugfix commit 6880194107819cfb2d23206e7e0f48ff5aa3fc10 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:05 2020 +0200 csg2d - fix bug with splines commit 1d9baa299d49e1f6fa16f4368885601ed01c5de7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 18:40:23 2020 +0200 CSG2d - faster AddIntersections (search tree per loop) commit 2679ef0dee10cdf486441af47ca4c081aa7eb50b Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 17:13:17 2020 +0200 bounding box for Loop commit 894c6345b737693e32cbda368e56f56764e11085 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:48:51 2020 +0200 remove debug check, output in blockfill commit 2b0a0892c41e746b12e5e852cdb138acd3d2c4e3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:40:53 2020 +0200 compress mesh after delaunay commit 1de33c87eee3199d4d9b18544f66e53329b47a2f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:37:07 2020 +0200 revert change in improve2d commit 41a60e89533e94b93b92202ac17852d3aee9acbb Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:25:07 2020 +0200 cleanup delaunay2d commit c16aae324969cd5a90748953019933690d013337 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:39:56 2020 +0200 sunburst chart - tooltip formatting commit 4d61e1fdeab302ba357904f22f951361935791f0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:03:37 2020 +0200 delaunay seems to work commit 8bd43f54d1efd6862f1b403cdb6c8ce9b5f7b3c6 Merge: 90ac7adb 25efdadd Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:08:01 2020 +0200 Merge remote-tracking branch 'gitlab/master' into delaunay2d commit 90ac7adb562cf2402345c5dfb4281bd097b5d62d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:49 2020 +0200 fix Loop::operator= commit 1eb4f2de3b6576f503a073011a208fa8f609524e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:13 2020 +0200 more statistics in sunburst chart commit db8b97ffbbc7db2a3413c4f8a5528eebe3488d57 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 11:17:28 2020 +0200 more work on delaunay2d commit eaa675f2351252b5fde423f241b10e231d1eb97e Merge: 0eb9f9bd 8f837cb9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:51:31 2020 +0200 Merge remote-tracking branch 'gitlab/delaunay2d' into delaunay2d commit 0eb9f9bd1c31a0e3c3c796c9280b1c1d007ace26 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:50:10 2020 +0200 further csg2d optimization commit 8f837cb9a281acca7c33159985da3b6992fe638f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 19:02:31 2020 +0200 csg2d - optimize Loop::operator= commit 7bb4f16b886b20902b0d3563716055fc1734d47e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 10:28:20 2020 +0200 csg2d performance (search tree, inside tests) commit 2c9ebce04d7989223327a1875e1b65bf180c95f5 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 2 16:33:24 2020 +0200 [WIP] delaunay2d commit 749df2311a3ac1976faaa9f0b60846709a2087b9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 1 11:36:03 2020 +0200 something commit cda9fffde33a86b71467debb86848fdb9cfbf80c Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Sep 30 12:06:53 2020 +0200 delaunay2d - fix size of starting trig
2020-10-16 21:28:09 +05:00
t_h.Start();
if (bbox.Diam() < mp.maxh)
mp.maxh = bbox.Diam();
// double h = mp.maxh;
2009-01-13 04:40:13 +05:00
2014-10-08 18:46:25 +06:00
// mesh = make_shared<Mesh>();
2009-01-13 04:40:13 +05:00
mesh->SetDimension (2);
2012-08-28 16:36:58 +06:00
Point3d pmin(bbox.PMin()(0), bbox.PMin()(1), -bbox.Diam());
Point3d pmax(bbox.PMax()(0), bbox.PMax()(1), bbox.Diam());
2014-09-25 20:51:57 +06:00
mesh->SetLocalH (pmin, pmax, mp.grading);
mesh->SetGlobalH (mp.maxh);
2012-08-28 16:36:58 +06:00
Delaunay for 2d mesh generation Squashed commit of the following: commit 84f36ffeb409f5fddb389c75ee48b4872b516ae9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 18:27:15 2020 +0200 revert change in spline partitioning commit d4aef23a22a9beb26c4453267c99dd7533174ced Merge: 15a467aa 97dfecd0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:59:00 2020 +0200 Merge branch 'master' into delaunay2d commit 15a467aa7f7cb09f9ea3d984905fe3da69f0b238 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:44:31 2020 +0200 delaunay2d - fix trig orientation commit be223412ad972722a51b64a5bccf7ca2bec566c8 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:29:46 2020 +0200 fix delaunay swapping commit 48b95ae2ee1cbabcfae79dfd1cb7af1fd69d77f3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:27:51 2020 +0200 testout only with debug settings commit d82b7a7cecb6f65f42b79b666fc58d0116dc0365 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:37:10 2020 +0200 delaunay only for large domains commit 1f51eaca1ff7a3777e4f32ba9e35e48d496a2854 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:21:33 2020 +0200 compress points in delaunay commit 20a223f36f3912a208db80c717d9dd87851ba43f Merge: 2446b746 4c15146d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:31:14 2020 +0200 Merge branch 'master' into delaunay2d commit 2446b74687ee56633a86e748e85343919edbd5ad Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:22:01 2020 +0200 optimize CalcPartition() and PartitionBoundary() commit 3baa58833348a72f16853530a5d17e73424186df Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 12:24:17 2020 +0200 MeshingParameters - delaunay2d option (default is off) commit e79b113dde9b9c4c5b92239817c6058ca468c319 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 16:12:45 2020 +0200 fix windows build error commit 92c7b9c1ed4016458980bbc21c61dae07f4444c7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:44 2020 +0200 delaunay bugfix commit 6880194107819cfb2d23206e7e0f48ff5aa3fc10 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:05 2020 +0200 csg2d - fix bug with splines commit 1d9baa299d49e1f6fa16f4368885601ed01c5de7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 18:40:23 2020 +0200 CSG2d - faster AddIntersections (search tree per loop) commit 2679ef0dee10cdf486441af47ca4c081aa7eb50b Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 17:13:17 2020 +0200 bounding box for Loop commit 894c6345b737693e32cbda368e56f56764e11085 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:48:51 2020 +0200 remove debug check, output in blockfill commit 2b0a0892c41e746b12e5e852cdb138acd3d2c4e3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:40:53 2020 +0200 compress mesh after delaunay commit 1de33c87eee3199d4d9b18544f66e53329b47a2f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:37:07 2020 +0200 revert change in improve2d commit 41a60e89533e94b93b92202ac17852d3aee9acbb Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:25:07 2020 +0200 cleanup delaunay2d commit c16aae324969cd5a90748953019933690d013337 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:39:56 2020 +0200 sunburst chart - tooltip formatting commit 4d61e1fdeab302ba357904f22f951361935791f0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:03:37 2020 +0200 delaunay seems to work commit 8bd43f54d1efd6862f1b403cdb6c8ce9b5f7b3c6 Merge: 90ac7adb 25efdadd Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:08:01 2020 +0200 Merge remote-tracking branch 'gitlab/master' into delaunay2d commit 90ac7adb562cf2402345c5dfb4281bd097b5d62d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:49 2020 +0200 fix Loop::operator= commit 1eb4f2de3b6576f503a073011a208fa8f609524e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:13 2020 +0200 more statistics in sunburst chart commit db8b97ffbbc7db2a3413c4f8a5528eebe3488d57 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 11:17:28 2020 +0200 more work on delaunay2d commit eaa675f2351252b5fde423f241b10e231d1eb97e Merge: 0eb9f9bd 8f837cb9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:51:31 2020 +0200 Merge remote-tracking branch 'gitlab/delaunay2d' into delaunay2d commit 0eb9f9bd1c31a0e3c3c796c9280b1c1d007ace26 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:50:10 2020 +0200 further csg2d optimization commit 8f837cb9a281acca7c33159985da3b6992fe638f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 19:02:31 2020 +0200 csg2d - optimize Loop::operator= commit 7bb4f16b886b20902b0d3563716055fc1734d47e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 10:28:20 2020 +0200 csg2d performance (search tree, inside tests) commit 2c9ebce04d7989223327a1875e1b65bf180c95f5 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 2 16:33:24 2020 +0200 [WIP] delaunay2d commit 749df2311a3ac1976faaa9f0b60846709a2087b9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 1 11:36:03 2020 +0200 something commit cda9fffde33a86b71467debb86848fdb9cfbf80c Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Sep 30 12:06:53 2020 +0200 delaunay2d - fix size of starting trig
2020-10-16 21:28:09 +05:00
t_part_boundary.Start();
geometry.PartitionBoundary (mp, mp.maxh, *mesh);
Delaunay for 2d mesh generation Squashed commit of the following: commit 84f36ffeb409f5fddb389c75ee48b4872b516ae9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 18:27:15 2020 +0200 revert change in spline partitioning commit d4aef23a22a9beb26c4453267c99dd7533174ced Merge: 15a467aa 97dfecd0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:59:00 2020 +0200 Merge branch 'master' into delaunay2d commit 15a467aa7f7cb09f9ea3d984905fe3da69f0b238 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:44:31 2020 +0200 delaunay2d - fix trig orientation commit be223412ad972722a51b64a5bccf7ca2bec566c8 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:29:46 2020 +0200 fix delaunay swapping commit 48b95ae2ee1cbabcfae79dfd1cb7af1fd69d77f3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:27:51 2020 +0200 testout only with debug settings commit d82b7a7cecb6f65f42b79b666fc58d0116dc0365 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:37:10 2020 +0200 delaunay only for large domains commit 1f51eaca1ff7a3777e4f32ba9e35e48d496a2854 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:21:33 2020 +0200 compress points in delaunay commit 20a223f36f3912a208db80c717d9dd87851ba43f Merge: 2446b746 4c15146d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:31:14 2020 +0200 Merge branch 'master' into delaunay2d commit 2446b74687ee56633a86e748e85343919edbd5ad Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:22:01 2020 +0200 optimize CalcPartition() and PartitionBoundary() commit 3baa58833348a72f16853530a5d17e73424186df Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 12:24:17 2020 +0200 MeshingParameters - delaunay2d option (default is off) commit e79b113dde9b9c4c5b92239817c6058ca468c319 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 16:12:45 2020 +0200 fix windows build error commit 92c7b9c1ed4016458980bbc21c61dae07f4444c7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:44 2020 +0200 delaunay bugfix commit 6880194107819cfb2d23206e7e0f48ff5aa3fc10 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:05 2020 +0200 csg2d - fix bug with splines commit 1d9baa299d49e1f6fa16f4368885601ed01c5de7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 18:40:23 2020 +0200 CSG2d - faster AddIntersections (search tree per loop) commit 2679ef0dee10cdf486441af47ca4c081aa7eb50b Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 17:13:17 2020 +0200 bounding box for Loop commit 894c6345b737693e32cbda368e56f56764e11085 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:48:51 2020 +0200 remove debug check, output in blockfill commit 2b0a0892c41e746b12e5e852cdb138acd3d2c4e3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:40:53 2020 +0200 compress mesh after delaunay commit 1de33c87eee3199d4d9b18544f66e53329b47a2f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:37:07 2020 +0200 revert change in improve2d commit 41a60e89533e94b93b92202ac17852d3aee9acbb Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:25:07 2020 +0200 cleanup delaunay2d commit c16aae324969cd5a90748953019933690d013337 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:39:56 2020 +0200 sunburst chart - tooltip formatting commit 4d61e1fdeab302ba357904f22f951361935791f0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:03:37 2020 +0200 delaunay seems to work commit 8bd43f54d1efd6862f1b403cdb6c8ce9b5f7b3c6 Merge: 90ac7adb 25efdadd Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:08:01 2020 +0200 Merge remote-tracking branch 'gitlab/master' into delaunay2d commit 90ac7adb562cf2402345c5dfb4281bd097b5d62d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:49 2020 +0200 fix Loop::operator= commit 1eb4f2de3b6576f503a073011a208fa8f609524e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:13 2020 +0200 more statistics in sunburst chart commit db8b97ffbbc7db2a3413c4f8a5528eebe3488d57 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 11:17:28 2020 +0200 more work on delaunay2d commit eaa675f2351252b5fde423f241b10e231d1eb97e Merge: 0eb9f9bd 8f837cb9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:51:31 2020 +0200 Merge remote-tracking branch 'gitlab/delaunay2d' into delaunay2d commit 0eb9f9bd1c31a0e3c3c796c9280b1c1d007ace26 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:50:10 2020 +0200 further csg2d optimization commit 8f837cb9a281acca7c33159985da3b6992fe638f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 19:02:31 2020 +0200 csg2d - optimize Loop::operator= commit 7bb4f16b886b20902b0d3563716055fc1734d47e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 10:28:20 2020 +0200 csg2d performance (search tree, inside tests) commit 2c9ebce04d7989223327a1875e1b65bf180c95f5 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 2 16:33:24 2020 +0200 [WIP] delaunay2d commit 749df2311a3ac1976faaa9f0b60846709a2087b9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 1 11:36:03 2020 +0200 something commit cda9fffde33a86b71467debb86848fdb9cfbf80c Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Sep 30 12:06:53 2020 +0200 delaunay2d - fix size of starting trig
2020-10-16 21:28:09 +05:00
t_part_boundary.Stop();
2014-09-26 17:51:10 +06:00
PrintMessage (3, "Boundary mesh done, np = ", mesh->GetNP());
2009-01-13 04:40:13 +05:00
2010-03-23 02:41:07 +05:00
Delaunay for 2d mesh generation Squashed commit of the following: commit 84f36ffeb409f5fddb389c75ee48b4872b516ae9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 18:27:15 2020 +0200 revert change in spline partitioning commit d4aef23a22a9beb26c4453267c99dd7533174ced Merge: 15a467aa 97dfecd0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:59:00 2020 +0200 Merge branch 'master' into delaunay2d commit 15a467aa7f7cb09f9ea3d984905fe3da69f0b238 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:44:31 2020 +0200 delaunay2d - fix trig orientation commit be223412ad972722a51b64a5bccf7ca2bec566c8 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:29:46 2020 +0200 fix delaunay swapping commit 48b95ae2ee1cbabcfae79dfd1cb7af1fd69d77f3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:27:51 2020 +0200 testout only with debug settings commit d82b7a7cecb6f65f42b79b666fc58d0116dc0365 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:37:10 2020 +0200 delaunay only for large domains commit 1f51eaca1ff7a3777e4f32ba9e35e48d496a2854 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:21:33 2020 +0200 compress points in delaunay commit 20a223f36f3912a208db80c717d9dd87851ba43f Merge: 2446b746 4c15146d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:31:14 2020 +0200 Merge branch 'master' into delaunay2d commit 2446b74687ee56633a86e748e85343919edbd5ad Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:22:01 2020 +0200 optimize CalcPartition() and PartitionBoundary() commit 3baa58833348a72f16853530a5d17e73424186df Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 12:24:17 2020 +0200 MeshingParameters - delaunay2d option (default is off) commit e79b113dde9b9c4c5b92239817c6058ca468c319 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 16:12:45 2020 +0200 fix windows build error commit 92c7b9c1ed4016458980bbc21c61dae07f4444c7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:44 2020 +0200 delaunay bugfix commit 6880194107819cfb2d23206e7e0f48ff5aa3fc10 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:05 2020 +0200 csg2d - fix bug with splines commit 1d9baa299d49e1f6fa16f4368885601ed01c5de7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 18:40:23 2020 +0200 CSG2d - faster AddIntersections (search tree per loop) commit 2679ef0dee10cdf486441af47ca4c081aa7eb50b Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 17:13:17 2020 +0200 bounding box for Loop commit 894c6345b737693e32cbda368e56f56764e11085 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:48:51 2020 +0200 remove debug check, output in blockfill commit 2b0a0892c41e746b12e5e852cdb138acd3d2c4e3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:40:53 2020 +0200 compress mesh after delaunay commit 1de33c87eee3199d4d9b18544f66e53329b47a2f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:37:07 2020 +0200 revert change in improve2d commit 41a60e89533e94b93b92202ac17852d3aee9acbb Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:25:07 2020 +0200 cleanup delaunay2d commit c16aae324969cd5a90748953019933690d013337 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:39:56 2020 +0200 sunburst chart - tooltip formatting commit 4d61e1fdeab302ba357904f22f951361935791f0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:03:37 2020 +0200 delaunay seems to work commit 8bd43f54d1efd6862f1b403cdb6c8ce9b5f7b3c6 Merge: 90ac7adb 25efdadd Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:08:01 2020 +0200 Merge remote-tracking branch 'gitlab/master' into delaunay2d commit 90ac7adb562cf2402345c5dfb4281bd097b5d62d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:49 2020 +0200 fix Loop::operator= commit 1eb4f2de3b6576f503a073011a208fa8f609524e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:13 2020 +0200 more statistics in sunburst chart commit db8b97ffbbc7db2a3413c4f8a5528eebe3488d57 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 11:17:28 2020 +0200 more work on delaunay2d commit eaa675f2351252b5fde423f241b10e231d1eb97e Merge: 0eb9f9bd 8f837cb9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:51:31 2020 +0200 Merge remote-tracking branch 'gitlab/delaunay2d' into delaunay2d commit 0eb9f9bd1c31a0e3c3c796c9280b1c1d007ace26 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:50:10 2020 +0200 further csg2d optimization commit 8f837cb9a281acca7c33159985da3b6992fe638f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 19:02:31 2020 +0200 csg2d - optimize Loop::operator= commit 7bb4f16b886b20902b0d3563716055fc1734d47e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 10:28:20 2020 +0200 csg2d performance (search tree, inside tests) commit 2c9ebce04d7989223327a1875e1b65bf180c95f5 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 2 16:33:24 2020 +0200 [WIP] delaunay2d commit 749df2311a3ac1976faaa9f0b60846709a2087b9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 1 11:36:03 2020 +0200 something commit cda9fffde33a86b71467debb86848fdb9cfbf80c Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Sep 30 12:06:53 2020 +0200 delaunay2d - fix size of starting trig
2020-10-16 21:28:09 +05:00
t_hpref.Start();
2009-01-13 04:40:13 +05:00
// marks mesh points for hp-refinement
for (int i = 0; i < geometry.GetNP(); i++)
if (geometry.GetPoint(i).hpref)
{
double mindist = 1e99;
PointIndex mpi(0);
Point<2> gp = geometry.GetPoint(i);
Point<3> gp3(gp(0), gp(1), 0);
for (PointIndex pi = PointIndex::BASE;
pi < mesh->GetNP()+PointIndex::BASE; pi++)
if (Dist2(gp3, (*mesh)[pi]) < mindist)
{
mpi = pi;
mindist = Dist2(gp3, (*mesh)[pi]);
}
(*mesh)[mpi].Singularity(geometry.GetPoint(i).hpref);
2009-01-13 04:40:13 +05:00
}
Delaunay for 2d mesh generation Squashed commit of the following: commit 84f36ffeb409f5fddb389c75ee48b4872b516ae9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 18:27:15 2020 +0200 revert change in spline partitioning commit d4aef23a22a9beb26c4453267c99dd7533174ced Merge: 15a467aa 97dfecd0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:59:00 2020 +0200 Merge branch 'master' into delaunay2d commit 15a467aa7f7cb09f9ea3d984905fe3da69f0b238 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:44:31 2020 +0200 delaunay2d - fix trig orientation commit be223412ad972722a51b64a5bccf7ca2bec566c8 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:29:46 2020 +0200 fix delaunay swapping commit 48b95ae2ee1cbabcfae79dfd1cb7af1fd69d77f3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:27:51 2020 +0200 testout only with debug settings commit d82b7a7cecb6f65f42b79b666fc58d0116dc0365 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:37:10 2020 +0200 delaunay only for large domains commit 1f51eaca1ff7a3777e4f32ba9e35e48d496a2854 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:21:33 2020 +0200 compress points in delaunay commit 20a223f36f3912a208db80c717d9dd87851ba43f Merge: 2446b746 4c15146d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:31:14 2020 +0200 Merge branch 'master' into delaunay2d commit 2446b74687ee56633a86e748e85343919edbd5ad Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:22:01 2020 +0200 optimize CalcPartition() and PartitionBoundary() commit 3baa58833348a72f16853530a5d17e73424186df Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 12:24:17 2020 +0200 MeshingParameters - delaunay2d option (default is off) commit e79b113dde9b9c4c5b92239817c6058ca468c319 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 16:12:45 2020 +0200 fix windows build error commit 92c7b9c1ed4016458980bbc21c61dae07f4444c7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:44 2020 +0200 delaunay bugfix commit 6880194107819cfb2d23206e7e0f48ff5aa3fc10 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:05 2020 +0200 csg2d - fix bug with splines commit 1d9baa299d49e1f6fa16f4368885601ed01c5de7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 18:40:23 2020 +0200 CSG2d - faster AddIntersections (search tree per loop) commit 2679ef0dee10cdf486441af47ca4c081aa7eb50b Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 17:13:17 2020 +0200 bounding box for Loop commit 894c6345b737693e32cbda368e56f56764e11085 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:48:51 2020 +0200 remove debug check, output in blockfill commit 2b0a0892c41e746b12e5e852cdb138acd3d2c4e3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:40:53 2020 +0200 compress mesh after delaunay commit 1de33c87eee3199d4d9b18544f66e53329b47a2f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:37:07 2020 +0200 revert change in improve2d commit 41a60e89533e94b93b92202ac17852d3aee9acbb Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:25:07 2020 +0200 cleanup delaunay2d commit c16aae324969cd5a90748953019933690d013337 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:39:56 2020 +0200 sunburst chart - tooltip formatting commit 4d61e1fdeab302ba357904f22f951361935791f0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:03:37 2020 +0200 delaunay seems to work commit 8bd43f54d1efd6862f1b403cdb6c8ce9b5f7b3c6 Merge: 90ac7adb 25efdadd Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:08:01 2020 +0200 Merge remote-tracking branch 'gitlab/master' into delaunay2d commit 90ac7adb562cf2402345c5dfb4281bd097b5d62d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:49 2020 +0200 fix Loop::operator= commit 1eb4f2de3b6576f503a073011a208fa8f609524e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:13 2020 +0200 more statistics in sunburst chart commit db8b97ffbbc7db2a3413c4f8a5528eebe3488d57 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 11:17:28 2020 +0200 more work on delaunay2d commit eaa675f2351252b5fde423f241b10e231d1eb97e Merge: 0eb9f9bd 8f837cb9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:51:31 2020 +0200 Merge remote-tracking branch 'gitlab/delaunay2d' into delaunay2d commit 0eb9f9bd1c31a0e3c3c796c9280b1c1d007ace26 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:50:10 2020 +0200 further csg2d optimization commit 8f837cb9a281acca7c33159985da3b6992fe638f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 19:02:31 2020 +0200 csg2d - optimize Loop::operator= commit 7bb4f16b886b20902b0d3563716055fc1734d47e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 10:28:20 2020 +0200 csg2d performance (search tree, inside tests) commit 2c9ebce04d7989223327a1875e1b65bf180c95f5 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 2 16:33:24 2020 +0200 [WIP] delaunay2d commit 749df2311a3ac1976faaa9f0b60846709a2087b9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 1 11:36:03 2020 +0200 something commit cda9fffde33a86b71467debb86848fdb9cfbf80c Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Sep 30 12:06:53 2020 +0200 delaunay2d - fix size of starting trig
2020-10-16 21:28:09 +05:00
t_hpref.Stop();
2009-01-13 04:40:13 +05:00
int maxdomnr = 0;
for (SegmentIndex si = 0; si < mesh->GetNSeg(); si++)
{
if ( (*mesh)[si].domin > maxdomnr) maxdomnr = (*mesh)[si].domin;
if ( (*mesh)[si].domout > maxdomnr) maxdomnr = (*mesh)[si].domout;
}
2020-10-22 15:04:32 +05:00
TableCreator<const Segment*> dom2seg_creator(maxdomnr+1);
for ( ; !dom2seg_creator.Done(); dom2seg_creator++)
for (const Segment & seg : mesh->LineSegments())
{
dom2seg_creator.Add (seg.domin, &seg);
if (seg.domin != seg.domout)
dom2seg_creator.Add (seg.domout, &seg);
2020-10-22 15:04:32 +05:00
}
auto dom2seg = dom2seg_creator.MoveTable();
2009-01-13 04:40:13 +05:00
mesh->ClearFaceDescriptors();
for (int i = 1; i <= maxdomnr; i++)
mesh->AddFaceDescriptor (FaceDescriptor (i, 0, 0, i));
2019-07-09 13:39:16 +05:00
// set NgArray<string*> bcnames...
2009-01-13 04:40:13 +05:00
// number of bcnames
int maxsegmentindex = 0;
for (SegmentIndex si = 0; si < mesh->GetNSeg(); si++)
2014-09-26 17:51:10 +06:00
if ( (*mesh)[si].si > maxsegmentindex) maxsegmentindex = (*mesh)[si].si;
2009-01-13 04:40:13 +05:00
2019-01-31 00:54:25 +05:00
mesh->SetNBCNames(maxsegmentindex);
2009-01-13 04:40:13 +05:00
2019-01-31 00:54:25 +05:00
for ( int sindex = 0; sindex < maxsegmentindex; sindex++ )
2009-04-20 03:15:26 +06:00
mesh->SetBCName ( sindex, geometry.GetBCName( sindex+1 ) );
2009-01-13 04:40:13 +05:00
2014-09-25 20:51:57 +06:00
mesh->CalcLocalH(mp.grading);
Delaunay for 2d mesh generation Squashed commit of the following: commit 84f36ffeb409f5fddb389c75ee48b4872b516ae9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 18:27:15 2020 +0200 revert change in spline partitioning commit d4aef23a22a9beb26c4453267c99dd7533174ced Merge: 15a467aa 97dfecd0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:59:00 2020 +0200 Merge branch 'master' into delaunay2d commit 15a467aa7f7cb09f9ea3d984905fe3da69f0b238 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:44:31 2020 +0200 delaunay2d - fix trig orientation commit be223412ad972722a51b64a5bccf7ca2bec566c8 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:29:46 2020 +0200 fix delaunay swapping commit 48b95ae2ee1cbabcfae79dfd1cb7af1fd69d77f3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:27:51 2020 +0200 testout only with debug settings commit d82b7a7cecb6f65f42b79b666fc58d0116dc0365 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:37:10 2020 +0200 delaunay only for large domains commit 1f51eaca1ff7a3777e4f32ba9e35e48d496a2854 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:21:33 2020 +0200 compress points in delaunay commit 20a223f36f3912a208db80c717d9dd87851ba43f Merge: 2446b746 4c15146d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:31:14 2020 +0200 Merge branch 'master' into delaunay2d commit 2446b74687ee56633a86e748e85343919edbd5ad Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:22:01 2020 +0200 optimize CalcPartition() and PartitionBoundary() commit 3baa58833348a72f16853530a5d17e73424186df Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 12:24:17 2020 +0200 MeshingParameters - delaunay2d option (default is off) commit e79b113dde9b9c4c5b92239817c6058ca468c319 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 16:12:45 2020 +0200 fix windows build error commit 92c7b9c1ed4016458980bbc21c61dae07f4444c7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:44 2020 +0200 delaunay bugfix commit 6880194107819cfb2d23206e7e0f48ff5aa3fc10 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:05 2020 +0200 csg2d - fix bug with splines commit 1d9baa299d49e1f6fa16f4368885601ed01c5de7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 18:40:23 2020 +0200 CSG2d - faster AddIntersections (search tree per loop) commit 2679ef0dee10cdf486441af47ca4c081aa7eb50b Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 17:13:17 2020 +0200 bounding box for Loop commit 894c6345b737693e32cbda368e56f56764e11085 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:48:51 2020 +0200 remove debug check, output in blockfill commit 2b0a0892c41e746b12e5e852cdb138acd3d2c4e3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:40:53 2020 +0200 compress mesh after delaunay commit 1de33c87eee3199d4d9b18544f66e53329b47a2f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:37:07 2020 +0200 revert change in improve2d commit 41a60e89533e94b93b92202ac17852d3aee9acbb Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:25:07 2020 +0200 cleanup delaunay2d commit c16aae324969cd5a90748953019933690d013337 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:39:56 2020 +0200 sunburst chart - tooltip formatting commit 4d61e1fdeab302ba357904f22f951361935791f0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:03:37 2020 +0200 delaunay seems to work commit 8bd43f54d1efd6862f1b403cdb6c8ce9b5f7b3c6 Merge: 90ac7adb 25efdadd Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:08:01 2020 +0200 Merge remote-tracking branch 'gitlab/master' into delaunay2d commit 90ac7adb562cf2402345c5dfb4281bd097b5d62d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:49 2020 +0200 fix Loop::operator= commit 1eb4f2de3b6576f503a073011a208fa8f609524e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:13 2020 +0200 more statistics in sunburst chart commit db8b97ffbbc7db2a3413c4f8a5528eebe3488d57 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 11:17:28 2020 +0200 more work on delaunay2d commit eaa675f2351252b5fde423f241b10e231d1eb97e Merge: 0eb9f9bd 8f837cb9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:51:31 2020 +0200 Merge remote-tracking branch 'gitlab/delaunay2d' into delaunay2d commit 0eb9f9bd1c31a0e3c3c796c9280b1c1d007ace26 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:50:10 2020 +0200 further csg2d optimization commit 8f837cb9a281acca7c33159985da3b6992fe638f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 19:02:31 2020 +0200 csg2d - optimize Loop::operator= commit 7bb4f16b886b20902b0d3563716055fc1734d47e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 10:28:20 2020 +0200 csg2d performance (search tree, inside tests) commit 2c9ebce04d7989223327a1875e1b65bf180c95f5 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 2 16:33:24 2020 +0200 [WIP] delaunay2d commit 749df2311a3ac1976faaa9f0b60846709a2087b9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 1 11:36:03 2020 +0200 something commit cda9fffde33a86b71467debb86848fdb9cfbf80c Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Sep 30 12:06:53 2020 +0200 delaunay2d - fix size of starting trig
2020-10-16 21:28:09 +05:00
t_h.Stop();
2009-01-13 04:40:13 +05:00
int bnp = mesh->GetNP(); // boundary points
2014-12-02 18:23:36 +05:00
auto BndPntRange = mesh->Points().Range();
2009-01-13 04:40:13 +05:00
2014-09-25 20:51:57 +06:00
int hquad = mp.quad;
2009-01-13 04:40:13 +05:00
for (int domnr = 1; domnr <= maxdomnr; domnr++)
if (geometry.GetDomainTensorMeshing (domnr))
{ // tensor product mesh
Delaunay for 2d mesh generation Squashed commit of the following: commit 84f36ffeb409f5fddb389c75ee48b4872b516ae9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 18:27:15 2020 +0200 revert change in spline partitioning commit d4aef23a22a9beb26c4453267c99dd7533174ced Merge: 15a467aa 97dfecd0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:59:00 2020 +0200 Merge branch 'master' into delaunay2d commit 15a467aa7f7cb09f9ea3d984905fe3da69f0b238 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:44:31 2020 +0200 delaunay2d - fix trig orientation commit be223412ad972722a51b64a5bccf7ca2bec566c8 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:29:46 2020 +0200 fix delaunay swapping commit 48b95ae2ee1cbabcfae79dfd1cb7af1fd69d77f3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:27:51 2020 +0200 testout only with debug settings commit d82b7a7cecb6f65f42b79b666fc58d0116dc0365 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:37:10 2020 +0200 delaunay only for large domains commit 1f51eaca1ff7a3777e4f32ba9e35e48d496a2854 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:21:33 2020 +0200 compress points in delaunay commit 20a223f36f3912a208db80c717d9dd87851ba43f Merge: 2446b746 4c15146d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:31:14 2020 +0200 Merge branch 'master' into delaunay2d commit 2446b74687ee56633a86e748e85343919edbd5ad Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:22:01 2020 +0200 optimize CalcPartition() and PartitionBoundary() commit 3baa58833348a72f16853530a5d17e73424186df Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 12:24:17 2020 +0200 MeshingParameters - delaunay2d option (default is off) commit e79b113dde9b9c4c5b92239817c6058ca468c319 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 16:12:45 2020 +0200 fix windows build error commit 92c7b9c1ed4016458980bbc21c61dae07f4444c7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:44 2020 +0200 delaunay bugfix commit 6880194107819cfb2d23206e7e0f48ff5aa3fc10 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:05 2020 +0200 csg2d - fix bug with splines commit 1d9baa299d49e1f6fa16f4368885601ed01c5de7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 18:40:23 2020 +0200 CSG2d - faster AddIntersections (search tree per loop) commit 2679ef0dee10cdf486441af47ca4c081aa7eb50b Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 17:13:17 2020 +0200 bounding box for Loop commit 894c6345b737693e32cbda368e56f56764e11085 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:48:51 2020 +0200 remove debug check, output in blockfill commit 2b0a0892c41e746b12e5e852cdb138acd3d2c4e3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:40:53 2020 +0200 compress mesh after delaunay commit 1de33c87eee3199d4d9b18544f66e53329b47a2f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:37:07 2020 +0200 revert change in improve2d commit 41a60e89533e94b93b92202ac17852d3aee9acbb Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:25:07 2020 +0200 cleanup delaunay2d commit c16aae324969cd5a90748953019933690d013337 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:39:56 2020 +0200 sunburst chart - tooltip formatting commit 4d61e1fdeab302ba357904f22f951361935791f0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:03:37 2020 +0200 delaunay seems to work commit 8bd43f54d1efd6862f1b403cdb6c8ce9b5f7b3c6 Merge: 90ac7adb 25efdadd Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:08:01 2020 +0200 Merge remote-tracking branch 'gitlab/master' into delaunay2d commit 90ac7adb562cf2402345c5dfb4281bd097b5d62d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:49 2020 +0200 fix Loop::operator= commit 1eb4f2de3b6576f503a073011a208fa8f609524e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:13 2020 +0200 more statistics in sunburst chart commit db8b97ffbbc7db2a3413c4f8a5528eebe3488d57 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 11:17:28 2020 +0200 more work on delaunay2d commit eaa675f2351252b5fde423f241b10e231d1eb97e Merge: 0eb9f9bd 8f837cb9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:51:31 2020 +0200 Merge remote-tracking branch 'gitlab/delaunay2d' into delaunay2d commit 0eb9f9bd1c31a0e3c3c796c9280b1c1d007ace26 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:50:10 2020 +0200 further csg2d optimization commit 8f837cb9a281acca7c33159985da3b6992fe638f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 19:02:31 2020 +0200 csg2d - optimize Loop::operator= commit 7bb4f16b886b20902b0d3563716055fc1734d47e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 10:28:20 2020 +0200 csg2d performance (search tree, inside tests) commit 2c9ebce04d7989223327a1875e1b65bf180c95f5 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 2 16:33:24 2020 +0200 [WIP] delaunay2d commit 749df2311a3ac1976faaa9f0b60846709a2087b9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 1 11:36:03 2020 +0200 something commit cda9fffde33a86b71467debb86848fdb9cfbf80c Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Sep 30 12:06:53 2020 +0200 delaunay2d - fix size of starting trig
2020-10-16 21:28:09 +05:00
RegionTimer rt(t_tensor);
2009-01-13 04:40:13 +05:00
2019-07-09 13:39:16 +05:00
NgArray<PointIndex, PointIndex::BASE> nextpi(bnp);
NgArray<int, PointIndex::BASE> si1(bnp), si2(bnp);
2019-08-07 21:36:16 +05:00
// PointIndex firstpi;
2009-01-13 04:40:13 +05:00
nextpi = -1;
si1 = -1;
si2 = -1;
for (SegmentIndex si = 0; si < mesh->GetNSeg(); si++)
{
int p1 = -1, p2 = -2;
if ( (*mesh)[si].domin == domnr)
2009-04-03 20:39:52 +06:00
{ p1 = (*mesh)[si][0]; p2 = (*mesh)[si][1]; }
2009-01-13 04:40:13 +05:00
if ( (*mesh)[si].domout == domnr)
2009-04-03 20:39:52 +06:00
{ p1 = (*mesh)[si][1]; p2 = (*mesh)[si][0]; }
2009-01-13 04:40:13 +05:00
if (p1 == -1) continue;
nextpi[p1] = p2; // counter-clockwise
int index = (*mesh)[si].si;
if (si1[p1] != index && si2[p1] != index)
{ si2[p1] = si1[p1]; si1[p1] = index; }
if (si1[p2] != index && si2[p2] != index)
{ si2[p2] = si1[p2]; si1[p2] = index; }
}
PointIndex c1(0), c2, c3, c4; // 4 corner points
int nex = 1, ney = 1;
for (PointIndex pi = 1; pi <= si2.Size(); pi++)
if (si2[pi] != -1)
{ c1 = pi; break; }
for (c2 = nextpi[c1]; si2[c2] == -1; c2 = nextpi[c2], nex++);
for (c3 = nextpi[c2]; si2[c3] == -1; c3 = nextpi[c3], ney++);
for (c4 = nextpi[c3]; si2[c4] == -1; c4 = nextpi[c4]);
2019-07-09 13:39:16 +05:00
NgArray<PointIndex> pts ( (nex+1) * (ney+1) ); // x ... inner loop
2009-01-13 04:40:13 +05:00
pts = -1;
for (PointIndex pi = c1, i = 0; pi != c2; pi = nextpi[pi], i++)
pts[i] = pi;
for (PointIndex pi = c2, i = 0; pi != c3; pi = nextpi[pi], i++)
pts[(nex+1)*i+nex] = pi;
for (PointIndex pi = c3, i = 0; pi != c4; pi = nextpi[pi], i++)
pts[(nex+1)*(ney+1)-i-1] = pi;
for (PointIndex pi = c4, i = 0; pi != c1; pi = nextpi[pi], i++)
pts[(nex+1)*(ney-i)] = pi;
for (PointIndex pix = nextpi[c1], ix = 0; pix != c2; pix = nextpi[pix], ix++)
{
Point<3> px = (*mesh)[pix];
2009-01-13 04:40:13 +05:00
for (PointIndex piy = nextpi[c2], iy = 0; piy != c3; piy = nextpi[piy], iy++)
{
double lam = Dist((*mesh)[piy],(*mesh)[c2]) / Dist((*mesh)[c3],(*mesh)[c2]);
auto pix1 = pts[(nex+1)*ney+ix+1];
auto pnew = px + lam*((*mesh)[pix1]-px);
pts[(nex+1)*(iy+1) + ix+1] = mesh -> AddPoint (pnew, 1, FIXEDPOINT);
2009-01-13 04:40:13 +05:00
}
}
2009-01-13 04:40:13 +05:00
for (int i = 0; i < ney; i++)
for (int j = 0; j < nex; j++)
{
Element2d el(QUAD);
el[0] = pts[i*(nex+1)+j];
el[1] = pts[i*(nex+1)+j+1];
el[2] = pts[(i+1)*(nex+1)+j+1];
el[3] = pts[(i+1)*(nex+1)+j];
el.SetIndex (domnr);
mesh -> AddSurfaceElement (el);
}
char* material;
geometry.GetMaterial(domnr, material);
if(material)
mesh->SetMaterial(domnr, material);
2009-01-13 04:40:13 +05:00
}
Delaunay for 2d mesh generation Squashed commit of the following: commit 84f36ffeb409f5fddb389c75ee48b4872b516ae9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 18:27:15 2020 +0200 revert change in spline partitioning commit d4aef23a22a9beb26c4453267c99dd7533174ced Merge: 15a467aa 97dfecd0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:59:00 2020 +0200 Merge branch 'master' into delaunay2d commit 15a467aa7f7cb09f9ea3d984905fe3da69f0b238 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:44:31 2020 +0200 delaunay2d - fix trig orientation commit be223412ad972722a51b64a5bccf7ca2bec566c8 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:29:46 2020 +0200 fix delaunay swapping commit 48b95ae2ee1cbabcfae79dfd1cb7af1fd69d77f3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:27:51 2020 +0200 testout only with debug settings commit d82b7a7cecb6f65f42b79b666fc58d0116dc0365 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:37:10 2020 +0200 delaunay only for large domains commit 1f51eaca1ff7a3777e4f32ba9e35e48d496a2854 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:21:33 2020 +0200 compress points in delaunay commit 20a223f36f3912a208db80c717d9dd87851ba43f Merge: 2446b746 4c15146d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:31:14 2020 +0200 Merge branch 'master' into delaunay2d commit 2446b74687ee56633a86e748e85343919edbd5ad Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:22:01 2020 +0200 optimize CalcPartition() and PartitionBoundary() commit 3baa58833348a72f16853530a5d17e73424186df Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 12:24:17 2020 +0200 MeshingParameters - delaunay2d option (default is off) commit e79b113dde9b9c4c5b92239817c6058ca468c319 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 16:12:45 2020 +0200 fix windows build error commit 92c7b9c1ed4016458980bbc21c61dae07f4444c7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:44 2020 +0200 delaunay bugfix commit 6880194107819cfb2d23206e7e0f48ff5aa3fc10 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:05 2020 +0200 csg2d - fix bug with splines commit 1d9baa299d49e1f6fa16f4368885601ed01c5de7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 18:40:23 2020 +0200 CSG2d - faster AddIntersections (search tree per loop) commit 2679ef0dee10cdf486441af47ca4c081aa7eb50b Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 17:13:17 2020 +0200 bounding box for Loop commit 894c6345b737693e32cbda368e56f56764e11085 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:48:51 2020 +0200 remove debug check, output in blockfill commit 2b0a0892c41e746b12e5e852cdb138acd3d2c4e3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:40:53 2020 +0200 compress mesh after delaunay commit 1de33c87eee3199d4d9b18544f66e53329b47a2f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:37:07 2020 +0200 revert change in improve2d commit 41a60e89533e94b93b92202ac17852d3aee9acbb Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:25:07 2020 +0200 cleanup delaunay2d commit c16aae324969cd5a90748953019933690d013337 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:39:56 2020 +0200 sunburst chart - tooltip formatting commit 4d61e1fdeab302ba357904f22f951361935791f0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:03:37 2020 +0200 delaunay seems to work commit 8bd43f54d1efd6862f1b403cdb6c8ce9b5f7b3c6 Merge: 90ac7adb 25efdadd Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:08:01 2020 +0200 Merge remote-tracking branch 'gitlab/master' into delaunay2d commit 90ac7adb562cf2402345c5dfb4281bd097b5d62d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:49 2020 +0200 fix Loop::operator= commit 1eb4f2de3b6576f503a073011a208fa8f609524e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:13 2020 +0200 more statistics in sunburst chart commit db8b97ffbbc7db2a3413c4f8a5528eebe3488d57 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 11:17:28 2020 +0200 more work on delaunay2d commit eaa675f2351252b5fde423f241b10e231d1eb97e Merge: 0eb9f9bd 8f837cb9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:51:31 2020 +0200 Merge remote-tracking branch 'gitlab/delaunay2d' into delaunay2d commit 0eb9f9bd1c31a0e3c3c796c9280b1c1d007ace26 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:50:10 2020 +0200 further csg2d optimization commit 8f837cb9a281acca7c33159985da3b6992fe638f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 19:02:31 2020 +0200 csg2d - optimize Loop::operator= commit 7bb4f16b886b20902b0d3563716055fc1734d47e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 10:28:20 2020 +0200 csg2d performance (search tree, inside tests) commit 2c9ebce04d7989223327a1875e1b65bf180c95f5 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 2 16:33:24 2020 +0200 [WIP] delaunay2d commit 749df2311a3ac1976faaa9f0b60846709a2087b9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 1 11:36:03 2020 +0200 something commit cda9fffde33a86b71467debb86848fdb9cfbf80c Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Sep 30 12:06:53 2020 +0200 delaunay2d - fix size of starting trig
2020-10-16 21:28:09 +05:00
static Timer t_domain("Mesh domain");
2020-10-22 15:04:32 +05:00
static Timer t_points("Mesh domain - find points");
2009-01-13 04:40:13 +05:00
for (int domnr = 1; domnr <= maxdomnr; domnr++)
{
Delaunay for 2d mesh generation Squashed commit of the following: commit 84f36ffeb409f5fddb389c75ee48b4872b516ae9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 18:27:15 2020 +0200 revert change in spline partitioning commit d4aef23a22a9beb26c4453267c99dd7533174ced Merge: 15a467aa 97dfecd0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:59:00 2020 +0200 Merge branch 'master' into delaunay2d commit 15a467aa7f7cb09f9ea3d984905fe3da69f0b238 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:44:31 2020 +0200 delaunay2d - fix trig orientation commit be223412ad972722a51b64a5bccf7ca2bec566c8 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:29:46 2020 +0200 fix delaunay swapping commit 48b95ae2ee1cbabcfae79dfd1cb7af1fd69d77f3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:27:51 2020 +0200 testout only with debug settings commit d82b7a7cecb6f65f42b79b666fc58d0116dc0365 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:37:10 2020 +0200 delaunay only for large domains commit 1f51eaca1ff7a3777e4f32ba9e35e48d496a2854 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:21:33 2020 +0200 compress points in delaunay commit 20a223f36f3912a208db80c717d9dd87851ba43f Merge: 2446b746 4c15146d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:31:14 2020 +0200 Merge branch 'master' into delaunay2d commit 2446b74687ee56633a86e748e85343919edbd5ad Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:22:01 2020 +0200 optimize CalcPartition() and PartitionBoundary() commit 3baa58833348a72f16853530a5d17e73424186df Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 12:24:17 2020 +0200 MeshingParameters - delaunay2d option (default is off) commit e79b113dde9b9c4c5b92239817c6058ca468c319 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 16:12:45 2020 +0200 fix windows build error commit 92c7b9c1ed4016458980bbc21c61dae07f4444c7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:44 2020 +0200 delaunay bugfix commit 6880194107819cfb2d23206e7e0f48ff5aa3fc10 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:05 2020 +0200 csg2d - fix bug with splines commit 1d9baa299d49e1f6fa16f4368885601ed01c5de7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 18:40:23 2020 +0200 CSG2d - faster AddIntersections (search tree per loop) commit 2679ef0dee10cdf486441af47ca4c081aa7eb50b Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 17:13:17 2020 +0200 bounding box for Loop commit 894c6345b737693e32cbda368e56f56764e11085 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:48:51 2020 +0200 remove debug check, output in blockfill commit 2b0a0892c41e746b12e5e852cdb138acd3d2c4e3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:40:53 2020 +0200 compress mesh after delaunay commit 1de33c87eee3199d4d9b18544f66e53329b47a2f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:37:07 2020 +0200 revert change in improve2d commit 41a60e89533e94b93b92202ac17852d3aee9acbb Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:25:07 2020 +0200 cleanup delaunay2d commit c16aae324969cd5a90748953019933690d013337 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:39:56 2020 +0200 sunburst chart - tooltip formatting commit 4d61e1fdeab302ba357904f22f951361935791f0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:03:37 2020 +0200 delaunay seems to work commit 8bd43f54d1efd6862f1b403cdb6c8ce9b5f7b3c6 Merge: 90ac7adb 25efdadd Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:08:01 2020 +0200 Merge remote-tracking branch 'gitlab/master' into delaunay2d commit 90ac7adb562cf2402345c5dfb4281bd097b5d62d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:49 2020 +0200 fix Loop::operator= commit 1eb4f2de3b6576f503a073011a208fa8f609524e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:13 2020 +0200 more statistics in sunburst chart commit db8b97ffbbc7db2a3413c4f8a5528eebe3488d57 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 11:17:28 2020 +0200 more work on delaunay2d commit eaa675f2351252b5fde423f241b10e231d1eb97e Merge: 0eb9f9bd 8f837cb9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:51:31 2020 +0200 Merge remote-tracking branch 'gitlab/delaunay2d' into delaunay2d commit 0eb9f9bd1c31a0e3c3c796c9280b1c1d007ace26 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:50:10 2020 +0200 further csg2d optimization commit 8f837cb9a281acca7c33159985da3b6992fe638f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 19:02:31 2020 +0200 csg2d - optimize Loop::operator= commit 7bb4f16b886b20902b0d3563716055fc1734d47e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 10:28:20 2020 +0200 csg2d performance (search tree, inside tests) commit 2c9ebce04d7989223327a1875e1b65bf180c95f5 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 2 16:33:24 2020 +0200 [WIP] delaunay2d commit 749df2311a3ac1976faaa9f0b60846709a2087b9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 1 11:36:03 2020 +0200 something commit cda9fffde33a86b71467debb86848fdb9cfbf80c Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Sep 30 12:06:53 2020 +0200 delaunay2d - fix size of starting trig
2020-10-16 21:28:09 +05:00
RegionTimer rt(t_domain);
2009-01-13 04:40:13 +05:00
if (geometry.GetDomainTensorMeshing (domnr)) continue;
double h = mp.maxh;
2009-01-13 04:40:13 +05:00
if ( geometry.GetDomainMaxh ( domnr ) > 0 )
h = geometry.GetDomainMaxh(domnr);
PrintMessage (3, "Meshing domain ", domnr, " / ", maxdomnr);
int oldnf = mesh->GetNSE();
2014-09-25 20:51:57 +06:00
mp.quad = hquad || geometry.GetDomainQuadMeshing (domnr);
2009-01-13 04:40:13 +05:00
Meshing2 meshing (geometry, mp, Box<3> (pmin, pmax));
2009-01-13 04:40:13 +05:00
Delaunay for 2d mesh generation Squashed commit of the following: commit 84f36ffeb409f5fddb389c75ee48b4872b516ae9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 18:27:15 2020 +0200 revert change in spline partitioning commit d4aef23a22a9beb26c4453267c99dd7533174ced Merge: 15a467aa 97dfecd0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:59:00 2020 +0200 Merge branch 'master' into delaunay2d commit 15a467aa7f7cb09f9ea3d984905fe3da69f0b238 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:44:31 2020 +0200 delaunay2d - fix trig orientation commit be223412ad972722a51b64a5bccf7ca2bec566c8 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:29:46 2020 +0200 fix delaunay swapping commit 48b95ae2ee1cbabcfae79dfd1cb7af1fd69d77f3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:27:51 2020 +0200 testout only with debug settings commit d82b7a7cecb6f65f42b79b666fc58d0116dc0365 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:37:10 2020 +0200 delaunay only for large domains commit 1f51eaca1ff7a3777e4f32ba9e35e48d496a2854 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:21:33 2020 +0200 compress points in delaunay commit 20a223f36f3912a208db80c717d9dd87851ba43f Merge: 2446b746 4c15146d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:31:14 2020 +0200 Merge branch 'master' into delaunay2d commit 2446b74687ee56633a86e748e85343919edbd5ad Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:22:01 2020 +0200 optimize CalcPartition() and PartitionBoundary() commit 3baa58833348a72f16853530a5d17e73424186df Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 12:24:17 2020 +0200 MeshingParameters - delaunay2d option (default is off) commit e79b113dde9b9c4c5b92239817c6058ca468c319 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 16:12:45 2020 +0200 fix windows build error commit 92c7b9c1ed4016458980bbc21c61dae07f4444c7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:44 2020 +0200 delaunay bugfix commit 6880194107819cfb2d23206e7e0f48ff5aa3fc10 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:05 2020 +0200 csg2d - fix bug with splines commit 1d9baa299d49e1f6fa16f4368885601ed01c5de7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 18:40:23 2020 +0200 CSG2d - faster AddIntersections (search tree per loop) commit 2679ef0dee10cdf486441af47ca4c081aa7eb50b Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 17:13:17 2020 +0200 bounding box for Loop commit 894c6345b737693e32cbda368e56f56764e11085 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:48:51 2020 +0200 remove debug check, output in blockfill commit 2b0a0892c41e746b12e5e852cdb138acd3d2c4e3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:40:53 2020 +0200 compress mesh after delaunay commit 1de33c87eee3199d4d9b18544f66e53329b47a2f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:37:07 2020 +0200 revert change in improve2d commit 41a60e89533e94b93b92202ac17852d3aee9acbb Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:25:07 2020 +0200 cleanup delaunay2d commit c16aae324969cd5a90748953019933690d013337 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:39:56 2020 +0200 sunburst chart - tooltip formatting commit 4d61e1fdeab302ba357904f22f951361935791f0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:03:37 2020 +0200 delaunay seems to work commit 8bd43f54d1efd6862f1b403cdb6c8ce9b5f7b3c6 Merge: 90ac7adb 25efdadd Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:08:01 2020 +0200 Merge remote-tracking branch 'gitlab/master' into delaunay2d commit 90ac7adb562cf2402345c5dfb4281bd097b5d62d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:49 2020 +0200 fix Loop::operator= commit 1eb4f2de3b6576f503a073011a208fa8f609524e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:13 2020 +0200 more statistics in sunburst chart commit db8b97ffbbc7db2a3413c4f8a5528eebe3488d57 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 11:17:28 2020 +0200 more work on delaunay2d commit eaa675f2351252b5fde423f241b10e231d1eb97e Merge: 0eb9f9bd 8f837cb9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:51:31 2020 +0200 Merge remote-tracking branch 'gitlab/delaunay2d' into delaunay2d commit 0eb9f9bd1c31a0e3c3c796c9280b1c1d007ace26 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:50:10 2020 +0200 further csg2d optimization commit 8f837cb9a281acca7c33159985da3b6992fe638f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 19:02:31 2020 +0200 csg2d - optimize Loop::operator= commit 7bb4f16b886b20902b0d3563716055fc1734d47e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 10:28:20 2020 +0200 csg2d performance (search tree, inside tests) commit 2c9ebce04d7989223327a1875e1b65bf180c95f5 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 2 16:33:24 2020 +0200 [WIP] delaunay2d commit 749df2311a3ac1976faaa9f0b60846709a2087b9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 1 11:36:03 2020 +0200 something commit cda9fffde33a86b71467debb86848fdb9cfbf80c Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Sep 30 12:06:53 2020 +0200 delaunay2d - fix size of starting trig
2020-10-16 21:28:09 +05:00
NgArray<int, PointIndex::BASE> compress(mesh->GetNP());
2009-09-07 17:50:13 +06:00
compress = -1;
int cnt = 0;
Delaunay for 2d mesh generation Squashed commit of the following: commit 84f36ffeb409f5fddb389c75ee48b4872b516ae9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 18:27:15 2020 +0200 revert change in spline partitioning commit d4aef23a22a9beb26c4453267c99dd7533174ced Merge: 15a467aa 97dfecd0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:59:00 2020 +0200 Merge branch 'master' into delaunay2d commit 15a467aa7f7cb09f9ea3d984905fe3da69f0b238 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:44:31 2020 +0200 delaunay2d - fix trig orientation commit be223412ad972722a51b64a5bccf7ca2bec566c8 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:29:46 2020 +0200 fix delaunay swapping commit 48b95ae2ee1cbabcfae79dfd1cb7af1fd69d77f3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:27:51 2020 +0200 testout only with debug settings commit d82b7a7cecb6f65f42b79b666fc58d0116dc0365 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:37:10 2020 +0200 delaunay only for large domains commit 1f51eaca1ff7a3777e4f32ba9e35e48d496a2854 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:21:33 2020 +0200 compress points in delaunay commit 20a223f36f3912a208db80c717d9dd87851ba43f Merge: 2446b746 4c15146d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:31:14 2020 +0200 Merge branch 'master' into delaunay2d commit 2446b74687ee56633a86e748e85343919edbd5ad Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:22:01 2020 +0200 optimize CalcPartition() and PartitionBoundary() commit 3baa58833348a72f16853530a5d17e73424186df Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 12:24:17 2020 +0200 MeshingParameters - delaunay2d option (default is off) commit e79b113dde9b9c4c5b92239817c6058ca468c319 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 16:12:45 2020 +0200 fix windows build error commit 92c7b9c1ed4016458980bbc21c61dae07f4444c7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:44 2020 +0200 delaunay bugfix commit 6880194107819cfb2d23206e7e0f48ff5aa3fc10 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:05 2020 +0200 csg2d - fix bug with splines commit 1d9baa299d49e1f6fa16f4368885601ed01c5de7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 18:40:23 2020 +0200 CSG2d - faster AddIntersections (search tree per loop) commit 2679ef0dee10cdf486441af47ca4c081aa7eb50b Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 17:13:17 2020 +0200 bounding box for Loop commit 894c6345b737693e32cbda368e56f56764e11085 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:48:51 2020 +0200 remove debug check, output in blockfill commit 2b0a0892c41e746b12e5e852cdb138acd3d2c4e3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:40:53 2020 +0200 compress mesh after delaunay commit 1de33c87eee3199d4d9b18544f66e53329b47a2f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:37:07 2020 +0200 revert change in improve2d commit 41a60e89533e94b93b92202ac17852d3aee9acbb Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:25:07 2020 +0200 cleanup delaunay2d commit c16aae324969cd5a90748953019933690d013337 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:39:56 2020 +0200 sunburst chart - tooltip formatting commit 4d61e1fdeab302ba357904f22f951361935791f0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:03:37 2020 +0200 delaunay seems to work commit 8bd43f54d1efd6862f1b403cdb6c8ce9b5f7b3c6 Merge: 90ac7adb 25efdadd Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:08:01 2020 +0200 Merge remote-tracking branch 'gitlab/master' into delaunay2d commit 90ac7adb562cf2402345c5dfb4281bd097b5d62d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:49 2020 +0200 fix Loop::operator= commit 1eb4f2de3b6576f503a073011a208fa8f609524e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:13 2020 +0200 more statistics in sunburst chart commit db8b97ffbbc7db2a3413c4f8a5528eebe3488d57 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 11:17:28 2020 +0200 more work on delaunay2d commit eaa675f2351252b5fde423f241b10e231d1eb97e Merge: 0eb9f9bd 8f837cb9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:51:31 2020 +0200 Merge remote-tracking branch 'gitlab/delaunay2d' into delaunay2d commit 0eb9f9bd1c31a0e3c3c796c9280b1c1d007ace26 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:50:10 2020 +0200 further csg2d optimization commit 8f837cb9a281acca7c33159985da3b6992fe638f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 19:02:31 2020 +0200 csg2d - optimize Loop::operator= commit 7bb4f16b886b20902b0d3563716055fc1734d47e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 10:28:20 2020 +0200 csg2d performance (search tree, inside tests) commit 2c9ebce04d7989223327a1875e1b65bf180c95f5 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 2 16:33:24 2020 +0200 [WIP] delaunay2d commit 749df2311a3ac1976faaa9f0b60846709a2087b9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 1 11:36:03 2020 +0200 something commit cda9fffde33a86b71467debb86848fdb9cfbf80c Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Sep 30 12:06:53 2020 +0200 delaunay2d - fix size of starting trig
2020-10-16 21:28:09 +05:00
2020-10-22 15:04:32 +05:00
t_points.Start();
/*
Delaunay for 2d mesh generation Squashed commit of the following: commit 84f36ffeb409f5fddb389c75ee48b4872b516ae9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 18:27:15 2020 +0200 revert change in spline partitioning commit d4aef23a22a9beb26c4453267c99dd7533174ced Merge: 15a467aa 97dfecd0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:59:00 2020 +0200 Merge branch 'master' into delaunay2d commit 15a467aa7f7cb09f9ea3d984905fe3da69f0b238 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:44:31 2020 +0200 delaunay2d - fix trig orientation commit be223412ad972722a51b64a5bccf7ca2bec566c8 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:29:46 2020 +0200 fix delaunay swapping commit 48b95ae2ee1cbabcfae79dfd1cb7af1fd69d77f3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:27:51 2020 +0200 testout only with debug settings commit d82b7a7cecb6f65f42b79b666fc58d0116dc0365 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:37:10 2020 +0200 delaunay only for large domains commit 1f51eaca1ff7a3777e4f32ba9e35e48d496a2854 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:21:33 2020 +0200 compress points in delaunay commit 20a223f36f3912a208db80c717d9dd87851ba43f Merge: 2446b746 4c15146d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:31:14 2020 +0200 Merge branch 'master' into delaunay2d commit 2446b74687ee56633a86e748e85343919edbd5ad Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:22:01 2020 +0200 optimize CalcPartition() and PartitionBoundary() commit 3baa58833348a72f16853530a5d17e73424186df Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 12:24:17 2020 +0200 MeshingParameters - delaunay2d option (default is off) commit e79b113dde9b9c4c5b92239817c6058ca468c319 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 16:12:45 2020 +0200 fix windows build error commit 92c7b9c1ed4016458980bbc21c61dae07f4444c7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:44 2020 +0200 delaunay bugfix commit 6880194107819cfb2d23206e7e0f48ff5aa3fc10 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:05 2020 +0200 csg2d - fix bug with splines commit 1d9baa299d49e1f6fa16f4368885601ed01c5de7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 18:40:23 2020 +0200 CSG2d - faster AddIntersections (search tree per loop) commit 2679ef0dee10cdf486441af47ca4c081aa7eb50b Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 17:13:17 2020 +0200 bounding box for Loop commit 894c6345b737693e32cbda368e56f56764e11085 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:48:51 2020 +0200 remove debug check, output in blockfill commit 2b0a0892c41e746b12e5e852cdb138acd3d2c4e3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:40:53 2020 +0200 compress mesh after delaunay commit 1de33c87eee3199d4d9b18544f66e53329b47a2f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:37:07 2020 +0200 revert change in improve2d commit 41a60e89533e94b93b92202ac17852d3aee9acbb Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:25:07 2020 +0200 cleanup delaunay2d commit c16aae324969cd5a90748953019933690d013337 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:39:56 2020 +0200 sunburst chart - tooltip formatting commit 4d61e1fdeab302ba357904f22f951361935791f0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:03:37 2020 +0200 delaunay seems to work commit 8bd43f54d1efd6862f1b403cdb6c8ce9b5f7b3c6 Merge: 90ac7adb 25efdadd Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:08:01 2020 +0200 Merge remote-tracking branch 'gitlab/master' into delaunay2d commit 90ac7adb562cf2402345c5dfb4281bd097b5d62d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:49 2020 +0200 fix Loop::operator= commit 1eb4f2de3b6576f503a073011a208fa8f609524e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:13 2020 +0200 more statistics in sunburst chart commit db8b97ffbbc7db2a3413c4f8a5528eebe3488d57 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 11:17:28 2020 +0200 more work on delaunay2d commit eaa675f2351252b5fde423f241b10e231d1eb97e Merge: 0eb9f9bd 8f837cb9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:51:31 2020 +0200 Merge remote-tracking branch 'gitlab/delaunay2d' into delaunay2d commit 0eb9f9bd1c31a0e3c3c796c9280b1c1d007ace26 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:50:10 2020 +0200 further csg2d optimization commit 8f837cb9a281acca7c33159985da3b6992fe638f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 19:02:31 2020 +0200 csg2d - optimize Loop::operator= commit 7bb4f16b886b20902b0d3563716055fc1734d47e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 10:28:20 2020 +0200 csg2d performance (search tree, inside tests) commit 2c9ebce04d7989223327a1875e1b65bf180c95f5 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 2 16:33:24 2020 +0200 [WIP] delaunay2d commit 749df2311a3ac1976faaa9f0b60846709a2087b9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 1 11:36:03 2020 +0200 something commit cda9fffde33a86b71467debb86848fdb9cfbf80c Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Sep 30 12:06:53 2020 +0200 delaunay2d - fix size of starting trig
2020-10-16 21:28:09 +05:00
for (SegmentIndex si = 0; si < mesh->GetNSeg(); si++)
{
const auto & s = (*mesh)[si];
if ( s.domin==domnr || s.domout==domnr )
{
for (auto pi : {s[0], s[1]})
{
if(compress[pi]==-1)
{
meshing.AddPoint((*mesh)[pi], pi);
cnt++;
compress[pi] = cnt;
}
}
}
}
2020-10-22 15:04:32 +05:00
*/
for (const Segment * seg : dom2seg[domnr])
if (seg->domin==domnr || seg->domout==domnr )
for (auto pi : {(*seg)[0], (*seg)[1]})
if (compress[pi]==-1)
{
meshing.AddPoint((*mesh)[pi], pi);
cnt++;
compress[pi] = cnt;
}
2009-01-13 04:40:13 +05:00
PointGeomInfo gi;
gi.trignum = 1;
2020-10-22 15:04:32 +05:00
/*
2009-01-13 04:40:13 +05:00
for (SegmentIndex si = 0; si < mesh->GetNSeg(); si++)
{
if ( (*mesh)[si].domin == domnr)
2009-09-07 17:50:13 +06:00
{
2014-12-02 18:23:36 +05:00
meshing.AddBoundaryElement (compress[(*mesh)[si][0]],
compress[(*mesh)[si][1]], gi, gi);
2009-09-07 17:50:13 +06:00
}
2009-01-13 04:40:13 +05:00
if ( (*mesh)[si].domout == domnr)
2009-09-07 17:50:13 +06:00
{
2014-12-02 18:23:36 +05:00
meshing.AddBoundaryElement (compress[(*mesh)[si][1]],
compress[(*mesh)[si][0]], gi, gi);
2009-09-07 17:50:13 +06:00
}
2009-01-13 04:40:13 +05:00
}
2020-10-22 15:04:32 +05:00
*/
for (const Segment * seg : dom2seg[domnr])
{
if (seg->domin == domnr)
meshing.AddBoundaryElement (compress[(*seg)[0]],
compress[(*seg)[1]], gi, gi);
if (seg->domout == domnr)
meshing.AddBoundaryElement (compress[(*seg)[1]],
compress[(*seg)[0]], gi, gi);
}
t_points.Stop();
2009-01-13 04:40:13 +05:00
2020-10-25 20:31:47 +05:00
if(mp.delaunay2d && cnt>1)
Delaunay for 2d mesh generation Squashed commit of the following: commit 84f36ffeb409f5fddb389c75ee48b4872b516ae9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 18:27:15 2020 +0200 revert change in spline partitioning commit d4aef23a22a9beb26c4453267c99dd7533174ced Merge: 15a467aa 97dfecd0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:59:00 2020 +0200 Merge branch 'master' into delaunay2d commit 15a467aa7f7cb09f9ea3d984905fe3da69f0b238 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:44:31 2020 +0200 delaunay2d - fix trig orientation commit be223412ad972722a51b64a5bccf7ca2bec566c8 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:29:46 2020 +0200 fix delaunay swapping commit 48b95ae2ee1cbabcfae79dfd1cb7af1fd69d77f3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 17:27:51 2020 +0200 testout only with debug settings commit d82b7a7cecb6f65f42b79b666fc58d0116dc0365 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:37:10 2020 +0200 delaunay only for large domains commit 1f51eaca1ff7a3777e4f32ba9e35e48d496a2854 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 16:21:33 2020 +0200 compress points in delaunay commit 20a223f36f3912a208db80c717d9dd87851ba43f Merge: 2446b746 4c15146d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:31:14 2020 +0200 Merge branch 'master' into delaunay2d commit 2446b74687ee56633a86e748e85343919edbd5ad Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 14:22:01 2020 +0200 optimize CalcPartition() and PartitionBoundary() commit 3baa58833348a72f16853530a5d17e73424186df Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 16 12:24:17 2020 +0200 MeshingParameters - delaunay2d option (default is off) commit e79b113dde9b9c4c5b92239817c6058ca468c319 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 16:12:45 2020 +0200 fix windows build error commit 92c7b9c1ed4016458980bbc21c61dae07f4444c7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:44 2020 +0200 delaunay bugfix commit 6880194107819cfb2d23206e7e0f48ff5aa3fc10 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 15 17:51:05 2020 +0200 csg2d - fix bug with splines commit 1d9baa299d49e1f6fa16f4368885601ed01c5de7 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 18:40:23 2020 +0200 CSG2d - faster AddIntersections (search tree per loop) commit 2679ef0dee10cdf486441af47ca4c081aa7eb50b Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 17:13:17 2020 +0200 bounding box for Loop commit 894c6345b737693e32cbda368e56f56764e11085 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:48:51 2020 +0200 remove debug check, output in blockfill commit 2b0a0892c41e746b12e5e852cdb138acd3d2c4e3 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:40:53 2020 +0200 compress mesh after delaunay commit 1de33c87eee3199d4d9b18544f66e53329b47a2f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:37:07 2020 +0200 revert change in improve2d commit 41a60e89533e94b93b92202ac17852d3aee9acbb Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 12:25:07 2020 +0200 cleanup delaunay2d commit c16aae324969cd5a90748953019933690d013337 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:39:56 2020 +0200 sunburst chart - tooltip formatting commit 4d61e1fdeab302ba357904f22f951361935791f0 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Oct 14 11:03:37 2020 +0200 delaunay seems to work commit 8bd43f54d1efd6862f1b403cdb6c8ce9b5f7b3c6 Merge: 90ac7adb 25efdadd Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:08:01 2020 +0200 Merge remote-tracking branch 'gitlab/master' into delaunay2d commit 90ac7adb562cf2402345c5dfb4281bd097b5d62d Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:49 2020 +0200 fix Loop::operator= commit 1eb4f2de3b6576f503a073011a208fa8f609524e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 12:04:13 2020 +0200 more statistics in sunburst chart commit db8b97ffbbc7db2a3413c4f8a5528eebe3488d57 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 13 11:17:28 2020 +0200 more work on delaunay2d commit eaa675f2351252b5fde423f241b10e231d1eb97e Merge: 0eb9f9bd 8f837cb9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:51:31 2020 +0200 Merge remote-tracking branch 'gitlab/delaunay2d' into delaunay2d commit 0eb9f9bd1c31a0e3c3c796c9280b1c1d007ace26 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Mon Oct 12 12:50:10 2020 +0200 further csg2d optimization commit 8f837cb9a281acca7c33159985da3b6992fe638f Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 19:02:31 2020 +0200 csg2d - optimize Loop::operator= commit 7bb4f16b886b20902b0d3563716055fc1734d47e Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Tue Oct 6 10:28:20 2020 +0200 csg2d performance (search tree, inside tests) commit 2c9ebce04d7989223327a1875e1b65bf180c95f5 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Fri Oct 2 16:33:24 2020 +0200 [WIP] delaunay2d commit 749df2311a3ac1976faaa9f0b60846709a2087b9 Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Thu Oct 1 11:36:03 2020 +0200 something commit cda9fffde33a86b71467debb86848fdb9cfbf80c Author: Matthias Hochsteger <mhochsteger@cerbsim.com> Date: Wed Sep 30 12:06:53 2020 +0200 delaunay2d - fix size of starting trig
2020-10-16 21:28:09 +05:00
meshing.Delaunay(*mesh, domnr, mp);
else
{
// mp.checkoverlap = 0;
auto res = meshing.GenerateMesh (*mesh, mp, h, domnr);
if (res != 0)
throw NgException("meshing failed");
}
2018-12-04 13:49:53 +05:00
2009-01-13 04:40:13 +05:00
for (SurfaceElementIndex sei = oldnf; sei < mesh->GetNSE(); sei++)
(*mesh)[sei].SetIndex (domnr);
// astrid
char * material;
2014-12-02 18:23:36 +05:00
geometry.GetMaterial (domnr, material);
if (material)
mesh->SetMaterial (domnr, material);
2009-01-13 04:40:13 +05:00
}
2020-10-25 20:31:47 +05:00
mesh->Compress();
2014-09-25 20:51:57 +06:00
mp.quad = hquad;
2009-01-13 04:40:13 +05:00
int hsteps = mp.optsteps2d;
mp.optimize2d = "smcm";
mp.optsteps2d = hsteps/2;
Optimize2d (*mesh, mp);
mp.optimize2d = "Smcm";
mp.optsteps2d = (hsteps+1)/2;
Optimize2d (*mesh, mp);
mp.optsteps2d = hsteps;
mesh->Compress();
2016-05-13 15:06:12 +05:00
mesh->OrderElements();
2009-01-13 04:40:13 +05:00
mesh -> SetNextMajorTimeStamp();
2014-09-26 16:49:21 +06:00
mp.Render();
2009-01-13 04:40:13 +05:00
}
}