Commit Graph

921 Commits

Author SHA1 Message Date
Matthias Hochsteger
17dfd45609 Merge remote-tracking branch 'origin/master' into test_refactoring_meshing_design 2019-10-18 11:53:05 +02:00
Joachim Schöberl
6b99cf3c21 Merge branch 'delaunay_tree_with_double' into 'master'
Use new delaunay tree with double

See merge request jschoeberl/netgen!277
2019-10-15 08:10:19 +00:00
Matthias Hochsteger
d4d57040f6 Use new delaunay tree with double 2019-10-14 18:26:08 +02:00
Matthias Hochsteger
0f26e41f4d 4 Tasks per thread (better load balancing) 2019-10-14 16:33:16 +02:00
Matthias Hochsteger
6ca6a5e791 CombineImprove() 2D: optimize all faces at once 2019-10-14 16:21:24 +02:00
Matthias Hochsteger
0f095281d9 Parallel 2d CombineImprove() (also sort by improvement) 2019-10-14 16:02:11 +02:00
Matthias Hochsteger
5eba73f726 Separate function CombineImproveEdge() 2019-10-14 15:37:36 +02:00
Matthias Hochsteger
294fbb0e6f Loop over edges in CombineImprove() 2019-10-14 14:04:10 +02:00
Matthias Hochsteger
9fd4970614 ParallelFor loops in setup of CombineImprove() 2019-10-14 13:51:25 +02:00
Matthias Hochsteger
19c86a9f3d Move BuildEdgeList to improve2.hpp 2019-10-14 13:50:56 +02:00
Matthias Hochsteger
59c355dbed New Table for elementsonnode 2019-10-14 11:49:23 +02:00
Matthias Hochsteger
c1d42ff1e6 Small cleanup 2019-10-14 11:01:16 +02:00
Matthias Hochsteger
5fffc28de9 Delete tempels Array during SwapImprove (saves memory) 2019-10-11 15:35:55 +02:00
Matthias Hochsteger
77e536746e Comment out DelaunayTree 2019-10-11 13:47:39 +02:00
Matthias Hochsteger
77d91d144b Special search tree for Delaunay (commented out)
- float instead of double
- Array for leaves instead of HashTable (the values of the tree are
        contiguous integer numbers)
2019-10-11 13:35:52 +02:00
Matthias Hochsteger
268f2466f0 Parallel 2d MeshImprove 2019-10-10 15:44:57 +02:00
Matthias Hochsteger
9f0edf1741 Use new timers 2019-10-10 15:34:41 +02:00
Matthias Hochsteger
e6953dc4cb Remove unnecessary call to mesh.CalcSurfacesOfNode() 2019-10-09 10:32:41 +02:00
Matthias Hochsteger
fffe445d53 Merge remote-tracking branch 'origin/master' into parallel_edgeswapping 2019-10-09 10:25:31 +02:00
Matthias Hochsteger
6e5d806d92 Use ParallelFor instead of ParallelForRange
better readability and no performance difference (if using
        NETGEN_LAMBDA_INLINE)
2019-10-09 10:02:02 +02:00
Matthias Hochsteger
95df0ea73e Explicit capture in lambda (due to MSVC compile problems) 2019-10-09 09:29:53 +02:00
Matthias Hochsteger
18bdd9df93 Build neighbors list in parallel
Check in new results (part1.stl does not mesh with very_coarse anymore)
2019-10-08 19:26:43 +02:00
Matthias Hochsteger
64a685c2ea CreateSurface2ElementTable for individual faces 2019-10-08 18:35:48 +02:00
Matthias Hochsteger
a651a2d97e EdgeSwapping() - some cleanup and parallelization of table building 2019-10-08 18:35:27 +02:00
Matthias Hochsteger
288bd2c3d8 EdgeSwapping() - all faces at once 2019-10-08 18:12:10 +02:00
Joachim Schöberl
a529dbab56 Merge branch 'reduce_python_output' into 'master'
reduce message and log level in python

