Commit Graph

1342 Commits

Author SHA1 Message Date
Matthias Hochsteger
16b88e8e67 OCC Mesher Cleanup 2021-11-28 15:14:41 +00:00
Christopher Lackner
3c4fe43fcc Fix loading of short mesh file names 2021-11-18 08:48:09 +01:00
mhochsteger@cerbsim.com
e0afa0a916 Use TextOutArchive to store OCCGeometry in mesh files 2021-11-11 10:04:39 +01:00
mhochsteger@cerbsim.com
17458889aa Change interface of LoadFromMeshFile
Fetch the first (geometry identification) token only once (and not on each try to load a different type)
2021-11-10 18:37:24 +01:00
Joachim Schoeberl
478aaf7788 little polish 2021-11-07 00:16:57 +01:00
Joachim Schoeberl
50398c18c4 simplify edge/face-id types (just an int) 2021-11-06 15:52:35 +01:00
Joachim Schoeberl
bd564931f8 strings in FaceDescriptor (instead of ptrs) 2021-11-06 12:22:44 +01:00
Matthias Hochsteger
dc57935468 include gzsteram.h only where needed 2021-10-21 10:25:40 +02:00
Joachim Schoeberl
0b7d8d5a9b fix Mirror for second-order meshes 2021-10-17 18:59:49 +02:00
Joachim Schoeberl
c20480c662 too fast with segment mapping 2021-10-15 22:10:57 +02:00
Joachim Schoeberl
95301e11ba mesh.SecondOrder : fix Segment mapping 2021-10-15 18:52:20 +02:00
Joachim Schoeberl
f38d258d15 Mirror mesh: invert surface elements, update num vertices 2021-10-15 09:00:26 +02:00
Joachim Schoeberl
6aa2d07f9e fix warning 2021-10-11 14:56:53 +02:00
Michael Neunteufel
ea9c0cf524 enable meshing parameters for OptimizeMesh2d 2021-10-08 09:50:53 +02:00
Matthias Hochsteger
41d9fbf258 DLL_HEADER in Element2d 2021-10-07 02:30:23 -07:00
Christopher Lackner
b4bf1172bc fix length of occ dim2 boundaries 2021-10-04 15:52:56 +02:00
Christopher Lackner
e6a6ab89e6 write transparency in mesh file and also read it if avail
The indexing is a little weird but consistent to before so leave it
like this
2021-10-04 09:27:33 +02:00
Christopher Lackner
ec96feb7f4 occ colors also in netgen gui, also allow transparency 2021-10-03 12:58:33 +02:00
Christopher Lackner
bd29763b16 Add std::any to py::object caster for archive registered types 2021-09-28 22:34:11 +02:00
mhochsteger@cerbsim.com
6dfc78ca42 fix GetElementOfPoint (again)
- clearer code structure with helper functions FindElementXd
- fix broken search in 2d meshes (bug from last commit)
2021-09-23 18:38:48 +02:00
mhochsteger@cerbsim.com
00855acfec fix GetSurfaceElementOfPoint
only call GetElementOfPoint, if there are volume elements (otherwise we get an endless loop of mutual function calls here...)
2021-09-23 09:15:04 +02:00
Christopher Lackner
6bbaa6bc69 fix GetSurfaceElementOfPoint with indices 2021-09-22 17:52:04 +02:00
mhochsteger@cerbsim.com
286f63f002 Restructure code in GetElementOfPoint 2021-09-22 17:06:20 +02:00
Joachim Schoeberl
375eb541e9 remove test-output 2021-09-21 14:39:35 +02:00
Joachim Schoeberl
781ea7103e FaceDescriptor array to Python 2021-09-10 12:42:41 +02:00
Joachim Schoeberl
9b3578740f a hex has 12 edges, doesn't it? 2021-09-09 11:49:48 +02:00
Christopher Lackner
9d48602a2a Add NetgenGeometry.RestrictH function 2021-09-08 22:12:45 +02:00
Joachim Schoeberl
b2afad9aec output control 2021-09-07 07:36:21 +02:00
Joachim Schoeberl
e9fc5f12a1 check overlapping boundaries for sub-domains 2021-09-01 21:05:12 +02:00
Matthias Hochsteger
1774db10ff fix OpenFOAM export (untested) 2021-08-23 14:40:36 +02:00
Joachim Schoeberl
9d2a436749 changing mesh-dimension from 3 to 2 moves names 2021-08-15 13:13:11 +02:00
Michael Neunteufel
c0d9f3d95b Meshpnt surfacemesh 2021-07-25 07:47:25 +00:00
Matthias Hochsteger
82a67b27b9 Merge branch 'parallel_meshing' into test 2021-07-19 14:59:20 +02:00
Matthias Hochsteger
48198d232d Revert "Revert "Merge branch 'parallel_meshing' into 'master'""
This reverts commit 65c5e2d244.
2021-07-19 14:59:12 +02:00
Matthias Hochsteger
cf3963a357 cleanup 2021-07-19 12:08:29 +02:00
Matthias Hochsteger
8687b540c6 rever PrepareForBlockFillLocalH stuff, copy only relevant part of LocalH tree 2021-07-16 18:49:05 +02:00
Matthias Hochsteger
e5e8882d07 fix identifications, copy whole LocalH tree 2021-07-16 17:18:41 +02:00
Matthias Hochsteger
8e2cd17436 build identifications, set geometry 2021-07-16 11:30:11 +02:00
Matthias Hochsteger
d997ac0bbe copy localh tree (but skip parts outside of bounding box) 2021-07-13 17:19:03 +02:00
Matthias Hochsteger
a89cf0089a Scaling of bounding box (instead of increasing size in all directions) 2021-07-06 17:09:22 +02:00
Matthias Hochsteger
65c5e2d244 Revert "Merge branch 'parallel_meshing' into 'master'"
This reverts commit d20a297cf1, reversing
changes made to fd50131a5b.
2021-06-29 19:38:19 +02:00
Matthias Hochsteger
1c526a5c9e Fix edges after building boundary layer 2021-06-29 17:50:45 +02:00
Matthias Hochsteger
8baccf0a08 some fixes, new test results 2021-06-28 17:48:21 +02:00
Matthias Hochsteger
55ab122f35 Merge remote-tracking branch 'origin/master' into parallel_meshing 2021-06-28 12:10:08 +02:00
Joachim Schoeberl
31d5ce8be9 packed archiving 2021-06-27 12:32:51 +02:00
Joachim Schoeberl
54db7941d0 tuning mesh(un)pickling 2021-06-26 12:14:17 +02:00
Matthias Hochsteger
34629749d6 Merge remote-tracking branch 'origin/master' into parallel_meshing 2021-06-25 17:32:16 +02:00
Joachim Schoeberl
b65d3c188f another optional table in Topology 2021-06-24 07:39:09 +02:00
Joachim Schoeberl
971d6bb465 little tuning of mesh pickling 2021-06-24 07:39:09 +02:00
Matthias Hochsteger
8be5b7d810 Merge remote-tracking branch 'origin/master' into parallel_meshing 2021-06-22 11:46:36 +02:00
Matthias Hochsteger
872dddbcd7 remove old meshing functions 2021-06-22 11:45:25 +02:00
Matthias Hochsteger
17b5f1c7a4 preserve locked points in all domains 2021-06-22 11:45:01 +02:00
Matthias Hochsteger
c7e9a822cc Don't divide/merge mesh when having only one domain 2021-06-22 11:33:16 +02:00
Matthias Hochsteger
2b8a2356a0 use unique_ptr in MeshingData 2021-06-22 11:16:28 +02:00
Joachim Schoeberl
f24b962df7 fix width per refernce 2021-06-21 15:25:25 +02:00
Joachim Schoeberl
2488bd37ef remove output, fix warning 2021-06-21 15:13:08 +02:00
Joachim Schoeberl
780e72bf81 copyable 2d rules 2021-06-21 08:36:14 +02:00
Joachim Schoeberl
30d708f487 thread-safe CSG crosspoints and edges 2021-06-21 05:22:00 +02:00
Matthias Hochsteger
6237f5542f Build LocalH tree for each domain separately, if not already present before volume meshing 2021-06-16 15:49:23 +02:00
Matthias Hochsteger
5ec753452e fix 2021-06-16 15:36:14 +02:00
Matthias Hochsteger
d0edaa57bb prepare LocalH tree before blockfill sequentially 2021-06-16 15:05:58 +02:00
Matthias Hochsteger
7e344c2247 restructure MeshVolume 2021-06-16 14:04:06 +02:00
Matthias Hochsteger
62edae9b40 some timers 2021-06-16 10:49:31 +02:00
Matthias Hochsteger
8d51db278f debugging header for utility functions 2021-06-16 10:48:38 +02:00
Matthias Hochsteger
958bbb1ae0 Set flags correctly when loading Element from Archive 2021-06-14 11:58:46 +02:00
Matthias Hochsteger
a51f8ed307 fix meshing empty meshes 2021-06-14 10:39:57 +02:00
Matthias Hochsteger
b83d73e919 fix meshing of close surfaces (use identifications of master mesh) 2021-06-14 10:39:57 +02:00
Matthias Hochsteger
1cf3d2a21c always merge domains in separate meshes (consistent output) 2021-06-14 10:39:57 +02:00
Matthias Hochsteger
97623db219 Mesh 3d domains in parallel
To get consistent results, copy the LocalH tree in BlockFillLocalH
2021-06-14 10:39:57 +02:00
Matthias Hochsteger
5e3505b897 faster SwapImprove after delaunay
also new test results
2021-06-14 10:39:57 +02:00
Matthias Hochsteger
0b7f4fecbc timers 2021-06-14 10:39:57 +02:00
Matthias Hochsteger
9b5aa90d38 skip deleted elements when creating tables
-> no need to call Compress() everytime the mesh changes
2021-06-14 10:39:57 +02:00
Matthias Hochsteger
b2af4c1069 set flags properly for new Elements 2021-06-14 10:39:57 +02:00
Joachim Schoeberl
1b5aa71ad6 fix parallel mesh pickling 2021-06-14 10:34:39 +02:00
Joachim Schoeberl
6c73222f20 more ParallelFor in Topology 2021-06-10 21:52:22 +02:00
Joachim Schöberl
d922d3abdd Merge branch 'small_improvements' into 'master'
Small improvements

