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
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
Joachim Schoeberl
aa00749f97
fix some deprecated
2022-04-29 13:05:38 +02:00
Christopher Lackner
c39dbd443e
Merge remote-tracking branch 'jzimmermann/master'
2022-04-25 11:06:21 +02:00
Joachim Schoeberl
1afcb30102
less copying
2022-04-21 17:16:26 +02:00
Julius Zimmermann
267959967d
add message level and check notation of unv file only for first line
2022-04-21 10:25:57 +02:00
Julius Zimmermann
adda364eaa
UNV interface with D notation for exponent
2022-04-11 17:52:35 +02:00
Joachim Schoeberl
7791840a4a
little mpi cleanup, meshing+distribution in one call
2022-03-15 09:13:09 +01:00
mhochsteger@cerbsim.com
cf59f297a7
use std::filesystem::path
2022-02-23 11:56:00 +01:00
Joachim Schoeberl
bb44c7b0c3
fix warnings
2022-02-16 13:37:32 +01:00
mhochsteger@cerbsim.com
17458889aa
Change interface of LoadFromMeshFile
...
Fetch the first (geometry identification) token only once (and not on each try to load a different type)
2021-11-10 18:37:24 +01:00
Matthias Hochsteger
dc57935468
include gzsteram.h only where needed
2021-10-21 10:25:40 +02:00
Christopher Lackner
1fd4835c72
call mesh.ComputeNVertices in read fnf file
2021-09-30 15:40:38 +02:00
Matthias Hochsteger
db5acb5718
Fix second order output in elmer format
2021-09-20 15:08:54 +00:00
Christopher Lackner
e0f3ce9cf0
fix loading of short mesh file names
2021-06-22 11:57:30 +02:00
Joachim Schoeberl
b51df253fd
pickle mesh-load also via ngsolve.Mesh('filename.vol.bin')
2021-06-17 07:58:25 +02:00
Matthias Hochsteger
99e001fc4c
TABLE -> Table
2021-05-11 18:21:40 +02:00
Matthias Hochsteger
c8406d3b10
replace NgArray and TABLE with Array and Table
2021-05-10 16:30:40 +02:00
Christopher Lackner
a612444e77
FindElementOfPoint<1> for 2d meshes for curved segments
2021-03-23 15:08:20 +01:00
Joachim Schoeberl
28c4b78410
mesh bisection with onlyonce option. otherwise, tet-bisection performs three bisection steps to obtain h/2
2021-02-19 15:06:20 +01:00
Joachim Schoeberl
e9e3d52b45
parent faces
2021-02-17 23:32:15 +01:00
Joachim Schoeberl
22aee3b3a5
simd-mapping of point elements
2021-02-05 11:42:45 +01:00
Matthias Hochsteger
2d667a08dc
move (refactored) SIMD headers from ngsolve into ngcore
2020-12-11 20:54:41 +01:00
Christopher Lackner
7ae460b2e5
Fix .surf file reading.
...
See https://ngsolve.org/forum/ngspy-forum/1275-bug-surf-file-read-incorrectly
2020-11-27 15:28:48 +01:00
Matthias Hochsteger
47632a06aa
fix index error in cgns import
2020-10-27 14:54:25 +01:00
Matthias Hochsteger
585a2e086c
read cgns - set domin/domout in FaceDescriptor
2020-09-01 22:55:10 +02:00
Matthias Hochsteger
a8a0b9d50b
fix bc/mat names in CGNS reader
2020-09-01 17:36:08 +02:00
Joachim Schöberl
e680f23bfa
fix for non-parallel
2020-08-21 22:38:35 +02:00
Joachim Schöberl
895280a244
littel parallel polishing
2020-08-21 16:29:33 +02:00
Joachim Schöberl
33626c6669
clear solutiondata object on python-exit
2020-08-17 15:55:32 +02:00
Christopher Lackner
620b90fbee
read material names from fnf file
2020-08-06 18:06:26 +02:00
Matthias Hochsteger
7dbd9e6b54
CGNS write support
2020-08-04 21:06:56 +02:00
Joachim Schöberl
ba84439227
NgMPI_Communicator by reference, check for valid mpi-comm
2020-08-02 09:25:44 +02:00
Matthias Hochsteger
2f88502729
Remove Segment::bcname, fix Mesh::operator=
...
Remap the 'string* bcname' members in the FaceDescriptor objects in
Mesh::operator= to the new mesh
2020-07-23 16:24:59 +02:00
Matthias Hochsteger
7058732e23
Fix CGNS reader for 2d meshes, cleanup
2020-07-15 13:31:37 +02:00
Matthias Hochsteger
7da5cfd3de
translate to NGSolve node type in ReadCGNSFile
2020-07-02 18:26:16 +02:00
Joachim Schöberl
3b5c346e63
proper terms
2020-06-17 19:11:17 +02:00
Matthias Hochsteger
b1d65912ec
cgns: flip normals of 2d elements
2020-03-19 20:50:32 +01:00
Matthias Hochsteger
bff0e67576
CGNS reader: identify equal points in different zones
2020-03-17 17:46:29 +01:00
Matthias Hochsteger
89cb1e07ff
CGNS reader: Fix boundary/material names for MIXED elements
2020-03-12 18:42:58 +01:00
Matthias Hochsteger
a88432cb7f
Merge branch 'cgns' into 'master'
...
CGNS format read support
See merge request jschoeberl/netgen!315
2020-03-11 21:07:08 +00:00
Matthias Hochsteger
2615b0911e
Fix CGNS code for version < 3.4
...
Install libhdf5 on ubuntu test (cgns depends on it)
2020-03-11 17:43:36 +01:00
Matthias Hochsteger
603141cf1a
Fix CGNS support on Windows
2020-03-11 14:53:08 +00:00
Matthias Hochsteger
db5ad09b79
Initial CGNS format read support
2020-03-11 13:39:40 +01:00
Lukas
672ce3f3f2
Interface can now give curve order of mesh
2020-03-06 10:17:09 +01:00
Joachim Schöberl
d46453050d
fix for recent change
2019-09-21 02:22:20 +02:00
Matthias Hochsteger
8381ce58ba
Link stl to interface
2019-09-20 15:26:15 +02:00
Christopher Lackner
681628bd40
remove unnecessary line
2019-09-20 13:45:23 +02:00
Matthias Hochsteger
f6f4976402
Import STL as Mesh
2019-09-20 11:32:20 +02:00
Matthias Hochsteger
1584da69ae
Rename BitArray to NgBitArray
2019-08-28 14:04:05 +02:00