Commit Graph

3375 Commits

Author SHA1 Message Date
Christopher Lackner
b4d0e5f8fc don't invert on periodic boundary (only if normal vectors do not match) 2023-12-04 11:01:10 +01:00
Christopher Lackner
3afdd80333 export parentelements to python 2023-11-28 21:30:57 +01:00
Matthias Hochsteger
12c8cda60a Export some STL utility functions 2023-11-22 20:36:52 +01:00
Christopher Lackner
5692604ab6 [occ] add name argument to arc in workplane 2023-11-21 11:38:01 +01:00
Matthias Hochsteger
ce8a73750e Return None if no color is set in shape 2023-11-21 11:26:16 +01:00
Joachim Schoeberl
69025e5ef4 return some nonsense for undefined element-type 2023-11-17 12:00:48 +01:00
Christopher Lackner
1d67567c02 export geom info of 2d elements 2023-11-16 14:00:37 +01:00
Matthias Hochsteger
790f4784ed Medit format fixes 2023-11-07 12:12:50 +01:00
Matthias Hochsteger
b8fe52edf2 Fix build error 2023-11-06 17:38:11 +01:00
Matthias Hochsteger
c4bece8dc8 Fix Medit im-/export 2023-11-06 17:33:36 +01:00
Matthias Hochsteger
fd3a5bbd34 Fix color of point curves if use_textures is on 2023-10-30 09:41:39 +01:00
Matthias Hochsteger
6e6c23b05e Fix printed face name on double click for 2d meshes 2023-10-24 15:03:54 +02:00
Matthias Hochsteger
93a76faca6 Remove debug output 2023-10-24 15:03:34 +02:00
Matthias Hochsteger
5af59aba66 Export ReadMedit/WriteMedit 2023-10-24 10:41:27 +02:00
Matthias Hochsteger
5931376a57 Clip prisms/hexes/pyramids as a whole (like tets) 2023-10-19 21:47:00 +02:00
Christopher Lackner
8c4384a02f fix inconsistent dll linkage (to libsrc/general/template.hpp::39) 2023-10-16 16:50:55 +02:00
Matthias Hochsteger
73c2eded15 Fix edge case in BoundaryLayer 2d growth vector limitation 2023-10-13 14:03:58 +02:00
Matthias Hochsteger
6f6b1fcb56 Medit format support 2023-10-12 19:04:40 +02:00
Matthias Hochsteger
987f0fcc07 Clean up user mesh format code 2023-10-12 19:04:40 +02:00
Matthias Hochsteger
20fd3af5b4 Fix face orientation in BuildFMap to change the original shape 2023-10-12 16:10:50 +02:00
Hochsteger, Matthias
dad62afcee Call PropagateProperties in OCCGeometry::HealGeometry() 2023-10-11 17:13:38 +02:00
Christopher Lackner
e2aa646b0e allow read in of "broken" step files (for manual fixing) 2023-10-09 11:50:18 +02:00
Christopher Lackner
556ec04b8e add colors for iges input files 2023-10-09 11:30:45 +02:00
Joachim Schoeberl
4ed8f04e1c face refinement cases 2023-09-30 07:11:07 +02:00
Joachim Schoeberl
e742dc59b3 move AutoDiff to netgen 2023-09-29 10:56:16 +02:00
Joachim Schoeberl
bbb91b704d plotting hex7 2023-09-29 09:30:19 +02:00
Joachim Schoeberl
7d409e6ec4 visualization of clipping plane for HEX7 2023-09-27 12:20:49 +02:00
Matthias Hochsteger
04ad6239d2 Rebuild color texture when mesh changes 2023-09-26 15:30:57 +02:00
Joachim Schoeberl
8d99756045 mapping of HEX7 2023-09-26 07:24:41 +02:00
Joachim Schoeberl
b5260849bb old style for loop :-( 2023-09-24 12:49:48 +02:00
Joachim Schoeberl
6db1c2d831 more (pyramid) cases 2023-09-24 11:26:53 +02:00
Joachim Schoeberl
d123c4a9f3 more hprefs 2023-09-23 21:23:33 +02:00
Joachim Schoeberl
b013a05dd5 fix unused warning 2023-09-22 14:25:18 +02:00
Joachim Schoeberl
103a9c8cb7 more singular-face cases implemented 2023-09-22 11:01:44 +02:00
Joachim Schoeberl
e0fa631ca9 hex7 elements 2023-09-21 00:14:37 +02:00
Joachim Schoeberl
b6071dd1e4 hp-refinement for singular tet-faces 2023-09-20 19:09:01 +02:00
Christopher Lackner
1855b2cfa7 fix min color width to 1 (prevent div by 0) 2023-09-19 15:49:27 +02:00
Hochsteger, Matthias
d726b22561 Merge branch 'opt2d_fixes' into 'master'
Reset MeshTopology before 2d optimize

See merge request ngsolve/netgen!607
2023-09-18 14:15:32 +02:00
Matthias Hochsteger
960fe8a342 Reset MeshTopology before 2d optimize 2023-09-18 13:58:43 +02:00
Matthias Hochsteger
9cf7db65e3 DLL_HEADER for MeshTopology 2023-09-18 13:50:33 +02:00
Matthias Hochsteger
d069f57422 Pyodide fixes 2023-09-16 19:25:43 +02:00
Christopher Lackner
15ddc4294b marked elements now in BisectionInfo member of meshclass instead of global 2023-09-11 16:05:31 +02:00
Lackner, Christopher
3b04270006 Add array uint64 t 2023-09-08 17:20:27 +02:00
Joachim Schoeberl
7d46b22f8e get mpi_wrapper out of hashtable.hpp 2023-09-08 16:14:10 +02:00
Matthias Hochsteger
d9d14ab4bf fixes to build pyodite module 2023-09-08 10:18:19 +02:00
Joachim Schoeberl
a09bd78459 std::array<T, size_t S> 2023-09-07 20:22:03 +02:00
Schöberl, Joachim
03cd1817dd Merge branch 'soldata_draw_surface_volume_regions' into 'master'
Add 0-based bitarrays to soldata structure limit drawing regions

See merge request ngsolve/netgen!590
2023-09-07 09:44:24 +02:00
Joachim Schoeberl
6272121f25 fix brackets 2023-09-06 08:42:18 +02:00
Joachim Schoeberl
8066fb0e9c mpi_typetrait in replacement 2023-09-06 08:32:32 +02:00
Joachim Schoeberl
f756aadf32 replacement GetMPIType with same signature 2023-09-06 08:13:44 +02:00
Joachim Schoeberl
f4284a7e60 GetMPIType also for mpi replacement 2023-09-06 07:49:27 +02:00
Joachim Schoeberl
2285785af5 include 2023-09-06 07:29:16 +02:00
Joachim Schoeberl
63660682c2 MPI-type for std::array 2023-09-05 21:53:55 +02:00
Lackner, Christopher
24d79dbfdd Merge branch 'cleanup_netgen' into 'master'
move namespaces in meshing.hpp into headers

See merge request ngsolve/netgen!602
2023-09-05 17:56:55 +02:00
Matthias Hochsteger
fe37f7d0b2 Emscripten fixes 2023-09-05 17:13:29 +02:00
Christopher Lackner
d4c8a94abb dont include archive.hpp, use template function 2023-09-05 13:23:37 +02:00
Christopher Lackner
b4dee312a4 autodiff sqr in ngcore namespace 2023-09-05 13:23:20 +02:00
Christopher Lackner
e345b3f97f remove warning abound unused captured this pointer in lambda 2023-09-05 12:37:03 +02:00
Christopher Lackner
cacd9948f4 general ClosedHashTable -> NgClosedHashtable to avoid conflict 2023-09-05 12:29:07 +02:00
Christopher Lackner
95ca834605 move namespaces in meshing.hpp into headers 2023-09-04 13:43:47 +02:00
Matthias Hochsteger
125c21b200 Boundarylayer limitation fixes
Squashed commit of the following:

commit a1007d6728c01343a321aa135c24bbb1d3e6f059
Author: vgeza <vg@cenos-platform.com>
Date:   Fri Sep 1 13:01:01 2023 +0300

    put back

commit 74b145cf7fb9bf36eae36e01c2cc6c7ab8f1504b
Author: vgeza <vgeza@users.noreply.github.com>
Date:   Fri Sep 1 12:44:06 2023 +0300

    Update smoothing

commit 18a2a95a61ac56db3274c669b91d2bbd8a84ec2f
Author: vgeza <vgeza@users.noreply.github.com>
Date:   Fri Sep 1 12:32:35 2023 +0300

    More restrictive fixes

commit cc715804ac8825909e2c0b4a86333c0c3fc29a80
Author: vgeza <vgeza@users.noreply.github.com>
Date:   Fri Sep 1 12:31:50 2023 +0300

    fix

commit 36a7b522c3e97745d4ff84de09df05dc766ddae7
Author: vgeza <vgeza@users.noreply.github.com>
Date:   Fri Sep 1 12:31:15 2023 +0300

    Update limits at the end of loop

Bounarylayer - safety parameter to limit maximum vector growth
2023-09-04 11:49:56 +02:00
Matthias Hochsteger
499c9086b0 Boundarylayer - check if all given faces are adjacent to selected domain 2023-09-04 10:42:45 +02:00
Joachim Schoeberl
74eff69410 singular edges/points to Python 2023-08-31 12:13:46 +02:00
Hochsteger, Matthias
0043eee0e0 Merge branch 'find_python' into 'master'
find_package(PythonInterp... deprecated, change to python with comp

See merge request ngsolve/netgen!595
2023-08-30 21:57:52 +02:00
Matthias Hochsteger
68b5490621 Change library type for pyngcore to MODULE 2023-08-30 17:31:58 +02:00
Hochsteger, Matthias
7fa30dbfac Archive classes with non default ctor 2023-08-29 18:27:39 +02:00
Schöberl, Joachim
3ff2e46ddd Merge branch 'vgeza_fix_blayer_limiting' into 'master'
Boundary layer thickness limiting fixes

See merge request ngsolve/netgen!596
2023-08-29 17:11:17 +02:00
Christopher Lackner
dd46634c83 gui draw segment and surfacelement numbers 2023-08-29 16:43:25 +02:00
vgeza
1276e64c8b Modified smooth 2023-08-29 14:10:53 +03:00
vgeza
d9173d5223 Enlarge triangle intersection check 2023-08-29 14:10:53 +03:00
vgeza
9c28bc2351 0th limiting step
fix commit
2023-08-29 14:10:52 +03:00
Matthias Hochsteger
18535405d7 Fix AnyToPython for types with shared_ptr holder type 2023-08-28 15:21:02 +02:00
Hochsteger, Matthias
90729810d4 Archive with nondefault constructor 2023-08-28 10:02:22 +02:00
Matthias Hochsteger
22b45dde67 BinaryArchive platform compatibility 2023-08-23 15:15:59 +02:00
Matthias Hochsteger
aeadc7f79a Fix TextArchive, portable BinaryArchive 2023-08-23 11:11:31 +02:00
Matthias Hochsteger
9e4659f194 emscripten - disable multithreading 2023-08-22 09:27:03 +02:00
Matthias Hochsteger
b30b33e8a8 emscripten - print errors (no exception handling) 2023-08-22 09:25:06 +02:00
Joachim Schoeberl
8ada55ff3e fix warnings 2023-08-21 21:19:47 +02:00
Joachim Schoeberl
ea1c6ec0af less verbosity for periodic csg 2023-08-21 20:42:39 +02:00
Christopher Lackner
a97ff0ea3d remove spdlog and archive logging 2023-08-21 19:14:39 +02:00
Joachim Schoeberl
927a76a490 alignment shouldn't be an issue anymore 2023-08-21 14:27:21 +02:00
Joachim Schoeberl
955540b90e NETGEN_CHECK_SAME macro 2023-08-21 06:13:13 +02:00
Joachim Schoeberl
b053ddcd68 parent faces also in 2D 2023-08-20 21:54:09 +02:00
Joachim Schoeberl
06ae01b5a7 constexpr test for integral constant 2023-08-18 09:40:39 +02:00
Matthias Hochsteger
4c21f4f904 Fix meshing of INTERNAL faces with Opencascade 2023-08-16 18:39:49 +02:00
Matthias Hochsteger
1e453d90c0 Add 0-based bitarrays to soldata structure limit drawing regions 2023-08-16 15:25:01 +02:00
Joachim Schoeberl
0cb91aedb4 all args for Exception are integer 2023-08-14 12:25:56 +02:00
Joachim Schoeberl
bf71375952 explicit conversion to int() in RangeException macro 2023-08-14 11:37:17 +02:00
Joachim Schoeberl
b4dffe266e c++-Array -> Py-tuple 2023-08-06 07:14:18 +02:00
Joachim Schoeberl
a311b5db39 use string_view in interface 2023-08-05 20:14:32 +02:00
Joachim Schoeberl
e1f7935f0b fixing warnings 2023-08-05 12:01:01 +02:00
Joachim Schoeberl
1461ad34bb remove deprecated dynamicmem 2023-08-05 10:36:20 +02:00
Joachim Schoeberl
d2870b3e36 fix printf windows warning 2023-08-05 10:09:14 +02:00
Joachim Schoeberl
f0a73a3a4c NETGEN_NOEXCEPT 2023-08-04 09:22:34 +02:00
Joachim Schoeberl
5c7d39b3fb complex FMA for SIMD<double> 2023-08-01 17:44:43 +02:00
Joachim Schoeberl
a8e41734cf no warnings 2023-07-31 00:13:56 +02:00
Joachim Schoeberl
227b269b5c GetEdgeVertices -> tuple 2023-07-30 22:29:54 +02:00
Joachim Schoeberl
35660c2ef7 replace std::function by old-syle function pointer in Archive: reduces binary file size, e.g. coefficient.o by 20% 2023-07-30 21:33:07 +02:00
Hochsteger, Matthias
11da083507 Emscripten support 2023-07-28 13:01:41 +02:00
Matthias Hochsteger
a3ac409add Consider SIMD width 2 as "native" on all platforms 2023-07-28 11:55:26 +02:00
Joachim Schoeberl
32320a48c1 fix (recent) edge index error 2023-07-28 07:08:47 +02:00
Joachim Schoeberl
d429540a47 fix warnings 2023-07-25 23:03:58 +02:00
Joachim Schoeberl
0752aa7def fix compiler warnings 2023-07-25 19:45:16 +02:00
Matthias Hochsteger
9ae05ab712 add mesh.bounding_box in Python 2023-07-25 12:11:13 +02:00
Matthias Hochsteger
356e78b809 Fix Point3d Python operators 2023-07-25 12:11:00 +02:00
Joachim Schoeberl
340c34bcf8 Access curved elements from Netgen-mesh 2023-07-20 10:36:19 +02:00
Matthias Hochsteger
8e6ee3cbb8 Add Flags.keys() in Python, for working dict(flags) 2023-07-19 19:07:39 +02:00
Joachim Schoeberl
ca5f562503 curved prism vertical edges 2023-07-13 06:00:33 -07:00
Joachim Schoeberl
93b39231c4 fix Alfeld typos 2023-07-12 18:24:19 -07:00
Joachim Schoeberl
06070d49f3 little cleanup 2023-07-12 17:31:14 -07:00
Joachim Schoeberl
5b19ea6451 enum for macro-based element splitting 2023-07-12 17:26:32 -07:00
Joachim Schoeberl
82e88f3afb Alefeld split hack 2023-07-12 10:50:03 -07:00
Christopher Lackner
ea32b203d6 remove propagateproperties from makefillet2d
properties are propagated anyway and it is crashing with function call
2023-07-08 20:40:25 +02:00
Christopher Lackner
72d8ef4783 [occ] MakeFillet for 2d shapes 2023-07-04 16:27:01 +02:00
Lackner, Christopher
993ed0bde3 Merge branch 'draw_occ_identifications' into 'master'
code for drawing occ identifications in webgui

See merge request ngsolve/netgen!579
2023-06-29 13:24:10 +02:00
Lackner, Christopher
fe770960b6 Merge branch 'restricth_vertices' into 'master'
[occ] restrict meshsize at vertices

See merge request ngsolve/netgen!578
2023-06-29 13:19:13 +02:00
Christopher Lackner
0530775800 [occ] restrict meshsize at vertices 2023-06-29 12:23:19 +02:00
Christopher Lackner
8da01ff353 code for drawing occ identifications in webgui 2023-06-29 12:22:00 +02:00
Christopher Lackner
143f113d78 separate_layers now also working for 2d occ geometries 2023-06-28 15:59:04 +02:00
Neunteufel, Michael
8288c66501 Bndlayer surfacegeom 2023-06-21 16:44:21 +02:00
Christopher Lackner
64f16e0e6f fix typo in center face 2023-06-20 14:28:17 +02:00
Matthias Hochsteger
e53d559740 Fix hashtable size in boundarylayer code 2023-06-20 12:45:01 +02:00
Matthias Hochsteger
2ad56cd7ef Add edge/face midpoints to bounding box in element search tree 2023-06-20 12:44:18 +02:00
Joachim Schoeberl
54f0e1a0de inheritate 'is_curved' for hp-refined 1D-elements 2023-06-09 20:03:05 +02:00
Joachim Schoeberl
3ab8ffbdc1 robust Axis to Axes conversion 2023-06-08 16:50:53 +03:00
Joachim Schoeberl
ec9d028c60 ellipsoid 2023-06-08 16:38:34 +03:00
Joachim Schoeberl
ef393472b2 remove cout 2023-06-08 14:31:11 +03:00
Matthias Hochsteger
3e9eba7906 OCC - Handle internal (forward+reversed) edges correctly 2023-06-05 11:24:52 +02:00
Christopher Lackner
b1b2f17c09 fix clang warning about unqualified std move 2023-05-23 08:57:51 +02:00
Christopher Lackner
8374346023 allow adding identification name in occ extrude 2023-05-22 13:08:31 +02:00
Schöberl, Joachim
c899273397 Merge branch 'sleep_when_no_job_for_some_time' into 'master'
TaskManager - sleep when no jobs for some time

See merge request ngsolve/netgen!571
2023-05-21 14:41:41 +02:00
Hochsteger, Matthias
a1b43088a4 TaskManager - sleep when no jobs for some time 2023-05-21 14:41:41 +02:00
Joachim Schoeberl
472073c22b counting num vertices in parallel 2023-05-21 14:35:09 +02:00
Joachim Schoeberl
f1162b6cc3 ngcore - array in Bisect 2023-05-19 15:24:01 +02:00
Joachim Schoeberl
e8286776df hash-table with optional Get 2023-05-19 14:45:56 +02:00
Christopher Lackner
2233275c0b do not copy faces when extrude, better identify in extrude 2023-05-17 16:24:06 +02:00
Christopher Lackner
e4a2795414 extrude with optional (closesurface) identification 2023-05-17 12:49:16 +02:00
Christopher Lackner
b06b86bce3 recalculate element curve coefficients after refine 2023-05-10 09:34:48 +02:00
Joachim Schoeberl
9c0eeb5370 mesh.AddElements also for 1D segments 2023-05-07 17:45:20 +02:00
Joachim Schoeberl
8a79f91cb1 check for null-ptr from cxa_demangle 2023-04-28 17:33:07 +02:00
Matthias Hochsteger
35360df540 Don't add new duplicate segments to mesh, if mesh fulfills HaveSingleSegments() 2023-04-27 15:35:10 +02:00
Matthias Hochsteger
875da8ee45 boundarylayer 2d code in separate file 2023-04-27 15:25:15 +02:00
Matthias Hochsteger
bdd15644d3 Fix compile warning 2023-04-26 16:48:29 +02:00
Matthias Hochsteger
6bfcd4ca6c Fix MeshVolume() for partially meshed meshes 2023-04-21 12:53:05 +02:00
Matthias Hochsteger
4ab01fa269 Save one FindOpenElements call in MeshVolume 2023-04-21 12:52:17 +02:00
Matthias Hochsteger
7382661315 Fix surface mapping in BoundaryLayer3d 2023-04-21 12:51:54 +02:00
Christopher Lackner
6fcfdc7def fix typo in divide segments in zrefine 2023-04-19 12:07:45 +02:00
Matthias Hochsteger
c14c798235 output face name on double click 2023-04-12 16:44:12 +02:00
Matthias Hochsteger
a1c9483270 Fix color of prisms/pyramids/hexes 2023-04-12 16:44:12 +02:00
Christopher Lackner
b12d40a0c0 add missing check for lam range in PointContainedIn2DElement in Quad 2023-04-11 22:00:38 +02:00
Hochsteger, Matthias
9180f9b972 Merge branch 'faster_dbl_click' into 'master'
Speed up face/point selection in mesh scene

See merge request ngsolve/netgen!564
2023-04-03 10:17:37 +02:00
Matthias Hochsteger
aae0521057 Use marker as center, cleanup code 2023-03-31 15:46:45 +02:00
Matthias Hochsteger
5d0c61b10f Use a texture to store face colors
-> Much faster highlighting of selected face (just rebuild the texture)
2023-03-31 15:42:32 +02:00
Lackner, Christopher
8edb109d92 Merge branch 'blayer_sides' into 'master'
boundarylayers sides with separate bcnr and option to set surface

See merge request ngsolve/netgen!563
2023-03-30 23:40:53 +02:00
Christopher Lackner
9c1db9a6f3 correctly set domin and domout at sides 2023-03-30 23:21:58 +02:00
Christopher Lackner
5b4af26d7d boundarylayers sides with separate bcnr and option to set surface
index to -1

this fixes 2 issues:

* If extruded outwards in occ and curvature turned on, if sides are
not set to index -1 then they are curved back towards the face again

* If no different facedescriptor is set, blayer.Boundaries() would
wrongly return the whole boundary and not only the layer part of the side.
2023-03-30 17:19:34 +02:00
Schöberl, Joachim
4737063653 Merge branch 'smaller_tol_in_pointin2delement' into 'master'
use outer smaller (1e-6) tolerance in check if points are on quad edges

See merge request ngsolve/netgen!562
2023-03-30 16:51:03 +02:00
Schöberl, Joachim
d07321ad90 Merge branch 'findpoint_newton_quads' into 'master'
PointInElement2d use newton in nonlinear quad, better startpoint for

See merge request ngsolve/netgen!561
2023-03-30 16:50:32 +02:00
Matthias Hochsteger
832c17c834 Rewrite double-click selection in GUI 2023-03-30 14:01:41 +02:00
Joachim Schoeberl
ad6ffaac05 shared loop with relaxed memory ordering 2023-03-30 12:26:58 +02:00
Joachim Schoeberl
a12e9bec61 GetRegionNames to netgen-mesh 2023-03-26 11:01:05 +02:00
Christopher Lackner
867549c3af use outer smaller (1e-6) tolerance in check if points are on quad edges 2023-03-23 14:57:30 +01:00
Christopher Lackner
72a34f9fe1 PointInElement2d use newton in nonlinear quad, better startpoint for
Newton in trig
2023-03-23 14:55:18 +01:00
Joachim Schoeberl
482e78a18b fix Setting refinement flags and adaptive refinement in Netgen 2023-03-22 21:53:09 +01:00
Joachim Schoeberl
7e560e157d Setting refinement flags and adaptive refinement in Netgen 2023-03-22 21:23:29 +01:00
Henry v. Wahl
1a6f52dfc4
in two dimensions, elements are connected if they share two vertices 2023-03-22 09:32:58 +01:00
Christopher Lackner
2344124f65 fix missing return in generic improve 2023-03-13 13:31:08 +01:00
Joachim Schoeberl
0c5e8c8d70 had removed too much 2023-03-12 22:24:21 +01:00
Joachim Schoeberl
32f1b6177e less special HSum 2023-03-12 19:18:29 +01:00
Matthias Hochsteger
99ea85a175 Draw surface vectors on quads 2023-03-07 20:30:30 +01:00
Matthias Hochsteger
ca173ea989 Fix warnings 2023-03-06 16:19:18 +01:00
Joachim Schoeberl
16a0f52921 fix type, more in utils 2023-03-05 20:18:27 +01:00
Joachim Schoeberl
2121ec33f7 IfPoo to utils, mpi-type commit replacement 2023-03-05 17:16:35 +01:00
Joachim Schoeberl
0ad5973101 move Iterate<D>and Switch<D> to netgen utils 2023-03-05 14:53:22 +01:00
Matthias Hochsteger
3085fac973 PajeTrace - User defined containers 2023-02-24 12:26:24 +01:00
Matthias Hochsteger
618b81286a add UserEvents to PajeTrace 2023-02-23 16:58:13 +01:00
Matthias Hochsteger
c0f57369e5 gpu events in PajeTrace 2023-02-22 14:07:08 +01:00
Joachim Schoeberl
714b064666 check for exceptions for Cuda 2023-02-22 08:29:06 +01:00
Joachim Schoeberl
c6af357901 check for exception support 2023-02-21 20:52:25 +01:00
Matthias Hochsteger
a0b9dca246 NETGEN_INLINE for Range::Split 2023-02-21 18:47:33 +01:00
Matthias Hochsteger
7f172344e8 remove NETGEN_INLINE from StartTask 2023-02-21 15:19:51 +01:00
Joachim Schoeberl
566c858771 static_assert instead of Exception 2023-02-21 09:34:10 +01:00
Joachim Schoeberl
371aad4a65 INLINE for FlatArray - iterator 2023-02-21 00:19:02 +01:00
Christopher Lackner
50356b7c5e fox list of shape constructor in OCCGeometry propagating properties 2023-02-17 08:47:01 +01:00
Hochsteger, Matthias
52763603d3 Some cuda fixes 2023-02-16 12:55:12 +01:00
Matthias Hochsteger
3746547466 Fix smoothing 2023-02-14 12:59:06 +01:00
Joachim Schoeberl
203dd2b89a Archive should be a template, here 2023-02-13 22:03:36 +01:00
Schöberl, Joachim
936159cfbb Merge branch 'boundarylayer_better_growth_vectors' into 'master'
better growth vector computation for non orthogonal faces

See merge request ngsolve/netgen!553
2023-02-13 15:58:06 +01:00
Schöberl, Joachim
1eb0fdfbb7 Merge branch 'occ_better_divide_edge' into 'master'
OCC better divide edge algorithm

See merge request ngsolve/netgen!551
2023-02-13 15:57:53 +01:00
Hochsteger, Matthias
219c2af686 OCC better divide edge algorithm 2023-02-13 15:57:53 +01:00
Hochsteger, Matthias
71c9b9b9f1 Template archive 2023-02-13 15:42:45 +01:00
Christopher Lackner
46d53168b8 better growth vector computation for non orthogonal faces 2023-02-13 12:04:30 +01:00
Joachim Schoeberl
ecd077f154 dll_header, copy-paste error ? 2023-02-12 11:15:50 +01:00
Joachim Schoeberl
a8dcda69a3 fix printf warnings 2023-02-12 11:10:20 +01:00
Joachim Schoeberl
da278ac7d0 more verbose warning msg 2023-02-11 20:25:41 +01:00
Joachim Schoeberl
ff65434e46 simdtranspose for defaultsize=1 2023-02-11 20:25:41 +01:00
Matthias Hochsteger
cec87bb2ff skip deleted elements in tables 2023-02-08 16:18:07 +01:00
Matthias Hochsteger
ca88e90a31 fix smoothing 2023-02-07 16:06:39 +01:00
Matthias Hochsteger
fc9846b035 set PYBIND11_SIMPLE_GIL_MANAGEMENT to work around segfaults 2023-02-07 11:59:23 +01:00
Christopher Lackner
fafcf555ac [occ] add additional arguments for MakeThickSolid 2023-02-01 11:03:42 +01:00
Matthias Hochsteger
e64d07aab3 set domain names in revolve 2023-01-26 17:00:18 +01:00
Matthias Hochsteger
9eb959f608 Some DLL_HEADER for 2d mesh optimization 2023-01-20 17:00:15 +01:00
Matthias Hochsteger
aa5dfdfa57 Fix checkMixedElement() 2023-01-20 16:59:43 +01:00
Christopher Lackner
8745a12246 fix loading windows line ending files in textarchive 2023-01-19 16:39:24 +01:00
Hochsteger, Matthias
2f4e52594e Merge branch 'fix_occ_identified_edge_orientation' into 'master'
Keep consistent vertex numbering for identified edges

See merge request ngsolve/netgen!547
2023-01-19 12:59:19 +01:00
Matthias Hochsteger
290d0eee52 Respect mp.only3d_domain_nr in volume mesh optimization 2023-01-18 12:42:51 +01:00
Christopher Lackner
bb25aa656a more stable occ parameter space projection
occ uv parameters are not very accurate sometimes, therefore new
strategy for finding same uv points in parameter space:

if uv coordinates are closer together than 0.9 * min(seg_length) and
global point numbers are the same -> same uv point
2023-01-16 19:57:48 +01:00
Matthias Hochsteger
1c0cbb7ea5 fix build error on Windows 2023-01-16 17:15:17 +01:00
Matthias Hochsteger
e581c0d91c fix normal vector computation when mapping surfaces 2023-01-16 17:05:41 +01:00
Matthias Hochsteger
e3772bf3af Keep consistent vertex numbering for identified edges 2023-01-16 17:05:18 +01:00
Matthias Hochsteger
9f2daabc0f Fix dangling reference in PropagateProperties()
Other GetProperties() calls push_back new elements to global_shape_properties
-> memory reallocation
2023-01-12 14:57:31 +01:00
Hochsteger, Matthias
6789f58090 Fix refinement with OCC geometries 2022-12-22 11:16:08 +01:00
Schöberl, Joachim
c631efd6b5 Merge branch 'fix_access_of_empty_WP_wires' into 'master'
Avoid out-of-bounds access in OCC WP and ListOfShapes

See merge request ngsolve/netgen!545
2022-12-20 13:52:43 +01:00
Matthias Rambausek
bda7ea5ac1 handle case of WP.wires being empty 2022-12-20 12:14:55 +01:00
Christopher Lackner
36644161b3 fix closesurface identification with degenerated edges 2022-12-19 13:26:18 +01:00
Christopher Lackner
7abda1151c occ_face ProjectPointGI should set gi 2022-12-13 16:09:28 +01:00
Joachim Schoeberl
fef7cca030 empty table copy 2022-12-13 15:04:15 +01:00
Joachim Schoeberl
948a7bfc4d table from flattable 2022-12-12 23:45:49 +01:00
Joachim Schoeberl
52a71a5f76 Table from FlatTable 2022-12-12 20:03:17 +01:00
Schöberl, Joachim
6d539e0213 Merge branch 'occ_no_maps' into 'master'
remove all std::maps<TopoDS_Shape, *> and std::set<TopoDS_Shape>

See merge request ngsolve/netgen!542
2022-12-09 16:20:37 +01:00
Hochsteger, Matthias
69892f39eb Merge branch 'mesh_ptr_as_extern' into 'master'
mesh pointer should be declared extern in visualpkg

See merge request ngsolve/netgen!543
2022-12-09 15:41:31 +01:00
Christopher Lackner
d3a393a727 fixes for identifications not using maps, python maps also don't use hash 2022-12-09 13:10:17 +01:00
Joachim Schoeberl
1338cff45d fix more sprintf warnings 2022-12-08 15:26:27 +01:00
Joachim Schoeberl
c622f39897 replace sprintf by snprintf (remove warnings), remove old mpi-interface header 2022-12-08 15:19:16 +01:00
Christopher Lackner
6b846eeec2 Merge branch 'mesh_ptr_as_extern' into occ_no_maps 2022-12-07 12:12:24 +01:00
Christopher Lackner
f3ba4e2706 mesh pointer should be declared extern in visualpkg 2022-12-07 12:11:04 +01:00
Christopher Lackner
0aa20603d9 remove all std::maps<TopoDS_Shape, *> and std::set<TopoDS_Shape>
since hash conflicts may occur this is not safe.
2022-12-06 17:51:19 +01:00
Joachim Schoeberl
d976e27b33 more constexpr 2022-11-28 09:50:12 +01:00
Matthias Hochsteger
e09a38d804 fix fmaddsub intrinsic calls 2022-11-21 12:13:19 +01:00
Joachim Schoeberl
f457009083 fix typo 2022-11-20 19:21:25 +01:00
Joachim Schoeberl
2d022013ad fmaddsub intrinsics (avx2+avx512) 2022-11-20 19:10:30 +01:00
Matthias Hochsteger
c18229535a Lo/Hi for SIMD<8> 2022-11-17 13:34:24 +01:00
Joachim Schoeberl
ee78c611e1 missing const 2022-11-17 00:08:47 +01:00
Joachim Schoeberl
71ef65cc86 missed Lo/Hi in SIMD<double,2> 2022-11-17 00:03:17 +01:00
Joachim Schoeberl
587843fded more SIMD features for complex arithmetics 2022-11-16 22:34:05 +01:00
Matthias Hochsteger
c354118fb9 define macro NETGEN_DEFAULT_SIMD_SIZE 2022-11-16 20:36:16 +01:00
Matthias Hochsteger
22d314a1ec Don't use std::map<TopoDS_Shape> (hash value is not unique) 2022-11-15 17:02:34 +01:00
Joachim Schoeberl
b2e8100545 order elements such that first vertex is lowest index (reduce equivalence classes) 2022-11-13 19:09:27 +01:00
Lackner, Christopher
7a86aae0d1 allow different materials in boundarylayer depending on bc name 2022-11-10 14:35:58 +01:00
Joachim Schoeberl
e14e7e1b06 more constexpr constructors 2022-10-26 20:50:17 +02:00
Joachim Schoeberl
95df669656 INT<2> constexpr ctor 2022-10-26 16:50:19 +02:00
Joachim Schoeberl
17803d2d45 relax deprecated 2022-10-26 16:45:15 +02:00
Joachim Schoeberl
a183380cc6 Enumerate + Zip iterators 2022-10-26 15:50:30 +02:00
Christopher Lackner
4714aa9b31 smaller tolerance in occ center 2022-10-17 15:56:38 +02:00
Joachim Schoeberl
bce715acc9 switch back to manual projection for OCC geometry (wta/coil.ipynb make a huge difference) 2022-10-16 13:08:27 +02:00
Matthias Hochsteger
a005bfadd8 set uv-params in mapped trigs correctly
Just projecting might lead to wrong results if a face contains edges
twice.
2022-10-11 11:30:49 +02:00
Matthias Hochsteger
d837d92f0f set uv-params in quads correctly
Just projecting might lead to wrong results if a face contains edges
twice.
2022-10-07 18:33:01 +02:00
Hochsteger, Matthias
a9234a589a Merge branch 'fix_edge_swapping_2d' into 'master'
Fix in 2d edge swapping: Don't consider Segments for swapping

See merge request ngsolve/netgen!536
2022-10-07 17:21:08 +02:00
Matthias Hochsteger
d2ab9f6c53 Fix in 2d edge swapping: Don't consider Segments for swapping 2022-10-07 17:02:51 +02:00
Hochsteger, Matthias
f09afb2025 Fix bug in 2d CombineImprove optimization 2022-10-07 17:00:10 +02:00
Christopher Lackner
11f2ff0c76 fix project point on edge to stay in param range 2022-10-07 12:22:11 +02:00
Matthias Hochsteger
838450b7a8 Colorbar features
- title above
- unit at the end
- allow user-defined number formatting
2022-10-06 17:21:53 +02:00
Matthias Hochsteger
9443929806 center numbers under colormap 2022-10-06 15:36:53 +02:00
Matthias Hochsteger
27679c231a fix drawing of colormap (last piece was missing) 2022-10-06 15:11:47 +02:00
Matthias Hochsteger
85b909ef21 TopoDS_Shape.center - call utility function instead of separate(and incomplete) implementation 2022-10-06 14:50:23 +02:00
Matthias Hochsteger
8224f3cd2d New debug parameter to write mesh on error, python export 2022-10-04 12:26:02 +02:00
Matthias Hochsteger
7712429cc2 bugfix in occ close surface identification 2022-10-04 12:15:45 +02:00
Matthias Hochsteger
92fb557314 fix boundarylayer 2d bug 2022-10-03 17:22:44 +02:00
Matthias Hochsteger
19453911c6 Merge branch 'nilswagner-master' 2022-09-29 10:59:33 +02:00
Matthias Hochsteger
308360f678 fix warnings in delaunay.cpp 2022-09-20 11:28:31 +02:00
Matthias Hochsteger
2ae76d9a86 fix cmake bug (didn't apply NG_COMPILE_FLAGS) 2022-09-20 10:53:12 +02:00
Matthias Hochsteger
fe1a615996 fix cmake 2022-09-16 17:32:20 +02:00
Matthias Hochsteger
20dccf5082 fix compile flags containing semicolon 2022-09-16 17:13:26 +02:00
Schöberl, Joachim
f91769d53d Merge branch 'fix_writing_in_uninitialized_mem' into 'master'
stlgeometry->... functions were not setting global geo, but

See merge request ngsolve/netgen!529
2022-09-15 16:51:23 +02:00
Hochsteger, Matthias
e49a028676 Merge branch 'remove_obsolete_clang_flag' into 'master'
special clang flag not needed anymore (fixed in pybind)

See merge request ngsolve/netgen!531
2022-09-14 18:42:02 +02:00
Matthias Hochsteger
95fdb53685 special clang flag not needed anymore (fixed in pybind) 2022-09-14 18:14:35 +02:00
Christopher Lackner
be9e15e635 Merge remote-tracking branch 'luzpaz/typos' 2022-09-13 16:12:46 +02:00
Christopher Lackner
6a8e03e286 stlgeometry->... functions were not setting global geo, but
uninitilized member pointer memory

Thx https://github.com/NGSolve/netgen/pull/128 StefanBruens
2022-09-13 15:29:04 +02:00
Christopher Lackner
c18a317702 register 1,2,3d elements to numpy to be used in arrays 2022-09-13 15:12:42 +02:00
Christopher Lackner
9fea21a2a1 do not trigger pointindex = 0 cout in debug mode 2022-09-12 16:34:45 +02:00
Christopher Lackner
a8737418b9 dll header on stlgeometry load 2022-09-09 12:28:41 +02:00
Christopher Lackner
81b0599a9e Merge remote-tracking branch 'origin/master' 2022-09-08 17:48:51 +02:00
Christopher Lackner
9b58ece673 fix occ identification propagation, use IsSame not == 2022-09-08 17:48:11 +02:00
luz paz
3230021dec Fix typos
Found via `codespell`
2022-09-08 11:08:25 -04:00
Matthias Hochsteger
d33d38f113 faster 2d smoothing for certain mixed meshes
don't consider quads with fixed points as "mixed mesh" (will be skipped during
optimization anyway)
2022-09-07 13:52:08 +02:00
Matthias Hochsteger
09188b1a73 no edge swapping for quads 2022-09-07 13:52:08 +02:00
Matthias Hochsteger
61ea805bba DLL_HEADER for MinDistLP2 2022-09-07 13:52:08 +02:00
Matthias Hochsteger
ae2dddcff7 fix delaunay2d 2022-09-07 13:52:08 +02:00
Christopher Lackner
412fd372d0 Merge branch 'fix_1_solid_in_glue' 2022-09-06 17:50:29 +02:00
Francesco Ballarin
606485f00c Fix segmentation fault introduced in 78dfd10: missing local variable name was causing the global variable to be used 2022-09-01 21:24:42 +02:00
Christopher Lackner
e05b8960d7 if list with 1 element in glue -> return that element
else opencascade returns empty shape
2022-09-01 15:10:14 +02:00
Christopher Lackner
78dfd10475 mesh argument in GeneratMesh (to continue meshing from higher perfstepstart 2022-09-01 10:43:16 +02:00
Christopher Lackner
85d4874320 Merge branch 'fixes_closesurface_identification' 2022-08-31 10:05:15 +02:00
Matthias Hochsteger
666fb2ee86 fix boundarylayer 2d code (now single line segments, not per face) 2022-08-30 09:12:49 +02:00
Christopher Lackner
7c2070ab0d fix closesurface identification IsSame instead of operator == 2022-08-29 14:43:01 +02:00
Hochsteger, Matthias
cee2ca18fc Merge branch 'fix_windows_avx2' into 'master'
fix AVX2 for Windows build

See merge request ngsolve/netgen!514
2022-08-23 09:33:38 +02:00
Christopher Lackner
54ee68d847 fix optimizing mesh without geometry 2022-08-22 17:49:12 +02:00
Christopher Lackner
b7e0288a34 use Shape hash instead of TShape 2022-08-19 12:51:39 +02:00
Christopher Lackner
28efccccf4 faces may be multiple time in explorer iteration -> skip if already in map 2022-08-19 09:44:58 +02:00
Christopher Lackner
27aaae9fb5 add solid -> faces map in renderData of occ geom 2022-08-10 07:45:30 +02:00
Christopher Lackner
35337e083c add unintentionally removed part again 2022-08-09 18:06:11 +02:00
Christopher Lackner
9130daa0b9 stl manifold meshing 2022-08-09 17:40:21 +02:00
Michael Neunteufel
78ec53424e fix AVX2 for Windows build 2022-08-04 18:11:18 +02:00
Schöberl, Joachim
ec0fc05fd6 Merge branch 'visualize_failed_mesh' into 'master'
visualized failed mesh after generatemesh

See merge request ngsolve/netgen!513
2022-08-04 15:57:16 +02:00
Schöberl, Joachim
d36a6746b7 Update python_occ.cpp 2022-08-04 14:16:16 +02:00
Christopher Lackner
4e860f4ca2 set global shared ptr only if meshing fails 2022-08-04 14:14:39 +02:00
Christopher Lackner
71a2c4f6f4 do invert if periodic bc face domin & domout do not match 2022-08-04 10:35:06 +02:00
Christopher Lackner
00a1d1a496 visualized failed mesh after generatemesh 2022-08-04 10:31:33 +02:00
Joachim Schoeberl
354898498f switch off tracer if TaskManager is called without arguments 2022-07-24 11:53:51 +02:00
Matthias Hochsteger
83b4fba403 DLL_HEADER for SplineSeg3 2022-07-20 14:18:41 +02:00
Christopher Lackner
e72662836c remove cout 2022-07-12 13:14:14 +02:00
Christopher Lackner
ea071bed4f use center coords and set center on dbl click also in solution scene 2022-07-12 11:34:42 +02:00
Christopher Lackner
0402ca07cd fix setting boundarylayer boundaries 2022-07-12 09:58:35 +02:00
Christopher Lackner
cf992b04da fix setting boundaries of neighbouring domains in create boundarylayer 2022-07-11 13:47:13 +02:00
Matthias Hochsteger
fa05864df4 CSG - consistent parameters for FindIdenticSurfaces, call it in Draw() before CalcTriangleApproximation 2022-07-11 10:43:35 +02:00
Schöberl, Joachim
69f990d8bf Merge branch 'fix_meshing_bug' into 'master'
Fix meshing bug (close surface on boundary)

See merge request ngsolve/netgen!508
2022-07-06 16:27:03 +02:00
Matthias Hochsteger
47de18a508 Avoid loading geometry from mesh file twice
Ng_LoadMesh() tries to read the geometry from the mesh file. If it was
read before by Mesh::Load(), the preloaded geometry is replaced by
ng_geometry (which might be garbage)

This is a mere workaround, not a clean solution (Mesh::Load() should
handle everything, including MPI distribution of geometry)
2022-07-06 14:07:17 +02:00
Matthias Hochsteger
00d6c94bd9 Consistent parameters for CSGeometry::FindIdenticSurfaces
also don't call it in Draw() (already done in constructor)
2022-07-06 12:49:02 +02:00
Matthias Hochsteger
99e463146f Fix meshing bug (close surface on boundary) 2022-07-05 12:12:13 +02:00
Matthias Hochsteger
7eb76b67c7 DLL_HEADER for Mesh::SetLocalH 2022-06-21 01:53:58 -07:00
Christopher Lackner
06f35594c6 add norm of gp_Vec 2022-06-13 10:35:26 +02:00
Matthias Hochsteger
c6a4f90915 fix FillCloseSurface for multiple identifications 2022-06-09 15:32:41 +02:00
Christopher Lackner
c71d142738 fix double segments in getedgetangent of boundarylayer 2022-06-09 15:32:41 +02:00
Christopher Lackner
a3408b537a fixes for boundarylayer edge tangent computation and some more 2022-06-09 15:32:41 +02:00
Christopher Lackner
3531f9c9d4 fix typo 2022-06-08 20:59:06 +02:00
Christopher Lackner
03e21d5c5f [occ] create ListOfShape from list of shapes 2022-06-08 20:52:51 +02:00
Matthias Hochsteger
8f33f4fed8 Don't rely on type deduction for std::function ctor
Didn't work on MacOSX 12.4
2022-06-08 10:40:19 +02:00
Matthias Hochsteger
1497404a4c Fix mesh saving/loading with OCC 7.6 2022-05-25 16:29:34 +02:00
von Wahl, Henry
c9776a7c86 add some DLL_HEADER 2022-05-20 20:26:43 +02:00
Christopher Lackner
95be76d8ee surface color to mesh from geometry 2022-05-10 18:18:29 +02:00
Joachim Schoeberl
bac77b1f58 define ng_tcl_volatile, ... 2022-05-07 19:54:43 +02:00
Joachim Schoeberl
1a634c1957 Tcl_FreeProc + volatile/static/dynamic constants of correct type 2022-05-07 19:45:38 +02:00
Joachim Schoeberl
03332c1146 define type Tcl_FreeProc 2022-05-07 19:40:16 +02:00
Schöberl, Joachim
1a174508db Merge branch 'occ_consistent_maxh' into 'master'
make shape.solids.maxh = ... consistent with solid.maxh = ...

See merge request ngsolve/netgen!503
2022-05-07 15:10:57 +02:00
Joachim Schoeberl
4f09633b80 remove old mpi-wrapper 2022-05-06 18:21:44 +02:00
Christopher Lackner
9b44069e54 fix tuple creation in return color 2022-05-06 17:47:50 +02:00
Christopher Lackner
c61753d89d FD color gives 3-tuple, transparency as separate property 2022-05-06 17:14:10 +02:00
Joachim Schoeberl
cad2391e34 unify MPI 2022-05-06 16:39:06 +02:00
Matthias Hochsteger
165947295e move ngtcl.hpp interface to meshing/visual_interface.hpp 2022-05-06 12:23:50 +02:00
Matthias Hochsteger
22e57a1159 Don't load gui libraries when importing netgen 2022-05-06 10:59:59 +02:00
Christopher Lackner
456cb927d1 make shape.solids.maxh = ... consistent with solid.maxh = ... 2022-05-05 18:09:42 +02:00
Christopher Lackner
a04b7b5d5d __ge__ and __le__ operator for DirectionalInterval 2022-05-05 17:32:25 +02:00
Matthias Hochsteger
b694b4667a rework build system, separate gui and non-gui code
move fieldlines code to meshing dir

move visualization function pointers to meshing directory

DLL_HEADER -> NGGUI_API in visualization lib

move soldata.hpp to meshing

update occ, no freetype necessary anymore
2022-05-05 14:39:31 +02:00
Matthias Hochsteger
233dba2408 handle multiple closesurface identifications correctly 2022-05-05 11:21:48 +02:00
Joachim Schoeberl
326e313d75 copy-ctor for head-tail array with generic types 2022-05-02 08:42:07 +02:00
Joachim Schoeberl
6a8050998b shape comparison macro 2022-05-01 11:56:22 +02:00
Joachim Schoeberl
bf22f8d4df fix shared loop: in rare cases elements have been called twice 2022-04-30 10:39:26 +02:00
Joachim Schoeberl
aa00749f97 fix some deprecated 2022-04-29 13:05:38 +02:00
Joachim Schoeberl
ab7f1be9ab fix topology for deprecated functions 2022-04-29 12:23:26 +02:00
Joachim Schoeberl
f082d89326 fix deprecaed in clusters 2022-04-29 12:06:05 +02:00
Joachim Schoeberl
712f6d4c87 no deprecated call in header 2022-04-29 07:20:52 +02:00
Joachim Schoeberl
25df08f7a4 fix deprecated 2022-04-29 07:20:52 +02:00
Matthias Hochsteger
6b36a2d9d8 load geometries from command line with python netgen executable 2022-04-28 10:46:49 +02:00
Joachim Schoeberl
bac314a666 fix range-check exception for 0-sized array 2022-04-26 23:26:19 +02:00
Joachim Schoeberl
41bd58dd31 paralleltop also in sequential version - only tye type 2022-04-26 23:10:49 +02:00
Joachim Schoeberl
cf6c69ed69 paralleltop also in sequential version - only tye type 2022-04-26 23:04:11 +02:00
Joachim Schoeberl
ab5b653133 paralleltop also in sequential version - only tye type 2022-04-26 22:58:02 +02:00
Joachim Schoeberl
76c0c52bed paralleltop also in sequential version 2022-04-26 22:45:08 +02:00
Joachim Schoeberl
fd77d17e2b MPI unification 2022-04-26 22:07:31 +02:00
Matthias Hochsteger
b62c7b30ef DLL_HEADER for fieldline code 2022-04-26 18:44:14 +02:00