Commit Graph

3135 Commits

Author SHA1 Message Date
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
Joachim Schoeberl
212c5dd130 dummy mpi-waitany for non-parallel 2022-04-26 16:54:18 +02:00
Joachim Schoeberl
eef95eed52 more mpi from ngcore 2022-04-26 16:28:52 +02:00
Matthias Hochsteger
d165d67765 fix build 2022-04-25 20:30:27 +02:00
Matthias Hochsteger
9ceb2baeaa make fieldlines code available in non-gui builds 2022-04-25 18:42:26 +02:00
Christopher Lackner
c39dbd443e Merge remote-tracking branch 'jzimmermann/master' 2022-04-25 11:06:21 +02:00
Joachim Schoeberl
e0b6562b99 polish topology 2022-04-22 22:39:06 +02:00
Joachim Schoeberl
2ee9dbeafd little cleanup 2022-04-21 17:59:23 +02:00
Joachim Schoeberl
1afcb30102 less copying 2022-04-21 17:16:26 +02:00
Joachim Schoeberl
054386388e less hash-table searching in buildedges 2022-04-21 16:25:52 +02:00
Joachim Schoeberl
0605097bdc Topology: use non-copying access functions, take care of 0/1 - based indexing 2022-04-21 12:28:56 +02:00
Joachim Schoeberl
6fd99a5a29 some modernization of Topology 2022-04-21 11:37:38 +02:00
Julius Zimmermann
4df5ed1536 denser syntax in occ file 2022-04-21 10:26:27 +02:00
Julius Zimmermann
267959967d add message level and check notation of unv file only for first line 2022-04-21 10:25:57 +02:00
Christopher Lackner
27a6d29187 fix occ closesurfaces ending in a larger plane 2022-04-20 17:18:44 +02:00
Julius Zimmermann
6e18260ef7 Merge branch 'master' of github.com:j-zimmermann/netgen 2022-04-20 14:49:32 +02:00
Julius Zimmermann
ae28716366 add cone 2022-04-20 14:49:22 +02:00
Julius Zimmermann
718c876fa7 correct computation of shapes 2022-04-20 00:08:54 +02:00
Julius Zimmermann
eb8276c132
Merge branch 'NGSolve:master' into master 2022-04-20 00:01:15 +02:00
Matthias Hochsteger
5e977e819f refactor fieldlines code 2022-04-19 18:37:15 +02:00
Matthias Hochsteger
e4ff37887b Some fixes for odd SIMD sizes 2022-04-15 15:27:44 +02:00
Matthias Hochsteger
39cc7ae0a3 remove (outdated and untested) sequential optimization code 2022-04-15 10:36:20 +02:00
Matthias Hochsteger
63133b5058 return before building boundary edges 2022-04-15 10:30:38 +02:00
Matthias Hochsteger
7e8a547a91 fine grained parallelization when meshing multiple domains 2022-04-15 10:28:13 +02:00
Matthias Hochsteger
a7a5067830 Call FindOpenElements before each optimization step 2022-04-14 17:40:22 +02:00
Matthias Hochsteger
9cc6fc933d evalute localh in multiple points and take average
- also apply combine improve (2d) in both directions
- new test results
2022-04-13 12:44:45 +02:00
Joachim Schöberl
ed0f400f09 Merge branch 'pickle_array' into 'master'
pickling of Array

