Commit Graph

2761 Commits

Author SHA1 Message Date
mhochsteger@cerbsim.com
00855acfec fix GetSurfaceElementOfPoint
only call GetElementOfPoint, if there are volume elements (otherwise we get an endless loop of mutual function calls here...)
2021-09-23 09:15:04 +02:00
Christopher Lackner
6bbaa6bc69 fix GetSurfaceElementOfPoint with indices 2021-09-22 17:52:04 +02:00
mhochsteger@cerbsim.com
286f63f002 Restructure code in GetElementOfPoint 2021-09-22 17:06:20 +02:00
Christopher Lackner
4323371c53 add occ shape.UnifySameDomain 2021-09-21 17:39:06 +02:00
Joachim Schoeberl
375eb541e9 remove test-output 2021-09-21 14:39:35 +02:00
Matthias Hochsteger
db5acb5718 Fix second order output in elmer format 2021-09-20 15:08:54 +00:00
Joachim Schoeberl
be6dbdadbf 'Nearest' to point selector, Revolution of arbitrary shapes 2021-09-19 10:50:38 +02:00
Christopher Lackner
77b5346099 occ fix setcd2names if geom.enames is empty 2021-09-17 17:43:03 +02:00
Christopher Lackner
22344e43a6 Fix boundarynames from occgeo created with global bc map 2021-09-17 16:23:01 +02:00
Christopher Lackner
31530e0791 Add HalfSpace to occ export 2021-09-17 12:02:46 +02:00
Christopher Lackner
0c686e6b8b if PointBetweenEdge gets invalid edgenr, return midpoint
This is needed for creating boundarylayers and then curving the mesh.
2021-09-17 11:22:37 +02:00
Christopher Lackner
c9e33065af keep Properties in translation, rotation, mirror 2021-09-16 12:55:21 +02:00
Christopher Lackner
95e09828a6 shape.Scale keeps names 2021-09-16 11:40:48 +02:00
Christopher Lackner
6a0eb58a66 Add subshape properties to ListOfShapes 2021-09-13 18:48:06 +00:00
Joachim Schöberl
5bfb5a6eac Merge branch 'multiply_occ_listofshapes' into 'master'
Multiplication of ListOfShapes to find common shapes

See merge request jschoeberl/netgen!416
2021-09-13 17:30:45 +00:00
Joachim Schöberl
bec02c79eb Merge branch 'shape_solids' into 'master'
Add property .solids to occ shape

See merge request jschoeberl/netgen!415
2021-09-13 16:48:59 +00:00
Christopher Lackner
8b2a2340e7 Multiplication of ListOfShapes to find common shapes 2021-09-13 18:15:50 +02:00
Christopher Lackner
8e519951f3 Add property .solids to occ shape 2021-09-13 17:23:08 +02:00
mhochsteger@cerbsim.com
e1d71a78ab no need to remove archive type infos 2021-09-13 17:18:32 +02:00
Joachim Schoeberl
1c585e5d67 Cylinder::IsIdentic use angle-epsilon 2021-09-13 15:54:02 +02:00
mhochsteger@cerbsim.com
0a15ce5c2b occ - apply maxh setting to all children 2021-09-13 13:33:22 +02:00
mhochsteger@cerbsim.com
8b36df94a1 occ - respect maxh property of solids 2021-09-13 12:47:36 +02:00
Joachim Schoeberl
781ea7103e FaceDescriptor array to Python 2021-09-10 12:42:41 +02:00
Joachim Schoeberl
94ee2b67ad small 2d workplane simplifications 2021-09-10 12:09:51 +02:00
Joachim Schoeberl
6a6a98dcea 2d drawing 2021-09-09 14:12:06 +02:00
Joachim Schoeberl
93d3a7ce4b OCCGeometry(shape, dim=2) will generate 2D mesh (materials+bc) 2021-09-09 13:19:34 +02:00
Joachim Schoeberl
9b3578740f a hex has 12 edges, doesn't it? 2021-09-09 11:49:48 +02:00
Christopher Lackner
9d48602a2a Add NetgenGeometry.RestrictH function 2021-09-08 22:12:45 +02:00
Joachim Schoeberl
6bd9d83fce more docstrings, don't catch exceptions individually 2021-09-08 06:45:56 +02:00
Joachim Schoeberl
1087e961ca more docsstrings 2021-09-07 16:28:46 +02:00
Joachim Schoeberl
6ec277cd67 add docstrings to occ-shapes 2021-09-07 12:21:34 +02:00
Joachim Schoeberl
b2afad9aec output control 2021-09-07 07:36:21 +02:00
Joachim Schoeberl
1f599e6e47 output 2021-09-06 17:40:40 +02:00
Joachim Schoeberl
5a82e18ed1 default msg-level to 0 2021-09-06 17:36:53 +02:00
Joachim Schoeberl
77f07f8baf occ output control 2021-09-06 16:59:48 +02:00
Joachim Schoeberl
27d8d42446 remove cerr output 2021-09-06 16:26:12 +02:00
Joachim Schöberl
e05dc43f35 Merge branch 'register_occ_exceptions' into 'master'
Register occ exceptions to python

See merge request jschoeberl/netgen!409
2021-09-06 07:22:11 +00:00
Joachim Schoeberl
94ec425a5e remove output 2021-09-06 09:20:19 +02:00
Matthias Hochsteger
42faaacdb7 fix gcc build error 2021-09-03 13:12:23 +02:00
Joachim Schoeberl
ed2b67f5bd a first step-writer 2021-09-02 23:18:54 +02:00
Joachim Schoeberl
2a4eaa60cd copy pnums for 'same' edges 2021-09-02 21:48:14 +02:00
Christopher Lackner
cdecdb345b Register occ exceptions to python 2021-09-02 14:58:07 +02:00
Joachim Schoeberl
11276dbbfa Face/Compound are classes, shape.mass, Edge.Value(), Edge.Tangent(), edge.paramegter_interval 2021-09-02 11:30:29 +02:00
Joachim Schoeberl
bb54e40139 RectangleC, Plan B when occ-normal is undefined, replace History by builder.Modified 2021-09-01 22:50:09 +02:00
Joachim Schoeberl
e9fc5f12a1 check overlapping boundaries for sub-domains 2021-09-01 21:05:12 +02:00
Christopher Lackner
80ba06d454 add occ Compound Function 2021-09-01 17:44:16 +02:00
Matthias Hochsteger
6a26125889 Consistent Demangle on MSVC and gcc/clang
Use regex list from here:
https://github.com/RobotLocomotion/drake/blob/master/common/nice_type_name.cc
2021-09-01 16:56:01 +02:00
Joachim Schöberl
6fa47a2a6e Merge branch 'listofshapes_property_setter' into 'master'
Add properties .name and .maxh to ListOfShapes