See merge request jschoeberl/netgen!390
2021-06-10 10:43:13 +00:00
Matthias Hochsteger
2a17451c96 consistent criterion for conformance optimization in SwapImprove
Only small effect on output Meshes
2021-06-10 11:04:41 +02:00
Matthias Hochsteger
8df49eee2a Reduce sizeof(MeshPoint) from 48 to 40 bytes 2021-06-10 10:15:55 +02:00
Matthias Hochsteger
3f93ccd3bd remove static array in ruler3 (prepare for parallel meshing) 2021-06-10 09:56:42 +02:00
Matthias Hochsteger
80d648c005 parallel evaluation of localh in ImproveMesh() 2021-06-10 09:55:30 +02:00
Matthias Hochsteger
b677ef5e22 Fix RangeException (prepare for local optimizations, with partially filled elementsonpoint table) 2021-06-10 09:53:42 +02:00
Matthias Hochsteger
6cdfefcc82 Use CreateTable for coloring table 2021-06-10 09:51:56 +02:00
Matthias Hochsteger
c734a27621 TABLE -> Table in PointFunction 2021-06-10 09:45:14 +02:00
Matthias Hochsteger
873de8149c thread-safe delaunay 2021-06-10 09:42:04 +02:00
Matthias Hochsteger
eee7a6d211 initialize childs in GradingBox also in default ctor 2021-06-10 09:39:23 +02:00
Joachim Schoeberl
abb2e43ccb optimize parallel load 2021-06-08 19:08:14 +02:00
Joachim Schoeberl
c0534c5e0a partition array also in sequential version 2021-06-08 14:33:32 +02:00
Joachim Schoeberl
d7452c34f9 sequential dummy 2021-06-08 14:09:12 +02:00
Joachim Schoeberl
aa3f778d06 separat metis-partitioning call, pickling partition number of mesh elements 2021-06-08 13:48:27 +02:00
Matthias Hochsteger
ca6d6e8ca7 revert mistakenly commited code 2021-06-04 20:04:10 +02:00
Matthias Hochsteger
bb43f669e6 Don't skip deleted elements when building point2element table 2021-06-04 19:57:21 +02:00
Matthias Hochsteger
ba148e8b3b cleanup, more parallel 2021-06-04 16:23:18 +02:00
Matthias Hochsteger
9ddf2424e2 rewrite of DelaunayRemoveTwoTriaTets (much faster now) 2021-06-04 16:03:50 +02:00
Matthias Hochsteger
a2cc102849 delaunay - stay consistent with code on master 2021-06-04 13:32:34 +02:00
Matthias Hochsteger
6c37ce33b0 CreatePoint2ElementTable with optional points bitarray 2021-06-04 13:32:30 +02:00
Matthias Hochsteger
7623289c27 Timer to AdFront3::Inside 2021-06-04 11:33:39 +02:00
Matthias Hochsteger
17af3d0091 Timers, cleanup in delaunay 2021-06-04 11:33:39 +02:00
Matthias Hochsteger
39acabe406 split delaunay postprocessing code into smaller funtions 2021-06-04 11:33:34 +02:00
Matthias Hochsteger
639bbb2c0a .vol.bin format (using archiver) 2021-05-31 10:29:45 +02:00
Matthias Hochsteger
0aa63880c4 smaller tasks 2021-05-31 08:23:46 +02:00
Matthias Hochsteger
2c72c20c87 smaller tasks 2021-05-31 08:23:42 +02:00
Matthias Hochsteger
1045f68b97 TableCreator -> CreateSortedTable() 2021-05-31 08:23:35 +02:00
Matthias Hochsteger
073cbec108 remember search starting point in inside/outside marking after delaunay 2021-05-31 08:23:22 +02:00
Matthias Hochsteger
19176daa09 more timers in delaunay 2021-05-31 08:23:16 +02:00
Matthias Hochsteger
e721d250f8 use tuple -> std::tuple 2021-05-31 08:23:09 +02:00
Joachim Schoeberl
9389ecdf62 rename to GenerateStructuredMesh for not intending to override 2021-05-30 19:41:23 +02:00
Joachim Schöberl
14570f2bfb Merge branch 'fix_badness_in_combineimprove2d' into 'master'
Use sum of badnesses and not average value in CombineImprove in 2D

