Commit Graph

1850 Commits

Author SHA1 Message Date
Christopher Lackner
b0db24fa83 implement meshsurface in basegeometry 2019-10-28 14:41:31 +01:00
Matthias Hochsteger
2a68748117 Add missing delete operators on MacOS 2019-10-28 13:57:21 +01:00
Christopher Lackner
5b45c7a972 implement meshing2 functionality for 3d geometries 2019-10-28 13:44:51 +01:00
Christopher Lackner
8f779b815a Merge branch 'master' into refactor_geo_meshing 2019-10-28 13:12:38 +01:00
Joachim Schöberl
d0864b9901 Apple-clang seems to support now the standard thread_local variables 2019-10-28 12:18:23 +01:00
Matthias Hochsteger
63aab9076c parallel SplitImprove 2019-10-28 09:38:53 +01:00
Matthias Hochsteger
ab024c2e6c Sort edges by improvement in SwapImprove2 2019-10-24 18:04:56 +02:00
Matthias Hochsteger
6fb8f90a73 Sort edges by improvement in SwapImprove 2019-10-24 17:40:20 +02:00
Christopher Lackner
54b36c6a40 add virtual method to restrict localh to geometry 2019-10-24 17:34:53 +02:00
Christopher Lackner
36e56e5d6c move some stuff to base geometry 2019-10-24 13:17:00 +02:00
Christopher Lackner
c361d1712d little cleanup in adfront2 2019-10-23 14:44:07 +02:00
Matthias Hochsteger
eaf2bee9e6 Throw Exception if ProjectPointGI is not implemented 2019-10-23 11:26:45 +02:00
Matthias Hochsteger
22a894b8cf Set OCC geometry in GenerateMesh() 2019-10-23 11:26:23 +02:00
Matthias Hochsteger
37198d0cee Recover correct point type in smoothing2d 2019-10-23 11:08:30 +02:00
Matthias Hochsteger
082908a5ec ProjectPointGI for CSG and 2D geometries 2019-10-23 11:08:11 +02:00
Christopher Lackner
2fd255baa7 only use cone (or userdefined points) 2019-10-21 17:20:48 +02:00
Christopher Lackner
ac5f901cef do not get intersecting points, they are added from intersecting lines anyway 2019-10-21 17:03:01 +02:00
Joachim Schöberl
9d0902fb57 Merge branch 'hashvalue_int3' into 'master'
Add a HashValue<INT<3>> for ParallelHashTable

See merge request jschoeberl/netgen!278
2019-10-21 13:46:12 +00:00
Matthias Hochsteger
586f8120ea some Timers in LoadOCC, don't read edge names 2019-10-21 13:38:09 +02:00
Joachim Schöberl
124ee905b2 Merge branch 'test_refactoring_meshing_design' into 'master'
Refactoring of surface meshing classes

See merge request jschoeberl/netgen!279
2019-10-21 08:21:12 +00:00
Bernd Schwarzenbacher
6d34f01d95 Add a HashValue<INT<3>> for ParallelHashTable 2019-10-21 00:12:29 +02:00
Matthias Hochsteger
495a6eddf7 [cmake] Link AppKit to avoid undefined references if OCC is statically linked on MacOS 2019-10-18 16:39:28 +02:00
Matthias Hochsteger
8659e5a3ee some thread-safe STLGeometry projection functions 2019-10-18 13:40:53 +02:00
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
Joachim Schöberl
4f5164c73e Merge branch 'parallel_combineimprove2' into 'master'
Parallel 2d CombineImprove()

See merge request jschoeberl/netgen!276
2019-10-14 16:13:31 +00:00
Matthias Hochsteger
c2e658274a Avoid recursive call of signal handler 2019-10-14 18:01:11 +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
c9e764a32f Catch exceptions in Demangle() 2019-10-14 10:56:27 +02:00
Joachim Schöberl
2bd9acdd9e delete user-vis 2019-10-11 22:23:25 +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
Joachim Schöberl
b65d63cf11 static array 2019-10-10 07:38:32 +02:00
Joachim Schöberl
ca25d6838b use NextUV 2019-10-10 07:38:32 +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
fe78d9d7b4 Use AsAtomic from ngcore 2019-10-08 20:39:29 +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
Christopher Lackner
ee7360ad19 disable check overlap for occ meshsurface 2019-10-08 15:48:08 +02:00
Matthias Hochsteger
865aca0ba0 Implement MeshOptimizeSTLSurface::ProjectPointGI 2019-10-08 14:40:40 +02:00
Matthias Hochsteger
fea75d6ff5 Remove MeshOptimize2d::SelectSurfaceOfPoint() 2019-10-08 12:44:00 +02:00
Matthias Hochsteger
893df3a79f Automatically select correct chart in MeshOptimizeSTLSurface::GetNormalVector 2019-10-08 12:42:06 +02:00
Christopher Lackner
ed087848ef this check is too hard sometimes and prevents some stls from meshing
bone.stl fails on moderate because of this
2019-10-08 12:41:26 +02:00
Matthias Hochsteger
ed5ea4408f Revert "Automatically select correct chart in MeshOptimizeSTLSurface::GetNormalVector"
This reverts commit d4b376024a.
2019-10-08 12:35:58 +02:00
Matthias Hochsteger
d4b376024a Automatically select correct chart in MeshOptimizeSTLSurface::GetNormalVector 2019-10-08 12:34:15 +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
94c17c2f46 modernize code to use handle 2019-10-07 15:17:03 +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
Matthias Hochsteger
4d98a6eb8c STLGeometry::GetNormal only valid with PointGeomInfo 2019-10-07 15:17:03 +02:00
Matthias Hochsteger
c24e00f6d4 Link stl 2019-10-07 15:17:03 +02:00
Matthias Hochsteger
562800babc Clean up STLGeometry 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
Christopher Lackner
b0f13a1f20 fix parsing of stl parameters from python 2019-10-07 12:56:12 +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
48aa301558 Merge branch 'optimize_occ_createlocalh' into 'master'
some optimizations for CalcLocalH in occ mesher

