Commit Graph

2377 Commits

Author SHA1 Message Date
Matthias Hochsteger
b431a07c74 Fix starting point for intersection searching 2021-03-24 12:03:40 +01:00
Matthias Hochsteger
6cdeaf2d40 Only add segment end points of 2d geometry to mesh as 0D-elements 2021-03-24 10:49:46 +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
Christopher Lackner
0fc488e802 Merge remote-tracking branch 'stefanbruens/salome_upstreamable' 2021-03-15 09:36:01 +01:00
Christopher Lackner
0141546373 Merge remote-tracking branch 'stefanbruens/cleanup_includes' 2021-03-15 09:20:48 +01:00
Stefan Brüns
cf4d9eff33 Modernize code, replace Handle_<X> with Handle(X)
Same like c35297a8fb158be47772cb5fc9cee76ca88ff871
2021-03-12 23:13:01 +01:00
Stefan Brüns
3c13e41692 Remove duplicated includes from occgeom.hpp
Each of the duplicated header files have an include guard, so including
it twice is just a small waste of processing time.
2021-03-11 23:26:23 +01:00
Stefan Brüns
8abd52a47b Remove two unused variables 2021-03-10 01:06:11 +01:00
Stefan Brüns
2767672286 Cleanup use of M_PI/PI defines
gprim/geom2d.cpp includes mystdlib.h, which already has a fallback define
for M_PI. As geomfuncs.cpp also includes mystdlib.h, use M_PI instead
of a truncated value.

occ/Partition_Loop2d.cxx already gets M_PI from the opencascade headers
(~everything includes Standard_Real.hxx, which includes Standard_math.hxx,
which sets _USE_MATH_DEFINES for Windows and includes math.h).
2021-03-10 00:46:58 +01:00
Stefan Brüns
883baf4189 Remove occconstruction.cpp from list of library sources
Since commit 0c3c3f32d1
("occ build visualization mesh") occgeometry.cpp does not contain
any compiled code, and it has not been used at least for 12 years.

As the file includes quite some header files removing it from the sources
should save some compile time.
2021-03-08 02:38:28 +01:00
Stefan Brüns
85e8c09ff6 Fix GetTimeCounter for Aarch64 variants
Neither GCC nor Clang define an __arm64__ preprocessor macro, but use
__aarch64__ (MSVC uses _MARM_64). Add a "64" suffix to the define, i.e.
NETGEN_ARCH_ARM64 to make it more obvious in only refers to aarch64, and
to be in line with NETGEN_ARCH_AMD64.

Replace the (Clang specific) __builtin_readcyclecounter with inline
asm:
- The function return cycles (i.e. varies with CPU frequency), not time
- It may return 0, depending on the PMU settings
- It may cause an illegal instruction, in case it is not trapped by the
  kernel, e.g. on FreeBSD.

Reading the generic timer/counter CNTVCT_EL0 instead of PMCCNTR_EL0 avoids
these pitfalls. The inline asm works on GCC and Clang, instead of
Clang only for the builtin.
2021-03-03 17:30:33 +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
Matthias Hochsteger
75e6c8217f Merge branch 'cleanup_dll_header' into 'master'
Clean up multiple definitions of DLL_HEADER

See merge request jschoeberl/netgen!369
2021-02-19 09:43:45 +00: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
Matthias Hochsteger
b2fea6dec1 Clean up multiple definitions of DLL_HEADER
- define DLL_HEADER only once in mydefs.hpp
- define/use NGLIB_API in nglib.h
- use NGCORE_API_EXPORT for explicit export of symbols
2021-02-18 14:53:38 +01:00
Joachim Schoeberl
979a695f62 fixing warnings 2021-02-18 10:30:01 +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
993c02b391 Merge branch 'geom2d_dont_need_spline_name' into 'master'
Don't need to specify string description of spline type in 2d geom