See merge request jschoeberl/netgen!273
2019-10-08 15:38:19 +00:00
Matthias Hochsteger
f24a749fb2 Parallel MeshOptimize2d::EdgeSwapping() (individual faces) 2019-10-08 17:29:38 +02:00
Matthias Hochsteger
4d218fa042 Restructure MeshOptimize2d::EdgeSwapping() 2019-10-08 17:08:17 +02:00
Christopher Lackner
b3fb12e962 reduce message and log level in python 2019-10-08 16:51:32 +02:00
Christopher Lackner
27bb2c8e0e unify surface optimization strategy 2019-10-08 16:46:16 +02:00
Matthias Hochsteger
fea75d6ff5 Remove MeshOptimize2d::SelectSurfaceOfPoint() 2019-10-08 12:44:00 +02:00
Christopher Lackner
e784abb8f7 Merge branch 'master' into test_refactoring_meshing_design 2019-10-08 12:31:24 +02:00
Joachim Schöberl
62e3e790d8 switch OCC meshing to physical space, and optimize FromPlane projection using uv-geominfo 2019-10-07 23:45:39 +02:00
Christopher Lackner
c309c9846f store refinement 2019-10-07 15:17:03 +02:00
Christopher Lackner
fa3ae333ce delete trailing whitespaces in new commits 2019-10-07 15:17:03 +02:00
Christopher Lackner
05881c0eb5 refactor a lot of the old code, stl still needs to be done 2019-10-07 15:17:03 +02:00
Christopher Lackner
43cc5e68b1 occ use optimize surface functionality from basegeom 2019-10-07 15:17:03 +02:00
Christopher Lackner
bee097b153 start unify meshing with occ meshing 2019-10-07 15:17:03 +02:00
Joachim Schöberl
de06f21bde adding Mesh.AddRegion 2019-10-05 23:02:32 +02:00
Matthias Hochsteger
dbe0aaa1bc Sort table after parallel creation 2019-10-04 15:33:24 +02:00
Joachim Schöberl
34ef87a706 Merge branch 'master' of geras.asc.tuwien.ac.at:jschoeberl/netgen 2019-10-04 13:49:32 +02:00
Matthias Hochsteger
04de18d0b4 Check badness quality in tests 2019-10-04 10:25:14 +00:00
Joachim Schöberl
0d9bb4bd97 parallel table build 2019-10-03 20:24:21 +02:00
Joachim Schöberl
0dd913fc20 parallel CheckOverlapping 2019-10-02 23:39:25 +02:00
Joachim Schöberl
f0eae10a24 throw exception on 1D mesh bisection 2019-10-02 22:07:28 +02:00
Matthias Hochsteger
a3ccb6432c Use Mesh::CreatePoint2ElementTable() in SplitImprove() 2019-10-01 15:15:46 +02:00
Matthias Hochsteger
f42ee7b02d Use Mesh::CreatePoint2ElementTable() in optimizations 2019-10-01 15:12:37 +02:00
Joachim Schöberl
78094016bf Merge branch 'calclocalh_use_point' into 'master'
change CalcLocalH to use Point<D> instead of PointDd

See merge request jschoeberl/netgen!258
2019-10-01 10:59:43 +00:00
Joachim Schöberl
a4c7ea24b5 Merge branch 'use_new_btree' into 'master'
Use new BoxTree, activate search tree in STLBoundary

See merge request jschoeberl/netgen!259
2019-10-01 10:54:42 +00:00
Matthias Hochsteger
7ced41e56f Use searchtree in STLBoundary 2019-10-01 12:19:22 +02:00
Christopher Lackner
9797c23351 change CalcLocalH to use Point<D> instead of PointDd 2019-10-01 11:59:17 +02:00
Matthias Hochsteger
ef64a5e7eb Replace BoxTree with BTree 2019-10-01 11:22:30 +02:00
Christopher Lackner
b29e9ac3a1 fix nogui build 2019-10-01 10:09:04 +02:00
Joachim Schöberl
3e01cac707 remove small timers 2019-09-30 19:39:22 +02:00
Joachim Schöberl
fe95433a87 missing timer closing 2019-09-30 19:26:50 +02:00
Matthias Hochsteger
871f70790f Dont throw exception if illegal_trigs table is not built 2019-09-30 18:55:01 +02:00
Joachim Schöberl
693bc66d49 use STL-searchtree 2019-09-30 18:21:01 +02:00
Joachim Schöberl
e4017b84e9 Merge branch 'pointnd_to_point' into 'master'
Pointnd to point

See merge request jschoeberl/netgen!255
2019-09-30 13:30:01 +00:00
Joachim Schöberl
b76b82b293 Merge branch 'split_improve_2d' into 'master'
SplitImprove for triangles

