Commit Graph

3211 Commits

Author SHA1 Message Date
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
mhochsteger@cerbsim.com
439415bffe fix OCC meshing with nglib 2022-01-14 11:47:22 +01:00
mhochsteger@cerbsim.com
2a77e9635a Use 10000 edge divide factor again for OCC 2022-01-14 11:47:08 +01:00
mhochsteger@cerbsim.com
c63a865ee3 occ - fix meshing a sphere (need to keep degenerate edges) 2022-01-04 16:09:00 +01:00
Joachim Schoeberl
44d626f727 BitArray indexing from the end 2021-12-29 21:06:52 +01:00
Matthias Rambausek
093692f825 docstring fix 2021-12-27 17:08:00 +01:00
Matthias Rambausek
88bb6ec6af add some functions to access WorkPlane data and the possibility to create splines from any starting point 2021-12-27 16:10:37 +01:00
Matthias Rambausek
6656181e2b work om WP Spline: detect closing similar to ArcTo and LineTo, remove "name" arg 2021-12-22 16:21:24 +01:00
Matthias Hochsteger
8e38334b9a Merge branch 'add_csg_solid_maxh' into 'master'
Add maxh property to Solid2d

See merge request jschoeberl/netgen!464
2021-12-22 10:55:32 +00:00
mhochsteger@cerbsim.com
f0b8b4fae9 occ - bugfix in identification propagation 2021-12-20 21:45:36 +01:00
mhochsteger@cerbsim.com
fe8c036204 Map identification trafo when transforming occ shapes
also propagate properties in gp_Trsf.__call__()
2021-12-20 21:01:51 +01:00
mhochsteger@cerbsim.com
00e6d1d077 occ - fix bug in edge identification 2021-12-20 10:42:26 +01:00
mhochsteger@cerbsim.com
1e86bc2c59 occ - consistent ordering of shapes 2021-12-17 11:04:23 +01:00
mhochsteger@cerbsim.com
d467621edd change interface for identifications 2021-12-16 20:54:19 +01:00
mhochsteger@cerbsim.com
b7448ce2c1 fix PropagateIdentifications after Glue 2021-12-16 18:35:43 +01:00
mhochsteger@cerbsim.com
bf261d533f keep direction of identifications 2021-12-16 10:04:33 +01:00
mhochsteger@cerbsim.com
de813df0c2 add prisms for between closesurface identifications explicitly (no attached faces/edges needed as in prism mesh rules)
not active yet (still buggy for CSG)
2021-12-16 10:04:17 +01:00
mhochsteger@cerbsim.com
44471fe649 occ - identify with given trafo (allows identifying multiple faces at once) 2021-12-14 12:16:03 +01:00
mhochsteger@cerbsim.com
329364e8e2 occ - set domin/domout for edges in 2d meshes 2021-12-07 14:52:06 +01:00
Matthias Rambausek
fdf26641dd fixed exception 2021-12-06 16:28:02 +01:00
Matthias Rambausek
9f83730fb5 add a check on first point given to WP::Spline; more precise docs 2021-12-06 15:26:57 +01:00
mhochsteger@cerbsim.com
b8b802de6b allow implicit convertion int->identifications type 2021-12-06 10:59:09 +01:00
mhochsteger@cerbsim.com
299717de55 copy=true in occ fuctions 2021-12-06 09:13:02 +01:00
Joachim Schöberl
27a7a5ebcd Merge branch 'save_facedescriptors' into 'master'
save FaceDescriptors in mesh file

See merge request jschoeberl/netgen!461
2021-12-03 14:15:19 +00:00
mhochsteger@cerbsim.com
f5b7e27e5d save FaceDescriptors in mesh file 2021-12-03 14:54:39 +01:00
Matthias Rambausek
31fa22626c Split 2d and 3d spline implementations, use tangent data; added Spline member to WorkPlane 2021-12-03 11:55:02 +01:00
Matthias Rambausek
193a7001e4 added 2d spline interpolation but not added to workplane yet 2021-12-02 17:39:11 +01:00
Matthias Rambausek
a5aed39f9d SplineInterpolation now works; refined some docstrings 2021-12-02 16:52:38 +01:00
Christopher Lackner
5cc3ce3300 Draw occ geometry. Change edge color to black 2021-12-02 12:10:57 +01:00
Christopher Lackner
c1d768a5b3 [occ] Specify extrusion direction, add getitem to gp_Pnt to iterate 2021-12-01 14:40:26 +01:00
mhochsteger@cerbsim.com
ed0f8b8a53 occ - propagate identifications, shape.bounding_box 2021-12-01 13:15:09 +01:00
mhochsteger@cerbsim.com
8334d20c3a occ - use search tree to identify points in parameter space 2021-12-01 11:36:28 +01:00
mhochsteger@cerbsim.com
92ade9d800 copy faces in occ transformations 2021-11-30 20:43:29 +01:00
mhochsteger@cerbsim.com
8f77aa458b fix output 2021-11-30 20:26:35 +01:00
mhochsteger@cerbsim.com
c0d6f1588d occ - closesurface identification (prisms) 2021-11-30 20:26:26 +01:00
mhochsteger@cerbsim.com
7962f0a1bb fix edge projection 2021-11-30 19:35:32 +01:00
Joachim Schoeberl
1c36ff9868 increase meshsize boundingbox in 2D 2021-11-30 18:39:12 +01:00
Christopher Lackner
378152d1c4 [occ] add Distance of shapes 2021-11-30 17:45:52 +01:00
mhochsteger@cerbsim.com
8626262679 comments 2021-11-29 16:20:40 +01:00
Joachim Schöberl
d23eb4fe7e Merge branch 'project_wire_on_face' into 'master'
project wire onto face

