Commit Graph

3250 Commits

Author SHA1 Message Date
Christopher Lackner
1a213a1588 fix identifications write and load to step 2024-03-04 21:57:54 +01:00
Christopher Lackner
37df61b233 don't segfault on internal or external orientations in occ viewer 2024-03-04 19:49:40 +01:00
Matthias Hochsteger
4417b17d12 Fix order of members in MeshOptimize3d 2024-03-01 20:35:49 +01:00
Matthias Hochsteger
b8aa568626 Utility function to generate OCC shape triangulation -> always use same parameters 2024-02-29 17:19:47 +01:00
Matthias Hochsteger
13867ef1a0 Extra optimization steps for bad elements 2024-02-28 10:07:57 +01:00
Matthias Hochsteger
6be1c57999 Call CalcTotalBad only if testout is active 2024-02-23 18:26:07 +01:00
Matthias Hochsteger
0d481b1104 Use badness stored in Element 2024-02-23 18:20:14 +01:00
Matthias Hochsteger
d3ea87bd1e Store mesh and goal im MeshOptimize3d 2024-02-23 17:42:06 +01:00
Matthias Hochsteger
23c6b96b47 Move RemoveIllegalElements to MeshVolume() 2024-02-23 17:39:43 +01:00
Matthias Hochsteger
e5b544e02b Don't optimize when goal==OPT_LEGAL and all affected elements are legal 2024-02-23 17:01:40 +01:00
Joachim Schoeberl
4ff7a2261b use IMeshTools in SetLocalMeshSize 2024-02-21 21:42:34 +01:00
Joachim Schoeberl
a65e61c95e OCC generation of visualization mesh using IMeshTools_Parameters 2024-02-21 20:00:59 +01:00
Joachim Schoeberl
b959676534 check for infinite shape 2024-02-21 15:14:33 +01:00
Joachim Schoeberl
4f0b15ef55 use FlatArray for edges and faces in mesh interface V2 2024-02-21 08:41:17 +01:00
Joachim Schoeberl
6813c519b6 feature check macro for transition from INT to IVec 2024-02-20 08:47:20 +01:00
Matthias Hochsteger
4e31878f89 Utility function to split faces when they have more than two adjacent domains 2024-02-14 09:46:39 +01:00
Christopher Lackner
8e94de7a73 fix isendpoint check in boundarylayer code 2024-02-13 13:01:42 +01:00
Schöberl, Joachim
07fb5d698e Merge branch 'throw_if_unbounded_domain' into 'master'
throw exception if surface triangulation cannot be built by occ

See merge request ngsolve/netgen!630
2024-02-13 10:07:53 +01:00
Christopher Lackner
803eb73d2d allow internal edges on boundarylayer (for sphere, ellipsoid) 2024-02-13 09:35:44 +01:00
Christopher Lackner
ddc50aa651 throw exception if surface triangulation cannot be built by occ 2024-02-13 09:33:12 +01:00
Matthias Hochsteger
cee5d55b7d Fix dangling reference in ZRefinement 2024-02-12 07:12:17 -08:00
Hochsteger, Matthias
dfaf270670 Remove windows.h include where possible. 2024-02-12 11:57:54 +01:00
Joachim Schoeberl
18262a526d replace INT by IVec (cgns) 2024-02-12 07:44:26 +01:00
Joachim Schoeberl
c87aea14eb rename INT to IVec (avoiding windows name conflict) 2024-02-12 07:36:26 +01:00
Schöberl, Joachim
b88535621f Removewinheader 2024-02-11 11:02:18 +01:00
Joachim Schoeberl
97de13cf30 remove include<windows.h> from cpp-files 2024-02-10 20:55:45 +01:00
Joachim Schoeberl
e9ee45024c include windows.h back to mystdlib 2024-02-10 20:52:45 +01:00
Joachim Schoeberl
3a2e3fa901 includes in vsocc 2024-02-10 10:15:11 +01:00
Joachim Schoeberl
e8a9131b31 include win first 2024-02-10 10:09:29 +01:00
Joachim Schoeberl
6622829e8f windows include in visual 2024-02-10 10:05:00 +01:00
Joachim Schoeberl
61f34fc4ad converting back: no win include in python-occ 2024-02-10 10:02:55 +01:00
Joachim Schoeberl
7d45d47260 no extra win include 2024-02-10 09:57:37 +01:00
Joachim Schoeberl
df7ea2b685 don't globally include ngcore 2024-02-10 09:55:16 +01:00
Joachim Schoeberl
beed254a7d windows include in python_occ 2024-02-10 09:51:19 +01:00
Joachim Schoeberl
97709fca23 windows include in python_occ_shapes 2024-02-10 09:46:53 +01:00
Joachim Schoeberl
996d2809c9 no windows specfic includes globally 2024-02-10 09:21:09 +01:00
Christopher Lackner
000424f001 offset should always be called no a finished line 2024-02-08 15:08:49 +01:00
Christopher Lackner
0fab0ec1eb dont reverse wire in offset
This works with this change:

