Commit Graph

1554 Commits

Author SHA1 Message Date
Matthias Hochsteger
4417b17d12 Fix order of members in MeshOptimize3d 2024-03-01 20:35:49 +01:00
Matthias Hochsteger
9a8796043d more 2024-03-01 12:01:08 +01:00
Matthias Hochsteger
4a95414ec8 Merge remote-tracking branch 'origin/master' into boundarylayer_fixes 2024-02-29 09:45:11 +01:00
Matthias Hochsteger
ccafd3bd63 more 2024-02-28 18:08:08 +01:00
Matthias Hochsteger
f97aafb162 something 2024-02-28 15:24:09 +01:00
Matthias Hochsteger
13867ef1a0 Extra optimization steps for bad elements 2024-02-28 10:07:57 +01:00
Matthias Hochsteger
855ee34224 some more 2024-02-26 09:09:42 +01:00
Matthias Hochsteger
6be1c57999 Call CalcTotalBad only if testout is active 2024-02-23 18:26:07 +01:00
Matthias Hochsteger
0d481b1104 Use badness stored in Element 2024-02-23 18:20:14 +01:00
Matthias Hochsteger
d3ea87bd1e Store mesh and goal im MeshOptimize3d 2024-02-23 17:42:06 +01:00
Matthias Hochsteger
23c6b96b47 Move RemoveIllegalElements to MeshVolume() 2024-02-23 17:39:43 +01:00
Matthias Hochsteger
e5b544e02b Don't optimize when goal==OPT_LEGAL and all affected elements are legal 2024-02-23 17:01:40 +01:00
Matthias Hochsteger
cc8d6a3a35 some tryout 2024-02-20 10:25:31 +01:00
Matthias Hochsteger
86d47b5614 Merge remote-tracking branch 'origin/master' into boundarylayer_fixes 2024-02-19 09:23:33 +01:00
Matthias Hochsteger
4e31878f89 Utility function to split faces when they have more than two adjacent domains 2024-02-14 09:46:39 +01:00
Christopher Lackner
8e94de7a73 fix isendpoint check in boundarylayer code 2024-02-13 13:01:42 +01:00
Christopher Lackner
803eb73d2d allow internal edges on boundarylayer (for sphere, ellipsoid) 2024-02-13 09:35:44 +01:00
Matthias Hochsteger
cee5d55b7d Fix dangling reference in ZRefinement 2024-02-12 07:12:17 -08:00
Hochsteger, Matthias
dfaf270670 Remove windows.h include where possible. 2024-02-12 11:57:54 +01:00
Joachim Schoeberl
c87aea14eb rename INT to IVec (avoiding windows name conflict) 2024-02-12 07:36:26 +01:00
Schöberl, Joachim
b88535621f Removewinheader 2024-02-11 11:02:18 +01:00
Matthias Hochsteger
b8267d046e Remove debug output 2024-02-09 15:40:05 +01:00
Matthias Hochsteger
dd68bae1a3 Merge remote-tracking branch 'origin/master' into boundarylayer_fixes 2024-02-09 12:01:54 +01:00
Matthias Hochsteger
852f5bf32e Remove debug output, identify points only when needed, fix compress with
identified points
2024-02-09 12:01:28 +01:00
Christopher Lackner
282c3e5c0a fix glued point in sphere (was removed by compress) 2024-02-07 15:05:03 +01:00
Joachim Schoeberl
adbdf194e0 fix Powell-Sabin split 2024-02-06 21:41:15 +01:00
Matthias Hochsteger
93590c8407 Merge remote-tracking branch 'origin/master' into boundarylayer_fixes 2024-02-05 10:08:32 +01:00
Christopher Lackner
45362b588b dont curve faces with boundarylayers 2024-01-31 15:13:20 +01:00
Christopher Lackner
e155700bc3 throw if surface is extruded that is not named (if map surface-> new
mat is given)
2024-01-31 12:27:03 +01:00
Matthias Hochsteger
3d46d7e439 try to compress identifications 2024-01-19 17:51:46 +01:00
Matthias Hochsteger
fd946dca7d Remove unused variable 2024-01-19 09:21:56 +01:00
Matthias Hochsteger
10377be7d7 Don't do mesh smoothing at non-tet elements 2024-01-19 09:21:22 +01:00
Matthias Hochsteger
4e30c0dd64 Merge remote-tracking branch 'origin/master' into boundarylayer_fixes 2024-01-19 08:50:22 +01:00
Joachim Schoeberl
5a4b89c1ed merge hp face-refinement with limiting fac2 2024-01-16 12:54:06 +01:00
Umberto Zerbinati
87c4e543ad Introduced fac2 to fix issue with face splits 2024-01-15 23:54:44 +00:00
Umberto Zerbinati
d2bba6cb3c Merging master 2024-01-15 22:50:49 +00:00
Umberto Zerbinati
00747fb947 Powell Sabin splits 2024-01-15 22:43:18 +00:00
Joachim Schoeberl
696620828f don't restrict refinement parameter in HPRefinement (more user responsibility) 2024-01-15 21:42:27 +01:00
Umberto Zerbinati
890f59b8b4 Exposed Alfeld splits 2024-01-15 11:42:00 +00:00
Matthias Hochsteger
459a6b1c59 Merge remote-tracking branch 'origin/master' into boundarylayer_fixes 2024-01-12 19:00:33 +01:00
Matthias Hochsteger
d09c00796b Merge remote-tracking branch 'origin/master' into boundarylayer_fixes 2024-01-08 10:38:12 +01:00
Matthias Hochsteger
ae749afa0b Remove warnings 2024-01-08 10:36:44 +01:00
Matthias Hochsteger
ce308a3373 some more bugfixing 2024-01-08 10:29:16 +01:00
Joachim Schoeberl
8362349bb8 fix metis warnings 2024-01-06 18:19:11 +01:00
Joachim Schoeberl
87b65fb5ff remove warnings 2024-01-05 20:07:04 +01:00
Matthias Hochsteger
e7b5eabdc3 Fixes in growth vector limitation 2024-01-04 14:34:18 +01:00
Matthias Hochsteger
be2d58ed33 something 2023-12-28 16:57:42 +01:00
Matthias Hochsteger
95d5e868dd cleanup 2023-12-28 16:57:42 +01:00
Matthias Hochsteger
f6bdb3ccb0 lshape example working (no limitation yet) 2023-12-28 16:57:42 +01:00
Matthias Hochsteger
dd337ce375 some more 2023-12-28 16:57:42 +01:00
Matthias Hochsteger
d6a3d875cc more 2023-12-28 16:57:42 +01:00
Matthias Hochsteger
96488d0626 some work 2023-12-28 16:57:42 +01:00
Matthias Hochsteger
9995549257 start from scratch
First step: intersect segment (p, p+growthvector) with surface elements
Second step: intersect segment with moved surface elements
    TODO: Need mutual reduction of growthvector (not just taking one
    intersection point)

    IDEA: Take plane with segment, intersection point and
    intersectionpoint-growthvector (need interpolation and barycentric
    coordinates to get point on original surface element)
    Then calculate in 2d how far one could go (depending on angle of two
    growthvectors)