See merge request jschoeberl/netgen!404
2021-09-01 13:13:02 +00:00
Matthias Hochsteger
f53dad83ae layer property for Solid2d 2021-09-01 14:38:45 +02:00
Christopher Lackner
aca46c49c8 add SetDomainLayer for geom2d 2021-09-01 14:34:30 +02:00
Christopher Lackner
69c6f55961 Add properties .name and .maxh to ListOfShapes 2021-09-01 12:53:39 +02:00
Joachim Schoeberl
33722fcfd6 history in revolution 2021-08-31 23:49:59 +02:00
Joachim Schoeberl
44bd81f159 Extrude with history 2021-08-31 22:43:37 +02:00
Joachim Schoeberl
9f34dfe149 SplineApproximation curve 2021-08-31 21:01:22 +02:00
Joachim Schoeberl
36a7b24315 OCC - version compatibility fixes 2021-08-31 13:16:30 +02:00
Joachim Schoeberl
69f6a9cc90 fix for OCCT 7.4 and older 2021-08-31 01:05:36 +02:00
Joachim Schoeberl
f856e90d15 fix for OCCT 7.4 and older 2021-08-31 01:00:33 +02:00
Joachim Schoeberl
56fb4a72fc fix for OCCT 7.4 and older 2021-08-31 00:55:59 +02:00
Joachim Schoeberl
08993ae5e2 fixes for OCCT 7.6.0-dev 2021-08-31 00:37:41 +02:00
Joachim Schoeberl
8c8d7420ed a second history for fusing 2021-08-30 22:56:04 +02:00
Joachim Schoeberl
b9588627f0 use history in OCCT - fuse 2021-08-30 22:00:58 +02:00
Joachim Schoeberl
bd5699d5f1 more features of DirectionalInterval 2021-08-24 10:40:30 +02:00
Joachim Schoeberl
2dc506fcfd Interval selectors (draft) 2021-08-24 10:13:25 +02:00
Matthias Hochsteger
1774db10ff fix OpenFOAM export (untested) 2021-08-23 14:40:36 +02:00
Joachim Schoeberl
ffc6d90094 Vertex and Edge ctors 2021-08-21 11:59:35 +02:00
Matthias Hochsteger
ab3801314c add normals to webgui occ data 2021-08-20 23:12:53 +02:00
Christopher Lackner
5643a44287 add maxh property to occ shapes, add TopoDS_Edge.Split method 2021-08-20 22:26:20 +02:00
Joachim Schoeberl
462a9ae64c Implicit conversion from edge to wire, Circle at current position 2021-08-18 22:31:41 +02:00
Joachim Schoeberl
18c30805ab Workplane - finish wire without closing 2021-08-18 16:40:16 +02:00
Joachim Schoeberl
eda914281a first version of Pipe with aux-spine 2021-08-18 12:41:19 +02:00
Joachim Schoeberl
0b926bcbf4 shape.Move, Rotate, Mirror 2021-08-18 11:49:40 +02:00
Joachim Schoeberl
cb5eb98f12 maybe MakeSolid is too much for a function called PipeShell 2021-08-17 16:47:08 +02:00
Joachim Schoeberl
42c0724886 workplane.move in current direction 2021-08-17 16:42:06 +02:00
Joachim Schoeberl
5264ff7e90 added PipeShell with auxiliary spine for orientation 2021-08-17 07:16:10 +02:00
Joachim Schoeberl
a69eefa0db optional name for WorkPlane.LineTo 2021-08-16 10:02:18 +02:00
Joachim Schoeberl
0c809f4d2b some operators for Pnt/Vec, nicer namings for gp_Ax3 etc 2021-08-16 09:55:31 +02:00
Joachim Schoeberl
5ea2322865 selection by name, and sorting of shape-lists 2021-08-16 07:41:25 +02:00
Joachim Schoeberl
d6143de0a0 fix closing in WorkPlane 2021-08-15 18:33:52 +02:00
Joachim Schoeberl
f105a9b3cc closing curves 2021-08-15 18:01:20 +02:00
Joachim Schoeberl
cd8b27dd73 naming edges in WorkPlane (draft) 2021-08-15 16:27:35 +02:00
Joachim Schoeberl
b041a5fb38 periodic edges 2021-08-15 13:29:28 +02:00
Joachim Schoeberl
eba02368a6 prepare for periodic occ-geometries 2021-08-15 13:14:23 +02:00
Joachim Schoeberl
9d2a436749 changing mesh-dimension from 3 to 2 moves names 2021-08-15 13:13:11 +02:00
Joachim Schoeberl
97447d681f preserve also face and edge properties in Glue 2021-08-14 13:01:40 +02:00
Joachim Schoeberl
880b21745b workplane.circle 2021-08-14 12:50:03 +02:00
Joachim Schoeberl
01b26ef1d3 workplane.circle 2021-08-14 12:47:12 +02:00
Joachim Schoeberl
8823101c77 wires from workplane 2021-08-13 22:39:20 +02:00
Joachim Schöberl
964a3cc06b Merge branch 'master' into 'shirnschall'
# Conflicts:
#   libsrc/occ/python_occ_shapes.cpp
2021-08-13 20:09:39 +00:00
Matthias Hochsteger
fb64f0d873 geometry edges in webgui 2021-08-13 16:46:49 +02:00
shirnschall
3df3bbc948 changed variable name 2021-08-13 16:03:53 +02:00
shirnschall
1c0cfd8965 checking arc and arcto input for invalid function arguments 2021-08-13 16:00:12 +02:00
shirnschall
539798971c removed angle argument from arcto 2021-08-13 14:19:11 +02:00
shirnschall
c9fb364cc0 now using three points to construct arc in 2d 2021-08-13 01:48:29 +02:00
Matthias Hochsteger
ae6b23fffc add functionality to draw occ shapes with webgui 2021-08-12 11:20:07 +02:00
Matthias Hochsteger
a7f836cb9a comment out debug output 2021-08-12 08:31:06 +02:00
shirnschall
2449b4c79c testing GCE2d_MakeArcOfCircle for Arc 2021-08-11 23:02:49 +02:00
Joachim Schoeberl
d658985e69 don't do own Newton for finding OCC u/v parameters (e.g. a problem for parameter domain for a sphere 2021-08-11 21:57:22 +02:00
Joachim Schoeberl
56c59353bb surface normal 2021-08-11 21:54:45 +02:00
Joachim Schoeberl
73f387a7ed UnifySameDomain is good for 2D, needs some more exploration 2021-08-11 11:00:05 +02:00
shirnschall
561dadb877 arc new syntax 2021-08-10 21:18:30 +02:00
Joachim Schoeberl
0de8254ea2 spline-curves, curve tangents 2021-08-10 20:28:49 +02:00
Joachim Schoeberl
d8b1ea33f8 remove internal edges in 2D fuse 2021-08-09 10:59:24 +02:00
shirnschall
a0c99c848a added Revolve(), added Arc() - not yet working correctly 2021-08-08 18:24:38 +02:00
Joachim Schoeberl
ea6f4d0713 Offset in workplane 2021-08-06 21:33:54 +02:00
Joachim Schoeberl
6c8107efc7 WorkPlane from Face 2021-08-06 17:43:01 +02:00
Joachim Schoeberl
3e8664b40e workplane draft 2021-08-06 14:23:17 +02:00
Joachim Schoeberl
4629bccd72 forgot file 2021-08-06 10:45:14 +02:00
Joachim Schoeberl
bebbfc434c split python-occ files, Rotation angle in degrees 2021-08-06 10:41:42 +02:00
Joachim Schoeberl
ecfb7a3873 iterating ListOfShapes gives actual shape-types 2021-08-05 23:52:03 +02:00
Joachim Schoeberl
028c8ce63d compiler fixes for Circle2d 2021-08-05 19:38:21 +02:00
Joachim Schoeberl
87f796c6d9 ListOfShapes, MakeFillet a member function 2021-08-05 19:27:09 +02:00
Joachim Schoeberl
e1cefd14ca X,Y,Z, Pnt, Vec operators 2021-08-04 11:59:06 +02:00
Joachim Schoeberl
a43c3ed28c translation 2021-08-03 14:29:57 +02:00
Joachim Schoeberl
8334dd7378 gp_ax3, transformation 2021-08-03 12:03:59 +02:00
Joachim Schoeberl
5ecb840c9c added pipe 2021-08-02 17:32:51 +02:00
Joachim Schoeberl
e3562c29ef implicitly convert 2-tuples to occ-pnt,vec,dir 2021-08-02 13:04:26 +02:00
Joachim Schoeberl
2422318162 rotation trafo 2021-08-02 09:50:54 +02:00
Joachim Schoeberl
62a0743e4e curves on surfaces 2021-08-01 23:17:39 +02:00
Joachim Schoeberl
b829c9bcc8 occ-triangulation 2021-07-30 09:43:29 +02:00
Joachim Schoeberl
62463b904e little occ code polish 2021-07-30 08:42:35 +02:00
Joachim Schoeberl
751f193d81 replace global_shape_names by global_shape_properties 2021-07-29 16:40:11 +02:00
Joachim Schoeberl
b22ae4f90d don't use optional.value for MacOS < 10.14 2021-07-29 16:01:21 +02:00
Joachim Schoeberl
66de9d4510 global_shape_properties, instead of individual maps 2021-07-29 12:15:03 +02:00
Joachim Schoeberl
8f2e0611e0 allow to set names for all shapes (e.g. edges) 2021-07-28 20:16:32 +02:00
Joachim Schoeberl
f2e8425145 occ features 2021-07-28 08:23:33 +02:00
Joachim Schoeberl
e4e1994a60 wrapping occ features 2021-07-27 23:31:36 +02:00
Joachim Schoeberl
42c6601aae colors from python-occ 2021-07-27 20:59:41 +02:00
Joachim Schoeberl
411a850d41 checking for occ-has-history 2021-07-26 22:50:59 +02:00
Joachim Schoeberl
4da7f6ac72 Global 'Glue' function, preserve more history 2021-07-26 22:35:39 +02:00
Matthias Hochsteger
e502eeee2f test with Ubuntu 20.04, fix occ versions compatibility 2021-07-26 16:59:43 +02:00
Matthias Hochsteger
d01bde60f6 OCC versions compatibility 2021-07-26 16:39:33 +02:00
Joachim Schoeberl
7e0f0326de occ material, copy names from step-loading to global names 2021-07-26 09:10:50 +02:00
Joachim Schoeberl
f3caa7182a occ: setting boundary conditions, and propagating it through intersection 2021-07-25 22:16:43 +02:00
Michael Neunteufel
c0d9f3d95b Meshpnt surfacemesh 2021-07-25 07:47:25 +00:00
Joachim Schoeberl
ca0201b301 OCCGeometry from list of shapes 2021-07-25 01:26:09 +02:00
Joachim Schoeberl
5066fe0fce boolean operations for occ in Python 2021-07-24 22:31:40 +02:00
Joachim Schoeberl
56e848eea9 pywrapping occ 2021-07-24 19:53:30 +02:00
Joachim Schoeberl
54af8014c4 back to trying both occ surface-meshing versions 2021-07-24 16:18:22 +02:00
Joachim Schoeberl
157b246f7f occ: box, cyl 2021-07-24 13:14:21 +02:00
Joachim Schoeberl
d783b71d49 few occ exports 2021-07-24 11:07:39 +02:00
Matthias Hochsteger
82a67b27b9 Merge branch 'parallel_meshing' into test 2021-07-19 14:59:20 +02:00
Matthias Hochsteger
48198d232d Revert "Revert "Merge branch 'parallel_meshing' into 'master'""
This reverts commit 65c5e2d244.
2021-07-19 14:59:12 +02:00
Matthias Hochsteger
cf3963a357 cleanup 2021-07-19 12:08:29 +02:00
Christopher Lackner
300835a446 fix table archive 2021-07-17 13:35:01 +02:00
Christopher Lackner
6f044faaba archive Table 2021-07-17 12:48:59 +02:00
Matthias Hochsteger
8687b540c6 rever PrepareForBlockFillLocalH stuff, copy only relevant part of LocalH tree 2021-07-16 18:49:05 +02:00
Matthias Hochsteger
e5e8882d07 fix identifications, copy whole LocalH tree 2021-07-16 17:18:41 +02:00
Matthias Hochsteger
8e2cd17436 build identifications, set geometry 2021-07-16 11:30:11 +02:00
Matthias Hochsteger
d997ac0bbe copy localh tree (but skip parts outside of bounding box) 2021-07-13 17:19:03 +02:00
Matthias Hochsteger
a89cf0089a Scaling of bounding box (instead of increasing size in all directions) 2021-07-06 17:09:22 +02:00
Matthias Hochsteger
65c5e2d244 Revert "Merge branch 'parallel_meshing' into 'master'"
This reverts commit d20a297cf1, reversing
changes made to fd50131a5b.
2021-06-29 19:38:19 +02:00
Matthias Hochsteger
1c526a5c9e Fix edges after building boundary layer 2021-06-29 17:50:45 +02:00
Matthias Hochsteger
8baccf0a08 some fixes, new test results 2021-06-28 17:48:21 +02:00
Matthias Hochsteger
55ab122f35 Merge remote-tracking branch 'origin/master' into parallel_meshing 2021-06-28 12:10:08 +02:00
Joachim Schoeberl
fd50131a5b constexpr function 2021-06-28 01:35:23 +02:00
Joachim Schoeberl
91506aa71a static constexpr 2021-06-28 01:07:03 +02:00
Joachim Schoeberl
31d5ce8be9 packed archiving 2021-06-27 12:32:51 +02:00
Joachim Schoeberl
54db7941d0 tuning mesh(un)pickling 2021-06-26 12:14:17 +02:00
Joachim Schoeberl
e84d4e90c8 add header for std::byte 2021-06-25 18:58:25 +02:00
Matthias Hochsteger
34629749d6 Merge remote-tracking branch 'origin/master' into parallel_meshing 2021-06-25 17:32:16 +02:00
Joachim Schoeberl
72fb819def missing overloads for archive (byte) 2021-06-24 13:21:43 +02:00
Joachim Schoeberl
f6befbbe08 remove cerr << 'BFGS udate error' 2021-06-24 12:55:39 +02:00
Joachim Schoeberl
b65d3c188f another optional table in Topology 2021-06-24 07:39:09 +02:00
Joachim Schoeberl
971d6bb465 little tuning of mesh pickling 2021-06-24 07:39:09 +02:00
Christopher Lackner
e0f3ce9cf0 fix loading of short mesh file names 2021-06-22 11:57:30 +02:00
Matthias Hochsteger
8be5b7d810 Merge remote-tracking branch 'origin/master' into parallel_meshing 2021-06-22 11:46:36 +02:00
Matthias Hochsteger
872dddbcd7 remove old meshing functions 2021-06-22 11:45:25 +02:00
Matthias Hochsteger
17b5f1c7a4 preserve locked points in all domains 2021-06-22 11:45:01 +02:00
Matthias Hochsteger
c7e9a822cc Don't divide/merge mesh when having only one domain 2021-06-22 11:33:16 +02:00
Matthias Hochsteger
2b8a2356a0 use unique_ptr in MeshingData 2021-06-22 11:16:28 +02:00
Joachim Schoeberl
f24b962df7 fix width per refernce 2021-06-21 15:25:25 +02:00
Joachim Schoeberl
2488bd37ef remove output, fix warning 2021-06-21 15:13:08 +02:00
Joachim Schoeberl
ebf1478048 copy ctor for MatrixFixWidth<W,double> 2021-06-21 13:57:57 +02:00
Joachim Schoeberl
780e72bf81 copyable 2d rules 2021-06-21 08:36:14 +02:00
Joachim Schoeberl
30d708f487 thread-safe CSG crosspoints and edges 2021-06-21 05:22:00 +02:00
Joachim Schoeberl
b51df253fd pickle mesh-load also via ngsolve.Mesh('filename.vol.bin') 2021-06-17 07:58:25 +02:00
Matthias Hochsteger
6237f5542f Build LocalH tree for each domain separately, if not already present before volume meshing 2021-06-16 15:49:23 +02:00
Matthias Hochsteger
5ec753452e fix 2021-06-16 15:36:14 +02:00
Matthias Hochsteger
d0edaa57bb prepare LocalH tree before blockfill sequentially 2021-06-16 15:05:58 +02:00
Matthias Hochsteger
7e344c2247 restructure MeshVolume 2021-06-16 14:04:06 +02:00
Matthias Hochsteger
62edae9b40 some timers 2021-06-16 10:49:31 +02:00
Matthias Hochsteger
8d51db278f debugging header for utility functions 2021-06-16 10:48:38 +02:00
Matthias Hochsteger
4b40a7eb31 backward-compatible Timer interface 2021-06-14 14:55:08 +02:00
Matthias Hochsteger
958bbb1ae0 Set flags correctly when loading Element from Archive 2021-06-14 11:58:46 +02:00
Matthias Hochsteger
a51f8ed307 fix meshing empty meshes 2021-06-14 10:39:57 +02:00
Matthias Hochsteger
b83d73e919 fix meshing of close surfaces (use identifications of master mesh) 2021-06-14 10:39:57 +02:00
Matthias Hochsteger
1cf3d2a21c always merge domains in separate meshes (consistent output) 2021-06-14 10:39:57 +02:00
Matthias Hochsteger
c835767115 Timer in ProcessTask() 2021-06-14 10:39:57 +02:00
Matthias Hochsteger
97623db219 Mesh 3d domains in parallel
To get consistent results, copy the LocalH tree in BlockFillLocalH
2021-06-14 10:39:57 +02:00
Matthias Hochsteger
5e3505b897 faster SwapImprove after delaunay
also new test results
2021-06-14 10:39:57 +02:00
Matthias Hochsteger
0b7f4fecbc timers 2021-06-14 10:39:57 +02:00
Matthias Hochsteger
9b5aa90d38 skip deleted elements when creating tables
-> no need to call Compress() everytime the mesh changes
2021-06-14 10:39:57 +02:00
Matthias Hochsteger
b2af4c1069 set flags properly for new Elements 2021-06-14 10:39:57 +02:00
Joachim Schoeberl
1b5aa71ad6 fix parallel mesh pickling 2021-06-14 10:34:39 +02:00
Joachim Schöberl
44d7207380 Merge branch 'parallel_timing' into 'master'
Thread-safe Timer

