Commit Graph

1588 Commits

Author SHA1 Message Date
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
Joachim Schoeberl
eef95eed52 more mpi from ngcore 2022-04-26 16:28:52 +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
Christopher Lackner
27a6d29187 fix occ closesurfaces ending in a larger plane 2022-04-20 17:18: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 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
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
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
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
Joachim Schoeberl
aa206c7bae debug output with less priority 2022-03-18 08:21:03 +01:00
Joachim Schoeberl
7791840a4a little mpi cleanup, meshing+distribution in one call 2022-03-15 09:13:09 +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
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
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
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
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
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
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
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
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
00e6d1d077 occ - fix bug in edge identification 2021-12-20 10:42:26 +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
329364e8e2 occ - set domin/domout for edges in 2d meshes 2021-12-07 14:52:06 +01:00
mhochsteger@cerbsim.com
b8b802de6b allow implicit convertion int->identifications type 2021-12-06 10:59:09 +01:00
mhochsteger@cerbsim.com
f5b7e27e5d save FaceDescriptors in mesh file 2021-12-03 14:54:39 +01:00
mhochsteger@cerbsim.com
c0d6f1588d occ - closesurface identification (prisms) 2021-11-30 20:26:26 +01:00
mhochsteger@cerbsim.com
1818ffd152 occ - fix meshing in parameter space, fix edge curve parameters 2021-11-29 16:04:26 +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
Matthias Hochsteger
16b88e8e67 OCC Mesher Cleanup 2021-11-28 15:14:41 +00:00
Christopher Lackner
3c4fe43fcc Fix loading of short mesh file names 2021-11-18 08:48:09 +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
Joachim Schoeberl
478aaf7788 little polish 2021-11-07 00:16:57 +01:00
Joachim Schoeberl
50398c18c4 simplify edge/face-id types (just an int) 2021-11-06 15:52:35 +01:00
Joachim Schoeberl
bd564931f8 strings in FaceDescriptor (instead of ptrs) 2021-11-06 12:22:44 +01:00
Matthias Hochsteger
dc57935468 include gzsteram.h only where needed 2021-10-21 10:25:40 +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 Schoeberl
f38d258d15 Mirror mesh: invert surface elements, update num vertices 2021-10-15 09:00:26 +02:00
Joachim Schoeberl
6aa2d07f9e fix warning 2021-10-11 14:56:53 +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
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
Christopher Lackner
bd29763b16 Add std::any to py::object caster for archive registered types 2021-09-28 22:34:11 +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
Joachim Schoeberl
375eb541e9 remove test-output 2021-09-21 14:39:35 +02:00
Joachim Schoeberl
781ea7103e FaceDescriptor array to Python 2021-09-10 12:42:41 +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
b2afad9aec output control 2021-09-07 07:36:21 +02:00
Joachim Schoeberl
e9fc5f12a1 check overlapping boundaries for sub-domains 2021-09-01 21:05:12 +02:00
Matthias Hochsteger
1774db10ff fix OpenFOAM export (untested) 2021-08-23 14:40:36 +02:00
Joachim Schoeberl
9d2a436749 changing mesh-dimension from 3 to 2 moves names 2021-08-15 13:13:11 +02:00
Michael Neunteufel
c0d9f3d95b Meshpnt surfacemesh 2021-07-25 07:47:25 +00: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
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
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
Matthias Hochsteger
34629749d6 Merge remote-tracking branch 'origin/master' into parallel_meshing 2021-06-25 17:32:16 +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
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
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
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
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
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 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
Joachim Schoeberl
abb2e43ccb optimize parallel load 2021-06-08 19:08:14 +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
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
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
Joachim Schoeberl
9389ecdf62 rename to GenerateStructuredMesh for not intending to override 2021-05-30 19:41:23 +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
Joachim Schoeberl
9033de843b uniform refinement for quads 2021-04-18 17:53:26 +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
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
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
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
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
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
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
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
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
1d9281f412 localh as shared_ptr in mesh 2021-02-05 12:10:22 +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
Christopher Lackner
18dc32c51a Add RestrictHLine function in Python 2021-01-26 15:33:21 +01:00
Christopher Lackner
d1d3253408 throw if optimize2d is called without geometry 2021-01-26 11:23:46 +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
Christoph Wintersteiger
657360818d rewrite loop to avoid index correction 2020-12-02 17:51:47 +01:00
Matthias Hochsteger
1c6051371e updateSignal for Mesh class 2020-11-27 16:40:17 +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
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
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
Matthias Hochsteger
b00c56a012 mem tracing - set name for tempmesh in delaunay 2020-11-19 14:58:16 +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
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
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
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
a2a2da13dc debug messages in hp refinement 2020-10-19 19:30:30 +02:00
Matthias Hochsteger
389280fc0c debug output 2020-10-19 16:55:49 +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
f55e3e6eb4 move DelaunayTree to adtree.hpp 2020-10-14 12:00:37 +02:00
Christopher Lackner
70347a6d3c tuple implicitly convertible to Pnt and Vec 2020-09-29 18:57:56 +02:00
Joachim Schöberl
b124b7bd06 keep global vertex enumeration on coarse grid 2020-09-21 07:49:56 +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
Christopher Lackner
e3f95528e0 throw if IdentifyBoundaries mapped point is outside of mesh 2020-09-03 11:06:34 +02:00
Matthias Hochsteger
2f18c2b1f7 Mesh::Mirror() 2020-09-01 20:50:03 +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
Joachim Schöberl
c8b8b3ddd3 modernize paralleltop 2020-08-29 11:05:02 +02:00
Joachim Schöberl
f8dd4be8d6 modernize ParallelTopology 2020-08-29 09:36:46 +02:00
Joachim Schöberl
fcee13be59 modernize paralleltop 2020-08-28 21:28:18 +02:00
Joachim Schöberl
122a933965 parallel enumerate after refinement 2020-08-28 08:57:30 +02:00
Joachim Schöberl
9968037361 move semantics to table, PNums to LineSegments 2020-08-28 08:47:33 +02:00
Joachim Schöberl
78d0479993 can convert to mpi4py - communicator 2020-08-25 18:18:45 +02:00
Joachim Schöberl
895280a244 littel parallel polishing 2020-08-21 16:29:33 +02:00
Matthias Hochsteger
e2768981f1 implicit conversion from py::tuple to Point<2> 2020-08-20 18:28:03 +02:00
Joachim Schöberl
2c6e0e2bec global enumeration of points for pickling (as an option) 2020-08-19 19:28:34 +02:00
Joachim Schöberl
5e09626466 parallel pickling with mesh-merging 2020-08-19 14:50:11 +02:00
Joachim Schöberl
33626c6669 clear solutiondata object on python-exit 2020-08-17 15:55:32 +02:00
Joachim Schöberl
0fefe5d32c timers in Netgen 2020-08-10 16:44:14 +02:00
Joachim Schöberl
3c8f1877c9 more mpi calls from ngcore 2020-08-05 01:11:26 +02:00
Joachim Schöberl
3864eb2e35 use MPI_DATAYPE_NULL thx stefanozampini 2020-08-04 23:50:11 +02:00
Joachim Schöberl
42a01b5c21 use MPI_DATAYPE_NULL thx stefanozampini 2020-08-04 23:36:34 +02:00
Matthias Hochsteger
7dbd9e6b54 CGNS write support 2020-08-04 21:06:56 +02:00
Matthias Hochsteger
4682e6915c remove FlatArray for C-Array, use ArrayMem 2020-08-04 12:59:03 +02:00
Joachim Schöberl
698192ed72 FlatArray for C-array 2020-08-03 14:45:32 +02:00
Joachim Schöberl
94bed40761 modernize parallelmesh (Array, mpi_wrapper) 2020-08-03 00:44:28 +02:00
Joachim Schöberl
ba84439227 NgMPI_Communicator by reference, check for valid mpi-comm 2020-08-02 09:25:44 +02:00
Joachim Schöberl
c074e0c752 reduce duplicated mpi-wrapping 2020-07-31 09:57:19 +02:00
Joachim Schöberl
c5795aade8 too much printing in parallel refinement 2020-07-30 12:31:33 +02:00
Matthias Hochsteger
eb75bc31a6 mpi4py support 2020-07-29 17:23:26 +02:00
Matthias Hochsteger
ae268637cf revert pyramid-specific code in optimizations 2020-07-27 18:06:43 +02:00
Matthias Hochsteger
c0b8b1c0cc Parallel SplitImprove2, update test results
Due to prallelization, the order of splits is changed (sort by
    improvement of badness, like in other optimization passes)