See merge request jschoeberl/netgen!456
2021-11-29 15:04:45 +00:00
mhochsteger@cerbsim.com
1818ffd152 occ - fix meshing in parameter space, fix edge curve parameters 2021-11-29 16:04:26 +01:00
Christopher Lackner
86e7754c7a project wire onto face 2021-11-29 15:54:24 +01:00
mhochsteger@cerbsim.com
06031e665a set default bcname to valid string pointer, some occ tests 2021-11-29 11:13:40 +01:00
mhochsteger@cerbsim.com
9537ccdb7a occ - allow closed edges in identified faces 2021-11-28 19:59:14 +01:00
mhochsteger@cerbsim.com
bba4f414b7 occ - include StandardVersion.hxx everywhere 2021-11-28 16:25:39 +01:00
Matthias Hochsteger
16b88e8e67 OCC Mesher Cleanup 2021-11-28 15:14:41 +00:00
mhochsteger@cerbsim.com
50e05f8a72 copy shape BRepBuilderAPI_Transform (to avoid copies of same TShape with different locations) 2021-11-25 14:37:02 +01:00
Joachim Schoeberl
8dfdfb9579 fix occ - Nearest 2021-11-25 10:45:09 +01:00
Matthias Rambausek
f2c6a0f8c0 extended wrappers for spline approximation; enable spline surface interpolation 2021-11-22 15:23:34 +01:00
Matthias Rambausek
e30daf4232 solid2d gets its own maxh parameter such that maxh is also respected inside the domain 2021-11-18 09:25:17 +01:00
Christopher Lackner
3c4fe43fcc Fix loading of short mesh file names 2021-11-18 08:48:09 +01:00
mhochsteger@cerbsim.com
8c9cdfbc34 store netgen version, introduce "format_version" for future changes 2021-11-12 12:55:01 +01:00
mhochsteger@cerbsim.com
36f22a13ce also save occ identifications in mesh file attachment 2021-11-12 12:54:58 +01:00
mhochsteger@cerbsim.com
e0afa0a916 Use TextOutArchive to store OCCGeometry in mesh files 2021-11-11 10:04:39 +01:00
mhochsteger@cerbsim.com
17458889aa Change interface of LoadFromMeshFile
Fetch the first (geometry identification) token only once (and not on each try to load a different type)
2021-11-10 18:37:24 +01:00
mhochsteger@cerbsim.com
4d7ef21791 proper DoArchive for OCCGeometry 2021-11-10 18:37:24 +01:00
mhochsteger@cerbsim.com
b63baa57be ShapeProperties::DoArchive() 2021-11-10 18:37:21 +01:00
mhochsteger@cerbsim.com
f95332d0a1 archive optional<T> 2021-11-10 18:36:55 +01:00
Joachim Schoeberl
2724317985 remove output 2021-11-09 17:41:13 +01:00
Joachim Schoeberl
478aaf7788 little polish 2021-11-07 00:16:57 +01:00
Joachim Schoeberl
1eca091fd3 fix Enumerate(IndexMap) 2021-11-06 16:14:19 +01:00
Joachim Schoeberl
50398c18c4 simplify edge/face-id types (just an int) 2021-11-06 15:52:35 +01:00
Joachim Schoeberl
6ae645ce33 added IndexMapIterator 2021-11-06 13:15:52 +01:00
Joachim Schoeberl
bd564931f8 strings in FaceDescriptor (instead of ptrs) 2021-11-06 12:22:44 +01:00
Joachim Schoeberl
fdc04b7276 using more range-based loops in occ 2021-11-06 11:51:11 +01:00
Joachim Schoeberl
14f32f73c0 range-based for for TopExp_Explorer 2021-11-06 10:44:01 +01:00
Joachim Schoeberl
64e40a25e0 fixing name for unnamed face (problem after restructuring facenames) 2021-11-06 08:51:36 +01:00
mhochsteger@cerbsim.com
239cdf694f Don't copy occ shape in OCCGeometry ctor by default 2021-11-05 20:26:43 +01:00
mhochsteger@cerbsim.com
b99b107bbc fix for loop range (occ is 1-based) 2021-11-05 19:44:58 +01:00
mhochsteger@cerbsim.com
928cb57448 fix wrong bcname string pointer 2021-11-05 19:07:50 +01:00
Matthias Hochsteger
8efcd93db6 Merge branch 'temp_file_generation' into 'master'
util function GetTempFilename()

See merge request jschoeberl/netgen!446
2021-11-05 16:41:11 +00:00
Joachim Schöberl
dd5499a12e Merge branch 'occ_conn_e_to_w' into 'master'
[occ] connect edges to wires