See merge request jschoeberl/netgen!392
2021-06-11 17:03:57 +00:00
Matthias Hochsteger
b9f7b1e5a5 Register OCCGeometry for archiver 2021-06-11 15:23:21 +02:00
Matthias Hochsteger
1de1a1800e Fix template argument deduction for Timer, remove ThreadRegionTimer 2021-06-11 15:19:30 +02:00
Matthias Hochsteger
6f7543c7dc Timer - convenience constructors to disable tracing and/or timing
Examples:
Timer t0("name");
Timer t1("name", NoTracing);
Timer t2("name", NoTiming);
Timer t3("name", NoTracing, NoTiming);
Timer t4("name", NoTiming, NoTracing);
2021-06-11 10:08:06 +02:00
Matthias Hochsteger
c5639a5706 Thread-safe Timer
- use template arguments instead of run-time variable 'priority'
 - change in paje interface for tracing
2021-06-11 09:52:58 +02:00
Matthias Hochsteger
a11294baf0 inline GetThreadI() (except on Windows, no dllexport for thread_local variables supported) 2021-06-11 09:51:23 +02:00
Joachim Schoeberl
6c73222f20 more ParallelFor in Topology 2021-06-10 21:52:22 +02:00
Joachim Schöberl
d922d3abdd Merge branch 'small_improvements' into 'master'
Small improvements

