Commit Graph

2848 Commits

Author SHA1 Message Date
Joachim Schoeberl
cad2391e34 unify MPI 2022-05-06 16:39:06 +02:00
Matthias Hochsteger
165947295e move ngtcl.hpp interface to meshing/visual_interface.hpp 2022-05-06 12:23:50 +02:00
Matthias Hochsteger
22e57a1159 Don't load gui libraries when importing netgen 2022-05-06 10:59:59 +02:00
Christopher Lackner
456cb927d1 make shape.solids.maxh = ... consistent with solid.maxh = ... 2022-05-05 18:09:42 +02:00
Christopher Lackner
a04b7b5d5d __ge__ and __le__ operator for DirectionalInterval 2022-05-05 17:32:25 +02:00
Matthias Hochsteger
b694b4667a rework build system, separate gui and non-gui code
move fieldlines code to meshing dir

move visualization function pointers to meshing directory

DLL_HEADER -> NGGUI_API in visualization lib

move soldata.hpp to meshing

update occ, no freetype necessary anymore
2022-05-05 14:39:31 +02:00
Matthias Hochsteger
233dba2408 handle multiple closesurface identifications correctly 2022-05-05 11:21:48 +02:00
Joachim Schoeberl
326e313d75 copy-ctor for head-tail array with generic types 2022-05-02 08:42:07 +02:00
Joachim Schoeberl
6a8050998b shape comparison macro 2022-05-01 11:56:22 +02:00
Joachim Schoeberl
bf22f8d4df fix shared loop: in rare cases elements have been called twice 2022-04-30 10:39:26 +02:00
Joachim Schoeberl
aa00749f97 fix some deprecated 2022-04-29 13:05:38 +02:00
Joachim Schoeberl
ab7f1be9ab fix topology for deprecated functions 2022-04-29 12:23:26 +02:00
Joachim Schoeberl
f082d89326 fix deprecaed in clusters 2022-04-29 12:06:05 +02:00
Joachim Schoeberl
712f6d4c87 no deprecated call in header 2022-04-29 07:20:52 +02:00
Joachim Schoeberl
25df08f7a4 fix deprecated 2022-04-29 07:20:52 +02:00
Matthias Hochsteger
6b36a2d9d8 load geometries from command line with python netgen executable 2022-04-28 10:46:49 +02:00
Joachim Schoeberl
bac314a666 fix range-check exception for 0-sized array 2022-04-26 23:26:19 +02:00
Joachim Schoeberl
41bd58dd31 paralleltop also in sequential version - only tye type 2022-04-26 23:10:49 +02:00
Joachim Schoeberl
cf6c69ed69 paralleltop also in sequential version - only tye type 2022-04-26 23:04:11 +02:00
Joachim Schoeberl
ab5b653133 paralleltop also in sequential version - only tye type 2022-04-26 22:58:02 +02:00
Joachim Schoeberl
76c0c52bed paralleltop also in sequential version 2022-04-26 22:45:08 +02:00
Joachim Schoeberl
fd77d17e2b MPI unification 2022-04-26 22:07:31 +02:00
Matthias Hochsteger
b62c7b30ef DLL_HEADER for fieldline code 2022-04-26 18:44:14 +02:00
Joachim Schoeberl
212c5dd130 dummy mpi-waitany for non-parallel 2022-04-26 16:54:18 +02:00
Joachim Schoeberl
eef95eed52 more mpi from ngcore 2022-04-26 16:28:52 +02:00
Matthias Hochsteger
d165d67765 fix build 2022-04-25 20:30:27 +02:00
Matthias Hochsteger
9ceb2baeaa make fieldlines code available in non-gui builds 2022-04-25 18:42:26 +02:00
Christopher Lackner
c39dbd443e Merge remote-tracking branch 'jzimmermann/master' 2022-04-25 11:06:21 +02:00
Joachim Schoeberl
e0b6562b99 polish topology 2022-04-22 22:39:06 +02:00
Joachim Schoeberl
2ee9dbeafd little cleanup 2022-04-21 17:59:23 +02:00
Joachim Schoeberl
1afcb30102 less copying 2022-04-21 17:16:26 +02:00
Joachim Schoeberl
054386388e less hash-table searching in buildedges 2022-04-21 16:25:52 +02:00
Joachim Schoeberl
0605097bdc Topology: use non-copying access functions, take care of 0/1 - based indexing 2022-04-21 12:28:56 +02:00
Joachim Schoeberl
6fd99a5a29 some modernization of Topology 2022-04-21 11:37:38 +02:00
Julius Zimmermann
4df5ed1536 denser syntax in occ file 2022-04-21 10:26:27 +02:00
Julius Zimmermann
267959967d add message level and check notation of unv file only for first line 2022-04-21 10:25:57 +02:00
Christopher Lackner
27a6d29187 fix occ closesurfaces ending in a larger plane 2022-04-20 17:18:44 +02:00
Julius Zimmermann
6e18260ef7 Merge branch 'master' of github.com:j-zimmermann/netgen 2022-04-20 14:49:32 +02:00
Julius Zimmermann
ae28716366 add cone 2022-04-20 14:49:22 +02:00
Julius Zimmermann
718c876fa7 correct computation of shapes 2022-04-20 00:08:54 +02:00
Julius Zimmermann
eb8276c132
Merge branch 'NGSolve:master' into master 2022-04-20 00:01:15 +02:00
Matthias Hochsteger
5e977e819f refactor fieldlines code 2022-04-19 18:37:15 +02:00
Matthias Hochsteger
e4ff37887b Some fixes for odd SIMD sizes 2022-04-15 15:27:44 +02:00
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