See merge request jschoeberl/netgen!447
2021-11-05 11:53:18 +00:00
mhochsteger@cerbsim.com
225312b9d9 Save occ identifications in step file 2021-11-04 21:58:56 +01:00
Christopher Lackner
10e3494de4 [occ] connect edges to wires 2021-11-04 20:43:33 +01:00
mhochsteger@cerbsim.com
b258d7bd65 fix path to string conversion 2021-11-04 13:00:30 +01:00
mhochsteger@cerbsim.com
747367ab8a util function GetTempFilename() 2021-11-04 12:20:56 +01:00
Christopher Lackner
5672e05a40 Remove occ output 2021-11-04 10:54:33 +00:00
Christopher Lackner
5b0be52d35 do not set ng_geometry in OCCGeometry constructor 2021-11-03 20:49:34 +01:00
mhochsteger@cerbsim.com
dbe9431fa9 remove temp file 2021-11-03 17:42:52 +01:00
mhochsteger@cerbsim.com
9245c3c32b proper handling of occ names and colors 2021-11-03 17:20:26 +01:00
mhochsteger@cerbsim.com
b914b6fe53 load/store occ geometry properties (maxh, hpref, color opacity) 2021-11-02 19:11:10 +01:00
Joachim Schoeberl
0f598bffa3 hpref from occ geometry 2021-10-29 09:30:13 +02:00
mhochsteger@cerbsim.com
f0e7f843c3 util functions to get compile-time simd size and range check settings 2021-10-28 13:47:58 +02:00
mhochsteger@cerbsim.com
d9e8b815f5 pip installer 2021-10-27 16:51:41 +02:00
Matthias Hochsteger
dc57935468 include gzsteram.h only where needed 2021-10-21 10:25:40 +02:00
Christopher Lackner
e662449b69 fix copy paste error 2021-10-20 09:26:15 +02:00
Christopher Lackner
458ade64e6 fix occ shape names in Load from step 2021-10-20 09:23:01 +02:00
Joachim Schoeberl
0b7d8d5a9b fix Mirror for second-order meshes 2021-10-17 18:59:49 +02:00
Joachim Schoeberl
c20480c662 too fast with segment mapping 2021-10-15 22:10:57 +02:00
Joachim Schoeberl
95301e11ba mesh.SecondOrder : fix Segment mapping 2021-10-15 18:52:20 +02:00
Joachim Schöberl
04a31eeed3 Merge branch 'occ_listofshape_regexp_access' into 'master'
String access of listofshape using regexp

See merge request jschoeberl/netgen!438
2021-10-15 11:10:20 +00:00
Joachim Schöberl
66a6fd46b8 Merge branch 'occ_fuse' into 'master'
Add Fuse operation for occ shapes

See merge request jschoeberl/netgen!437
2021-10-15 11:09:50 +00:00
Joachim Schoeberl
f38d258d15 Mirror mesh: invert surface elements, update num vertices 2021-10-15 09:00:26 +02:00
Christopher Lackner
c8939fa6d8 String access of listofshape using regexp 2021-10-13 17:52:34 +02:00
Christopher Lackner
733824bffc Add Fuse operation for occ shapes 2021-10-13 16:54:23 +02:00
Joachim Schoeberl
6aa2d07f9e fix warning 2021-10-11 14:56:53 +02:00
Joachim Schöberl
5260e3500c Merge branch 'occ_vec_times_vec' into 'master'
[occ] multiply 2 gp_Vec

See merge request jschoeberl/netgen!433
2021-10-11 11:28:11 +00:00
Joachim Schöberl
bd32e9d540 Merge branch 'occ_better_cyl_args' into 'master'
[occ] Better arguments for Cylinder

See merge request jschoeberl/netgen!434
2021-10-11 11:14:49 +00:00
Joachim Schöberl
4c326e8535 Merge branch 'heal_without_face_colours' into 'master'
Allow OCCGeometry.Heal without face_colours (if built in py)

See merge request jschoeberl/netgen!435
2021-10-11 11:01:12 +00:00
Christopher Lackner
9efb9b1682 [occ] multiply 2 gp_Vec 2021-10-11 12:48:43 +02:00
Christopher Lackner
c9f1db548c [occ] Better arguments for Cylinder 2021-10-11 12:48:14 +02:00
Christopher Lackner
e703ad75af Allow OCCGeometry.Heal without face_colours (if built in py) 2021-10-11 12:47:16 +02:00
Michael Neunteufel
ea9c0cf524 enable meshing parameters for OptimizeMesh2d 2021-10-08 09:50:53 +02:00
Matthias Hochsteger
41d9fbf258 DLL_HEADER in Element2d 2021-10-07 02:30:23 -07:00
Joachim Schöberl
5fc8f4b2c4 Merge branch 'cylinder_face_names' into 'master'
[occ] allow to give cylinder face names in constructor

See merge request jschoeberl/netgen!430
2021-10-06 14:25:40 +00:00
Christopher Lackner
f04040f409 allow changing number of colors in colorbar 2021-10-06 16:01:48 +02:00
Christopher Lackner
4dc1bfa99e [occ] allow to give cylinder face names in constructor 2021-10-05 23:48:06 +02:00
Christopher Lackner
a2ee528dae Always call UnifySameDomain on + operator not only in 2D 2021-10-05 10:46:55 +02:00
Christopher Lackner
b4bf1172bc fix length of occ dim2 boundaries 2021-10-04 15:52:56 +02:00
Christopher Lackner
e6a6ab89e6 write transparency in mesh file and also read it if avail
The indexing is a little weird but consistent to before so leave it
like this
2021-10-04 09:27:33 +02:00
Christopher Lackner
ec96feb7f4 occ colors also in netgen gui, also allow transparency 2021-10-03 12:58:33 +02:00
Joachim Schoeberl
e7de90a33f propagate names in MakeFillet and MakeChamfer 2021-10-02 15:32:02 +02:00
Christopher Lackner
1fd4835c72 call mesh.ComputeNVertices in read fnf file 2021-09-30 15:40:38 +02:00
Matthias Hochsteger
50ef307622 Merge branch 'std_any_to_py_object' into 'master'
Add std::any to py::object caster for archive registered types

