Monty Montgomery
de7ffc5906
Eliminate a "C++ initialization order fiasco" for geometryregister
...
Current initialization of the global geometryregister suffers from a
classic 'initialization order fiasco'. Depending on the order the
compilation units are loaded/linked, the initialization of the global
geometryregisterarray is not guaranteed to happen (and indeed often
does not happen) before it is used. This leads to entries being
appended before it's initialized (usually 'suceeding, but potentially
causing memory corruption if the segment at that point isn't zeroed),
initialization then happening halfway through (wiping the initial
entries) and then the last entries being the only ones that show up.
The net effect is either a crash at startup, or several geometry types
seeming to be missing. Eg, step files will oad, but STL files are
just ignored. The bug is actively observed on, eg, Linux.
This patch implements a simple 'initialize at first access' convention
for the array, eliminating the ordering problem.
I've not reviewed the rest of the source for other potential examples
of the fiasco pattern; this fixes only the geometryregister, since
that was actively biting.
2022-05-22 11:29:10 -04: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