See merge request jschoeberl/netgen!384
2021-05-14 16:15:03 +00:00
Matthias Hochsteger
f7a08df155 Use sum of badnesses and not average value in CombineImprove in 2D 2021-05-14 17:55:09 +02:00
Matthias Hochsteger
d1ee6efc14 parallel Cluster update 2021-05-12 10:56:34 +02:00
Matthias Hochsteger
db494f4239 more Timers in Mesh 2021-05-12 10:56:21 +02:00
Matthias Hochsteger
5bba076c9e UpdateTopology - use TasksPerThread(4) -> faster table update 2021-05-12 09:42:38 +02:00
Matthias Hochsteger
99e001fc4c TABLE -> Table 2021-05-11 18:21:40 +02:00
Matthias Hochsteger
c8406d3b10 replace NgArray and TABLE with Array and Table 2021-05-10 16:30:40 +02:00
Matthias Hochsteger
4b53c63fba helper functions for table creation 2021-05-10 12:03:20 +02:00
Joachim Schoeberl
955eaa682c edges/faces on per default 2021-05-06 22:22:14 +02:00
Joachim Schoeberl
5af2413481 disable edge/faces tables for Mesh class 2021-05-06 21:46:56 +02:00
Matthias Hochsteger
786013c857 add dependency for rules file 2021-04-30 18:33:55 +02:00
Matthias Hochsteger
2eb888a8bf generate .cpp for meshing rules automatically during the build process 2021-04-29 14:30:44 +02:00
Matthias Hochsteger
4592123f68 Merge remote-tracking branch 'origin/master' into rules_files_not_matching_cpp 2021-04-28 11:21:15 +02:00
Joachim Schoeberl
9033de843b uniform refinement for quads 2021-04-18 17:53:26 +02:00
Matthias Hochsteger
190e22b06d Find surface element of point: fix local coordinates for TRIG
TRIG and TRIG6 are handled differently, see nginterface_v2.cpp:1114
2021-04-09 14:14:04 +02:00
Joachim Schoeberl
d803150b87 red refinement, parent faces (thx Guosheng) 2021-04-09 08:06:30 +02:00
Joachim Schoeberl
096b419f6e parent edges for red refinement (thx Guosheng) 2021-03-31 07:50:24 +02:00
Matthias Hochsteger
44c10f663a Boundarylayer 2d interface 2021-03-30 16:55:03 +02:00
Christopher Lackner
15380a2618 Revert "more stable boundarylayer, also cut prisms at outside"
This reverts commit d2dc84b02c.
2021-03-29 18:05:09 +02:00
Joachim Schöberl
f63734e4a0 Merge branch 'archive_localh' into 'master'
DoArchive for LocalH