See merge request jschoeberl/netgen!426
2021-09-29 10:22:17 +00:00
Christopher Lackner
a42f5525a3 remove DirectionalInterval debug output 2021-09-29 08:58:30 +02:00
Christopher Lackner
a8da814c19 remove debug output 2021-09-28 22:51:06 +02:00
Christopher Lackner
bd29763b16 Add std::any to py::object caster for archive registered types 2021-09-28 22:34:11 +02:00
Joachim Schoeberl
8760559690 makechamfer.Add(double,edge) needs newer occ version 2021-09-28 20:11:32 +02:00
Joachim Schoeberl
0862327937 wrapping shape.MakeChamfer 2021-09-28 19:34:43 +02:00
Joachim Schoeberl
968658a70e too much tracing for recursive tasks ? 2021-09-28 15:41:46 +02:00
Joachim Schöberl
28a81c11d9 Merge branch 'fix_occ_bcnames' into 'master'
Fix boundarynames from occgeo created with global bc map

See merge request jschoeberl/netgen!421
2021-09-28 12:58:30 +00:00
Christopher Lackner
2b7347ce07 Export Flags.ToDict to python 2021-09-28 14:05:33 +02:00
Joachim Schoeberl
49a6172548 refine at vertices 2021-09-24 18:47:54 +02:00
mhochsteger@cerbsim.com
6dfc78ca42 fix GetElementOfPoint (again)
- clearer code structure with helper functions FindElementXd
- fix broken search in 2d meshes (bug from last commit)
2021-09-23 18:38:48 +02:00
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
Matthias Hochsteger
96b9be9f9c [WIP] Fix oracle function in csg2d 2021-01-12 18:08:39 +01:00
Matthias Hochsteger
e5d339ed99 Print function value on double click 2021-01-08 08:30:47 +01:00
Joachim Schöberl
ea7f6c1e94 fnma intrinsic for avx512 2020-12-22 13:06:08 +01:00
Joachim Schöberl
c1c10174be FNMA asm-instruction 2020-12-22 09:37:21 +01:00
Christopher Lackner
7bd454e385 use relative tolerance in identifypoints 2020-12-18 15:58:51 +01:00
Matthias Hochsteger
94ecf8de92 Fix private linking of Python
The CMake export of Interface libraries also exports PRIVATE build
settings, which leads to build errors with non-existing include paths and .lib files for binary distributions.

Use the work-around mentioned here to circumvent this behavior:
https://gitlab.kitware.com/cmake/cmake/-/issues/15415#note_849405
2020-12-18 11:05:10 +01:00
Joachim Schöberl
d30accdc1a Merge branch 'apple_silicon' into 'master'
Support for Apple M1

See merge request jschoeberl/netgen!359
2020-12-16 20:47:21 +00:00
Matthias Hochsteger
eb6ac164e7 int64_t for masks 2020-12-16 21:00:12 +01:00
Matthias Hochsteger
d97a9a6594 Alignment for generic SIMD classes 2020-12-16 17:20:18 +01:00
Matthias Hochsteger
e68d8cea9b workaround for missing intrinsic on GCC 7 2020-12-16 10:58:01 +01:00
Matthias Hochsteger
9c0dbec8c9 Fix SIMD<mask64> ctor and Unpack 2020-12-15 15:31:17 +01:00
Christopher Lackner
bf855efd1b fix usage of uninitialized value (valgrind) 2020-12-15 15:07:48 +01:00
Matthias Hochsteger
dbe894fea3 Support for Apple M1 2020-12-15 10:43:11 +01:00
Matthias Hochsteger
1b55c51da5 remove AlignedAlloc, use alignas 2020-12-15 09:40:43 +01:00
Matthias Hochsteger
1f3aebcec0 Fix AVX-Operators for int64_t simd (use generic ones) 2020-12-15 09:40:43 +01:00
mhochsteger
f213a7a5b1 fix fabs for AVX on Windows 2020-12-14 15:50:27 +01:00
Matthias Hochsteger
248145bbf0 fix wrong simd operators 2020-12-14 12:47:53 +01:00
Matthias Hochsteger
fc44eb95df simd - array and variadic ctor 2020-12-11 23:12:34 +01:00
Matthias Hochsteger
2d667a08dc move (refactored) SIMD headers from ngsolve into ngcore 2020-12-11 20:54:41 +01:00
Christoph Wintersteiger
657360818d rewrite loop to avoid index correction 2020-12-02 17:51:47 +01:00
Joachim Schöberl
cc85def275 Merge branch 'fix_surf_read' into 'master'
Fix .surf file reading.

See merge request jschoeberl/netgen!354
2020-11-30 18:41:56 +00:00
Matthias Hochsteger
1c6051371e updateSignal for Mesh class 2020-11-27 16:40:17 +01:00
Christopher Lackner
7ae460b2e5 Fix .surf file reading.
See https://ngsolve.org/forum/ngspy-forum/1275-bug-surf-file-read-incorrectly
2020-11-27 15:28:48 +01:00
Christopher Lackner
cb0d8295bf fix hashing of bitarray (uninitialized value in HashArchive & random
values at end)
2020-11-25 22:07:07 +01:00
Joachim Schöberl
d0776bd726 Merge branch 'memory_tracing' into 'master'
Memory tracing

