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
Matthias Hochsteger
aa5dfdfa57
Fix checkMixedElement()
2023-01-20 16:59:43 +01:00
Hochsteger, Matthias
2f4e52594e
Merge branch 'fix_occ_identified_edge_orientation' into 'master'
...
Keep consistent vertex numbering for identified edges
See merge request ngsolve/netgen!547
2023-01-19 12:59:19 +01:00
Matthias Hochsteger
290d0eee52
Respect mp.only3d_domain_nr in volume mesh optimization
2023-01-18 12:42:51 +01:00
Christopher Lackner
bb25aa656a
more stable occ parameter space projection
...
occ uv parameters are not very accurate sometimes, therefore new
strategy for finding same uv points in parameter space:
if uv coordinates are closer together than 0.9 * min(seg_length) and
global point numbers are the same -> same uv point
2023-01-16 19:57:48 +01:00
Matthias Hochsteger
1c0cbb7ea5
fix build error on Windows
2023-01-16 17:15:17 +01:00
Matthias Hochsteger
e581c0d91c
fix normal vector computation when mapping surfaces
2023-01-16 17:05:41 +01:00
Matthias Hochsteger
e3772bf3af
Keep consistent vertex numbering for identified edges
2023-01-16 17:05:18 +01:00
Hochsteger, Matthias
6789f58090
Fix refinement with OCC geometries
2022-12-22 11:16:08 +01:00
Christopher Lackner
36644161b3
fix closesurface identification with degenerated edges
2022-12-19 13:26:18 +01:00
Matthias Hochsteger
22d314a1ec
Don't use std::map<TopoDS_Shape> (hash value is not unique)
2022-11-15 17:02:34 +01:00
Joachim Schoeberl
b2e8100545
order elements such that first vertex is lowest index (reduce equivalence classes)
2022-11-13 19:09:27 +01:00
Lackner, Christopher
7a86aae0d1
allow different materials in boundarylayer depending on bc name
2022-11-10 14:35:58 +01:00
Joachim Schoeberl
95df669656
INT<2> constexpr ctor
2022-10-26 16:50:19 +02:00
Joachim Schoeberl
17803d2d45
relax deprecated
2022-10-26 16:45:15 +02:00
Joachim Schoeberl
bce715acc9
switch back to manual projection for OCC geometry (wta/coil.ipynb make a huge difference)
2022-10-16 13:08:27 +02:00
Matthias Hochsteger
a005bfadd8
set uv-params in mapped trigs correctly
...
Just projecting might lead to wrong results if a face contains edges
twice.
2022-10-11 11:30:49 +02:00
Matthias Hochsteger
d837d92f0f
set uv-params in quads correctly
...
Just projecting might lead to wrong results if a face contains edges
twice.
2022-10-07 18:33:01 +02:00
Hochsteger, Matthias
a9234a589a
Merge branch 'fix_edge_swapping_2d' into 'master'
...
Fix in 2d edge swapping: Don't consider Segments for swapping
See merge request ngsolve/netgen!536
2022-10-07 17:21:08 +02:00
Matthias Hochsteger
d2ab9f6c53
Fix in 2d edge swapping: Don't consider Segments for swapping
2022-10-07 17:02:51 +02:00
Hochsteger, Matthias
f09afb2025
Fix bug in 2d CombineImprove optimization
2022-10-07 17:00:10 +02:00
Matthias Hochsteger
8224f3cd2d
New debug parameter to write mesh on error, python export
2022-10-04 12:26:02 +02:00
Matthias Hochsteger
7712429cc2
bugfix in occ close surface identification
2022-10-04 12:15:45 +02:00
Matthias Hochsteger
92fb557314
fix boundarylayer 2d bug
2022-10-03 17:22:44 +02:00
Matthias Hochsteger
308360f678
fix warnings in delaunay.cpp
2022-09-20 11:28:31 +02:00
Christopher Lackner
be9e15e635
Merge remote-tracking branch 'luzpaz/typos'
2022-09-13 16:12:46 +02:00
Christopher Lackner
c18a317702
register 1,2,3d elements to numpy to be used in arrays
2022-09-13 15:12:42 +02:00
luz paz
3230021dec
Fix typos
...
Found via `codespell`
2022-09-08 11:08:25 -04:00
Matthias Hochsteger
d33d38f113
faster 2d smoothing for certain mixed meshes
...
don't consider quads with fixed points as "mixed mesh" (will be skipped during
optimization anyway)
2022-09-07 13:52:08 +02:00
Matthias Hochsteger
09188b1a73
no edge swapping for quads
2022-09-07 13:52:08 +02:00
Matthias Hochsteger
ae2dddcff7
fix delaunay2d
2022-09-07 13:52:08 +02:00
Christopher Lackner
78dfd10475
mesh argument in GeneratMesh (to continue meshing from higher perfstepstart
2022-09-01 10:43:16 +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
54ee68d847
fix optimizing mesh without geometry
2022-08-22 17:49:12 +02:00
Schöberl, Joachim
ec0fc05fd6
Merge branch 'visualize_failed_mesh' into 'master'
...
visualized failed mesh after generatemesh
See merge request ngsolve/netgen!513
2022-08-04 15:57:16 +02:00
Christopher Lackner
71a2c4f6f4
do invert if periodic bc face domin & domout do not match
2022-08-04 10:35:06 +02:00
Christopher Lackner
00a1d1a496
visualized failed mesh after generatemesh
2022-08-04 10:31:33 +02:00
Christopher Lackner
0402ca07cd
fix setting boundarylayer boundaries
2022-07-12 09:58:35 +02:00
Christopher Lackner
cf992b04da
fix setting boundaries of neighbouring domains in create boundarylayer
2022-07-11 13:47:13 +02:00
Schöberl, Joachim
69f990d8bf
Merge branch 'fix_meshing_bug' into 'master'
...
Fix meshing bug (close surface on boundary)
See merge request ngsolve/netgen!508
2022-07-06 16:27:03 +02:00
Matthias Hochsteger
47de18a508
Avoid loading geometry from mesh file twice
...
Ng_LoadMesh() tries to read the geometry from the mesh file. If it was
read before by Mesh::Load(), the preloaded geometry is replaced by
ng_geometry (which might be garbage)
This is a mere workaround, not a clean solution (Mesh::Load() should
handle everything, including MPI distribution of geometry)
2022-07-06 14:07:17 +02:00
Matthias Hochsteger
99e463146f
Fix meshing bug (close surface on boundary)
2022-07-05 12:12:13 +02:00
Matthias Hochsteger
7eb76b67c7
DLL_HEADER for Mesh::SetLocalH
2022-06-21 01:53:58 -07:00
Matthias Hochsteger
c6a4f90915
fix FillCloseSurface for multiple identifications
2022-06-09 15:32:41 +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
von Wahl, Henry
c9776a7c86
add some DLL_HEADER
2022-05-20 20:26:43 +02:00
Christopher Lackner
95be76d8ee
surface color to mesh from geometry
2022-05-10 18:18:29 +02:00
Joachim Schoeberl
bac77b1f58
define ng_tcl_volatile, ...
2022-05-07 19:54:43 +02:00
Joachim Schoeberl
1a634c1957
Tcl_FreeProc + volatile/static/dynamic constants of correct type
2022-05-07 19:45:38 +02:00
Joachim Schoeberl
03332c1146
define type Tcl_FreeProc
2022-05-07 19:40:16 +02:00
Joachim Schoeberl
4f09633b80
remove old mpi-wrapper
2022-05-06 18:21:44 +02:00
Christopher Lackner
9b44069e54
fix tuple creation in return color
2022-05-06 17:47:50 +02:00
Christopher Lackner
c61753d89d
FD color gives 3-tuple, transparency as separate property
2022-05-06 17:14:10 +02:00
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
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
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
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
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