Commit Graph

2969 Commits

Author SHA1 Message Date
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