See merge request jschoeberl/netgen!390
2021-06-10 10:43:13 +00:00
Matthias Hochsteger
2a17451c96 consistent criterion for conformance optimization in SwapImprove
Only small effect on output Meshes
2021-06-10 11:04:41 +02:00
Matthias Hochsteger
8df49eee2a Reduce sizeof(MeshPoint) from 48 to 40 bytes 2021-06-10 10:15:55 +02:00
Matthias Hochsteger
3f93ccd3bd remove static array in ruler3 (prepare for parallel meshing) 2021-06-10 09:56:42 +02:00
Matthias Hochsteger
80d648c005 parallel evaluation of localh in ImproveMesh() 2021-06-10 09:55:30 +02:00
Matthias Hochsteger
b677ef5e22 Fix RangeException (prepare for local optimizations, with partially filled elementsonpoint table) 2021-06-10 09:53:42 +02:00
Matthias Hochsteger
6cdfefcc82 Use CreateTable for coloring table 2021-06-10 09:51:56 +02:00
Matthias Hochsteger
c734a27621 TABLE -> Table in PointFunction 2021-06-10 09:45:14 +02:00
Matthias Hochsteger
873de8149c thread-safe delaunay 2021-06-10 09:42:04 +02:00
Matthias Hochsteger
eee7a6d211 initialize childs in GradingBox also in default ctor 2021-06-10 09:39:23 +02:00
Matthias Hochsteger
a96a1e4624 separate memtracer.hpp 2021-06-10 09:38:00 +02:00
Matthias Hochsteger
0b90d24d81 fix tolerance in specpoints check (compare Dist2() with sqr(1e-8*geomsize) ) 2021-06-08 20:03:07 +02:00
Matthias Hochsteger
d6ca80d50e Fix SplineSeg ctor 2021-06-08 19:28:53 +02:00
Joachim Schoeberl
abb2e43ccb optimize parallel load 2021-06-08 19:08:14 +02:00
Christopher Lackner
aceb2fac32 Merge branch 'revolution_boundaryconditions' into 'master'
Revolution boundaryconditions

