Commit Graph

3303 Commits

Author SHA1 Message Date
Christopher Lackner
3bb804eeaf add dict constructor of flags for implicit convertion back 2024-05-31 13:23:53 +02:00
Christopher Lackner
3029b5422a allow nested flags from nested python dictionaries 2024-05-31 12:55:59 +02:00
Matthias Hochsteger
0e0ea2d5f8 Wrap more MPI functions 2024-05-31 10:17:01 +02:00
Matthias Hochsteger
fefea90133 Fix pyodide build 2024-05-29 20:32:32 +02:00
Matthias Hochsteger
f70200e5aa Don't include MPI cxx symbols properly 2024-05-28 13:55:27 +02:00
Matthias Hochsteger
1e7624c7f5 Get rid of mpi4py compile-time dependency, disable MPI wrapper by default 2024-05-28 11:43:15 +02:00
Lisandro Dalcin
246dfd734d
mpi4py: Support limited API and ABI compatibility 2024-05-27 14:26:21 +03:00
Christopher Lackner
e404ce737b export localh set/get from mesh 2024-05-24 08:30:24 +02:00
Matthias Hochsteger
eaa797d7f6 Wrap MPI_Comm_c2f 2024-05-23 10:37:42 +02:00
Matthias Hochsteger
1dc353d3c5 Remove output while generating fieldlines 2024-05-21 16:10:13 +02:00
Matthias Hochsteger
2072f70f7f Fix building without MPI 2024-05-16 11:03:44 +02:00
Matthias Hochsteger
05c01ee884 Fix segfault when using more than 32 colors in colormap 2024-05-16 10:49:11 +02:00
Matthias Hochsteger
184a6ba4c5 Fix MPI code in paje trace 2024-05-16 09:35:58 +02:00
Matthias Hochsteger
f2ea9cde4c Fix MPI code in paje trace 2024-05-16 09:18:07 +02:00
Matthias Hochsteger
a018931437 Utility function to check if MPI was loaded 2024-05-14 22:17:42 +02:00
Matthias Hochsteger
a80ae826c6 Remove MyMPI helper class 2024-05-14 22:02:08 +02:00
Matthias Hochsteger
5e6f2ee045 Fix mesh generation from GUI when building with MPI 2024-05-14 21:56:50 +02:00
Christopher Lackner
12aaaf1e6c do not EdgeSwap with quads 2024-05-14 13:57:01 +02:00
Matthias Hochsteger
19731869d3 Utility header to convert to native mpi handles 2024-05-13 18:10:56 +02:00
Hochsteger, Matthias
335b926f8b Runtime MPI wrapper 2024-05-13 13:43:53 +02:00
Schöberl, Joachim
08eec4460c Merge branch 'uzerbinati/curved' into 'master'
Added ``curved'' field for Datalayout of Element and Elements2D

See merge request ngsolve/netgen!649
2024-05-06 18:31:46 +02:00
Joachim Schoeberl
19fcfc7f44 SetLevel returns old level 2024-05-05 21:41:05 +02:00
Joachim Schoeberl
bb2989e1c5 add 'items' to Flags, for same behavior as dict 2024-05-05 21:40:47 +02:00
Umberto Zerbinati
cdb5b74f53 Added ``curved'' field for Datalayout of Element and Elements2D
Signed-off-by: Umberto Zerbinati <zerbinati@maths.ox.ac.uk>
2024-05-02 12:28:06 +01:00
Joachim Schoeberl
331e47830e fix warning by throwing 2024-04-27 15:13:17 +02:00
Christopher Lackner
f808a2bb64 Propagate maxh to children only in occgeom constructor
Allows resetting maxh to larger values again:

```
from netgen.occ import *
from ngsolve import *

b1 = Box((-1,-1,-1), (1,1,1))

b1.faces.Max(X).maxh = 0.1
b1.faces.Max(X).maxh = 0.2

geo = OCCGeometry(b1)
mesh = Mesh(geo.GenerateMesh(maxh=0.5))
Draw(mesh)
```