See merge request jschoeberl/netgen!375
2021-03-29 12:46:18 +00:00
Christopher Lackner
d2dc84b02c more stable boundarylayer, also cut prisms at outside 2021-03-29 14:02:00 +02:00
Christopher Lackner
001eaa32b6 DoArchive for LocalH 2021-03-29 13:55:23 +02:00
Christopher Lackner
c27fa6899b Merge remote-tracking branch 'massimil/mleoni/indexIntegerType' 2021-03-29 11:55:10 +02:00
Matthias Hochsteger
88fd0a9cd3 2d boundary layer - some cleanup, average growth vectors along straight lines 2021-03-26 09:13:11 +01:00
Christopher Lackner
a612444e77 FindElementOfPoint<1> for 2d meshes for curved segments 2021-03-23 15:08:20 +01:00
Massimiliano Leoni
a40544ddc5 Changed integer type of Element::index and Element2d::index 2021-03-23 12:11:32 +01:00
Matthias Hochsteger
bcd86a18fd FindSurfaceElementOfPoint - use barycentric coordinates of already found volume element
Increases robustness for finding curved surface elements
2021-03-17 17:36:41 +01:00
Matthias Hochsteger
69bc02a74d Increase bounding box for curved elements by 20% in element search tree 2021-03-17 17:35:30 +01:00
Matthias Hochsteger
98770dbf94 2d boundary layers 2021-03-16 18:22:14 +01:00
Matthias Hochsteger
c77da32463 skip fixed points when checking for mixed mesh 2021-03-16 18:09:07 +01:00
Matthias Hochsteger
3397e3bb9d Merge branch 'fix_swapimprove' into 'master'
Fix SwapImprove