See merge request jschoeberl/netgen!496
2022-04-12 05:25:56 +00:00
Joachim Schoeberl
9f9ad8fa2e return mesh.Coordinates returns py::array 2022-04-12 07:21:14 +02:00
Joachim Schoeberl
c29e93dd2b mesh point coordinates as numpy - array 2022-04-12 07:05:40 +02:00
Julius Zimmermann
adda364eaa UNV interface with D notation for exponent 2022-04-11 17:52:35 +02:00
Christopher Lackner
8c7d69c1d1 setnextmayortimestamp in mesh.ZRefine 2022-04-11 13:05:14 +02:00
Christopher Lackner
0135559dd6 find edges by searching for segments in both directions 2022-04-11 13:04:56 +02:00
Christopher Lackner
a5ba7075e4 explicitly specify projection boundaries 2022-04-11 13:04:38 +02:00
Christopher Lackner
f95e039c22 fix boundarylayer growth type 2022-04-11 13:04:21 +02:00
Christopher Lackner
32cb8d546e Restrict growth vector only taking boundary of domain into account
Else it will restrict too much
2022-04-08 14:01:01 +02:00
Christopher Lackner
b66f3039be memory tracing only if actively enabled 2022-04-08 12:51:23 +02:00
Christopher Lackner
3b29d03227 pickling of Array 2022-04-05 15:08:52 +02:00
Joachim Schoeberl
e5056dcd57 output control 2022-04-02 10:37:26 +02:00
Joachim Schoeberl
4565c8ef79 rvalue Array+= allows for Array<int>({1,2,3})+={4,5} 2022-04-02 10:37:26 +02:00
Joachim Schoeberl
409c460d2f fix non-default SIMD-size 2022-04-02 10:37:26 +02:00
mhochsteger@cerbsim.com
88f74fd6f2 boundarylayer - limit height 2022-03-31 21:12:43 +02:00
Christopher Lackner
d36b3d8b4e [occ] inner point of surface -> surface mesh 2022-03-30 12:47:07 +02:00
Christopher Lackner
046443259e [occ] gp_GTrsf for anisotropic trafos 2022-03-28 18:34:22 +00:00
Matthias Hochsteger
132261ec4d Merge remote-tracking branch 'StefanBruens/fix_switch_enum' 2022-03-28 18:29:32 +02:00
Matthias Hochsteger
d6b6fc38a8 Fix leftover "Identifyable" from last commit 2022-03-28 17:45:00 +02:00
luz paz
4033fac1b3 Fix various typos
Found via `codespell -q 3 -S ./external_dependencies/pybind11 -L alledges,allright,ane,anormal,ans,apoints,ba,boxs,cancle,childs,co-ordinate,co-ordinates,daty,enty,filld,hel,identifyable,ist,linz,lod,ned,nd,selt,statics,suround,thev,thist,thisy,timere,upto,wel`
2022-03-25 18:22:05 -04:00
Matthias Hochsteger
dcda14e6e7 fix occ identifications 2022-03-24 16:54:40 +01:00
Matthias Hochsteger
08f2835d8a DLL_HEADER 2022-03-23 16:44:49 +01:00
mhochsteger@cerbsim.com
54dde2a10f fix PajeTrace context manager 2022-03-21 22:12:21 +01:00
Joachim Schoeberl
aa206c7bae debug output with less priority 2022-03-18 08:21:03 +01:00
Joachim Schoeberl
4bad16744b wrapper for mpi-gather to ngscore 2022-03-18 08:20:20 +01:00
Christopher Lackner
c822caafe7 [occ] create solid from faces
Needs shape consisting of topologically closed faces, for example from
Solid(Glue(list_of_faces))`
2022-03-17 11:58:11 +01:00
mhochsteger@cerbsim.com
94bd713310 Merge remote-tracking branch 'stefanbruens/fix_aarch64_uint_mask' 2022-03-16 10:27:43 +01:00
Joachim Schoeberl
7791840a4a little mpi cleanup, meshing+distribution in one call 2022-03-15 09:13:09 +01:00
mhochsteger@cerbsim.com
2136269175 Link libstdc++fs when compiling with gcc 8 2022-03-14 18:10:47 +01:00
Christopher Lackner
842780feec if only 1 locahl tree is set use the global one on all layers 2022-03-14 14:20:31 +01:00
mhochsteger@cerbsim.com
154302605f separate localh trees for different layers
currenlty used in OCC geometries generated with
shape = netgen.occ.Compound(list_of_shapes, separate_layers=True)
2022-03-10 19:04:46 +01:00
Christopher Lackner
eea8054af6 add flag grow edges to python export of BoundaryLayers 2022-03-10 12:07:07 +01:00
mhochsteger@cerbsim.com
b76ea76219 restructure BoundaryLayer code 2022-03-09 13:15:48 +01:00
mhochsteger@cerbsim.com
1e6ab35f4d Fix return value of ProjectPointGI 2022-03-07 21:08:04 +01:00
mhochsteger@cerbsim.com
679942033e thread safe ExtrusionFace :: CalcProj 2022-03-07 20:59:24 +01:00
mhochsteger@cerbsim.com
262fec4601 CombineImprove2D - project only for edge points 2022-03-07 20:59:24 +01:00
mhochsteger@cerbsim.com
0a99c169b6 fix missing return value 2022-03-07 20:59:24 +01:00
Christopher Lackner
21b263a0ba [occ] fix boundarylayer + curve 2022-03-07 17:25:41 +01:00
mhochsteger@cerbsim.com
8dd4c0c9e3 boundarylayer - calculate edge tangents on the fly 2022-03-07 17:24:36 +01:00
mhochsteger@cerbsim.com
97b9dae812 preserve Geometry after generating boundary layer 2022-03-07 16:04:21 +01:00
Matthias Hochsteger
8b8900e21d Merge branch 'boundarylayer_updates' into 'master'
Boundarylayer updates

See merge request jschoeberl/netgen!488
2022-03-07 12:53:51 +00:00
Christopher Lackner
2ffd3b6589 fix edge interpolation of growthvectors in boundarylayer
(now without geometry)
2022-03-07 12:17:05 +01:00
Joachim Schoeberl
c4b679ec5a fix AllReduce (array) 2022-03-05 12:21:28 +01:00
Joachim Schoeberl
2b9d4596ae AllReduce for Arrays 2022-03-05 11:42:00 +01:00
mhochsteger@cerbsim.com
8e861d1773 generic implementation of InterpolateSurfaceGrowthVectors 2022-03-04 16:32:15 +01:00
mhochsteger@cerbsim.com
f0b10d696e preserve volume elements in DivideMesh() 2022-03-04 15:46:29 +01:00
mhochsteger@cerbsim.com
d2348a7651 optimize occ surfaces individually again, update test results 2022-03-02 15:42:44 +01:00
Matthias Hochsteger
c6c8f52878 Merge branch 'fix_parallel_optimize2d' into 'master'
Fix parallel optimize2d

See merge request jschoeberl/netgen!487
2022-03-02 14:11:21 +00:00
mhochsteger@cerbsim.com
43382d4be8 fix parallel surface optimization with occ 2022-03-02 14:58:39 +01:00
mhochsteger@cerbsim.com
4e8fe77098 fix some warnings 2022-03-02 14:14:38 +01:00
Christopher Lackner
9730a383fd geo vertices as pointelements not locked points 2022-03-02 11:34:02 +01:00
mhochsteger@cerbsim.com
36440970fb boundarylayer - some more fixes on growth vector interpolation 2022-03-01 21:21:09 +01:00
Christopher Lackner
e8c9d8e1fc really interpolate only tangential part... 2022-03-01 14:56:01 +01:00
Christopher Lackner
13a0b78e26 interpolate only tangential part of growth vector 2022-03-01 14:34:18 +01:00
Christopher Lackner
016b1692e2 fix point type of geo vertices (FIXEDPOINT) -> locked points 2022-03-01 13:23:06 +01:00
mhochsteger@cerbsim.com
bcedbfd189 Interpolate growth vectors only with OCC geometry 2022-02-28 21:34:18 +01:00
Christopher Lackner
3a86103392 interpolate tangential part of growth vector along edge 2022-02-28 17:41:18 +01:00
mhochsteger@cerbsim.com
dabb3b9dbf Interpolate growth vectors on surfaces
also:
- clean up delaunay2d code (Use Point<2>, remove comments)
- implement CalcWeights() used to interpolate data from boundary points
  to surface points
2022-02-28 17:41:18 +01:00
Christopher Lackner
2d70263cda boundarylayers - don't project on not-in-surface-direction 2022-02-25 12:08:24 +01:00
Christopher Lackner
d6770fda0c allow quad dominated meshing of faces 2022-02-25 10:50:51 +01:00
mhochsteger@cerbsim.com
0379b737eb copy hglob, hmin, maxhdomain in Mesh::operator= 2022-02-25 10:00:41 +01:00
mhochsteger@cerbsim.com
7f5b288c51 fix GenerateBoundaryLayer for new OCC meshes with single segments (not one segment per adjacent face) 2022-02-24 19:28:34 +01:00
mhochsteger@cerbsim.com
231c6870d9 respect localh in CombineImprove() 2022-02-23 21:23:41 +01:00
mhochsteger@cerbsim.com
922a0c5c86 fix 2d edge swapping 2022-02-23 21:23:37 +01:00
mhochsteger@cerbsim.com
fe838fbd75 fix ToLower() 2022-02-23 19:16:30 +01:00
Joachim Schöberl
afa018049b Merge branch 'use_filesystem_path' into 'master'
use std::filesystem::path

See merge request jschoeberl/netgen!480
2022-02-23 13:34:23 +00:00
Christopher Lackner
ea7e980c8d [occ] ZRefinement 2022-02-23 12:22:19 +01:00
mhochsteger@cerbsim.com
cf59f297a7 use std::filesystem::path 2022-02-23 11:56:00 +01:00
Joachim Schoeberl
1a44d665bb returns mesh-data as Array (rather than std::vector) 2022-02-21 13:06:00 +01:00
mhochsteger@cerbsim.com
eceb83171f allow implicit conversion from py::list to Array<> 2022-02-21 12:02:30 +01:00
mhochsteger@cerbsim.com
d3e0ae6fd7 use ngcore pybind list caster only for non-numpy types
we should Array<T> for all numpy dtypes T
2022-02-21 11:18:19 +01:00
mhochsteger@cerbsim.com
775b97f6b3 utility functions for webgui 2022-02-18 20:11:58 +01:00
mhochsteger@cerbsim.com
daa2c69714 fix parsing cd3names 2022-02-16 19:52:49 +01:00
Joachim Schoeberl
bb44c7b0c3 fix warnings 2022-02-16 13:37:32 +01:00
mhochsteger@cerbsim.com
17e845df29 fix rpath of pyngcore 2022-02-16 09:44:00 +01:00
Matthias Hochsteger
d2378d9781 pyngcore as package (staying backward compatible) 2022-02-16 09:27:02 +01:00
mhochsteger@cerbsim.com
15efa3a8b7 DLL_HEADER for LocalH 2022-02-15 20:39:24 +01:00
Joachim Schöberl
cf8a6639a3 Merge branch 'fix_parallel_surfaceopt' into 'master'
fix parallel surface optimization

See merge request jschoeberl/netgen!476
2022-02-15 19:18:22 +00:00
mhochsteger@cerbsim.com
a68cd9f89a fix parallel surface optimization
update test results
2022-02-15 19:09:53 +01:00
Christopher Lackner
4ebaefd10a add meshing parameter giveuptolopenquads 2022-02-15 09:38:20 +01:00
Christopher Lackner
c856f9ae6e Merge branch 'master' into free_pyramids 2022-02-15 09:15:11 +01:00
Christopher Lackner
e2040ae953 [occ] also keep color in merge if already set from shape 2022-02-14 18:24:02 +01:00
Christopher Lackner
3ee29a1ace [occ] overwrite shape property name only if not already set in merge 2022-02-14 18:07:00 +01:00
Joachim Schoeberl
6b28275b88 double conversion on C++ side 2022-02-13 19:02:51 +01:00
Joachim Schoeberl
ff8708d76b preallocate memory 2022-02-13 17:29:53 +01:00
Joachim Schoeberl
5d624e3078 reading via meshio 2022-02-13 16:31:55 +01:00
mhochsteger@cerbsim.com
2ce4412fb2 no periodic in bspline surface builder on OCC 7.3 2022-02-11 18:19:50 +01:00
Joachim Schoeberl
67c031cb77 fix unused-variable warning 2022-02-11 15:08:59 +01:00
Joachim Schoeberl
79ff65d224 added SIMD-wrapper for 'erf' 2022-02-11 13:56:28 +01:00
Joachim Schöberl
c5886cfe05 Merge branch 'occ_spline_tools' into 'master'
Adds wrappers for various OCC spline interpolation and approximation routines

See merge request jschoeberl/netgen!472
2022-02-11 11:15:18 +00:00
Matthias Rambausek
5f6b234262 shorter property names 2022-02-11 11:46:55 +01:00
Christopher Lackner
e86585c715 allow free pyramids 2022-02-09 19:27:24 +01:00
mhochsteger@cerbsim.com
7a10afc720 clean up cd3names in mesh dtor 2022-02-09 09:41:05 +01:00
Matthias Rambausek
51013105ed doc typo 2022-02-08 14:01:25 +01:00
Matthias Rambausek
947da90a00 Merge branch 'master' into occ_spline_tools 2022-02-07 18:43:29 +01:00
Joachim Schoeberl
1222356cf4 HSum(4) for M1, FlatArray!= 2022-02-04 17:01:31 +01:00
Joachim Schöberl
11f7d64c41 Merge branch 'show_selected_point_in_solution_scene' into 'master'
Show selected point in solution scene

See merge request jschoeberl/netgen!471
2022-02-03 06:50:20 +00:00
mhochsteger@cerbsim.com
82ec42b292 Ignore identified edges/vertices for closeedge localh restrictions 2022-02-02 15:09:41 +01:00
mhochsteger@cerbsim.com
1a010f2e57 avoid range exceptions if no element is found on double click 2022-02-02 14:26:58 +01:00
mhochsteger@cerbsim.com
deaeeaaac5 show selected point also in solution scene 2022-02-02 14:26:28 +01:00
Stefan Brüns
5fce0b48b8 Fix signedness for ARM Neon mask type
vbslq_f64 and vandq_u64 both require uint64x2_t types as mask arguments,
and the Neon intrinsics do not allow for implicit conversion.

Fixes build errors with current GCC 11.2.1:

/home/abuild/rpmbuild/BUILD/netgen-6.2.2105/libsrc/core/simd_arm64.hpp:171:29: error: cannot convert '__Int64x2_t' to 'uint64x2_t'
 171 |     return vandq_u64 (a.Data(), b.Data());
2022-01-27 14:16:51 +01:00
Stefan Brüns
e4a0733024 Throw in case "op" enum value is invalid 2022-01-27 11:49:42 +01:00
Stefan Brüns
54246e12ad Throw Exception when shape has invalid type
Although the switch statement handles all (current) allowed values, from
a C/C++ view point the enum may have any value of its underlying type.
In this case the function has no return statement and runs into
undefined behavior.

Fixes build failures when built with "-Werror=return-type".
2022-01-27 11:42:30 +01:00
Joachim Schöberl
86fd2983c7 Merge branch 'shape_name_return_optional' into 'master'
shape.name return optional<string>

See merge request jschoeberl/netgen!469
2022-01-20 16:48:43 +00:00
Joachim Schöberl
837575faf7 Merge branch 'fix_occ_closesurface' into 'master'
bugfix in FillCloseSurface

See merge request jschoeberl/netgen!468
2022-01-20 16:20:32 +00:00
Joachim Schöberl
1f23acac21 Merge branch 'occ_minedgelen' into 'master'
dont ignore small edges per default, do not set from stl parameters

See merge request jschoeberl/netgen!467
2022-01-20 16:20:15 +00:00
Christopher Lackner
1fbfc440ac shape.name return optional<string> 2022-01-20 17:03:16 +01:00
Christopher Lackner
3ab8808fa3 do not restrict mesh size on identified edges 2022-01-19 15:05:41 +01:00
mhochsteger@cerbsim.com
fd258a611f bugfix in FillCloseSurface
- don't add prisms/hexes outside of current domain
- invert them when necessary
2022-01-19 15:05:25 +01:00
Matthias Rambausek
bd85b7c638 Merge branch 'master' into occ_spline_tools
# Conflicts:
#	libsrc/occ/python_occ_shapes.cpp
2022-01-19 12:01:55 +01:00
Christopher Lackner
b6396c15c0 [occ] allow to delete names 2022-01-18 18:39:08 +01:00
Christopher Lackner
6065fe40f4 set global mesh in occ before generatemesh
to visualize meshing
2022-01-18 18:23:35 +01:00
Christopher Lackner
93de43456d dont ignore small edges per default, do not set from stl parameters
occresthminedgelen ignored restricting meshsize per segment length
on edges smaller than stl parameter resthminedgelen which was set
from the gui to 0.2. Disable this (can be used by giving
minedgelen parameter from python in meshing parameters)
2022-01-18 18:21:16 +01:00
Christopher Lackner
e597ce996b [occ] also prolongate names of solids and faces in extrude 2022-01-17 16:03:40 +01:00
mhochsteger@cerbsim.com
5f202fd4ea clear geom data in OCCGeometry::BuildFMap() (fixes broken meshing after Heal()) 2022-01-17 10:02:11 +01:00