See merge request jschoeberl/netgen!363
2021-02-10 11:23:15 +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
Christopher Lackner
0c2430f3dc add std::any symboltable to Flags to store arbitrary objects 2021-02-08 15:44:15 +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
77a7cb66d8 Merge branch 'master' of https://github.com/NGSolve/netgen 2021-02-05 12:10:37 +01:00
Christopher Lackner
1d9281f412 localh as shared_ptr in mesh 2021-02-05 12:10:22 +01:00
Joachim Schoeberl
25011c8407 arm-simd: HSum, tuple support 2021-02-05 11:59:03 +01:00
Joachim Schoeberl
22aee3b3a5 simd-mapping of point elements 2021-02-05 11:42:45 +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
Matthias Hochsteger
7739aaedf7 SplineGeometry - also add point elements with empty names to mesh 2021-02-01 11:27:31 +01:00
Joachim Schöberl
9a9828d3af some more arm-simds 2021-01-31 16:31:47 +01:00
Joachim Schöberl
18f5a933a9 arm-simd working 2021-01-30 21:02:49 +01:00
Joachim Schöberl
f53c069308 prepare SIMD for arm64 2021-01-30 20:05:28 +01:00
Christopher Lackner
18dc32c51a Add RestrictHLine function in Python 2021-01-26 15:33:21 +01:00
Christopher Lackner
b58c35831d Don't need to specify string description of spline type in 2d geom 2021-01-26 11:27:46 +01:00
Christopher Lackner
d1d3253408 throw if optimize2d is called without geometry 2021-01-26 11:23:46 +01:00
Joachim Schöberl
5e489319c6 Merge branch 'fix_csg2d' into 'master'
Fix CSG2d bugs

See merge request jschoeberl/netgen!362
2021-01-15 14:50:18 +00:00
Matthias Hochsteger
12ebcd0d68 Fix oracle function and intersection bug in csg2d 2021-01-14 17:11:46 +01:00
Matthias Hochsteger
e745d16c6d manually cut view vector with clipping plane (more accurate, also working when visualizing clipping plane vectors) 2021-01-13 16:48:16 +01:00
Christopher Lackner
b7fab39876 formatting of vector and complex output on click 2021-01-13 13:24:38 +01:00
Matthias Hochsteger
36aa8658b7 Print function names and surface/volume evaluation 2021-01-13 10:58:13 +01:00
Matthias Hochsteger
1502fd705e some debug messages 2021-01-12 18:08:51 +01:00
Matthias Hochsteger
96b9be9f9c [WIP] Fix oracle function in csg2d 2021-01-12 18:08:39 +01:00
Matthias Hochsteger
e5d339ed99 Print function value on double click 2021-01-08 08:30:47 +01:00
Joachim Schöberl
ea7f6c1e94 fnma intrinsic for avx512 2020-12-22 13:06:08 +01:00
Joachim Schöberl
c1c10174be FNMA asm-instruction 2020-12-22 09:37:21 +01:00
Christopher Lackner
7bd454e385 use relative tolerance in identifypoints 2020-12-18 15:58:51 +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
Joachim Schöberl
d30accdc1a Merge branch 'apple_silicon' into 'master'
Support for Apple M1

See merge request jschoeberl/netgen!359
2020-12-16 20:47:21 +00:00
Matthias Hochsteger
eb6ac164e7 int64_t for masks 2020-12-16 21:00:12 +01:00
Matthias Hochsteger
d97a9a6594 Alignment for generic SIMD classes 2020-12-16 17:20:18 +01:00
Matthias Hochsteger
e68d8cea9b workaround for missing intrinsic on GCC 7 2020-12-16 10:58:01 +01:00
Matthias Hochsteger
9c0dbec8c9 Fix SIMD<mask64> ctor and Unpack 2020-12-15 15:31:17 +01:00
Christopher Lackner
bf855efd1b fix usage of uninitialized value (valgrind) 2020-12-15 15:07:48 +01:00
Matthias Hochsteger
dbe894fea3 Support for Apple M1 2020-12-15 10:43:11 +01:00
Matthias Hochsteger
1b55c51da5 remove AlignedAlloc, use alignas 2020-12-15 09:40:43 +01:00
Matthias Hochsteger
1f3aebcec0 Fix AVX-Operators for int64_t simd (use generic ones) 2020-12-15 09:40:43 +01:00
mhochsteger
f213a7a5b1 fix fabs for AVX on Windows 2020-12-14 15:50:27 +01:00
Matthias Hochsteger
248145bbf0 fix wrong simd operators 2020-12-14 12:47:53 +01:00
Matthias Hochsteger
fc44eb95df simd - array and variadic ctor 2020-12-11 23:12:34 +01:00
Matthias Hochsteger
2d667a08dc move (refactored) SIMD headers from ngsolve into ngcore 2020-12-11 20:54:41 +01:00
Christoph Wintersteiger
657360818d rewrite loop to avoid index correction 2020-12-02 17:51:47 +01:00
Joachim Schöberl
cc85def275 Merge branch 'fix_surf_read' into 'master'
Fix .surf file reading.