See merge request jschoeberl/netgen!370
2021-03-02 11:08:13 +00:00
Christopher Lackner
f11cb4fcfb boundarylayers - inner corners at end of layer now possible too 2021-03-02 11:47:40 +01:00
Matthias Hochsteger
d7d12ac53d Don't swap very bad elements in SwapImprove
Changes meshing -> new test results
2021-03-01 10:08:00 +01:00
Matthias Hochsteger
f8aa3d3159 util function NotTooBad() in mesh optimization 2021-03-01 09:33:47 +01:00
Matthias Hochsteger
f5432718c1 Fix ImproveMesh 2021-02-26 12:20:51 +01:00
Joachim Schoeberl
298cbc2523 less printing for face hierarchy 2021-02-22 08:30:00 +01:00
Joachim Schoeberl
5cc42f040d fixing face refinement (by Guosheng) 2021-02-19 18:20:22 +01:00
Joachim Schoeberl
28c4b78410 mesh bisection with onlyonce option. otherwise, tet-bisection performs three bisection steps to obtain h/2 2021-02-19 15:06:20 +01:00
Joachim Schoeberl
a354bf9e51 bisect face classification by permutation of 5 2021-02-19 10:04:45 +01:00
Joachim Schoeberl
4592bf90a8 subdivided faces are now working (boundary looks good) 2021-02-19 02:12:58 +01:00
Joachim Schoeberl
fede8b4d25 intermediate faces 2021-02-19 01:28:19 +01:00
Joachim Schoeberl
d1c9b4b24f no 'and' in C++ (but ok for gcc and clang ?) 2021-02-18 09:28:09 +01:00
Joachim Schoeberl
c7666ae99f classify bisect face (thx Guosheng) 2021-02-18 08:43:22 +01:00
Joachim Schoeberl
e9e3d52b45 parent faces 2021-02-17 23:32:15 +01:00
Joachim Schoeberl
87e472b6fc start face-hierarchy in Netgen 2021-02-17 14:54:14 +01:00
Joachim Schoeberl
2e69b39339 cleanup parent_edges 2021-02-10 19:40:38 +01:00
Joachim Schöberl
39063eb961 Merge branch 'mpi_zdes' into 'master'
0d Elements + MPI