2023-12-28 16:57:42 +01:00
Matthias Hochsteger
47ff7405a3 more 2023-12-28 16:57:42 +01:00
Matthias Hochsteger
57be10cbcf some ting 2023-12-28 16:57:42 +01:00
Matthias Hochsteger
35f084e9aa start rework 2023-12-28 16:57:42 +01:00
Matthias Hochsteger
7a0d7594c8 Boundarylayers - handle opposing normal vectors correctly 2023-12-28 16:57:42 +01:00
Christopher Lackner
fb211a5ee4 fix cake identification, allow until revolve axis 2023-12-28 11:11:48 +01:00
Matthias Hochsteger
a272a8d420 Init debugparam write_mesh_on_error with env variable NG_WRITE_MESH_ON_ERROR 2023-12-18 20:22:46 +01:00
Christopher Lackner
b4d0e5f8fc don't invert on periodic boundary (only if normal vectors do not match) 2023-12-04 11:01:10 +01:00
Christopher Lackner
3afdd80333 export parentelements to python 2023-11-28 21:30:57 +01:00
Joachim Schoeberl
69025e5ef4 return some nonsense for undefined element-type 2023-11-17 12:00:48 +01:00
Christopher Lackner
1d67567c02 export geom info of 2d elements 2023-11-16 14:00:37 +01:00
Matthias Hochsteger
b8fe52edf2 Fix build error 2023-11-06 17:38:11 +01:00
Matthias Hochsteger
5af59aba66 Export ReadMedit/WriteMedit 2023-10-24 10:41:27 +02:00
Matthias Hochsteger
73c2eded15 Fix edge case in BoundaryLayer 2d growth vector limitation 2023-10-13 14:03:58 +02:00
Matthias Hochsteger
987f0fcc07 Clean up user mesh format code 2023-10-12 19:04:40 +02:00
Joachim Schoeberl
4ed8f04e1c face refinement cases 2023-09-30 07:11:07 +02:00
Joachim Schoeberl
e742dc59b3 move AutoDiff to netgen 2023-09-29 10:56:16 +02:00
Joachim Schoeberl
7d409e6ec4 visualization of clipping plane for HEX7 2023-09-27 12:20:49 +02:00
Joachim Schoeberl
8d99756045 mapping of HEX7 2023-09-26 07:24:41 +02:00
Joachim Schoeberl
b5260849bb old style for loop :-( 2023-09-24 12:49:48 +02:00
Joachim Schoeberl
6db1c2d831 more (pyramid) cases 2023-09-24 11:26:53 +02:00
Joachim Schoeberl
d123c4a9f3 more hprefs 2023-09-23 21:23:33 +02:00
Joachim Schoeberl
103a9c8cb7 more singular-face cases implemented 2023-09-22 11:01:44 +02:00
Joachim Schoeberl
e0fa631ca9 hex7 elements 2023-09-21 00:14:37 +02:00
Joachim Schoeberl
b6071dd1e4 hp-refinement for singular tet-faces 2023-09-20 19:09:01 +02:00
Hochsteger, Matthias
d726b22561 Merge branch 'opt2d_fixes' into 'master'
Reset MeshTopology before 2d optimize

See merge request ngsolve/netgen!607
2023-09-18 14:15:32 +02:00
Matthias Hochsteger
960fe8a342 Reset MeshTopology before 2d optimize 2023-09-18 13:58:43 +02:00
Matthias Hochsteger
9cf7db65e3 DLL_HEADER for MeshTopology 2023-09-18 13:50:33 +02:00
Matthias Hochsteger
d069f57422 Pyodide fixes 2023-09-16 19:25:43 +02:00
Christopher Lackner
15ddc4294b marked elements now in BisectionInfo member of meshclass instead of global 2023-09-11 16:05:31 +02:00
Lackner, Christopher
24d79dbfdd Merge branch 'cleanup_netgen' into 'master'
move namespaces in meshing.hpp into headers

See merge request ngsolve/netgen!602
2023-09-05 17:56:55 +02:00
Matthias Hochsteger
fe37f7d0b2 Emscripten fixes 2023-09-05 17:13:29 +02:00
Christopher Lackner
cacd9948f4 general ClosedHashTable -> NgClosedHashtable to avoid conflict 2023-09-05 12:29:07 +02:00
Christopher Lackner
95ca834605 move namespaces in meshing.hpp into headers 2023-09-04 13:43:47 +02:00
Matthias Hochsteger
125c21b200 Boundarylayer limitation fixes
Squashed commit of the following:

commit a1007d6728c01343a321aa135c24bbb1d3e6f059
Author: vgeza <vg@cenos-platform.com>
Date:   Fri Sep 1 13:01:01 2023 +0300

    put back

commit 74b145cf7fb9bf36eae36e01c2cc6c7ab8f1504b
Author: vgeza <vgeza@users.noreply.github.com>
Date:   Fri Sep 1 12:44:06 2023 +0300

    Update smoothing

commit 18a2a95a61ac56db3274c669b91d2bbd8a84ec2f
Author: vgeza <vgeza@users.noreply.github.com>
Date:   Fri Sep 1 12:32:35 2023 +0300

    More restrictive fixes

commit cc715804ac8825909e2c0b4a86333c0c3fc29a80
Author: vgeza <vgeza@users.noreply.github.com>
Date:   Fri Sep 1 12:31:50 2023 +0300

    fix

commit 36a7b522c3e97745d4ff84de09df05dc766ddae7
Author: vgeza <vgeza@users.noreply.github.com>
Date:   Fri Sep 1 12:31:15 2023 +0300

    Update limits at the end of loop

Bounarylayer - safety parameter to limit maximum vector growth
2023-09-04 11:49:56 +02:00
Matthias Hochsteger
499c9086b0 Boundarylayer - check if all given faces are adjacent to selected domain 2023-09-04 10:42:45 +02:00
Joachim Schoeberl
74eff69410 singular edges/points to Python 2023-08-31 12:13:46 +02:00
vgeza
1276e64c8b Modified smooth 2023-08-29 14:10:53 +03:00
vgeza
d9173d5223 Enlarge triangle intersection check 2023-08-29 14:10:53 +03:00
vgeza
9c28bc2351 0th limiting step
fix commit
2023-08-29 14:10:52 +03:00
Hochsteger, Matthias
90729810d4 Archive with nondefault constructor 2023-08-28 10:02:22 +02:00
Joachim Schoeberl
927a76a490 alignment shouldn't be an issue anymore 2023-08-21 14:27:21 +02:00
Joachim Schoeberl
b053ddcd68 parent faces also in 2D 2023-08-20 21:54:09 +02:00
Joachim Schoeberl
e1f7935f0b fixing warnings 2023-08-05 12:01:01 +02:00
Joachim Schoeberl
a8e41734cf no warnings 2023-07-31 00:13:56 +02:00
Joachim Schoeberl
227b269b5c GetEdgeVertices -> tuple 2023-07-30 22:29:54 +02:00
Hochsteger, Matthias
11da083507 Emscripten support 2023-07-28 13:01:41 +02:00
Joachim Schoeberl
32320a48c1 fix (recent) edge index error 2023-07-28 07:08:47 +02:00
Joachim Schoeberl
d429540a47 fix warnings 2023-07-25 23:03:58 +02:00
Joachim Schoeberl
0752aa7def fix compiler warnings 2023-07-25 19:45:16 +02:00
Matthias Hochsteger
9ae05ab712 add mesh.bounding_box in Python 2023-07-25 12:11:13 +02:00
Matthias Hochsteger
356e78b809 Fix Point3d Python operators 2023-07-25 12:11:00 +02:00
Joachim Schoeberl
340c34bcf8 Access curved elements from Netgen-mesh 2023-07-20 10:36:19 +02:00
Joachim Schoeberl
ca5f562503 curved prism vertical edges 2023-07-13 06:00:33 -07:00
Joachim Schoeberl
93b39231c4 fix Alfeld typos 2023-07-12 18:24:19 -07:00
Joachim Schoeberl
06070d49f3 little cleanup 2023-07-12 17:31:14 -07:00
Joachim Schoeberl
5b19ea6451 enum for macro-based element splitting 2023-07-12 17:26:32 -07:00
Joachim Schoeberl
82e88f3afb Alefeld split hack 2023-07-12 10:50:03 -07:00
Christopher Lackner
8da01ff353 code for drawing occ identifications in webgui 2023-06-29 12:22:00 +02:00
Neunteufel, Michael
8288c66501 Bndlayer surfacegeom 2023-06-21 16:44:21 +02:00
Christopher Lackner
64f16e0e6f fix typo in center face 2023-06-20 14:28:17 +02:00
Matthias Hochsteger
e53d559740 Fix hashtable size in boundarylayer code 2023-06-20 12:45:01 +02:00
Matthias Hochsteger
2ad56cd7ef Add edge/face midpoints to bounding box in element search tree 2023-06-20 12:44:18 +02:00
Joachim Schoeberl
54f0e1a0de inheritate 'is_curved' for hp-refined 1D-elements 2023-06-09 20:03:05 +02:00
Joachim Schoeberl
ef393472b2 remove cout 2023-06-08 14:31:11 +03:00
Joachim Schoeberl
472073c22b counting num vertices in parallel 2023-05-21 14:35:09 +02:00
Joachim Schoeberl
f1162b6cc3 ngcore - array in Bisect 2023-05-19 15:24:01 +02:00
Joachim Schoeberl
e8286776df hash-table with optional Get 2023-05-19 14:45:56 +02:00
Joachim Schoeberl
9c0eeb5370 mesh.AddElements also for 1D segments 2023-05-07 17:45:20 +02:00
Matthias Hochsteger
35360df540 Don't add new duplicate segments to mesh, if mesh fulfills HaveSingleSegments() 2023-04-27 15:35:10 +02:00
Matthias Hochsteger
875da8ee45 boundarylayer 2d code in separate file 2023-04-27 15:25:15 +02:00
Matthias Hochsteger
6bfcd4ca6c Fix MeshVolume() for partially meshed meshes 2023-04-21 12:53:05 +02:00
Matthias Hochsteger
4ab01fa269 Save one FindOpenElements call in MeshVolume 2023-04-21 12:52:17 +02:00
Matthias Hochsteger
7382661315 Fix surface mapping in BoundaryLayer3d 2023-04-21 12:51:54 +02:00
Christopher Lackner
6fcfdc7def fix typo in divide segments in zrefine 2023-04-19 12:07:45 +02:00
Christopher Lackner
b12d40a0c0 add missing check for lam range in PointContainedIn2DElement in Quad 2023-04-11 22:00:38 +02:00
Lackner, Christopher
8edb109d92 Merge branch 'blayer_sides' into 'master'
boundarylayers sides with separate bcnr and option to set surface

See merge request ngsolve/netgen!563
2023-03-30 23:40:53 +02:00
Christopher Lackner
9c1db9a6f3 correctly set domin and domout at sides 2023-03-30 23:21:58 +02:00
Christopher Lackner
5b4af26d7d boundarylayers sides with separate bcnr and option to set surface
index to -1

this fixes 2 issues:

* If extruded outwards in occ and curvature turned on, if sides are
not set to index -1 then they are curved back towards the face again

* If no different facedescriptor is set, blayer.Boundaries() would
wrongly return the whole boundary and not only the layer part of the side.
2023-03-30 17:19:34 +02:00
Schöberl, Joachim
4737063653 Merge branch 'smaller_tol_in_pointin2delement' into 'master'
use outer smaller (1e-6) tolerance in check if points are on quad edges

See merge request ngsolve/netgen!562
2023-03-30 16:51:03 +02:00
Schöberl, Joachim
d07321ad90 Merge branch 'findpoint_newton_quads' into 'master'
PointInElement2d use newton in nonlinear quad, better startpoint for

See merge request ngsolve/netgen!561
2023-03-30 16:50:32 +02:00
Joachim Schoeberl
a12e9bec61 GetRegionNames to netgen-mesh 2023-03-26 11:01:05 +02:00
Christopher Lackner
867549c3af use outer smaller (1e-6) tolerance in check if points are on quad edges 2023-03-23 14:57:30 +01:00
Christopher Lackner
72a34f9fe1 PointInElement2d use newton in nonlinear quad, better startpoint for
Newton in trig
2023-03-23 14:55:18 +01:00
Joachim Schoeberl
482e78a18b fix Setting refinement flags and adaptive refinement in Netgen 2023-03-22 21:53:09 +01:00
Joachim Schoeberl
7e560e157d Setting refinement flags and adaptive refinement in Netgen 2023-03-22 21:23:29 +01:00
Henry v. Wahl
1a6f52dfc4
in two dimensions, elements are connected if they share two vertices 2023-03-22 09:32:58 +01:00
Christopher Lackner
2344124f65 fix missing return in generic improve 2023-03-13 13:31:08 +01:00
Matthias Hochsteger
ca173ea989 Fix warnings 2023-03-06 16:19:18 +01:00
Matthias Hochsteger
3746547466 Fix smoothing 2023-02-14 12:59:06 +01:00
Schöberl, Joachim
936159cfbb Merge branch 'boundarylayer_better_growth_vectors' into 'master'
better growth vector computation for non orthogonal faces

See merge request ngsolve/netgen!553
2023-02-13 15:58:06 +01:00
Schöberl, Joachim
1eb0fdfbb7 Merge branch 'occ_better_divide_edge' into 'master'
OCC better divide edge algorithm

See merge request ngsolve/netgen!551
2023-02-13 15:57:53 +01:00
Hochsteger, Matthias
219c2af686 OCC better divide edge algorithm 2023-02-13 15:57:53 +01:00
Christopher Lackner
46d53168b8 better growth vector computation for non orthogonal faces 2023-02-13 12:04:30 +01:00
Joachim Schoeberl
ecd077f154 dll_header, copy-paste error ? 2023-02-12 11:15:50 +01:00
Matthias Hochsteger
cec87bb2ff skip deleted elements in tables 2023-02-08 16:18:07 +01:00
Matthias Hochsteger
ca88e90a31 fix smoothing 2023-02-07 16:06:39 +01:00
Matthias Hochsteger
9eb959f608 Some DLL_HEADER for 2d mesh optimization 2023-01-20 17:00:15 +01:00