See merge request jschoeberl/netgen!388
2021-06-08 13:01:14 +00:00
Christopher Lackner
bc0b5d538c Merge branch 'revolution_splinegeo_sharedptr' into 'master'
Revolution should keep shared_ptr to splinegeo2d

See merge request jschoeberl/netgen!387
2021-06-08 13:01:06 +00:00
Christopher Lackner
b8ab3a47a7 Give bcname and maxh to revolution by adding it to spline 2021-06-08 14:35:58 +02:00
Joachim Schoeberl
c0534c5e0a partition array also in sequential version 2021-06-08 14:33:32 +02:00
Joachim Schoeberl
d7452c34f9 sequential dummy 2021-06-08 14:09:12 +02:00
Joachim Schoeberl
aa3f778d06 separat metis-partitioning call, pickling partition number of mesh elements 2021-06-08 13:48:27 +02:00
Christopher Lackner
12a5d14967 Revolution should keep shared_ptr to splinegeo2d 2021-06-08 11:56:57 +02:00
Matthias Hochsteger
ca6d6e8ca7 revert mistakenly commited code 2021-06-04 20:04:10 +02:00
Matthias Hochsteger
bb43f669e6 Don't skip deleted elements when building point2element table 2021-06-04 19:57:21 +02:00
Matthias Hochsteger
ba148e8b3b cleanup, more parallel 2021-06-04 16:23:18 +02:00
Matthias Hochsteger
9ddf2424e2 rewrite of DelaunayRemoveTwoTriaTets (much faster now) 2021-06-04 16:03:50 +02:00
Matthias Hochsteger
a2cc102849 delaunay - stay consistent with code on master 2021-06-04 13:32:34 +02:00
Matthias Hochsteger
6c37ce33b0 CreatePoint2ElementTable with optional points bitarray 2021-06-04 13:32:30 +02:00
Matthias Hochsteger
7623289c27 Timer to AdFront3::Inside 2021-06-04 11:33:39 +02:00
Matthias Hochsteger
17af3d0091 Timers, cleanup in delaunay 2021-06-04 11:33:39 +02:00
Matthias Hochsteger
39acabe406 split delaunay postprocessing code into smaller funtions 2021-06-04 11:33:34 +02:00
Matthias Hochsteger
3ce5b1958e Initialize FlatArray members ( thx @mrambausek ) 2021-06-02 15:45:36 +02:00
Matthias Hochsteger
32522368b9 Merge branch 'vol_bin_format' into 'master'
.vol.bin format using archiver