2020-07-27 14:26:45 +02:00
Matthias Hochsteger
0a17a3dbce Merge remote-tracking branch 'origin/master' into splitimprove2 2020-07-27 11:55:08 +02:00
Matthias Hochsteger
3305d1101a Store Netgen version in generated mesh files 2020-07-23 20:12:47 +02:00
Matthias Hochsteger
2f88502729 Remove Segment::bcname, fix Mesh::operator=
Remap the 'string* bcname' members in the FaceDescriptor objects in
Mesh::operator= to the new mesh
2020-07-23 16:24:59 +02:00
Matthias Hochsteger
b689d13efe SplitImprove2 - optimize only bad elements, update results 2020-07-23 13:18:14 +02:00
Matthias Hochsteger
3fae0e029f activate SplitImprove2 by default 2020-07-23 12:26:35 +02:00
Matthias Hochsteger
bb46dd6561 Handle pyramids in smoothing 2020-07-23 12:26:22 +02:00
Matthias Hochsteger
e17de17385 SplitImprove2 - further cleanup, handle Pyramids 2020-07-23 12:26:07 +02:00
Matthias Hochsteger
df97e45bd1 SplitImprove2 - cleanup, new point at min dist of edges 2020-07-20 18:56:36 +02:00
Matthias Hochsteger
abe37bf12a SplitImprove2 - cleanup, badness calculation, add point only when applying optimization 2020-07-20 12:11:29 +02:00
Matthias Hochsteger
a0a189869e SplitImprove2 optimization path 2020-07-17 18:17:09 +02:00
Christopher Lackner
b37a3e6cf6 comment code for non orthogonal boundarylayers
(not working if multiple surfaces come together)
2020-07-17 18:00:38 +02:00
Matthias Hochsteger
ce8ba71f33 Fix SwapImprove 2020-07-15 17:26:39 +00:00
Christopher Lackner
ec3d7c3ec9 boundarylayer fixes 2020-07-14 21:30:26 +02:00
Christopher Lackner
fdd718739f further work on boundarylayers
better calculation of growthvector, fix bug with addsegment
2020-07-03 19:51:06 +02:00
Christopher Lackner
88674cd99b add some new quad types for boundarylayer, fix problem
with multiple boundaries at 1 edge
2020-07-01 19:40:44 +02:00
Joachim Schöberl
1d96e50432 Merge branch 'surface_geom' into 'master'
Surface geom