See merge request jschoeberl/netgen!251
2019-09-30 13:29:50 +00:00
Matthias Hochsteger
8defe2f864 New function Mesh::FindIllegalTrigs()
Find illegal trigs after surface meshing and use this information in
surface mesh optimization
2019-09-30 14:54:03 +02:00
Joachim Schöberl
b867caf01c parallel main loop in FindOpenElements 2019-09-30 11:05:13 +02:00
Christopher Lackner
6bfbaa1179 some more PointNd to Point<N> 2019-09-30 10:50:01 +02:00
Christopher Lackner
e956ca0fdc modernize and change to Point<3> 2019-09-30 10:38:46 +02:00
Christopher Lackner
60223b2a86 more PointNd to Point<N> 2019-09-30 10:36:42 +02:00
Christopher Lackner
030d8c8523 change more PointNd to Point<N> 2019-09-30 10:19:35 +02:00
Joachim Schöberl
656b0e0539 parallel CreatePoint2ElementTable as method of Mesh 2019-09-30 09:36:15 +02:00
Joachim Schöberl
7019504265 partially parallel Compress 2019-09-30 08:53:32 +02:00
Joachim Schöberl
bd589a4cca Merge branch 'SwapImprove2_with_core_table' into 'master'
swapimprove2 with core tables

See merge request jschoeberl/netgen!254
2019-09-30 03:36:59 +00:00
Matthias Hochsteger
8874e41aec SwapImprove2 - delete/add elements instead of replacing them 2019-09-29 21:31:00 +02:00
Joachim Schöberl
bbc36bb54d Merge branch 'pointnd_to_point' into 'master'
change PointNd to Point<N> adfront2

See merge request jschoeberl/netgen!253
2019-09-29 18:49:06 +00:00
Joachim Schöberl
47641c9b2c swapimprove2 with core tables 2019-09-29 20:47:41 +02:00
Joachim Schöberl
eeb63f659f Table with IndexType 2019-09-29 17:44:08 +02:00
Christopher Lackner
bf217b9934 change PointNd to Point<N> adfront2 2019-09-29 16:22:00 +02:00
Christopher Lackner
ca2212879e Change some PointNd to Point<N> functions 2019-09-29 14:54:24 +02:00
Joachim Schöberl
5c4b0e490a little polish 2019-09-29 10:55:20 +02:00
Matthias Hochsteger
4987d12556 SplitImprove for triangles 2019-09-27 20:49:12 +02:00
Joachim Schöberl
ce1a94de36 fix hp-ref fix for 3d 2019-09-27 17:29:17 +02:00
Joachim Schöberl
da53a12eba delaunay tuning 2019-09-27 17:14:48 +02:00
Joachim Schöberl
a71bed3a7e Delaunay microtuning 2019-09-27 16:08:10 +02:00
Joachim Schöberl
3ec73d69ce randomizing in Delaunay 2019-09-27 13:03:34 +02:00
Matthias Hochsteger
6a7030b81a Activate multithreading when meshing from GUI
- Meshing options for parallelization and number of threads
 - RegionTaskManager() to locally start the TaskManager
