Commit Graph

987 Commits

Author SHA1 Message Date
Christopher Lackner
7f6996aa5d remove warning output if intersect. triangles in different layers 2020-10-23 12:05:30 +02:00
Matthias Hochsteger
a2a2da13dc debug messages in hp refinement 2020-10-19 19:30:30 +02:00
Matthias Hochsteger
389280fc0c debug output 2020-10-19 16:55:49 +02:00
Matthias Hochsteger
8ba6bad6fd 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 18:34:13 +02:00
Matthias Hochsteger
f55e3e6eb4 move DelaunayTree to adtree.hpp 2020-10-14 12:00:37 +02:00
Christopher Lackner
70347a6d3c tuple implicitly convertible to Pnt and Vec 2020-09-29 18:57:56 +02:00
Joachim Schöberl
b124b7bd06 keep global vertex enumeration on coarse grid 2020-09-21 07:49:56 +02:00
Christopher Lackner
218c4a531b fix uninizialized area and maybe deleted value being appended
pout3d may be deleted when array resizes, so copy it
2020-09-07 15:19:53 +02:00
Christopher Lackner
e3f95528e0 throw if IdentifyBoundaries mapped point is outside of mesh 2020-09-03 11:06:34 +02:00
Matthias Hochsteger
2f18c2b1f7 Mesh::Mirror() 2020-09-01 20:50:03 +02:00
Joachim Schöberl
0fe20c9dee set ParallelTop functions 2020-08-29 20:56:29 +02:00
Joachim Schöberl
0b74e3cbdc identify edges/faces without sub-group 2020-08-29 18:24:13 +02:00
Joachim Schöberl
aac584a5aa identify vertices without sub-group 2020-08-29 18:24:13 +02:00
Joachim Schöberl
c8b8b3ddd3 modernize paralleltop 2020-08-29 11:05:02 +02:00
Joachim Schöberl
f8dd4be8d6 modernize ParallelTopology 2020-08-29 09:36:46 +02:00
Joachim Schöberl
fcee13be59 modernize paralleltop 2020-08-28 21:28:18 +02:00
Joachim Schöberl
122a933965 parallel enumerate after refinement 2020-08-28 08:57:30 +02:00
Joachim Schöberl
9968037361 move semantics to table, PNums to LineSegments 2020-08-28 08:47:33 +02:00
Joachim Schöberl
78d0479993 can convert to mpi4py - communicator 2020-08-25 18:18:45 +02:00
Joachim Schöberl
895280a244 littel parallel polishing 2020-08-21 16:29:33 +02:00
Matthias Hochsteger
e2768981f1 implicit conversion from py::tuple to Point<2> 2020-08-20 18:28:03 +02:00
Joachim Schöberl
2c6e0e2bec global enumeration of points for pickling (as an option) 2020-08-19 19:28:34 +02:00
Joachim Schöberl
5e09626466 parallel pickling with mesh-merging 2020-08-19 14:50:11 +02:00
Joachim Schöberl
33626c6669 clear solutiondata object on python-exit 2020-08-17 15:55:32 +02:00
Joachim Schöberl
0fefe5d32c timers in Netgen 2020-08-10 16:44:14 +02:00
Joachim Schöberl
3c8f1877c9 more mpi calls from ngcore 2020-08-05 01:11:26 +02:00
Joachim Schöberl
3864eb2e35 use MPI_DATAYPE_NULL thx stefanozampini 2020-08-04 23:50:11 +02:00
Joachim Schöberl
42a01b5c21 use MPI_DATAYPE_NULL thx stefanozampini 2020-08-04 23:36:34 +02:00
Matthias Hochsteger
7dbd9e6b54 CGNS write support 2020-08-04 21:06:56 +02:00
Matthias Hochsteger
4682e6915c remove FlatArray for C-Array, use ArrayMem 2020-08-04 12:59:03 +02:00
Joachim Schöberl
698192ed72 FlatArray for C-array 2020-08-03 14:45:32 +02:00
Joachim Schöberl
94bed40761 modernize parallelmesh (Array, mpi_wrapper) 2020-08-03 00:44:28 +02:00
Joachim Schöberl
ba84439227 NgMPI_Communicator by reference, check for valid mpi-comm 2020-08-02 09:25:44 +02:00
Joachim Schöberl
c074e0c752 reduce duplicated mpi-wrapping 2020-07-31 09:57:19 +02:00
Joachim Schöberl
c5795aade8 too much printing in parallel refinement 2020-07-30 12:31:33 +02:00
Matthias Hochsteger
eb75bc31a6 mpi4py support 2020-07-29 17:23:26 +02:00
Matthias Hochsteger
ae268637cf revert pyramid-specific code in optimizations 2020-07-27 18:06:43 +02:00
Matthias Hochsteger
c0b8b1c0cc Parallel SplitImprove2, update test results
Due to prallelization, the order of splits is changed (sort by
    improvement of badness, like in other optimization passes)