See merge request jschoeberl/netgen!350
2020-11-25 18:20:29 +00:00
Matthias Hochsteger
fbeb6137eb Fix SwapImprove2
Don't allow swaps if an adjacent element was deleted in the current
optimization pass. Also update test restults.
2020-11-25 17:55:44 +01:00
Matthias Hochsteger
91f127ef71 memory tracer - fix memory accumulation of children 2020-11-25 14:34:29 +01:00
Matthias Hochsteger
b55264e0ee memory tracing - handle multiple consecutive tracers correctly 2020-11-24 19:20:21 +01:00
Matthias Hochsteger
efdc57885a memory tracing - store parents array instead of children table 2020-11-24 17:12:39 +01:00
Matthias Hochsteger
916eb09f1e Merge remote-tracking branch 'origin/master' into memory_tracing 2020-11-24 15:31:00 +01:00
Christopher Lackner
2287c5c0c9 boundarylayers - fix inverted tets 2020-11-24 11:58:26 +01:00
Christopher Lackner
7e78056ade Boundarylayer grows pyramids if created on interior bnd 2020-11-23 23:48:49 +01:00
Christopher Lackner
922ad16213 if more memory is deallocated than allocated set memtracer to 0 not
negative values
2020-11-21 22:32:41 +01:00
Christopher Lackner
a69cdc9000 mem tracing compile time option, simplify by MemoryTracer as member 2020-11-21 15:49:07 +01:00
Christopher Lackner
a394ffedef Merge branch 'master' into memory_tracing 2020-11-19 23:05:33 +01:00
Christopher Lackner
e7b9baa93b remove another reference of resized array 2020-11-19 22:53:14 +01:00
Christopher Lackner
3440a43e99 don't use (maybe invalidated) reference after array resize 2020-11-19 22:36:30 +01:00
Joachim Schöberl
79542999f5 Merge branch 'boundarylayers' into 'master'
Boundarylayers

See merge request jschoeberl/netgen!349
2020-11-19 20:26:13 +00:00
Joachim Schöberl
f5771dca1e fix for 2D curves with same sub-domain on both sides 2020-11-19 20:07:09 +01:00
Matthias Hochsteger
87623981a6 export PajeTrace.WriteMemoryChart() to python 2020-11-19 19:29:04 +01:00
Matthias Hochsteger
f0152baacf mem tracing - TraceMemorySwap helper function 2020-11-19 17:35:29 +01:00
Matthias Hochsteger
6f98123e98 mem tracing - use topological sorting, some fixes 2020-11-19 16:16:39 +01:00
Matthias Hochsteger
b00c56a012 mem tracing - set name for tempmesh in delaunay 2020-11-19 14:58:16 +01:00
Matthias Hochsteger
a17066a387 html chart for peak memory consumption, some Array tracing fixes 2020-11-19 14:57:45 +01:00
Matthias Hochsteger
f143995f27 clean up memory tracing 2020-11-18 21:45:00 +01:00
Matthias Hochsteger
1a93fb3fa5 first attempt on memory tracing 2020-11-18 20:20:35 +01:00
Christopher Lackner
609cbbcadf rewrite create boundarylayer function (now more efficient and stable
and easier)
2020-11-17 18:43:39 +01:00
Christopher Lackner
0d48924392 Merge branch 'use_segmentindex' into boundarylayers 2020-11-17 15:25:19 +01:00
Christopher Lackner
ee430a6e1e use segmentindex as index for mesh.segments array 2020-11-17 15:24:44 +01:00
Matthias Hochsteger
22d6303c5c bugfix in csg2d
handle degenerate quadratic equation in intersection of spline and
segment correctly
2020-11-13 16:14:30 +01:00
Christopher Lackner
0d339a7443 Merge branch 'master' into boundarylayers 2020-11-13 13:24:01 +01:00
Matthias Hochsteger
de76069283 CSG2d bugfix
Fixes bug in IsInside(p) test for splines if p lies on an edge of the surrounding triangle.
Do a fast check using (new) function IsCloseToTrig() instead of IsInsideTrig().
2020-11-11 16:03:09 +01:00
Christopher Lackner
7beb82af04 Merge branch 'master' into boundarylayers 2020-11-11 12:09:59 +01:00
Joachim Schöberl
f97601bca2 Merge branch 'hpref_surface_geom' into 'master'
add hp refinement possibility for surface geometry

See merge request jschoeberl/netgen!344
2020-11-06 11:21:19 +00:00
Joachim Schöberl
7351067722 Merge branch 'map_segment_si' into 'master'
map segment si as well, not only surface element index

See merge request jschoeberl/netgen!346
2020-11-06 11:20:06 +00:00
Matthias Hochsteger
6199c7f66b csg2d interface 2020-11-05 14:59:58 +01:00
Matthias Hochsteger
8b14f399c1 csg2d - fix bug in getNonIntersectionVertex()
If a loop has no non-intersecting vertex, a new one is inserted
-> set all vertex properties correctly (info, spline)
2020-11-03 18:43:23 +01:00
Matthias Hochsteger
45059fa7af csg2d - fix CleanupResult
Check for more edge properties (maxh, bc etc.) before removing
"intermediate" and unnecessary vertices
2020-11-03 18:43:23 +01:00
Christopher Lackner
37ae505d5a map segment si as well, not only surface element index 2020-11-03 17:32:07 +01:00
Christopher Lackner
3dec7c447e map segment si as well, not only surface element index 2020-11-03 17:29:58 +01:00
Christopher Lackner
9578e4a41d add project to boundary in boundarylayer and correctly treat inverse boundaries 2020-11-03 12:28:13 +01:00
Joachim Schöberl
b855b419da Merge branch 'save_load_bbbnd' into 'master'
Save load bbbnd

See merge request jschoeberl/netgen!345
2020-11-02 09:43:04 +00:00
Michael
10c0fd350a save/load pointelements 2020-10-30 15:28:00 +01:00
Michael
31c72299c4 add hp refinement possibility for surface geometry 2020-10-30 14:10:52 +01:00
Matthias Hochsteger
47632a06aa fix index error in cgns import 2020-10-27 14:54:25 +01:00
Joachim Schöberl
f51ad8eed5 Merge branch 'fix_bisect_quad' into 'master'
add GeomInfo for bisecting quads