See merge request jschoeberl/netgen!385
2021-06-02 12:05:47 +00:00
Joachim Schoeberl
6dcc89ad04 some table py-features 2021-06-01 12:57:58 +02:00
Matthias Hochsteger
639bbb2c0a .vol.bin format (using archiver) 2021-05-31 10:29:45 +02:00
Matthias Hochsteger
0aa63880c4 smaller tasks 2021-05-31 08:23:46 +02:00
Matthias Hochsteger
2c72c20c87 smaller tasks 2021-05-31 08:23:42 +02:00
Matthias Hochsteger
1045f68b97 TableCreator -> CreateSortedTable() 2021-05-31 08:23:35 +02:00
Matthias Hochsteger
073cbec108 remember search starting point in inside/outside marking after delaunay 2021-05-31 08:23:22 +02:00
Matthias Hochsteger
19176daa09 more timers in delaunay 2021-05-31 08:23:16 +02:00
Matthias Hochsteger
e721d250f8 use tuple -> std::tuple 2021-05-31 08:23:09 +02:00
Matthias Hochsteger
eb87741b70 init allocsize in NgArray 2021-05-31 08:23:01 +02:00
Joachim Schoeberl
7c4f1cf53a minimal export of Table 2021-05-30 22:15:21 +02:00
Joachim Schoeberl
9389ecdf62 rename to GenerateStructuredMesh for not intending to override 2021-05-30 19:41:23 +02:00
Joachim Schoeberl
c3984fcc5b just use pointer for Array - iterators (on proposal of Matthias R) 2021-05-30 18:58:34 +02:00
Joachim Schoeberl
3258b27410 fix initialization order warning 2021-05-30 18:57:14 +02:00
Matthias Hochsteger
e272f0c704 fix RangeExceptions 2021-05-17 15:35:12 +02:00
Joachim Schöberl
14570f2bfb Merge branch 'fix_badness_in_combineimprove2d' into 'master'
Use sum of badnesses and not average value in CombineImprove in 2D

See merge request jschoeberl/netgen!384
2021-05-14 16:15:03 +00:00
Matthias Hochsteger
f7a08df155 Use sum of badnesses and not average value in CombineImprove in 2D 2021-05-14 17:55:09 +02:00
Matthias Hochsteger
d1ee6efc14 parallel Cluster update 2021-05-12 10:56:34 +02:00
Matthias Hochsteger
db494f4239 more Timers in Mesh 2021-05-12 10:56:21 +02:00
Matthias Hochsteger
5bba076c9e UpdateTopology - use TasksPerThread(4) -> faster table update 2021-05-12 09:42:38 +02:00
Matthias Hochsteger
99e001fc4c TABLE -> Table 2021-05-11 18:21:40 +02:00
Matthias Hochsteger
c8406d3b10 replace NgArray and TABLE with Array and Table 2021-05-10 16:30:40 +02:00
Matthias Hochsteger
4b53c63fba helper functions for table creation 2021-05-10 12:03:20 +02:00
Joachim Schoeberl
955eaa682c edges/faces on per default 2021-05-06 22:22:14 +02:00
Joachim Schoeberl
5af2413481 disable edge/faces tables for Mesh class 2021-05-06 21:46:56 +02:00
Matthias Hochsteger
786013c857 add dependency for rules file 2021-04-30 18:33:55 +02:00
Matthias Hochsteger
2eb888a8bf generate .cpp for meshing rules automatically during the build process 2021-04-29 14:30:44 +02:00
Matthias Hochsteger
4592123f68 Merge remote-tracking branch 'origin/master' into rules_files_not_matching_cpp 2021-04-28 11:21:15 +02:00
Matthias Hochsteger
acf2b39680 Fix cross-platform archiving
This is a non-backward compatible change for archives on Windows!
2021-04-23 20:06:58 +02:00
Joachim Schoeberl
9033de843b uniform refinement for quads 2021-04-18 17:53:26 +02:00
Christopher Lackner
0763e4a5d1 fix override warnings 2021-04-17 16:27:30 +02:00
Christopher Lackner
087a830a67 store cumulated angle 2021-04-15 22:48:16 +02:00
Christopher Lackner
6e87ff6ea7 allow spirals with extrusion using zones 2021-04-15 19:02:05 +02:00
Christopher Lackner
4e2d2943f6 fix csg extrusion 2021-04-13 12:11:10 +02:00
Christopher Lackner
7c6296f153 csg splinecurves -> shared_ptr 2021-04-12 15:51:40 +02:00
Joachim Schoeberl
2d9e32ba70 ArrayMem from BaseArray ctor 2021-04-09 21:30:29 +02:00
Matthias Hochsteger
190e22b06d Find surface element of point: fix local coordinates for TRIG
TRIG and TRIG6 are handled differently, see nginterface_v2.cpp:1114
2021-04-09 14:14:04 +02:00
Joachim Schoeberl
d803150b87 red refinement, parent faces (thx Guosheng) 2021-04-09 08:06:30 +02:00
Christopher Lackner
daa0985a41 trace memory free only when array owns memory 2021-04-07 09:58:53 +02:00
Christopher Lackner
4fad6e0631 fix pickling on arm, store long type platform independent 2021-04-01 10:48:13 +02:00
Joachim Schoeberl
096b419f6e parent edges for red refinement (thx Guosheng) 2021-03-31 07:50:24 +02:00
Matthias Hochsteger
44c10f663a Boundarylayer 2d interface 2021-03-30 16:55:03 +02:00
Joachim Schoeberl
1f45601387 Array<int> ia(n); ia.Range(2, END-1) 2021-03-29 22:39:57 +02:00
Joachim Schöberl
7b62f39460 Merge branch 'fix_pointsels_in_2dgeom' into 'master'
Only add segment end points of 2d geometry to mesh as 0D-elements

