Commit Graph

152 Commits

Author SHA1 Message Date
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
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
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
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
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
Matthias Hochsteger
e53d559740 Fix hashtable size in boundarylayer code 2023-06-20 12:45:01 +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
7382661315 Fix surface mapping in BoundaryLayer3d 2023-04-21 12:51:54 +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
Christopher Lackner
46d53168b8 better growth vector computation for non orthogonal faces 2023-02-13 12:04:30 +01:00
Lackner, Christopher
7a86aae0d1 allow different materials in boundarylayer depending on bc name 2022-11-10 14:35:58 +01:00
Matthias Hochsteger
92fb557314 fix boundarylayer 2d bug 2022-10-03 17:22:44 +02:00
Matthias Hochsteger
666fb2ee86 fix boundarylayer 2d code (now single line segments, not per face) 2022-08-30 09:12:49 +02:00
Christopher Lackner
c71d142738 fix double segments in getedgetangent of boundarylayer 2022-06-09 15:32:41 +02:00
Christopher Lackner
a3408b537a fixes for boundarylayer edge tangent computation and some more 2022-06-09 15:32:41 +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
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
mhochsteger@cerbsim.com
b76ea76219 restructure BoundaryLayer code 2022-03-09 13:15:48 +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
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
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
Matthias Hochsteger
1c526a5c9e Fix edges after building boundary layer 2021-06-29 17:50:45 +02:00
Matthias Hochsteger
c8406d3b10 replace NgArray and TABLE with Array and Table 2021-05-10 16:30:40 +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
Christopher Lackner
d2dc84b02c more stable boundarylayer, also cut prisms at outside 2021-03-29 14:02:00 +02:00
Matthias Hochsteger
88fd0a9cd3 2d boundary layer - some cleanup, average growth vectors along straight lines 2021-03-26 09:13:11 +01:00
Matthias Hochsteger
98770dbf94 2d boundary layers 2021-03-16 18:22:14 +01:00
Christopher Lackner
f11cb4fcfb boundarylayers - inner corners at end of layer now possible too 2021-03-02 11:47:40 +01:00
Christopher Lackner
9e080ee9e0 add boundarylayer closure on pyramids outside 2021-02-05 12:16:41 +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
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
Christopher Lackner
609cbbcadf rewrite create boundarylayer function (now more efficient and stable
and easier)
2020-11-17 18:43:39 +01:00
Christopher Lackner
9578e4a41d add project to boundary in boundarylayer and correctly treat inverse boundaries 2020-11-03 12:28:13 +01: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
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
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
Christopher Lackner
6a834f13ac fix boundary names for boundarylayer 2020-06-16 13:53:36 +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
58e6e5dc18 modernize and improve GenerateBoundaryLayer 2020-04-19 20:00:06 +02:00
Matthias Hochsteger
1584da69ae Rename BitArray to NgBitArray 2019-08-28 14:04:05 +02:00
Joachim Schöberl
9118ddc63a preparations to switch T_POINTS to ngcore::Array 2019-08-09 15:30:58 +02:00
Matthias Hochsteger
cb87362f64 Rename Array to NgArray 2019-07-09 10:39:16 +02:00
Unknown
afdc1ae85a Misc. typos
More typo
2017-12-09 22:21:40 -05:00
Joachim Schöberl
bee6c6bf90 consistent vertex->elements (1D/2D/3D) tables 2016-03-22 07:28:11 +01:00
Matthias Hochsteger
7d3041e841 Boundary layers with user-defined heights/materials 2015-09-01 14:38:57 -04:00
Joachim Schoeberl
537a10945a boundary layer 2015-01-08 21:18:22 +00:00
Joachim Schoeberl
6b0079cca3 boundary layer 2015-01-07 10:58:09 +00:00
Joachim Schoeberl
4be52c4ee5 insert boundary layer 2014-12-18 16:46:54 +00:00
Joachim Schoeberl
49e108da4f boundary layer from python 2014-12-18 14:00:58 +00:00
Joachim Schoeberl
8e8e390f2e 2d Delaunay, array-iterators 2014-12-02 13:23:36 +00:00
Joachim Schoeberl
bfc7e7772f polish 2014-04-28 07:09:39 +00:00
Joachim Schoeberl
c46329ebf7 improved usage of PointIndex 2013-04-02 20:29:53 +00:00
Joachim Schoeberl
6a1e8f7e97 parallel topology + curved elements 2012-08-20 14:10:23 +00:00
Joachim Schoeberl
27f8e452fd parallel fixes 2012-06-13 09:07:11 +00:00
Joachim Schoeberl
9c4f4221ec non-global variable mparam 2011-07-25 11:33:19 +00:00
Philippose Rajan
789b56179e * Not worked on it for too long.... commit for continuing work in the future... Note: Does not effect any other parts of Netgen! 2011-02-13 16:56:44 +00:00
Philippose Rajan
b2e8610f90 * Changes to the Boundary Layer generation system
* More user feedback when saving and exporting mesh files to disk
2009-10-27 23:04:42 +00:00
Joachim Schoeberl
ef8edec3b8 bug fix from boundarylayer 2009-07-01 11:34:38 +00:00
Philippose Rajan
4cc2d7dc92 * Prismatic Boundary Layers (Highly experimental code !!!)
* Works for basic cases, but does not check for mesh validity yet
* Lot of work to be done... not ready for general use yet !!
2009-06-19 05:43:23 +00:00
Joachim Schoeberl
39858c7756 nginterface_v2 2009-04-03 14:39:52 +00:00