See merge request jschoeberl/netgen!343
2020-10-27 10:38:38 +00:00
Michael
4a1d3cdcb2 save/load mesh bbbnd 2020-10-27 07:57:17 +01:00
Michael
a3391519f0 add GeomInfo for bisecting quads 2020-10-27 07:54:26 +01:00
Joachim Schöberl
cddfb4a0b5 fixing delaunay2d point search, non-parallel for small meshes 2020-10-26 11:20:12 +01:00
Joachim Schöberl
de83f0ca14 Delaunay2d also for small sub-domains 2020-10-25 16:31:47 +01:00
Joachim Schöberl
11557838a4 tuning of Delaunay2d: FindInnerPoints, use of edgeHT 2020-10-25 09:52:33 +01:00
Joachim Schöberl
50dddbedae Merge branch 'remove_error_intersecting_layers' into 'master'
remove warning output if intersect. triangles in different layers

See merge request jschoeberl/netgen!342
2020-10-23 17:53:33 +00:00
Joachim Schöberl
bfbef51996 remove bitarray in delaunay2d, just one hashtable position 2020-10-23 19:40:47 +02:00
Christopher Lackner
7f6996aa5d remove warning output if intersect. triangles in different layers 2020-10-23 12:05:30 +02:00
Matthias Hochsteger
832485e41a pybind11 compatibility 2020-10-22 12:11:19 +02:00
Joachim Schöberl
25342f7c3f speeding up many small domains 2020-10-22 12:04:32 +02:00
Joachim Schöberl
2d03739f4e little smooth 2020-10-20 12:35:17 +02:00
Matthias Hochsteger
a2a2da13dc debug messages in hp refinement 2020-10-19 19:30:30 +02:00
Matthias Hochsteger
52a6d2a9f9 Merge branch 'master' into point_info_csg2d 2020-10-19 18:38:32 +02:00
Christopher Lackner
9a39b81615 fix set csg2d pinfo 2020-10-19 17:34:11 +02:00
Matthias Hochsteger
389280fc0c debug output 2020-10-19 16:55:49 +02:00
Christopher Lackner
39be1fd3c9 add PointInfo for csg2d for maxh and name in points 2020-10-19 16:32:42 +02:00
Christopher Lackner
ce3f3429d4 fix range check exception in tutorials 2020-10-19 15:27:36 +02:00
Christopher Lackner
00b4959232 remove "normal vectors degenerated" output 2020-10-19 14:06:35 +02:00
Matthias Hochsteger
9d5661fdc5 Fix maxh issue for splines 2020-10-19 13:19:25 +02:00
Matthias Hochsteger
2b5d00b259 csg2d - add points as 0d-elements to mesh 2020-10-19 10:41:44 +02:00
Matthias Hochsteger
b3d757ccd1 update pybind11 to 2.6.0rc3 2020-10-17 17:58:38 +02:00
Joachim Schöberl
cdbe7fd892 cleanup solid checks 2020-10-17 17:08:58 +02:00
Joachim Schöberl
ad69a9d5a5 modernization SpecialPointCalculation 2020-10-17 15:23:53 +02:00
Joachim Schöberl
decb6c6e90 use VecInSolid2 in SpecialPoint analysis, VecInSolid2 return also does_intersect 2020-10-17 13:01:07 +02:00
Joachim Schöberl
01c1411d65 robust implementation of Polyhedra::VecInSolid2 2020-10-17 08:18:32 +02:00
Joachim Schöberl
c842de7c3d Merge branch 'optimize_calcpartition' into 'master'
optimize CalcPartition() and PartitionBoundary()

See merge request jschoeberl/netgen!340
2020-10-17 05:44:33 +00:00
Matthias Hochsteger
dab18a1c8a optimize CalcPartition() and PartitionBoundary()
new test results (2d meshing behaviour is changed with this commit)
2020-10-16 18:48:22 +02:00
Matthias Hochsteger
8ba6bad6fd Delaunay for 2d mesh generation
Squashed commit of the following:

commit 84f36ffeb409f5fddb389c75ee48b4872b516ae9
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 18:27:15 2020 +0200

    revert change in spline partitioning

commit d4aef23a22a9beb26c4453267c99dd7533174ced
Merge: 15a467aa 97dfecd0
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 17:59:00 2020 +0200

    Merge branch 'master' into delaunay2d

commit 15a467aa7f7cb09f9ea3d984905fe3da69f0b238
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 17:44:31 2020 +0200

    delaunay2d - fix trig orientation

commit be223412ad972722a51b64a5bccf7ca2bec566c8
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 17:29:46 2020 +0200

    fix delaunay swapping

commit 48b95ae2ee1cbabcfae79dfd1cb7af1fd69d77f3
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 17:27:51 2020 +0200

    testout only with debug settings

commit d82b7a7cecb6f65f42b79b666fc58d0116dc0365
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 16:37:10 2020 +0200

    delaunay only for large domains

commit 1f51eaca1ff7a3777e4f32ba9e35e48d496a2854
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 16:21:33 2020 +0200

    compress points in delaunay

commit 20a223f36f3912a208db80c717d9dd87851ba43f
Merge: 2446b746 4c15146d
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 14:31:14 2020 +0200

    Merge branch 'master' into delaunay2d

commit 2446b74687ee56633a86e748e85343919edbd5ad
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 14:22:01 2020 +0200

    optimize CalcPartition() and PartitionBoundary()

commit 3baa58833348a72f16853530a5d17e73424186df
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 12:24:17 2020 +0200

    MeshingParameters - delaunay2d option (default is off)

commit e79b113dde9b9c4c5b92239817c6058ca468c319
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Thu Oct 15 16:12:45 2020 +0200

    fix windows build error