See merge request jschoeberl/netgen!324
2020-06-24 06:41:55 +00:00
Michael Neunteufel
1a619841b2 Surface geom 2020-06-24 06:41:55 +00:00
Christopher Lackner
177ecc7459 Allow curving of mesh if boundarylayer is flat.
If surfnr is larger than nr of surfaces then do linear interpolation
for PointInBetween and so on.
Some fixes in boundarylayer so that surface numbers are correct.
2020-06-24 06:41:06 +00:00
Joachim Schöberl
3b5c346e63 proper terms 2020-06-17 19:11:17 +02:00
Christopher Lackner
ac45a5f736 add more information to illegal bc number exception 2020-06-16 13:54:13 +02:00
Christopher Lackner
6a834f13ac fix boundary names for boundarylayer 2020-06-16 13:53:36 +02:00
Matthias Hochsteger
d08e2daa06 Do edge swapping for faces individually with tensor product meshes
If the mesh contains quads, the edge swapping algorithm switches to
generic improve, which introduces quads everywhere. This is not intended
if one domain contains a tensor product mesh.
Thus, call the optimizer for each face if mesh contains quads but mp.quad
is not set.
2020-06-08 10:42:26 +02:00
Matthias Hochsteger
267e8b33fb cmake - use git to generate version string 2020-05-18 15:55:40 +02:00
Christopher Lackner
97baba04a0 fix growthvector direction 2020-04-25 11:15:36 +02:00
Christopher Lackner
d752ada2bd improve functionality of boundarylayer 2020-04-23 15:44:32 +02:00
Christopher Lackner
16ae2df980 std::get for variant not available on mac os < 10.14 2020-04-20 10:09:26 +02:00
Christopher Lackner
58e6e5dc18 modernize and improve GenerateBoundaryLayer 2020-04-19 20:00:06 +02:00
Michael
cb015c95d0 export update method for mesh 2020-03-30 20:44:39 +02:00
Christopher Lackner
1f78f900dd mesh identify periodic for non tet meshes 2020-03-19 18:12:55 +01:00
Christopher Lackner
ff60ca3f55 fix identify periodic 2020-03-17 15:32:42 +01:00
Christopher Lackner
b8d313f056 identify periodic boundaries 2020-03-15 18:02:50 +01:00
Matthias Hochsteger
db5ad09b79 Initial CGNS format read support 2020-03-11 13:39:40 +01:00
Christopher Lackner
7d5bd32b36 remove new rule again (old was sufficient) 2020-02-17 17:34:38 +01:00
Christopher Lackner
e007f6310e add new rule for large pyramids if no close ones are found.
Also allow to connect with lower quality class already in pyramid2rls
2020-02-17 16:52:33 +01:00
Matthias Hochsteger
df0b19275b Update rules to match cpp files, regenerate cpp files 2020-02-17 15:21:54 +01:00
Matthias Hochsteger
34ac3b200d HPRefinement: curve new elements only if coarse el was curved 2020-02-11 16:04:13 +01:00
Matthias Hochsteger
dff550a48c Curve new elements in HPRefinement
Use correct check for curvature of TRIGs in VSSolution
2020-02-11 14:42:16 +01:00
Joachim Schöberl
0209472ef6 csg.AddPoint with names 2020-01-15 11:56:23 +01:00
Joachim Schöberl
3ece315bd0 circumventing compiler bug ? 2020-01-13 21:19:09 +01:00
Matthias Hochsteger
e26f0f38f4 Handle triangles correctly in BuildEdgeList() 2020-01-10 17:58:37 +01:00
Joachim Schöberl
77d0fbfcd5 compress after 2d optimization 2020-01-08 23:27:59 +01:00
Matthias Hochsteger
2d97eeaa77 Fix Windows debug build 2019-12-13 15:40:12 -08:00
Christopher Lackner
79b1d22185 some more python Vec and Pnt arithmetic 2019-12-10 14:04:53 +01:00
Joachim Schöberl
64171d203b fix copy ctor HPRefElement 2019-12-06 16:05:08 +01:00
Joachim Schöberl
e5ead2065b get rid of 10000 segments limit in hp-refinement 2019-12-04 17:33:16 +01:00
Matthias Hochsteger
2eff09cc41 Set geometry in Mesh assignment operator
Sets the geometry in coarsemesh in HPRefinement()
Fixes #22
2019-11-29 12:35:55 +01:00
Matthias Hochsteger
05e6456ec2 Vec3d to Vec<3>, comparison operator for Vec<> 2019-11-27 14:47:24 +01:00
Matthias Hochsteger
f3d9d3ad67 [cmake] Don't link python libraries in unix-conda environment
Conda links python libs statically to python executable
2019-11-26 19:26:18 +00:00
Matthias Hochsteger
9ccb140ffb [python] add color property to FaceDescriptor 2019-11-26 17:50:06 +01:00
Christopher Lackner
6303b9d926 some default implementations for basegeometry 2019-11-18 11:14:02 +01:00
Christopher Lackner
b99e37999f fixes for mac and windows 2019-11-05 15:19:54 +01:00
Christopher Lackner
073e215bb6 add closeedge meshsize to base geometry (not used)
closedgefac moved to meshingparameters for this
2019-11-04 19:34:46 +01:00
Christopher Lackner
1b1c4700ad geo GetNormal and ProjectPointEdge with geoinfo pointer 2019-11-04 11:27:01 +01:00
Christopher Lackner
6c012675aa project point without geominfo returns new geominfo 2019-10-31 17:08:29 +01:00
Christopher Lackner
1e3ed047db progress for analyse geometry 2019-10-31 15:25:47 +01:00
Christopher Lackner
249d785084 progress bars for find edges, mesh surface,... 2019-10-31 15:17:28 +01:00
Christopher Lackner
fbf6d92895 clean up geometry interface, fix if number of subdivided edges was not correct 2019-10-31 13:34:40 +01:00
Matthias Hochsteger
9fdd28e3b8 Compress mesh in SwapImprove2 2019-10-30 16:09:04 +01:00
Matthias Hochsteger
17b6c83499 Remove debug output 2019-10-30 09:09:57 +01:00
Joachim Schöberl
608a813295 Merge branch 'rework_splitimprove' into 'master'
Rework on 3D SplitImprove

See merge request jschoeberl/netgen!291
2019-10-29 18:57:55 +00:00
Matthias Hochsteger
3acadc023f Rework on 3D SplitImprove
- Try (expensive) split operation only if badness > 100 (of any adjacent
        tet) and badness > 0.1 * badness_max
- Use FindInnerPoint before BFGS to ensure valid starting point (similar
        as in ImproveMesh() )
- Skip valid tets if goal==OPT_LEGAL (as in sequential version)
2019-10-29 17:58:37 +01:00
Matthias Hochsteger
69a420aacb Don't include python headers in non-python builds 2019-10-29 16:11:03 +01:00
Christopher Lackner
aa580e4025 add timer and little cleanup in not yet used findedges 2019-10-29 11:37:27 +01:00
Christopher Lackner
a76d407979 implement functionality to restrict meshsize in base class
not yet used in any derived geometry
2019-10-28 19:58:35 +01:00