See merge request jschoeberl/netgen!373
2021-03-29 19:38:41 +00:00
Christopher Lackner
15380a2618 Revert "more stable boundarylayer, also cut prisms at outside"
This reverts commit d2dc84b02c.
2021-03-29 18:05:09 +02:00
Joachim Schöberl
f63734e4a0 Merge branch 'archive_localh' into 'master'
DoArchive for LocalH

See merge request jschoeberl/netgen!375
2021-03-29 12:46:18 +00:00
Christopher Lackner
d2dc84b02c more stable boundarylayer, also cut prisms at outside 2021-03-29 14:02:00 +02:00
Christopher Lackner
001eaa32b6 DoArchive for LocalH 2021-03-29 13:55:23 +02:00
Christopher Lackner
c27fa6899b Merge remote-tracking branch 'massimil/mleoni/indexIntegerType' 2021-03-29 11:55:10 +02:00
Matthias Hochsteger
88fd0a9cd3 2d boundary layer - some cleanup, average growth vectors along straight lines 2021-03-26 09:13:11 +01:00
Matthias Hochsteger
57a4d03d23 Merge branch 'fix_csg2d' into 'master'
Fix csg2d

See merge request jschoeberl/netgen!374
2021-03-24 11:35:28 +00:00
Matthias Hochsteger
5a0d07ca87 set hpref to 0.0 (fixes random values) 2021-03-24 12:04:21 +01:00
Matthias Hochsteger
b431a07c74 Fix starting point for intersection searching 2021-03-24 12:03:40 +01:00
Matthias Hochsteger
6cdeaf2d40 Only add segment end points of 2d geometry to mesh as 0D-elements 2021-03-24 10:49:46 +01:00
Christopher Lackner
a612444e77 FindElementOfPoint<1> for 2d meshes for curved segments 2021-03-23 15:08:20 +01:00
Massimiliano Leoni
a40544ddc5 Changed integer type of Element::index and Element2d::index 2021-03-23 12:11:32 +01:00
Matthias Hochsteger
bcd86a18fd FindSurfaceElementOfPoint - use barycentric coordinates of already found volume element
Increases robustness for finding curved surface elements
2021-03-17 17:36:41 +01:00
Matthias Hochsteger
69bc02a74d Increase bounding box for curved elements by 20% in element search tree 2021-03-17 17:35:30 +01:00
Matthias Hochsteger
98770dbf94 2d boundary layers 2021-03-16 18:22:14 +01:00
Matthias Hochsteger
c77da32463 skip fixed points when checking for mixed mesh 2021-03-16 18:09:07 +01:00
Christopher Lackner
0fc488e802 Merge remote-tracking branch 'stefanbruens/salome_upstreamable' 2021-03-15 09:36:01 +01:00
Christopher Lackner
0141546373 Merge remote-tracking branch 'stefanbruens/cleanup_includes' 2021-03-15 09:20:48 +01:00
Stefan Brüns
cf4d9eff33 Modernize code, replace Handle_<X> with Handle(X)
Same like c35297a8fb158be47772cb5fc9cee76ca88ff871
2021-03-12 23:13:01 +01:00
Stefan Brüns
3c13e41692 Remove duplicated includes from occgeom.hpp
Each of the duplicated header files have an include guard, so including
it twice is just a small waste of processing time.
2021-03-11 23:26:23 +01:00
Stefan Brüns
8abd52a47b Remove two unused variables 2021-03-10 01:06:11 +01:00
Stefan Brüns
2767672286 Cleanup use of M_PI/PI defines
gprim/geom2d.cpp includes mystdlib.h, which already has a fallback define
for M_PI. As geomfuncs.cpp also includes mystdlib.h, use M_PI instead
of a truncated value.

occ/Partition_Loop2d.cxx already gets M_PI from the opencascade headers
(~everything includes Standard_Real.hxx, which includes Standard_math.hxx,
which sets _USE_MATH_DEFINES for Windows and includes math.h).
2021-03-10 00:46:58 +01:00
Stefan Brüns
883baf4189 Remove occconstruction.cpp from list of library sources
Since commit 0c3c3f32d1
("occ build visualization mesh") occgeometry.cpp does not contain
any compiled code, and it has not been used at least for 12 years.

As the file includes quite some header files removing it from the sources
should save some compile time.
2021-03-08 02:38:28 +01:00
Stefan Brüns
85e8c09ff6 Fix GetTimeCounter for Aarch64 variants
Neither GCC nor Clang define an __arm64__ preprocessor macro, but use
__aarch64__ (MSVC uses _MARM_64). Add a "64" suffix to the define, i.e.
NETGEN_ARCH_ARM64 to make it more obvious in only refers to aarch64, and
to be in line with NETGEN_ARCH_AMD64.

Replace the (Clang specific) __builtin_readcyclecounter with inline
asm:
- The function return cycles (i.e. varies with CPU frequency), not time
- It may return 0, depending on the PMU settings
- It may cause an illegal instruction, in case it is not trapped by the
  kernel, e.g. on FreeBSD.

Reading the generic timer/counter CNTVCT_EL0 instead of PMCCNTR_EL0 avoids
these pitfalls. The inline asm works on GCC and Clang, instead of
Clang only for the builtin.
2021-03-03 17:30:33 +01:00
Matthias Hochsteger
3397e3bb9d Merge branch 'fix_swapimprove' into 'master'
Fix SwapImprove

See merge request jschoeberl/netgen!370
2021-03-02 11:08:13 +00:00
Christopher Lackner
f11cb4fcfb boundarylayers - inner corners at end of layer now possible too 2021-03-02 11:47:40 +01:00
Matthias Hochsteger
d7d12ac53d Don't swap very bad elements in SwapImprove
Changes meshing -> new test results
2021-03-01 10:08:00 +01:00
Matthias Hochsteger
f8aa3d3159 util function NotTooBad() in mesh optimization 2021-03-01 09:33:47 +01:00
Matthias Hochsteger
f5432718c1 Fix ImproveMesh 2021-02-26 12:20:51 +01:00
Joachim Schoeberl
298cbc2523 less printing for face hierarchy 2021-02-22 08:30:00 +01:00
Joachim Schoeberl
5cc42f040d fixing face refinement (by Guosheng) 2021-02-19 18:20:22 +01:00
Joachim Schoeberl
28c4b78410 mesh bisection with onlyonce option. otherwise, tet-bisection performs three bisection steps to obtain h/2 2021-02-19 15:06:20 +01:00
Matthias Hochsteger
75e6c8217f Merge branch 'cleanup_dll_header' into 'master'
Clean up multiple definitions of DLL_HEADER