```
MoveTo(0,0).LineTo(1,1).Finish().Offset(0.2).Face()
```
2024-02-08 14:57:56 +01:00
Christopher Lackner
282c3e5c0a fix glued point in sphere (was removed by compress) 2024-02-07 15:05:03 +01:00
Joachim Schoeberl
adbdf194e0 fix Powell-Sabin split 2024-02-06 21:41:15 +01:00
Christopher Lackner
45362b588b dont curve faces with boundarylayers 2024-01-31 15:13:20 +01:00
Christopher Lackner
e155700bc3 throw if surface is extruded that is not named (if map surface-> new
mat is given)
2024-01-31 12:27:03 +01:00
Matthias Hochsteger
6533663b7f Fix Workplane.Offset for straight lines 2024-01-30 17:41:46 +01:00
Matthias Hochsteger
0c885db5a4 Consider draw_surfaces bitarray when drawing surface vectors 2024-01-25 16:00:45 +01:00
Matthias Hochsteger
2024a67c74 occ shapes _webgui_data - export color alpha values
Also
- don't create ShapeProperties objects for faces with default values
- use default name/color from ShapeProperties
2024-01-22 11:00:46 +01:00
Joachim Schoeberl
d7ffc68a30 add GetBackTrace to checksame 2024-01-19 08:07:57 +01:00
Joachim Schoeberl
eb90c6ed3b use list instead of map to keep order 2024-01-18 19:43:08 +01:00
Joachim Schoeberl
5a4b89c1ed merge hp face-refinement with limiting fac2 2024-01-16 12:54:06 +01:00
Schöberl, Joachim
3dc0383f3f Merge branch 'uz/splits' into 'master'
Expsosing splits in Netgen and Powell-Sabin split

See merge request ngsolve/netgen!623
2024-01-16 12:51:18 +01:00
Joachim Schoeberl
cb7759cd0b line number in NETGEN_CHECK_SAME macro 2024-01-16 12:43:23 +01:00
Joachim Schoeberl
6c3fcf0188 Alfeld split uses sub-division factor 1/3 2024-01-16 12:42:42 +01:00
Joachim Schoeberl
29f0a5d647 simple signal without smart pointers 2024-01-16 10:17:19 +01:00
Umberto Zerbinati
87c4e543ad Introduced fac2 to fix issue with face splits 2024-01-15 23:54:44 +00:00
Umberto Zerbinati
d2bba6cb3c Merging master 2024-01-15 22:50:49 +00:00
Umberto Zerbinati
00747fb947 Powell Sabin splits 2024-01-15 22:43:18 +00:00
Joachim Schoeberl
696620828f don't restrict refinement parameter in HPRefinement (more user responsibility) 2024-01-15 21:42:27 +01:00
Umberto Zerbinati
890f59b8b4 Exposed Alfeld splits 2024-01-15 11:42:00 +00:00
Lackner, Christopher
ed7d1dfdaf Merge branch 'tolerance_occ_edge_projection' into 'master'
add tolerance to occ-edge projection

See merge request ngsolve/netgen!622
2024-01-15 11:50:07 +01:00
Joachim Schoeberl
c0d394ebf5 introduce 'shallow_archive' member 2024-01-15 08:16:14 +01:00
Joachim Schoeberl
6b346926ec if constexpr 2024-01-14 04:52:19 +01:00
Joachim Schoeberl
1ff8c97b1d fix has_shared_from_this any_cast 2024-01-14 04:33:55 +01:00
Joachim Schoeberl
2d2503bbbb auto-shallow shared_ptr with enable_shared_from_this 2024-01-13 21:15:55 +01:00
Christopher Lackner
48eb4fed07 add tolerance to occ-edge projection 2024-01-10 16:31:05 +01:00
Joachim Schoeberl
54287bbfbb wrap static variable into function 2024-01-09 10:21:06 +01:00
Joachim Schoeberl
fda7cfa2bc function-pointer instead of std::function, no unique-ptr around type_register 2024-01-09 10:01:11 +01:00
Joachim Schoeberl
8362349bb8 fix metis warnings 2024-01-06 18:19:11 +01:00
Joachim Schoeberl
87b65fb5ff remove warnings 2024-01-05 20:07:04 +01:00
Christopher Lackner
fb211a5ee4 fix cake identification, allow until revolve axis 2023-12-28 11:11:48 +01:00
Christopher Lackner
e8bf5e6b4f move timer and TimeFunction to netgen 2023-12-20 12:04:44 +01:00
Matthias Hochsteger
a272a8d420 Init debugparam write_mesh_on_error with env variable NG_WRITE_MESH_ON_ERROR 2023-12-18 20:22:46 +01:00
Matthias Hochsteger
b26d8d5fb0 Medit 3d fixes 2023-12-18 20:22:12 +01:00
Lackner, Christopher
239b2b5478 Merge branch 'show_adjacent_domain_names_on_dblclick' into 'master'
Show adjacent domain names when double clicking a mesh face in Netgen GUI

See merge request ngsolve/netgen!618
2023-12-14 15:19:28 +01:00
Matthias Hochsteger
c8f38486f1 Draw grey surfaces again if draw_surface=False 2023-12-07 11:01:55 +01:00
Lackner, Christopher
4648ac2768 Merge branch 'occ_arc_name' into 'master'
[occ] add name argument to arc in workplane

See merge request ngsolve/netgen!615
2023-12-07 10:23:03 +01:00
Matthias Hochsteger
82fb39cef9 Show adjacent domain names when double clicking a mesh face in Netgen GUI 2023-12-05 20:14:18 +01:00
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 a1007d6728
Author: vgeza <vg@cenos-platform.com>
Date:   Fri Sep 1 13:01:01 2023 +0300

    put back

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

    Update smoothing

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

    More restrictive fixes

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

    fix

commit 36a7b522c3
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