Commit Graph

1374 Commits

Author SHA1 Message Date
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