Needed for example in meshing app. Before it was not possible to set
maxh to larger value again.
2024-04-26 09:55:53 +02:00
Joachim Schoeberl
eef79e64f2 added DLL_HEADER 2024-04-19 09:46:02 +02:00
Joachim Schoeberl
65006d3436 hp/macro-refinement hierarchy routed through Python 2024-04-18 11:58:50 +02:00
Joachim Schoeberl
8045611375 added missing dll-header 2024-04-13 08:32:16 +02:00
Joachim Schoeberl
ce8eca4099 include cassertk 2024-04-12 09:55:38 +02:00
Joachim Schoeberl
a393a315d0 makePyTuple from BaseArrayObject 2024-04-04 15:20:17 +02:00
Hochsteger, Matthias
6e2eae70ad Merge branch 'fix_blayer_meshopt' into 'master'
Fix blayer meshoptimization

See merge request ngsolve/netgen!647
2024-04-02 23:25:10 +02:00
Christopher Lackner
9b9ad1fd82 function to reset occ global shape properties 2024-04-02 22:46:55 +02:00
Matthias Hochsteger
78a3d24fde Do bad element Optimization only when requested 2024-04-02 21:59:27 +02:00
Matthias Hochsteger
ff505f1e41 Add range check in table 2024-04-02 21:58:58 +02:00
Matthias Hochsteger
db500f3cae Make /bigobj a public build flag again 2024-03-28 09:51:36 +01:00
Schöberl, Joachim
ea380ecb47 Merge branch 'explicit_edge_partition' into 'master'
[occ] allow giving explicit edge partition

See merge request ngsolve/netgen!645
2024-03-27 21:08:24 +01:00
Matthias Hochsteger
d8beec758e Fix Mesh::operator=
- assign pointelements
- sometimes region names were not copied correctly
- add some basic pytests for Mesh.Copy()
2024-03-27 21:03:45 +01:00
Christopher Lackner
bfcd77ff9c [occ] allow giving explicit edge partition 2024-03-27 14:55:29 +01:00
xiaodaxia
7c72410c84 no exporting compile options of ngcore 2024-03-27 11:32:17 +08:00
Matthias Hochsteger
7b54f95a27 Utility function to extract a subregion of the mesh 2024-03-25 18:02:33 +01:00
Matthias Hochsteger
29c6b8e06f Fix Mesh::operator=
bcnames are now stored in FaceDescriptor (as string members, no
pointers), so the name mapping must be applied to materials/bcnames
(depending on the mesh dimension).
2024-03-25 18:00:29 +01:00
Matthias Hochsteger
afb2f2f0ea Opencascade 7.8.0 compatibility 2024-03-25 10:19:25 +01:00
Matthias Hochsteger
e5513d9417 Print "Remove Illegal Elements" only when having illegal elements 2024-03-22 15:43:40 +01:00
Hochsteger, Matthias
b090bd1937 Propagate -fabi-version=xx when compiling with GCC 2024-03-20 18:30:17 +01:00
Christopher Lackner
11e8914dd8 face points need to have geominfo for face meshing (thx MrSmile) 2024-03-18 08:58:40 +01:00
Hochsteger, Matthias
d0ba2934df Consistent penalty for illegal tets 2024-03-11 21:10:56 +01:00
Joachim Schoeberl
43b707bcfb wrap inertia of occ-shape to Python 2024-03-07 12:39:56 +01:00
Hochsteger, Matthias
6b89d2cf62 Compatibility with Opencascade 7.8 2024-03-06 16:29:11 +01:00
Lackner, Christopher
a5c11df37e Merge branch 'remove_search_tree_in_face_mapping' into 'master'
Remove search tree in face mapping

See merge request ngsolve/netgen!640
2024-03-06 15:22:28 +01:00
Christopher Lackner
5f0276179f fix primary face computation in identification 2024-03-06 12:12:34 +01:00
Matthias Hochsteger
7e4f171b16 Remove search tree in face mapping 2024-03-06 11:20:20 +01:00
Christopher Lackner
bb7a3fe692 show properties in topology view in netgen gui 2024-03-05 14:38:25 +01:00
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