See merge request jschoeberl/netgen!369
2021-02-19 09:43:45 +00:00
Joachim Schoeberl
a354bf9e51 bisect face classification by permutation of 5 2021-02-19 10:04:45 +01:00
Joachim Schoeberl
4592bf90a8 subdivided faces are now working (boundary looks good) 2021-02-19 02:12:58 +01:00
Joachim Schoeberl
fede8b4d25 intermediate faces 2021-02-19 01:28:19 +01:00
Matthias Hochsteger
b2fea6dec1 Clean up multiple definitions of DLL_HEADER
- define DLL_HEADER only once in mydefs.hpp
- define/use NGLIB_API in nglib.h
- use NGCORE_API_EXPORT for explicit export of symbols
2021-02-18 14:53:38 +01:00
Joachim Schoeberl
979a695f62 fixing warnings 2021-02-18 10:30:01 +01:00
Joachim Schoeberl
d1c9b4b24f no 'and' in C++ (but ok for gcc and clang ?) 2021-02-18 09:28:09 +01:00
Joachim Schoeberl
c7666ae99f classify bisect face (thx Guosheng) 2021-02-18 08:43:22 +01:00
Joachim Schoeberl
e9e3d52b45 parent faces 2021-02-17 23:32:15 +01:00
Joachim Schoeberl
87e472b6fc start face-hierarchy in Netgen 2021-02-17 14:54:14 +01:00
Joachim Schoeberl
2e69b39339 cleanup parent_edges 2021-02-10 19:40:38 +01:00
Joachim Schöberl
39063eb961 Merge branch 'mpi_zdes' into 'master'
0d Elements + MPI

See merge request jschoeberl/netgen!367
2021-02-10 13:35:06 +00:00
Joachim Schöberl
993c02b391 Merge branch 'geom2d_dont_need_spline_name' into 'master'
Don't need to specify string description of spline type in 2d geom

See merge request jschoeberl/netgen!363
2021-02-10 11:23:15 +00:00
Joachim Schöberl
dd455a7a62 Merge branch 'fix_mpi_curve' into 'master'
fix OCC curving with MPI

See merge request jschoeberl/netgen!366
2021-02-10 11:22:35 +00:00
Joachim Schoeberl
b03528e944 third parent edge 2021-02-09 21:14:26 +01:00
Christopher Lackner
0c2430f3dc add std::any symboltable to Flags to store arbitrary objects 2021-02-08 15:44:15 +01:00
Lukas
0256ce1efc also send 0d elements when distributing mesh 2021-02-08 12:05:27 +01:00
Lukas
d1bc4fc6ca fix OCC curving with MPI 2021-02-08 11:36:48 +01:00
Joachim Schoeberl
145007b46a use the right INT 2021-02-08 10:48:41 +01:00
Joachim Schoeberl
fd878079cb edge hierarchy in mesh - Topology class, needs mesh.EnableTable('parentedges') 2021-02-08 09:41:23 +01:00
Matthias Hochsteger
6d30186279 allow cd2names in 2d meshes 2021-02-05 17:40:43 +01:00
Christopher Lackner
9e080ee9e0 add boundarylayer closure on pyramids outside 2021-02-05 12:16:41 +01:00
Christopher Lackner
77a7cb66d8 Merge branch 'master' of https://github.com/NGSolve/netgen 2021-02-05 12:10:37 +01:00
Christopher Lackner
1d9281f412 localh as shared_ptr in mesh 2021-02-05 12:10:22 +01:00
Joachim Schoeberl
25011c8407 arm-simd: HSum, tuple support 2021-02-05 11:59:03 +01:00
Joachim Schoeberl
22aee3b3a5 simd-mapping of point elements 2021-02-05 11:42:45 +01:00
Matthias Hochsteger
221d3f5a9a delete pointelements after parallel mesh send (TODO: send pointelements!) 2021-02-02 18:59:32 +01:00
Matthias Hochsteger
4619525280 allow empty names in mesh file 2021-02-02 18:58:54 +01:00
Michael
5023856432 improve curving trigs with u,v coordinates by better initial guess 2021-02-01 15:29:17 +01:00
Matthias Hochsteger
7739aaedf7 SplineGeometry - also add point elements with empty names to mesh 2021-02-01 11:27:31 +01:00
Joachim Schöberl
9a9828d3af some more arm-simds 2021-01-31 16:31:47 +01:00
Joachim Schöberl
18f5a933a9 arm-simd working 2021-01-30 21:02:49 +01:00
Joachim Schöberl
f53c069308 prepare SIMD for arm64 2021-01-30 20:05:28 +01:00
Christopher Lackner
18dc32c51a Add RestrictHLine function in Python 2021-01-26 15:33:21 +01:00
Christopher Lackner
b58c35831d Don't need to specify string description of spline type in 2d geom 2021-01-26 11:27:46 +01:00
Christopher Lackner
d1d3253408 throw if optimize2d is called without geometry 2021-01-26 11:23:46 +01:00
Joachim Schöberl
5e489319c6 Merge branch 'fix_csg2d' into 'master'
Fix CSG2d bugs

See merge request jschoeberl/netgen!362
2021-01-15 14:50:18 +00:00
Matthias Hochsteger
12ebcd0d68 Fix oracle function and intersection bug in csg2d 2021-01-14 17:11:46 +01:00
Matthias Hochsteger
e745d16c6d manually cut view vector with clipping plane (more accurate, also working when visualizing clipping plane vectors) 2021-01-13 16:48:16 +01:00
Christopher Lackner
b7fab39876 formatting of vector and complex output on click 2021-01-13 13:24:38 +01:00
Matthias Hochsteger
36aa8658b7 Print function names and surface/volume evaluation 2021-01-13 10:58:13 +01:00
Matthias Hochsteger
1502fd705e some debug messages 2021-01-12 18:08:51 +01:00