2020-07-27 14:26:45 +02:00
Matthias Hochsteger
0a17a3dbce Merge remote-tracking branch 'origin/master' into splitimprove2 2020-07-27 11:55:08 +02:00
Matthias Hochsteger
3305d1101a Store Netgen version in generated mesh files 2020-07-23 20:12:47 +02:00
Matthias Hochsteger
2f88502729 Remove Segment::bcname, fix Mesh::operator=
Remap the 'string* bcname' members in the FaceDescriptor objects in
Mesh::operator= to the new mesh
2020-07-23 16:24:59 +02:00
Matthias Hochsteger
b689d13efe SplitImprove2 - optimize only bad elements, update results 2020-07-23 13:18:14 +02:00
Matthias Hochsteger
3fae0e029f activate SplitImprove2 by default 2020-07-23 12:26:35 +02:00
Matthias Hochsteger
bb46dd6561 Handle pyramids in smoothing 2020-07-23 12:26:22 +02:00
Matthias Hochsteger
e17de17385 SplitImprove2 - further cleanup, handle Pyramids 2020-07-23 12:26:07 +02:00
Matthias Hochsteger
df97e45bd1 SplitImprove2 - cleanup, new point at min dist of edges 2020-07-20 18:56:36 +02:00
Matthias Hochsteger
abe37bf12a SplitImprove2 - cleanup, badness calculation, add point only when applying optimization 2020-07-20 12:11:29 +02:00
Matthias Hochsteger
a0a189869e SplitImprove2 optimization path 2020-07-17 18:17:09 +02:00
Christopher Lackner
b37a3e6cf6 comment code for non orthogonal boundarylayers
(not working if multiple surfaces come together)
2020-07-17 18:00:38 +02:00
Matthias Hochsteger
ce8ba71f33 Fix SwapImprove 2020-07-15 17:26:39 +00:00
Christopher Lackner
ec3d7c3ec9 boundarylayer fixes 2020-07-14 21:30:26 +02:00
Christopher Lackner
fdd718739f further work on boundarylayers
better calculation of growthvector, fix bug with addsegment
2020-07-03 19:51:06 +02:00
Christopher Lackner
88674cd99b add some new quad types for boundarylayer, fix problem
with multiple boundaries at 1 edge
2020-07-01 19:40:44 +02:00
Joachim Schöberl
1d96e50432 Merge branch 'surface_geom' into 'master'
Surface geom