commit 92c7b9c1ed4016458980bbc21c61dae07f4444c7
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Thu Oct 15 17:51:44 2020 +0200

    delaunay bugfix

commit 6880194107819cfb2d23206e7e0f48ff5aa3fc10
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Thu Oct 15 17:51:05 2020 +0200

    csg2d - fix bug with splines

commit 1d9baa299d49e1f6fa16f4368885601ed01c5de7
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Wed Oct 14 18:40:23 2020 +0200

    CSG2d - faster AddIntersections (search tree per loop)

commit 2679ef0dee10cdf486441af47ca4c081aa7eb50b
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Wed Oct 14 17:13:17 2020 +0200

    bounding box for Loop

commit 894c6345b737693e32cbda368e56f56764e11085
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Wed Oct 14 12:48:51 2020 +0200

    remove debug check, output in blockfill

commit 2b0a0892c41e746b12e5e852cdb138acd3d2c4e3
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Wed Oct 14 12:40:53 2020 +0200

    compress mesh after delaunay

commit 1de33c87eee3199d4d9b18544f66e53329b47a2f
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Wed Oct 14 12:37:07 2020 +0200

    revert change in improve2d

commit 41a60e89533e94b93b92202ac17852d3aee9acbb
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Wed Oct 14 12:25:07 2020 +0200

    cleanup delaunay2d

commit c16aae324969cd5a90748953019933690d013337
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Wed Oct 14 11:39:56 2020 +0200

    sunburst chart - tooltip formatting

commit 4d61e1fdeab302ba357904f22f951361935791f0
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Wed Oct 14 11:03:37 2020 +0200

    delaunay seems to work

commit 8bd43f54d1efd6862f1b403cdb6c8ce9b5f7b3c6
Merge: 90ac7adb 25efdadd
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Tue Oct 13 12:08:01 2020 +0200

    Merge remote-tracking branch 'gitlab/master' into delaunay2d

commit 90ac7adb562cf2402345c5dfb4281bd097b5d62d
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Tue Oct 13 12:04:49 2020 +0200

    fix Loop::operator=

commit 1eb4f2de3b6576f503a073011a208fa8f609524e
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Tue Oct 13 12:04:13 2020 +0200

    more statistics in sunburst chart

commit db8b97ffbbc7db2a3413c4f8a5528eebe3488d57
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Tue Oct 13 11:17:28 2020 +0200

    more work on delaunay2d

commit eaa675f2351252b5fde423f241b10e231d1eb97e
Merge: 0eb9f9bd 8f837cb9
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Mon Oct 12 12:51:31 2020 +0200

    Merge remote-tracking branch 'gitlab/delaunay2d' into delaunay2d

commit 0eb9f9bd1c31a0e3c3c796c9280b1c1d007ace26
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Mon Oct 12 12:50:10 2020 +0200

    further csg2d optimization

commit 8f837cb9a281acca7c33159985da3b6992fe638f
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Tue Oct 6 19:02:31 2020 +0200

    csg2d - optimize Loop::operator=

commit 7bb4f16b886b20902b0d3563716055fc1734d47e
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Tue Oct 6 10:28:20 2020 +0200

    csg2d performance (search tree, inside tests)

commit 2c9ebce04d7989223327a1875e1b65bf180c95f5
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 2 16:33:24 2020 +0200

    [WIP] delaunay2d

commit 749df2311a3ac1976faaa9f0b60846709a2087b9
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Thu Oct 1 11:36:03 2020 +0200

    something

commit cda9fffde33a86b71467debb86848fdb9cfbf80c
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Wed Sep 30 12:06:53 2020 +0200

    delaunay2d - fix size of starting trig
2020-10-16 18:34:13 +02:00
Matthias Hochsteger
f66d8bd54e Revert "optimize CalcPartition() and PartitionBoundary()"
This reverts commit 95b7720efd.
2020-10-16 14:45:01 +02:00
Matthias Hochsteger
4c15146df9 fix windows build error 2020-10-16 14:30:38 +02:00
Matthias Hochsteger
e1100617af csg2d - fix bug with splines 2020-10-16 14:29:38 +02:00
Matthias Hochsteger
19ebc915c8 CSG2d - faster AddIntersections (search tree per loop) 2020-10-16 14:29:33 +02:00
Matthias Hochsteger
95b7720efd optimize CalcPartition() and PartitionBoundary() 2020-10-16 14:25:33 +02:00
Christopher Lackner
1a051ec555 export Polyhedra to Python and add test case 2020-10-16 12:05:03 +02:00
Joachim Schöberl
4cdaa6e3df differentiate 1 correctly 2020-10-16 10:54:34 +02:00
Joachim Schöberl
b841b1c57b using bool for in/strict-in, and more unique-ptrs 2020-10-16 10:14:50 +02:00
Joachim Schöberl
4d2e4fea44 unique-ptr for TangentialSolid 2020-10-16 09:44:11 +02:00
Joachim Schöberl
4f4483794d VecInSolid, poly 2020-10-15 09:29:36 +02:00
Joachim Schöberl
54dba89dd8 Merge branch 'fix_analyzeedge' into 'master'
Fix AnalyzeEdge()