2019-09-27 11:54:33 +02:00
Matthias Hochsteger
36ada6f90c clock() reports wrong times, use WallTime() instead 2019-09-27 11:54:33 +02:00
Matthias Hochsteger
9ba75145c0 Call constructor after allocation with BlockAllocator 2019-09-27 11:43:50 +02:00
Matthias Hochsteger
483bece790 Use BlockAllocator in BTree 2019-09-27 11:31:00 +02:00
Joachim Schöberl
fa3b84038f delaunay optimizations 2019-09-26 18:28:31 +02:00
Matthias Hochsteger
46116ce723 BTree::GetFirstIntersecting(), some Timers 2019-09-26 16:50:35 +02:00
Matthias Hochsteger
a6d07ed7e4 Fix BTree::GetIntersecting() 2019-09-26 16:00:16 +02:00
Matthias Hochsteger
7b1c05f12c Save memory in BTree, count number of leaves and nodes 2019-09-26 14:02:37 +02:00
Matthias Hochsteger
b2808109b6 New BoxTree for Delaunay 2019-09-26 12:12:28 +02:00
Matthias Hochsteger
26865d6470 Parallelize SwapImprove() (again) 2019-09-25 14:10:52 +02:00
Joachim Schöberl
71758de667 use surfindex as hash-key in FindOpenSegments 2019-09-24 10:34:36 +02:00
Joachim Schöberl
d995976621 less locks on AddVolumeElement 2019-09-23 21:50:42 +02:00
Joachim Schöberl
fae350929c less locks in mesh.AddPoint/Element 2019-09-23 11:22:50 +02:00
Joachim Schöberl
abe971f15d export ANALYSE geometry 2019-09-23 11:22:34 +02:00
Christopher Lackner
f64c736c2b dll header vssurfacemeshing 2019-09-22 17:55:43 +02:00
Christopher Lackner
4eb7c1860c allow 2d plainview to be moved using meta key 2019-09-22 14:37:14 +02:00
Christopher Lackner
d080f516cc draw 3d and 2d local coordinates 2019-09-21 22:41:01 +02:00
Christopher Lackner
cd78f0e440 draw stl meshing 2d local coordinates 2019-09-21 22:08:35 +02:00
Joachim Schöberl
61c9e669c3 use Point/Trig/Chart-Id in stl-meshing, more to come 2019-09-21 02:04:49 +02:00
Matthias Hochsteger
5724b397d1 Revert "Separate function SwapImproveEdge(), iterate over list of edges instead of elements and edges per element"
This reverts commit c22f44617b.
2019-09-20 12:51:13 +02:00
Matthias Hochsteger
8688c135b2 Revert "Parallelize SwapImprove()"
This reverts commit 8c9d75f5f4.
2019-09-20 12:51:13 +02:00
Matthias Hochsteger
fc1dbc2957 Revert "Change elementsonnode only when applying optimization"
This reverts commit 6c0171f2c0.
2019-09-20 12:51:13 +02:00
Matthias Hochsteger
7c88a6da76 Lock mesh in Mesh::Compress 2019-09-16 13:13:48 +02:00
Matthias Hochsteger
d32d498259 Export Mesh::CalcMinMaxAngle 2019-09-16 12:11:49 +02:00
Joachim Schöberl
e887a2862b Merge branch 'fix_oneside_hpref' into 'master'
Fix oneside hpref

See merge request jschoeberl/netgen!237
2019-09-15 19:33:04 +00:00
Michael Neunteufel
9f79451fe1 clean up 2019-09-13 09:42:05 +02:00
Michael Neunteufel
4b26f39974 export hprefleft/hprefright to python, sort points for segments and check if point is part of correct material 2019-09-13 09:09:56 +02:00
Matthias Hochsteger
6c0171f2c0 Change elementsonnode only when applying optimization 2019-09-11 13:06:07 +02:00
Matthias Hochsteger
1d016f2204 Use PointIndex instead of int 2019-09-11 13:02:15 +02:00
Matthias Hochsteger
8c9d75f5f4 Parallelize SwapImprove() 2019-09-10 17:52:24 +02:00
Matthias Hochsteger
a70803eecb Fix BuildEdgeList() - create sorted list 2019-09-10 16:59:31 +02:00
Matthias Hochsteger
c22f44617b Separate function SwapImproveEdge(), iterate over list of edges instead of elements and edges per element 2019-09-10 16:58:53 +02:00
Matthias Hochsteger
d95e9afb92 Utility function MeshOptimize3d::BuildEdgeList() 2019-09-10 16:19:04 +02:00
Matthias Hochsteger
88ac5456ab Parallelize SwapImprove2 2019-09-10 11:45:04 +02:00
Matthias Hochsteger
d0586a6366 Separate function to perform SwapImprove2 on one face of an element 2019-09-10 11:45:04 +02:00
Joachim Schöberl
17a790e71e Merge branch 'init_geominfo_trignum' into 'master'
Initialize geominfo[].trignum in Segment ctor

See merge request jschoeberl/netgen!231
2019-09-09 20:05:16 +00:00
Matthias Hochsteger
2bb11f4cb1 Avoid parallel call of BuildBoundaryEdges() inside Mesh::CombineImprove() 2019-09-09 17:02:50 +02:00
Matthias Hochsteger
7bf1563295 Initialize geominfo[].trignum in Segment ctor 2019-09-09 16:31:29 +02:00
Joachim Schöberl
cbd129bf53 disable parallel vertex2element table, needs sorting 2019-09-09 10:55:27 +02:00
Matthias Hochsteger
c075cfb9c6 Parallelize ImproveMesh 2019-09-05 14:25:11 +02:00
Matthias Hochsteger
7e7a1bb98b Avoid parallel call of BuildBoundaryEdges() inside LegalTet() 2019-09-05 13:38:41 +02:00
Joachim Schöberl
0fcf99dc56 some native mesh access functions 2019-09-04 15:24:37 +02:00
Joachim Schöberl
ad4bbd1aa9 new lopp 2019-09-03 07:11:35 +02:00
Christopher Lackner
cd3bf9ead5 quad meshing parameter deprecated, use quad_dominated instead 2019-09-02 16:51:32 +02:00
Joachim Schöberl
fcea398d7c Merge branch 'subcomm' into 'master'
sub-communicators as methods of NgMPI_Comm, using ngcore-arrays

