Matthias Hochsteger
39cc7ae0a3
remove (outdated and untested) sequential optimization code
2022-04-15 10:36:20 +02:00
Matthias Hochsteger
63133b5058
return before building boundary edges
2022-04-15 10:30:38 +02:00
Matthias Hochsteger
7e8a547a91
fine grained parallelization when meshing multiple domains
2022-04-15 10:28:13 +02:00
Matthias Hochsteger
a7a5067830
Call FindOpenElements before each optimization step
2022-04-14 17:40:22 +02:00
Matthias Hochsteger
9cc6fc933d
evalute localh in multiple points and take average
...
- also apply combine improve (2d) in both directions
- new test results
2022-04-13 12:44:45 +02:00
Joachim Schöberl
ed0f400f09
Merge branch 'pickle_array' into 'master'
...
pickling of Array
See merge request jschoeberl/netgen!496
2022-04-12 05:25:56 +00:00
Joachim Schoeberl
9f9ad8fa2e
return mesh.Coordinates returns py::array
2022-04-12 07:21:14 +02:00
Joachim Schoeberl
c29e93dd2b
mesh point coordinates as numpy - array
2022-04-12 07:05:40 +02:00
Julius Zimmermann
adda364eaa
UNV interface with D notation for exponent
2022-04-11 17:52:35 +02:00
Christopher Lackner
8c7d69c1d1
setnextmayortimestamp in mesh.ZRefine
2022-04-11 13:05:14 +02:00
Christopher Lackner
0135559dd6
find edges by searching for segments in both directions
2022-04-11 13:04:56 +02:00
Christopher Lackner
a5ba7075e4
explicitly specify projection boundaries
2022-04-11 13:04:38 +02:00
Christopher Lackner
f95e039c22
fix boundarylayer growth type
2022-04-11 13:04:21 +02:00
Christopher Lackner
32cb8d546e
Restrict growth vector only taking boundary of domain into account
...
Else it will restrict too much
2022-04-08 14:01:01 +02:00
Christopher Lackner
b66f3039be
memory tracing only if actively enabled
2022-04-08 12:51:23 +02:00
Christopher Lackner
3b29d03227
pickling of Array
2022-04-05 15:08:52 +02:00
Joachim Schoeberl
e5056dcd57
output control
2022-04-02 10:37:26 +02:00
Joachim Schoeberl
4565c8ef79
rvalue Array+= allows for Array<int>({1,2,3})+={4,5}
2022-04-02 10:37:26 +02:00
Joachim Schoeberl
409c460d2f
fix non-default SIMD-size
2022-04-02 10:37:26 +02:00
mhochsteger@cerbsim.com
88f74fd6f2
boundarylayer - limit height
2022-03-31 21:12:43 +02:00
Christopher Lackner
d36b3d8b4e
[occ] inner point of surface -> surface mesh
2022-03-30 12:47:07 +02:00
Christopher Lackner
046443259e
[occ] gp_GTrsf for anisotropic trafos
2022-03-28 18:34:22 +00:00
Matthias Hochsteger
132261ec4d
Merge remote-tracking branch 'StefanBruens/fix_switch_enum'
2022-03-28 18:29:32 +02:00
Matthias Hochsteger
d6b6fc38a8
Fix leftover "Identifyable" from last commit
2022-03-28 17:45:00 +02:00
luz paz
4033fac1b3
Fix various typos
...
Found via `codespell -q 3 -S ./external_dependencies/pybind11 -L alledges,allright,ane,anormal,ans,apoints,ba,boxs,cancle,childs,co-ordinate,co-ordinates,daty,enty,filld,hel,identifyable,ist,linz,lod,ned,nd,selt,statics,suround,thev,thist,thisy,timere,upto,wel`
2022-03-25 18:22:05 -04:00
Matthias Hochsteger
dcda14e6e7
fix occ identifications
2022-03-24 16:54:40 +01:00
Matthias Hochsteger
08f2835d8a
DLL_HEADER
2022-03-23 16:44:49 +01:00
mhochsteger@cerbsim.com
54dde2a10f
fix PajeTrace context manager
2022-03-21 22:12:21 +01:00
Joachim Schoeberl
aa206c7bae
debug output with less priority
2022-03-18 08:21:03 +01:00
Joachim Schoeberl
4bad16744b
wrapper for mpi-gather to ngscore
2022-03-18 08:20:20 +01:00
Christopher Lackner
c822caafe7
[occ] create solid from faces
...
Needs shape consisting of topologically closed faces, for example from
Solid(Glue(list_of_faces))`
2022-03-17 11:58:11 +01:00
mhochsteger@cerbsim.com
94bd713310
Merge remote-tracking branch 'stefanbruens/fix_aarch64_uint_mask'
2022-03-16 10:27:43 +01:00
Joachim Schoeberl
7791840a4a
little mpi cleanup, meshing+distribution in one call
2022-03-15 09:13:09 +01:00
mhochsteger@cerbsim.com
2136269175
Link libstdc++fs when compiling with gcc 8
2022-03-14 18:10:47 +01:00
Christopher Lackner
842780feec
if only 1 locahl tree is set use the global one on all layers
2022-03-14 14:20:31 +01:00
mhochsteger@cerbsim.com
154302605f
separate localh trees for different layers
...
currenlty used in OCC geometries generated with
shape = netgen.occ.Compound(list_of_shapes, separate_layers=True)
2022-03-10 19:04:46 +01:00
Christopher Lackner
eea8054af6
add flag grow edges to python export of BoundaryLayers
2022-03-10 12:07:07 +01:00
mhochsteger@cerbsim.com
b76ea76219
restructure BoundaryLayer code
2022-03-09 13:15:48 +01:00
mhochsteger@cerbsim.com
1e6ab35f4d
Fix return value of ProjectPointGI
2022-03-07 21:08:04 +01:00
mhochsteger@cerbsim.com
679942033e
thread safe ExtrusionFace :: CalcProj
2022-03-07 20:59:24 +01:00
mhochsteger@cerbsim.com
262fec4601
CombineImprove2D - project only for edge points
2022-03-07 20:59:24 +01:00
mhochsteger@cerbsim.com
0a99c169b6
fix missing return value
2022-03-07 20:59:24 +01:00
Christopher Lackner
21b263a0ba
[occ] fix boundarylayer + curve
2022-03-07 17:25:41 +01:00
mhochsteger@cerbsim.com
8dd4c0c9e3
boundarylayer - calculate edge tangents on the fly
2022-03-07 17:24:36 +01:00
mhochsteger@cerbsim.com
97b9dae812
preserve Geometry after generating boundary layer
2022-03-07 16:04:21 +01:00
Matthias Hochsteger
8b8900e21d
Merge branch 'boundarylayer_updates' into 'master'
...
Boundarylayer updates
See merge request jschoeberl/netgen!488
2022-03-07 12:53:51 +00:00
Christopher Lackner
2ffd3b6589
fix edge interpolation of growthvectors in boundarylayer
...
(now without geometry)
2022-03-07 12:17:05 +01:00
Joachim Schoeberl
c4b679ec5a
fix AllReduce (array)
2022-03-05 12:21:28 +01:00
Joachim Schoeberl
2b9d4596ae
AllReduce for Arrays
2022-03-05 11:42:00 +01:00
mhochsteger@cerbsim.com
8e861d1773
generic implementation of InterpolateSurfaceGrowthVectors
2022-03-04 16:32:15 +01:00
mhochsteger@cerbsim.com
f0b10d696e
preserve volume elements in DivideMesh()
2022-03-04 15:46:29 +01:00
mhochsteger@cerbsim.com
d2348a7651
optimize occ surfaces individually again, update test results
2022-03-02 15:42:44 +01:00
Matthias Hochsteger
c6c8f52878
Merge branch 'fix_parallel_optimize2d' into 'master'
...
Fix parallel optimize2d
See merge request jschoeberl/netgen!487
2022-03-02 14:11:21 +00:00
mhochsteger@cerbsim.com
43382d4be8
fix parallel surface optimization with occ
2022-03-02 14:58:39 +01:00
mhochsteger@cerbsim.com
4e8fe77098
fix some warnings
2022-03-02 14:14:38 +01:00
Christopher Lackner
9730a383fd
geo vertices as pointelements not locked points
2022-03-02 11:34:02 +01:00
mhochsteger@cerbsim.com
36440970fb
boundarylayer - some more fixes on growth vector interpolation
2022-03-01 21:21:09 +01:00
Christopher Lackner
e8c9d8e1fc
really interpolate only tangential part...
2022-03-01 14:56:01 +01:00
Christopher Lackner
13a0b78e26
interpolate only tangential part of growth vector
2022-03-01 14:34:18 +01:00
Christopher Lackner
016b1692e2
fix point type of geo vertices (FIXEDPOINT) -> locked points
2022-03-01 13:23:06 +01:00
mhochsteger@cerbsim.com
bcedbfd189
Interpolate growth vectors only with OCC geometry
2022-02-28 21:34:18 +01:00
Christopher Lackner
3a86103392
interpolate tangential part of growth vector along edge
2022-02-28 17:41:18 +01:00
mhochsteger@cerbsim.com
dabb3b9dbf
Interpolate growth vectors on surfaces
...
also:
- clean up delaunay2d code (Use Point<2>, remove comments)
- implement CalcWeights() used to interpolate data from boundary points
to surface points
2022-02-28 17:41:18 +01:00
Christopher Lackner
2d70263cda
boundarylayers - don't project on not-in-surface-direction
2022-02-25 12:08:24 +01:00
Christopher Lackner
d6770fda0c
allow quad dominated meshing of faces
2022-02-25 10:50:51 +01:00
mhochsteger@cerbsim.com
0379b737eb
copy hglob, hmin, maxhdomain in Mesh::operator=
2022-02-25 10:00:41 +01:00
mhochsteger@cerbsim.com
7f5b288c51
fix GenerateBoundaryLayer for new OCC meshes with single segments (not one segment per adjacent face)
2022-02-24 19:28:34 +01:00
mhochsteger@cerbsim.com
231c6870d9
respect localh in CombineImprove()
2022-02-23 21:23:41 +01:00
mhochsteger@cerbsim.com
922a0c5c86
fix 2d edge swapping
2022-02-23 21:23:37 +01:00
mhochsteger@cerbsim.com
fe838fbd75
fix ToLower()
2022-02-23 19:16:30 +01:00
Joachim Schöberl
afa018049b
Merge branch 'use_filesystem_path' into 'master'
...
use std::filesystem::path
See merge request jschoeberl/netgen!480
2022-02-23 13:34:23 +00:00
Christopher Lackner
ea7e980c8d
[occ] ZRefinement
2022-02-23 12:22:19 +01:00
mhochsteger@cerbsim.com
cf59f297a7
use std::filesystem::path
2022-02-23 11:56:00 +01:00
Joachim Schoeberl
1a44d665bb
returns mesh-data as Array (rather than std::vector)
2022-02-21 13:06:00 +01:00
mhochsteger@cerbsim.com
eceb83171f
allow implicit conversion from py::list to Array<>
2022-02-21 12:02:30 +01:00
mhochsteger@cerbsim.com
d3e0ae6fd7
use ngcore pybind list caster only for non-numpy types
...
we should Array<T> for all numpy dtypes T
2022-02-21 11:18:19 +01:00
mhochsteger@cerbsim.com
775b97f6b3
utility functions for webgui
2022-02-18 20:11:58 +01:00
mhochsteger@cerbsim.com
daa2c69714
fix parsing cd3names
2022-02-16 19:52:49 +01:00
Joachim Schoeberl
bb44c7b0c3
fix warnings
2022-02-16 13:37:32 +01:00
mhochsteger@cerbsim.com
17e845df29
fix rpath of pyngcore
2022-02-16 09:44:00 +01:00
Matthias Hochsteger
d2378d9781
pyngcore as package (staying backward compatible)
2022-02-16 09:27:02 +01:00
mhochsteger@cerbsim.com
15efa3a8b7
DLL_HEADER for LocalH
2022-02-15 20:39:24 +01:00
Joachim Schöberl
cf8a6639a3
Merge branch 'fix_parallel_surfaceopt' into 'master'
...
fix parallel surface optimization
See merge request jschoeberl/netgen!476
2022-02-15 19:18:22 +00:00
mhochsteger@cerbsim.com
a68cd9f89a
fix parallel surface optimization
...
update test results
2022-02-15 19:09:53 +01:00
Christopher Lackner
4ebaefd10a
add meshing parameter giveuptolopenquads
2022-02-15 09:38:20 +01:00
Christopher Lackner
c856f9ae6e
Merge branch 'master' into free_pyramids
2022-02-15 09:15:11 +01:00
Christopher Lackner
e2040ae953
[occ] also keep color in merge if already set from shape
2022-02-14 18:24:02 +01:00
Christopher Lackner
3ee29a1ace
[occ] overwrite shape property name only if not already set in merge
2022-02-14 18:07:00 +01:00
Joachim Schoeberl
6b28275b88
double conversion on C++ side
2022-02-13 19:02:51 +01:00
Joachim Schoeberl
ff8708d76b
preallocate memory
2022-02-13 17:29:53 +01:00
Joachim Schoeberl
5d624e3078
reading via meshio
2022-02-13 16:31:55 +01:00
mhochsteger@cerbsim.com
2ce4412fb2
no periodic in bspline surface builder on OCC 7.3
2022-02-11 18:19:50 +01:00
Joachim Schoeberl
67c031cb77
fix unused-variable warning
2022-02-11 15:08:59 +01:00
Joachim Schoeberl
79ff65d224
added SIMD-wrapper for 'erf'
2022-02-11 13:56:28 +01:00
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