See merge request jschoeberl/netgen!354
2020-11-30 18:41:56 +00:00
Matthias Hochsteger
1c6051371e updateSignal for Mesh class 2020-11-27 16:40:17 +01:00
Christopher Lackner
7ae460b2e5 Fix .surf file reading.
See https://ngsolve.org/forum/ngspy-forum/1275-bug-surf-file-read-incorrectly
2020-11-27 15:28:48 +01:00
Christopher Lackner
cb0d8295bf fix hashing of bitarray (uninitialized value in HashArchive & random
values at end)
2020-11-25 22:07:07 +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
91f127ef71 memory tracer - fix memory accumulation of children 2020-11-25 14:34:29 +01:00
Matthias Hochsteger
b55264e0ee memory tracing - handle multiple consecutive tracers correctly 2020-11-24 19:20:21 +01:00
Matthias Hochsteger
efdc57885a memory tracing - store parents array instead of children table 2020-11-24 17:12:39 +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
922ad16213 if more memory is deallocated than allocated set memtracer to 0 not
negative values
2020-11-21 22:32:41 +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
Joachim Schöberl
79542999f5 Merge branch 'boundarylayers' into 'master'
Boundarylayers

See merge request jschoeberl/netgen!349
2020-11-19 20:26:13 +00:00
Joachim Schöberl
f5771dca1e fix for 2D curves with same sub-domain on both sides 2020-11-19 20:07:09 +01:00
Matthias Hochsteger
87623981a6 export PajeTrace.WriteMemoryChart() to python 2020-11-19 19:29:04 +01:00
Matthias Hochsteger
f0152baacf mem tracing - TraceMemorySwap helper function 2020-11-19 17:35:29 +01:00
Matthias Hochsteger
6f98123e98 mem tracing - use topological sorting, some fixes 2020-11-19 16:16:39 +01:00
Matthias Hochsteger
b00c56a012 mem tracing - set name for tempmesh in delaunay 2020-11-19 14:58:16 +01:00
Matthias Hochsteger
a17066a387 html chart for peak memory consumption, some Array tracing fixes 2020-11-19 14:57:45 +01:00
Matthias Hochsteger
f143995f27 clean up memory tracing 2020-11-18 21:45:00 +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
Matthias Hochsteger
22d6303c5c bugfix in csg2d
handle degenerate quadratic equation in intersection of spline and
segment correctly
2020-11-13 16:14:30 +01:00
Christopher Lackner
0d339a7443 Merge branch 'master' into boundarylayers 2020-11-13 13:24:01 +01:00
Matthias Hochsteger
de76069283 CSG2d bugfix
Fixes bug in IsInside(p) test for splines if p lies on an edge of the surrounding triangle.
Do a fast check using (new) function IsCloseToTrig() instead of IsInsideTrig().
2020-11-11 16:03:09 +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
Matthias Hochsteger
8b14f399c1 csg2d - fix bug in getNonIntersectionVertex()
If a loop has no non-intersecting vertex, a new one is inserted
-> set all vertex properties correctly (info, spline)
2020-11-03 18:43:23 +01:00
Matthias Hochsteger
45059fa7af csg2d - fix CleanupResult
Check for more edge properties (maxh, bc etc.) before removing
"intermediate" and unnecessary vertices
2020-11-03 18:43:23 +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
Matthias Hochsteger
47632a06aa fix index error in cgns import 2020-10-27 14:54:25 +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
832485e41a pybind11 compatibility 2020-10-22 12:11:19 +02:00
Joachim Schöberl
25342f7c3f speeding up many small domains 2020-10-22 12:04:32 +02:00
Joachim Schöberl
2d03739f4e little smooth 2020-10-20 12:35:17 +02:00
Matthias Hochsteger
a2a2da13dc debug messages in hp refinement 2020-10-19 19:30:30 +02:00
Matthias Hochsteger
52a6d2a9f9 Merge branch 'master' into point_info_csg2d 2020-10-19 18:38:32 +02:00
Christopher Lackner
9a39b81615 fix set csg2d pinfo 2020-10-19 17:34:11 +02:00
Matthias Hochsteger
389280fc0c debug output 2020-10-19 16:55:49 +02:00
Christopher Lackner
39be1fd3c9 add PointInfo for csg2d for maxh and name in points 2020-10-19 16:32:42 +02:00
Christopher Lackner
ce3f3429d4 fix range check exception in tutorials 2020-10-19 15:27:36 +02:00
Christopher Lackner
00b4959232 remove "normal vectors degenerated" output 2020-10-19 14:06:35 +02:00
Matthias Hochsteger
9d5661fdc5 Fix maxh issue for splines 2020-10-19 13:19:25 +02:00
Matthias Hochsteger
2b5d00b259 csg2d - add points as 0d-elements to mesh 2020-10-19 10:41:44 +02:00
Matthias Hochsteger
b3d757ccd1 update pybind11 to 2.6.0rc3 2020-10-17 17:58:38 +02:00
Joachim Schöberl
cdbe7fd892 cleanup solid checks 2020-10-17 17:08:58 +02:00
Joachim Schöberl
ad69a9d5a5 modernization SpecialPointCalculation 2020-10-17 15:23:53 +02:00
Joachim Schöberl
decb6c6e90 use VecInSolid2 in SpecialPoint analysis, VecInSolid2 return also does_intersect 2020-10-17 13:01:07 +02:00
Joachim Schöberl
01c1411d65 robust implementation of Polyhedra::VecInSolid2 2020-10-17 08:18:32 +02:00
Joachim Schöberl
c842de7c3d Merge branch 'optimize_calcpartition' into 'master'
optimize CalcPartition() and PartitionBoundary()