See merge request jschoeberl/netgen!215
2019-08-29 09:32:35 +00:00
Joachim Schöberl
7f8dd74a03 Merge branch 'bitarray_ngcore' into 'master'
Bitarray from NGSolve to ngcore

See merge request jschoeberl/netgen!223
2019-08-28 18:57:11 +00:00
Matthias Hochsteger
1584da69ae Rename BitArray to NgBitArray 2019-08-28 14:04:05 +02:00
Matthias Hochsteger
579e5d3874 Remove BitArrayChar 2019-08-28 13:49:11 +02:00
Lukas
2391ae1662 Merge remote-tracking branch 'origin/master' into fix_parmesh 2019-08-28 13:03:13 +02:00
Lukas
bca0f6a2ea Merge remote-tracking branch 'origin/master' into subcomm 2019-08-27 13:32:25 +02:00
Joachim Schöberl
e2680b4139 Merge branch 'fix_mpi_curve' into 'master'
fix mpi mesh curving

See merge request jschoeberl/netgen!216
2019-08-26 12:40:51 +00:00
Joachim Schöberl
009139d448 Merge branch 'cleanup_paralleltop' into 'master'
porperly clean up created mpi-group/comm in paralleltop

See merge request jschoeberl/netgen!212
2019-08-26 12:22:38 +00:00
Lukas
55203ae730 fix mpi mesh curving 2019-08-26 13:16:28 +02:00
Lukas
c18b6cbbe1 sub-communicators as methods of NgMPI_Comm, using ngcore-arrays 2019-08-26 13:13:53 +02:00
Lukas
e7c550adbd fix recently introduced off-by-one bug in parallelmesh, clean up created MPI-types (needs array-pos merge request) 2019-08-26 12:58:51 +02:00
Lukas
1d0886fbec porperly clean up created mpi-group/comm in paralleltop 2019-08-26 12:54:06 +02:00
Joachim Schöberl
2cce200a67 fix Element(i,i,i) ctor 2019-08-26 10:37:38 +02:00
Christopher Lackner
08f9c773b1 we need to implement both sized deallocation functions for older mac
os targets
2019-08-23 11:26:14 +00:00
Christopher Lackner
6c71982951 Range(obj) does respect index type now. If obj has a function Range it
calls the function
2019-08-20 18:16:03 +02:00
Christopher Lackner
0ad54546c2 continue if element deleted in inner loop 2019-08-19 16:58:53 +02:00
Joachim Schöberl
b1d709338a trigger CI 2019-08-18 13:55:57 +02:00
Joachim Schöberl
3d839c2986 trigger CI 2019-08-18 13:50:22 +02:00
Joachim Schöberl
8973624dfe export right array 2019-08-18 13:25:04 +02:00
Joachim Schöberl
7f6f846eb1 surfelement - indextype 2019-08-18 13:10:58 +02:00
Joachim Schöberl
e89550ec9c polishing improve2, IndirectArray iterator + element access 2019-08-18 12:21:10 +02:00
Joachim Schöberl
afe65337bf Merge branch 'parallel_combine_improve' into 'master'
Parallelize CombineImprove

See merge request jschoeberl/netgen!201
2019-08-15 04:55:15 +00:00
Matthias Hochsteger
ad526ef2bc Parallelize CombineImprove 2019-08-14 17:41:26 +02:00
Joachim Schöberl
fb76ef5c70 Merge branch 'segmentindex_operators' into 'master'
correct increment/decrement operators for segmentindex

See merge request jschoeberl/netgen!199
2019-08-14 14:12:35 +00:00
Christopher Lackner
c33feee970 segmentindex is 0 based 2019-08-14 14:00:37 +02:00
Christopher Lackner
b416fead82 correct increment/decrement operators for segmentindex 2019-08-14 13:47:52 +02:00