See merge request jschoeberl/netgen!322
2020-10-14 21:36:39 +00:00
Matthias Hochsteger
7a8e10738b Revert "CSG2d - faster AddIntersections (search tree per loop)"
This reverts commit 307c2a3bbb.
2020-10-14 19:59:36 +02:00
Matthias Hochsteger
307c2a3bbb CSG2d - faster AddIntersections (search tree per loop) 2020-10-14 18:41:35 +02:00
Matthias Hochsteger
7b8b3b03ca bounding box for Loop 2020-10-14 18:41:35 +02:00
Joachim Schöberl
476a4c350c robust Polyhedron::VecInSolid option 2020-10-14 16:37:01 +02:00
Matthias Hochsteger
f55e3e6eb4 move DelaunayTree to adtree.hpp 2020-10-14 12:00:37 +02:00
Matthias Hochsteger
33bb84bd3e CSG2d optimizations (in-place operators, search tree) 2020-10-14 11:54:36 +02:00
Matthias Hochsteger
6544fbeca6 sunburst chart - tooltip formatting 2020-10-14 11:52:34 +02:00
Matthias Hochsteger
14e6a1d24b more statistics in sunburst chart 2020-10-14 11:52:26 +02:00
Matthias Hochsteger
25efdadd05 helper macro for Timer/RegionTimer definition 2020-10-13 11:11:33 +02:00
Joachim Schöberl
a894ebc9f5 stable pseudo-inverse, improve edge-analysis for revolution 2020-10-11 22:16:47 +02:00
Joachim Schöberl
b81f7f5ada improve robustness for revolution surface meshing (FindSpecialPoints) 2020-10-11 13:26:34 +02:00
Joachim Schöberl
b5a9580a8e BitArray::Data 2020-10-08 21:27:16 +02:00
Matthias Hochsteger
2629208f38 pajetrace - fix Timer names in MPI-trace 2020-10-08 12:20:46 +02:00
Matthias Hochsteger
7a1344bfcb cmake variable NG_COMPILE_FLAGS to set additional compile options 2020-10-01 13:35:53 +02:00
Christopher Lackner
70347a6d3c tuple implicitly convertible to Pnt and Vec 2020-09-29 18:57:56 +02:00
Matthias Hochsteger
0852a20fff some DLL_HEADER 2020-09-24 16:58:59 +02:00
Joachim Schöberl
b124b7bd06 keep global vertex enumeration on coarse grid 2020-09-21 07:49:56 +02:00
Christopher Lackner
1666155d25 add range adaptors (filter, transform) 2020-09-19 17:39:03 +02:00
Joachim Schöberl
283db5c637 trange bracket with size_t for T_Range 2020-09-19 09:43:00 +02:00
Joachim Schöberl
8b5675a8e2 check if mpi is initialized 2020-09-15 23:16:04 +02:00
Matthias Hochsteger
2763285b46 csg2d - fix tutorial 2020-09-15 15:48:49 +02:00
Matthias Hochsteger
10a9decfd2 csg2d - separate bc numbers 2020-09-14 12:13:16 +02:00
Christopher Lackner
c7af26771e fix bug in BitArray== 2020-09-11 16:54:25 +02:00
Matthias Hochsteger
86fe7f3be7 csg2d - optimize GenerateSplineGeometry() 2020-09-11 09:06:45 +02:00
Matthias Hochsteger
f6c94035c5 SetDomainQuadMeshing for 2d geometry 2020-09-11 09:05:53 +02:00
Matthias Hochsteger
24782ccc04 CSG2d Rectangle() - individual bc names 2020-09-09 17:07:36 +02:00
Matthias Hochsteger
caca0d4d08 Use __APPLE__ instead of TOGL_NSOPENGL 2020-09-09 13:04:21 +02:00
Matthias Hochsteger
00ce0a2769 DLL_HEADER for UserVisualizationObject functions 2020-09-09 11:58:38 +02:00
Matthias Hochsteger
4502c464a4 fix incopengl.hpp include on Windows (windows.h needed) 2020-09-09 11:45:36 +02:00
Joachim Schöberl
65761e7768 check copy_assignable also in copy-constructor 2020-09-09 07:03:12 +02:00
Joachim Schöberl
98697959dd check for copy_assignable 2020-09-09 06:31:03 +02:00
Joachim Schöberl
b2b8a15611 Array copy only if type is assignable 2020-09-08 23:00:03 +02:00
Christopher Lackner
218c4a531b fix uninizialized area and maybe deleted value being appended
pout3d may be deleted when array resizes, so copy it
2020-09-07 15:19:53 +02:00
Joachim Schöberl
a45cbd6f84 parallel pickling per default on 2020-09-04 14:47:56 +02:00
Christopher Lackner
e3f95528e0 throw if IdentifyBoundaries mapped point is outside of mesh 2020-09-03 11:06:34 +02:00
Matthias Hochsteger
585a2e086c read cgns - set domin/domout in FaceDescriptor 2020-09-01 22:55:10 +02:00
Matthias Hochsteger
2f18c2b1f7 Mesh::Mirror() 2020-09-01 20:50:03 +02:00
Matthias Hochsteger
a8a0b9d50b fix bc/mat names in CGNS reader 2020-09-01 17:36:08 +02:00
Christopher Lackner
a8062a6f36 fix missing initial value for offset in HashArchive 2020-09-01 11:59:37 +02:00
Matthias Hochsteger
20b82ae7af Merge branch 'csg2d' into master 2020-08-31 11:56:51 +02:00
Joachim Schöberl
0fe20c9dee set ParallelTop functions 2020-08-29 20:56:29 +02:00
Joachim Schöberl
0b74e3cbdc identify edges/faces without sub-group 2020-08-29 18:24:13 +02:00
Joachim Schöberl
aac584a5aa identify vertices without sub-group 2020-08-29 18:24:13 +02:00
Christopher Lackner
deab89adf8 add missing NGCORE_API and HashArchive & with const value 2020-08-29 16:19:45 +02:00
Christopher Lackner
55971b3dde HashArchive 2020-08-29 15:38:03 +02:00
Christopher Lackner
f45fbfd811 operator== and better archive for BitArray 2020-08-29 15:37:48 +02:00