See merge request jschoeberl/netgen!324
2020-06-24 06:41:55 +00:00
Michael Neunteufel
1a619841b2 Surface geom 2020-06-24 06:41:55 +00:00
Christopher Lackner
177ecc7459 Allow curving of mesh if boundarylayer is flat.
If surfnr is larger than nr of surfaces then do linear interpolation
for PointInBetween and so on.
Some fixes in boundarylayer so that surface numbers are correct.
2020-06-24 06:41:06 +00:00
Joachim Schöberl
3b5c346e63 proper terms 2020-06-17 19:11:17 +02:00
Christopher Lackner
ac45a5f736 add more information to illegal bc number exception 2020-06-16 13:54:13 +02:00
Christopher Lackner
6a834f13ac fix boundary names for boundarylayer 2020-06-16 13:53:36 +02:00
Matthias Hochsteger
d08e2daa06 Do edge swapping for faces individually with tensor product meshes
If the mesh contains quads, the edge swapping algorithm switches to
generic improve, which introduces quads everywhere. This is not intended
if one domain contains a tensor product mesh.
Thus, call the optimizer for each face if mesh contains quads but mp.quad
is not set.
2020-06-08 10:42:26 +02:00
Matthias Hochsteger
267e8b33fb cmake - use git to generate version string 2020-05-18 15:55:40 +02:00
Christopher Lackner
97baba04a0 fix growthvector direction 2020-04-25 11:15:36 +02:00
Christopher Lackner
d752ada2bd improve functionality of boundarylayer 2020-04-23 15:44:32 +02:00
Christopher Lackner
16ae2df980 std::get for variant not available on mac os < 10.14 2020-04-20 10:09:26 +02:00
Christopher Lackner
58e6e5dc18 modernize and improve GenerateBoundaryLayer 2020-04-19 20:00:06 +02:00
Michael
cb015c95d0 export update method for mesh 2020-03-30 20:44:39 +02:00
Christopher Lackner
1f78f900dd mesh identify periodic for non tet meshes 2020-03-19 18:12:55 +01:00
Christopher Lackner
ff60ca3f55 fix identify periodic 2020-03-17 15:32:42 +01:00
Christopher Lackner
b8d313f056 identify periodic boundaries 2020-03-15 18:02:50 +01:00
Matthias Hochsteger
db5ad09b79 Initial CGNS format read support 2020-03-11 13:39:40 +01:00
Matthias Hochsteger
34ac3b200d HPRefinement: curve new elements only if coarse el was curved 2020-02-11 16:04:13 +01:00
Matthias Hochsteger
dff550a48c Curve new elements in HPRefinement
Use correct check for curvature of TRIGs in VSSolution
2020-02-11 14:42:16 +01:00
Joachim Schöberl
0209472ef6 csg.AddPoint with names 2020-01-15 11:56:23 +01:00
Joachim Schöberl
3ece315bd0 circumventing compiler bug ? 2020-01-13 21:19:09 +01:00
Matthias Hochsteger
e26f0f38f4 Handle triangles correctly in BuildEdgeList() 2020-01-10 17:58:37 +01:00
Joachim Schöberl
77d0fbfcd5 compress after 2d optimization 2020-01-08 23:27:59 +01:00
Matthias Hochsteger
2d97eeaa77 Fix Windows debug build 2019-12-13 15:40:12 -08:00
Christopher Lackner
79b1d22185 some more python Vec and Pnt arithmetic 2019-12-10 14:04:53 +01:00
Joachim Schöberl
64171d203b fix copy ctor HPRefElement 2019-12-06 16:05:08 +01:00
Joachim Schöberl
e5ead2065b get rid of 10000 segments limit in hp-refinement 2019-12-04 17:33:16 +01:00
Matthias Hochsteger
2eff09cc41 Set geometry in Mesh assignment operator
Sets the geometry in coarsemesh in HPRefinement()
Fixes #22
2019-11-29 12:35:55 +01:00
Matthias Hochsteger
05e6456ec2 Vec3d to Vec<3>, comparison operator for Vec<> 2019-11-27 14:47:24 +01:00
Matthias Hochsteger
f3d9d3ad67 [cmake] Don't link python libraries in unix-conda environment
Conda links python libs statically to python executable
2019-11-26 19:26:18 +00:00
Matthias Hochsteger
9ccb140ffb [python] add color property to FaceDescriptor 2019-11-26 17:50:06 +01:00
Christopher Lackner
6303b9d926 some default implementations for basegeometry 2019-11-18 11:14:02 +01:00
Christopher Lackner
b99e37999f fixes for mac and windows 2019-11-05 15:19:54 +01:00
Christopher Lackner
073e215bb6 add closeedge meshsize to base geometry (not used)
closedgefac moved to meshingparameters for this
2019-11-04 19:34:46 +01:00
Christopher Lackner
1b1c4700ad geo GetNormal and ProjectPointEdge with geoinfo pointer 2019-11-04 11:27:01 +01:00
Christopher Lackner
6c012675aa project point without geominfo returns new geominfo 2019-10-31 17:08:29 +01:00
Christopher Lackner
1e3ed047db progress for analyse geometry 2019-10-31 15:25:47 +01:00
Christopher Lackner
249d785084 progress bars for find edges, mesh surface,... 2019-10-31 15:17:28 +01:00
Christopher Lackner
fbf6d92895 clean up geometry interface, fix if number of subdivided edges was not correct 2019-10-31 13:34:40 +01:00
Matthias Hochsteger
9fdd28e3b8 Compress mesh in SwapImprove2 2019-10-30 16:09:04 +01:00
Matthias Hochsteger
17b6c83499 Remove debug output 2019-10-30 09:09:57 +01:00
Joachim Schöberl
608a813295 Merge branch 'rework_splitimprove' into 'master'
Rework on 3D SplitImprove

See merge request jschoeberl/netgen!291
2019-10-29 18:57:55 +00:00
Matthias Hochsteger
3acadc023f Rework on 3D SplitImprove
- Try (expensive) split operation only if badness > 100 (of any adjacent
        tet) and badness > 0.1 * badness_max
- Use FindInnerPoint before BFGS to ensure valid starting point (similar
        as in ImproveMesh() )
- Skip valid tets if goal==OPT_LEGAL (as in sequential version)
2019-10-29 17:58:37 +01:00
Matthias Hochsteger
69a420aacb Don't include python headers in non-python builds 2019-10-29 16:11:03 +01:00
Christopher Lackner
aa580e4025 add timer and little cleanup in not yet used findedges 2019-10-29 11:37:27 +01:00
Christopher Lackner
a76d407979 implement functionality to restrict meshsize in base class
not yet used in any derived geometry
2019-10-28 19:58:35 +01:00
Christopher Lackner
b5936543e9 Merge branch 'master' into refactor_geo_meshing 2019-10-28 18:33:48 +01:00