See merge request jschoeberl/netgen!367
2021-02-10 13:35:06 +00:00
Joachim Schöberl
dd455a7a62 Merge branch 'fix_mpi_curve' into 'master'
fix OCC curving with MPI

See merge request jschoeberl/netgen!366
2021-02-10 11:22:35 +00:00
Joachim Schoeberl
b03528e944 third parent edge 2021-02-09 21:14:26 +01:00
Lukas
0256ce1efc also send 0d elements when distributing mesh 2021-02-08 12:05:27 +01:00
Lukas
d1bc4fc6ca fix OCC curving with MPI 2021-02-08 11:36:48 +01:00
Joachim Schoeberl
145007b46a use the right INT 2021-02-08 10:48:41 +01:00
Joachim Schoeberl
fd878079cb edge hierarchy in mesh - Topology class, needs mesh.EnableTable('parentedges') 2021-02-08 09:41:23 +01:00
Matthias Hochsteger
6d30186279 allow cd2names in 2d meshes 2021-02-05 17:40:43 +01:00
Christopher Lackner
9e080ee9e0 add boundarylayer closure on pyramids outside 2021-02-05 12:16:41 +01:00
Christopher Lackner
1d9281f412 localh as shared_ptr in mesh 2021-02-05 12:10:22 +01:00
Matthias Hochsteger
221d3f5a9a delete pointelements after parallel mesh send (TODO: send pointelements!) 2021-02-02 18:59:32 +01:00
Matthias Hochsteger
4619525280 allow empty names in mesh file 2021-02-02 18:58:54 +01:00
Michael
5023856432 improve curving trigs with u,v coordinates by better initial guess 2021-02-01 15:29:17 +01:00
Christopher Lackner
18dc32c51a Add RestrictHLine function in Python 2021-01-26 15:33:21 +01:00
Christopher Lackner
d1d3253408 throw if optimize2d is called without geometry 2021-01-26 11:23:46 +01:00
Matthias Hochsteger
94ecf8de92 Fix private linking of Python
The CMake export of Interface libraries also exports PRIVATE build
settings, which leads to build errors with non-existing include paths and .lib files for binary distributions.

Use the work-around mentioned here to circumvent this behavior:
https://gitlab.kitware.com/cmake/cmake/-/issues/15415#note_849405
2020-12-18 11:05:10 +01:00
Christoph Wintersteiger
657360818d rewrite loop to avoid index correction 2020-12-02 17:51:47 +01:00
Matthias Hochsteger
1c6051371e updateSignal for Mesh class 2020-11-27 16:40:17 +01:00
Joachim Schöberl
d0776bd726 Merge branch 'memory_tracing' into 'master'
Memory tracing