See merge request jschoeberl/netgen!340
2020-10-17 05:44:33 +00:00
Matthias Hochsteger
dab18a1c8a optimize CalcPartition() and PartitionBoundary()
new test results (2d meshing behaviour is changed with this commit)
2020-10-16 18:48:22 +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
f66d8bd54e Revert "optimize CalcPartition() and PartitionBoundary()"
This reverts commit 95b7720efd.
2020-10-16 14:45:01 +02:00
Matthias Hochsteger
4c15146df9 fix windows build error 2020-10-16 14:30:38 +02:00
Matthias Hochsteger
e1100617af csg2d - fix bug with splines 2020-10-16 14:29:38 +02:00
Matthias Hochsteger
19ebc915c8 CSG2d - faster AddIntersections (search tree per loop) 2020-10-16 14:29:33 +02:00
Matthias Hochsteger
95b7720efd optimize CalcPartition() and PartitionBoundary() 2020-10-16 14:25:33 +02:00
Christopher Lackner
1a051ec555 export Polyhedra to Python and add test case 2020-10-16 12:05:03 +02:00
Joachim Schöberl
4cdaa6e3df differentiate 1 correctly 2020-10-16 10:54:34 +02:00
Joachim Schöberl
b841b1c57b using bool for in/strict-in, and more unique-ptrs 2020-10-16 10:14:50 +02:00
Joachim Schöberl
4d2e4fea44 unique-ptr for TangentialSolid 2020-10-16 09:44:11 +02:00
Joachim Schöberl
4f4483794d VecInSolid, poly 2020-10-15 09:29:36 +02:00
Joachim Schöberl
54dba89dd8 Merge branch 'fix_analyzeedge' into 'master'
Fix AnalyzeEdge()

