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
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