See merge request jschoeberl/netgen!267
2019-10-04 13:05:43 +00:00
Christopher Lackner
01e059ece4 some optimizations for CalcLocalH in occ mesher 2019-10-04 14:55:36 +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
b4e7816ad6 Merge branch 'fix_opencascade_7_4' into 'master'
fix for opencascade 7.4.0

See merge request jschoeberl/netgen!266
2019-10-04 11:16:29 +00:00
Christopher Lackner
18070c9f03 fix for opencascade 7.4.0 2019-10-04 13:09:18 +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
7e3b292bb8 Print inlined functions in stack trace 2019-10-02 15:38:17 +02:00
Matthias Hochsteger
85d7f5e628 Use BoxTree::GetFirstIntersecting in STLChart::ProjectNormal 2019-10-02 11:51:09 +02:00
Christopher Lackner
90c6f0256d curvaturesafety was removed in cleanup commit 2019-10-02 11:16:44 +02:00
Joachim Schöberl
ec05bac903 Merge branch 'cleanup' into 'master'
remove not used file

See merge request jschoeberl/netgen!263
2019-10-01 17:03:27 +00:00
Christopher Lackner
09dbdd7a53 remove not used file 2019-10-01 17:30:52 +02:00
Joachim Schöberl
4c099a7ed3 Merge branch 'print_stack_trace' into 'master'
Print stack trace (only Linux/MacOS)

See merge request jschoeberl/netgen!262
2019-10-01 15:11:16 +00:00
Matthias Hochsteger
9f7b56fd1f Register signal handlers to print stack trace 2019-10-01 16:30:41 +02:00
Matthias Hochsteger
b7c8f76765 Print stack trace on RangeException 2019-10-01 15:30:33 +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
Matthias Hochsteger
e99db57b03 Use rdtsc in Timers 2019-10-01 13:18:24 +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
8bfccdf1df Use BoxTree::GetFirstIntersecting 2019-10-01 12:34:23 +02: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
Christopher Lackner
bef1172b44 only iterate over outer chart if inner chart searchtree 2019-09-30 18:50:43 +02:00
Matthias Hochsteger
94671a176a Use STLTrigId instead of int in SearchTree 2019-09-30 18:43:53 +02:00
Joachim Schöberl
693bc66d49 use STL-searchtree 2019-09-30 18:21:01 +02:00
Joachim Schöberl
dd70e94143 searchtree in STLCharts 2019-09-30 18:14:46 +02:00
Joachim Schöberl
af7d6fea48 Merge branch 'optimize_occ_surf_mesh' into 'master'
only do optimization for occ surface mesh

See merge request jschoeberl/netgen!256
2019-09-30 13:30:55 +00: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
Matthias Hochsteger
b3c64a0607 Handle CR and other space characters correctly when loading STL files 2019-09-30 13:08:39 +02:00
Christopher Lackner
5eb2ab470e only do optimization for occ surface mesh 2019-09-30 12:02:08 +02:00
Matthias Hochsteger
7becf20ebd Ignore leading whitespaces in STL files
Treat STL files as binary if non-printable characters appear in first
80 bytes
2019-09-30 11:54:04 +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
28d05d9ae7 Merge branch 'stl_refine_fix' into 'master'
Stl refine fix

See merge request jschoeberl/netgen!249
2019-09-27 15:35:17 +00:00
Joachim Schöberl
3ad1c16fe5 Merge branch 'fix_vec_point_constructor' into 'master'
fix vec constructor from point and make explicit

See merge request jschoeberl/netgen!250
2019-09-27 15:34:36 +00: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
Christopher Lackner
4d5fe67d83 fix vec constructor from point and make explicit 2019-09-27 17:01:12 +02:00
Joachim Schöberl
a71bed3a7e Delaunay microtuning 2019-09-27 16:08:10 +02:00
Christopher Lackner
316d8319be Merge branch 'master' into stl_refine_fix 2019-09-27 14:46:32 +02:00
Christopher Lackner
c04da61ddc final check for badsurfacemesh 2019-09-27 14:45:15 +02:00
Christopher Lackner
9b92e754f2 Merge branch 'master' into stl_refine_fix 2019-09-27 14:34:09 +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