See merge request jschoeberl/netgen!322
2020-10-14 21:36:39 +00:00
Matthias Hochsteger
7a8e10738b Revert "CSG2d - faster AddIntersections (search tree per loop)"
This reverts commit 307c2a3bbb.
2020-10-14 19:59:36 +02:00
Matthias Hochsteger
307c2a3bbb CSG2d - faster AddIntersections (search tree per loop) 2020-10-14 18:41:35 +02:00
Matthias Hochsteger
7b8b3b03ca bounding box for Loop 2020-10-14 18:41:35 +02:00
Joachim Schöberl
476a4c350c robust Polyhedron::VecInSolid option 2020-10-14 16:37:01 +02:00
Matthias Hochsteger
f55e3e6eb4 move DelaunayTree to adtree.hpp 2020-10-14 12:00:37 +02:00
Matthias Hochsteger
33bb84bd3e CSG2d optimizations (in-place operators, search tree) 2020-10-14 11:54:36 +02:00
Matthias Hochsteger
6544fbeca6 sunburst chart - tooltip formatting 2020-10-14 11:52:34 +02:00
Matthias Hochsteger
14e6a1d24b more statistics in sunburst chart 2020-10-14 11:52:26 +02:00
Matthias Hochsteger
25efdadd05 helper macro for Timer/RegionTimer definition 2020-10-13 11:11:33 +02:00
Joachim Schöberl
a894ebc9f5 stable pseudo-inverse, improve edge-analysis for revolution 2020-10-11 22:16:47 +02:00
Joachim Schöberl
b81f7f5ada improve robustness for revolution surface meshing (FindSpecialPoints) 2020-10-11 13:26:34 +02:00
Joachim Schöberl
b5a9580a8e BitArray::Data 2020-10-08 21:27:16 +02:00
Matthias Hochsteger
2629208f38 pajetrace - fix Timer names in MPI-trace 2020-10-08 12:20:46 +02:00
Matthias Hochsteger
7a1344bfcb cmake variable NG_COMPILE_FLAGS to set additional compile options 2020-10-01 13:35:53 +02:00
Christopher Lackner
70347a6d3c tuple implicitly convertible to Pnt and Vec 2020-09-29 18:57:56 +02:00
Matthias Hochsteger
0852a20fff some DLL_HEADER 2020-09-24 16:58:59 +02:00
Joachim Schöberl
b124b7bd06 keep global vertex enumeration on coarse grid 2020-09-21 07:49:56 +02:00
Christopher Lackner
1666155d25 add range adaptors (filter, transform) 2020-09-19 17:39:03 +02:00
Joachim Schöberl
283db5c637 trange bracket with size_t for T_Range 2020-09-19 09:43:00 +02:00
Joachim Schöberl
8b5675a8e2 check if mpi is initialized 2020-09-15 23:16:04 +02:00
Matthias Hochsteger
2763285b46 csg2d - fix tutorial 2020-09-15 15:48:49 +02:00
Matthias Hochsteger
10a9decfd2 csg2d - separate bc numbers 2020-09-14 12:13:16 +02:00
Christopher Lackner
c7af26771e fix bug in BitArray== 2020-09-11 16:54:25 +02:00
Matthias Hochsteger
86fe7f3be7 csg2d - optimize GenerateSplineGeometry() 2020-09-11 09:06:45 +02:00
Matthias Hochsteger
f6c94035c5 SetDomainQuadMeshing for 2d geometry 2020-09-11 09:05:53 +02:00
Matthias Hochsteger
24782ccc04 CSG2d Rectangle() - individual bc names 2020-09-09 17:07:36 +02:00
Matthias Hochsteger
caca0d4d08 Use __APPLE__ instead of TOGL_NSOPENGL 2020-09-09 13:04:21 +02:00
Matthias Hochsteger
00ce0a2769 DLL_HEADER for UserVisualizationObject functions 2020-09-09 11:58:38 +02:00
Matthias Hochsteger
4502c464a4 fix incopengl.hpp include on Windows (windows.h needed) 2020-09-09 11:45:36 +02:00
Joachim Schöberl
65761e7768 check copy_assignable also in copy-constructor 2020-09-09 07:03:12 +02:00
Joachim Schöberl
98697959dd check for copy_assignable 2020-09-09 06:31:03 +02:00
Joachim Schöberl
b2b8a15611 Array copy only if type is assignable 2020-09-08 23:00:03 +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
Joachim Schöberl
a45cbd6f84 parallel pickling per default on 2020-09-04 14:47:56 +02:00
Christopher Lackner
e3f95528e0 throw if IdentifyBoundaries mapped point is outside of mesh 2020-09-03 11:06:34 +02:00
Matthias Hochsteger
585a2e086c read cgns - set domin/domout in FaceDescriptor 2020-09-01 22:55:10 +02:00
Matthias Hochsteger
2f18c2b1f7 Mesh::Mirror() 2020-09-01 20:50:03 +02:00
Matthias Hochsteger
a8a0b9d50b fix bc/mat names in CGNS reader 2020-09-01 17:36:08 +02:00
Christopher Lackner
a8062a6f36 fix missing initial value for offset in HashArchive 2020-09-01 11:59:37 +02:00
Matthias Hochsteger
20b82ae7af Merge branch 'csg2d' into master 2020-08-31 11:56:51 +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
Christopher Lackner
deab89adf8 add missing NGCORE_API and HashArchive & with const value 2020-08-29 16:19:45 +02:00
Christopher Lackner
55971b3dde HashArchive 2020-08-29 15:38:03 +02:00
Christopher Lackner
f45fbfd811 operator== and better archive for BitArray 2020-08-29 15:37:48 +02:00
Joachim Schöberl
020dd4373d DynamicTable: char-alloc if not trivially constructable 2020-08-29 12:36:45 +02:00
Joachim Schöberl
c8b8b3ddd3 modernize paralleltop 2020-08-29 11:05:02 +02:00
Joachim Schöberl
8840c519d3 Min/Max of FlatArray, DynamicTable::ChangeSize 2020-08-29 11:04:47 +02:00
Joachim Schöberl
73846f23ae remove BaseDynamicTable, everything in template class 2020-08-29 09:58:33 +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
Matthias Hochsteger
2a7d6bb55e csg2d - fix overlap detection, test 2020-08-28 18:35:35 +02:00
Matthias Hochsteger
956b06f907 csg2d - fix inside tests 2020-08-28 17:26:43 +02:00
Matthias Hochsteger
1c825ebddf csg2d - better check for spline overlapping 2020-08-28 14:27:01 +02:00
Matthias Hochsteger
f559cdef16 csg2d - better IsInside() check for splines 2020-08-28 14:22:44 +02:00
Matthias Hochsteger
ac87e9b62c csg2d - proper +=/-=/*= operator 2020-08-28 14:22:44 +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
Matthias Hochsteger
7aab695f04 csg2d - skip degenerated solids 2020-08-25 11:26:06 +02:00
Matthias Hochsteger
89c33f5b28 csg2d GenerateMesh in Python, fix arguments for Rectangle/Circle 2020-08-25 10:59:48 +02:00
Matthias Hochsteger
b14178b352 csg2d - no bc in vertex, handle maxh 2020-08-25 10:29:38 +02:00
Matthias Hochsteger
671566ef31 csg2d interface 2020-08-24 11:35:00 +02:00
Joachim Schöberl
5863136285 MaybeTrue/False for xbool 2020-08-23 18:47:49 +02:00
Joachim Schöberl
e680f23bfa fix for non-parallel 2020-08-21 22:38:35 +02:00
Joachim Schöberl
895280a244 littel parallel polishing 2020-08-21 16:29:33 +02:00
Matthias Hochsteger
c4f2146519 use get_if for variant<>
compiles for Mac <10.13, also more readable
2020-08-21 12:09:31 +02:00
Matthias Hochsteger
e2768981f1 implicit conversion from py::tuple to Point<2> 2020-08-20 18:28:03 +02:00
Matthias Hochsteger
ceb57a7c5c CSG2d interface (Solid2d ctor, EdgeInfo) 2020-08-20 18:27:08 +02:00
Matthias Hochsteger
b9487cc07a Rename Polygon2d to Loop 2020-08-20 18:26:25 +02:00
Matthias Hochsteger
334faad054 pybind11 - automatic conversion of python list to Array<> 2020-08-20 18:25:06 +02:00
Matthias Hochsteger
4dcd20a0c7 initialize bounding box 2020-08-20 16:12:34 +02:00
Matthias Hochsteger
28d4b219fa bugfix in csg2d 2020-08-20 15:07:43 +02:00
Joachim Schöberl
155f2d24ed Merge branch 'csg2d' into 'master'
CSG for 2D

See merge request jschoeberl/netgen!332
2020-08-19 17:40:35 +00:00
Joachim Schöberl
2c6e0e2bec global enumeration of points for pickling (as an option) 2020-08-19 19:28:34 +02:00
Matthias Hochsteger
7cbeca147a fix windows build 2020-08-19 16:25:54 +02:00
Matthias Hochsteger
12b2e073ac CSG for 2D 2020-08-19 16:46:32 +02:00
Joachim Schöberl
5e09626466 parallel pickling with mesh-merging 2020-08-19 14:50:11 +02:00