See merge request jschoeberl/netgen!350
2020-11-25 18:20:29 +00:00
Matthias Hochsteger
fbeb6137eb Fix SwapImprove2
Don't allow swaps if an adjacent element was deleted in the current
optimization pass. Also update test restults.
2020-11-25 17:55:44 +01:00
Matthias Hochsteger
916eb09f1e Merge remote-tracking branch 'origin/master' into memory_tracing 2020-11-24 15:31:00 +01:00
Christopher Lackner
2287c5c0c9 boundarylayers - fix inverted tets 2020-11-24 11:58:26 +01:00
Christopher Lackner
7e78056ade Boundarylayer grows pyramids if created on interior bnd 2020-11-23 23:48:49 +01:00
Christopher Lackner
a69cdc9000 mem tracing compile time option, simplify by MemoryTracer as member 2020-11-21 15:49:07 +01:00
Christopher Lackner
a394ffedef Merge branch 'master' into memory_tracing 2020-11-19 23:05:33 +01:00
Christopher Lackner
e7b9baa93b remove another reference of resized array 2020-11-19 22:53:14 +01:00
Christopher Lackner
3440a43e99 don't use (maybe invalidated) reference after array resize 2020-11-19 22:36:30 +01:00
Matthias Hochsteger
b00c56a012 mem tracing - set name for tempmesh in delaunay 2020-11-19 14:58:16 +01:00
Matthias Hochsteger
1a93fb3fa5 first attempt on memory tracing 2020-11-18 20:20:35 +01:00
Christopher Lackner
609cbbcadf rewrite create boundarylayer function (now more efficient and stable
and easier)
2020-11-17 18:43:39 +01:00
Christopher Lackner
0d48924392 Merge branch 'use_segmentindex' into boundarylayers 2020-11-17 15:25:19 +01:00
Christopher Lackner
ee430a6e1e use segmentindex as index for mesh.segments array 2020-11-17 15:24:44 +01:00
Christopher Lackner
7beb82af04 Merge branch 'master' into boundarylayers 2020-11-11 12:09:59 +01:00
Joachim Schöberl
f97601bca2 Merge branch 'hpref_surface_geom' into 'master'
add hp refinement possibility for surface geometry

See merge request jschoeberl/netgen!344
2020-11-06 11:21:19 +00:00
Joachim Schöberl
7351067722 Merge branch 'map_segment_si' into 'master'
map segment si as well, not only surface element index

See merge request jschoeberl/netgen!346
2020-11-06 11:20:06 +00:00
Matthias Hochsteger
6199c7f66b csg2d interface 2020-11-05 14:59:58 +01:00
Christopher Lackner
37ae505d5a map segment si as well, not only surface element index 2020-11-03 17:32:07 +01:00
Christopher Lackner
3dec7c447e map segment si as well, not only surface element index 2020-11-03 17:29:58 +01:00
Christopher Lackner
9578e4a41d add project to boundary in boundarylayer and correctly treat inverse boundaries 2020-11-03 12:28:13 +01:00
Joachim Schöberl
b855b419da Merge branch 'save_load_bbbnd' into 'master'
Save load bbbnd

See merge request jschoeberl/netgen!345
2020-11-02 09:43:04 +00:00
Michael
10c0fd350a save/load pointelements 2020-10-30 15:28:00 +01:00
Michael
31c72299c4 add hp refinement possibility for surface geometry 2020-10-30 14:10:52 +01:00
Joachim Schöberl
f51ad8eed5 Merge branch 'fix_bisect_quad' into 'master'
add GeomInfo for bisecting quads

See merge request jschoeberl/netgen!343
2020-10-27 10:38:38 +00:00
Michael
4a1d3cdcb2 save/load mesh bbbnd 2020-10-27 07:57:17 +01:00
Michael
a3391519f0 add GeomInfo for bisecting quads 2020-10-27 07:54:26 +01:00
Joachim Schöberl
cddfb4a0b5 fixing delaunay2d point search, non-parallel for small meshes 2020-10-26 11:20:12 +01:00
Joachim Schöberl
de83f0ca14 Delaunay2d also for small sub-domains 2020-10-25 16:31:47 +01:00
Joachim Schöberl
11557838a4 tuning of Delaunay2d: FindInnerPoints, use of edgeHT 2020-10-25 09:52:33 +01:00
Joachim Schöberl
50dddbedae Merge branch 'remove_error_intersecting_layers' into 'master'
remove warning output if intersect. triangles in different layers

See merge request jschoeberl/netgen!342
2020-10-23 17:53:33 +00:00
Joachim Schöberl
bfbef51996 remove bitarray in delaunay2d, just one hashtable position 2020-10-23 19:40:47 +02:00
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