Joachim Schöberl
54dba89dd8
Merge branch 'fix_analyzeedge' into 'master'
...
Fix AnalyzeEdge()
See merge request jschoeberl/netgen!322
2020-10-14 21:36:39 +00:00
Matthias Hochsteger
7a8e10738b
Revert "CSG2d - faster AddIntersections (search tree per loop)"
...
This reverts commit 307c2a3bbb
.
2020-10-14 19:59:36 +02:00
Matthias Hochsteger
307c2a3bbb
CSG2d - faster AddIntersections (search tree per loop)
2020-10-14 18:41:35 +02:00
Matthias Hochsteger
7b8b3b03ca
bounding box for Loop
2020-10-14 18:41:35 +02:00
Joachim Schöberl
476a4c350c
robust Polyhedron::VecInSolid option
2020-10-14 16:37:01 +02:00
Matthias Hochsteger
f55e3e6eb4
move DelaunayTree to adtree.hpp
2020-10-14 12:00:37 +02:00
Matthias Hochsteger
33bb84bd3e
CSG2d optimizations (in-place operators, search tree)
2020-10-14 11:54:36 +02:00
Matthias Hochsteger
6544fbeca6
sunburst chart - tooltip formatting
2020-10-14 11:52:34 +02:00
Matthias Hochsteger
14e6a1d24b
more statistics in sunburst chart
2020-10-14 11:52:26 +02:00
Matthias Hochsteger
25efdadd05
helper macro for Timer/RegionTimer definition
2020-10-13 11:11:33 +02:00
Joachim Schöberl
a894ebc9f5
stable pseudo-inverse, improve edge-analysis for revolution
2020-10-11 22:16:47 +02:00
Joachim Schöberl
b81f7f5ada
improve robustness for revolution surface meshing (FindSpecialPoints)
2020-10-11 13:26:34 +02:00
Joachim Schöberl
b5a9580a8e
BitArray::Data
2020-10-08 21:27:16 +02:00
Matthias Hochsteger
2629208f38
pajetrace - fix Timer names in MPI-trace
2020-10-08 12:20:46 +02:00
Matthias Hochsteger
7a1344bfcb
cmake variable NG_COMPILE_FLAGS to set additional compile options
2020-10-01 13:35:53 +02:00
Christopher Lackner
70347a6d3c
tuple implicitly convertible to Pnt and Vec
2020-09-29 18:57:56 +02:00
Matthias Hochsteger
0852a20fff
some DLL_HEADER
2020-09-24 16:58:59 +02:00
Joachim Schöberl
b124b7bd06
keep global vertex enumeration on coarse grid
2020-09-21 07:49:56 +02:00
Christopher Lackner
1666155d25
add range adaptors (filter, transform)
2020-09-19 17:39:03 +02:00
Joachim Schöberl
283db5c637
trange bracket with size_t for T_Range
2020-09-19 09:43:00 +02:00
Joachim Schöberl
8b5675a8e2
check if mpi is initialized
2020-09-15 23:16:04 +02:00
Matthias Hochsteger
2763285b46
csg2d - fix tutorial
2020-09-15 15:48:49 +02:00
Matthias Hochsteger
10a9decfd2
csg2d - separate bc numbers
2020-09-14 12:13:16 +02:00
Christopher Lackner
c7af26771e
fix bug in BitArray==
2020-09-11 16:54:25 +02:00
Matthias Hochsteger
86fe7f3be7
csg2d - optimize GenerateSplineGeometry()
2020-09-11 09:06:45 +02:00
Matthias Hochsteger
f6c94035c5
SetDomainQuadMeshing for 2d geometry
2020-09-11 09:05:53 +02:00
Matthias Hochsteger
24782ccc04
CSG2d Rectangle() - individual bc names
2020-09-09 17:07:36 +02:00
Matthias Hochsteger
caca0d4d08
Use __APPLE__ instead of TOGL_NSOPENGL
2020-09-09 13:04:21 +02:00
Matthias Hochsteger
00ce0a2769
DLL_HEADER for UserVisualizationObject functions
2020-09-09 11:58:38 +02:00
Matthias Hochsteger
4502c464a4
fix incopengl.hpp include on Windows (windows.h needed)
2020-09-09 11:45:36 +02:00
Joachim Schöberl
65761e7768
check copy_assignable also in copy-constructor
2020-09-09 07:03:12 +02:00
Joachim Schöberl
98697959dd
check for copy_assignable
2020-09-09 06:31:03 +02:00
Joachim Schöberl
b2b8a15611
Array copy only if type is assignable
2020-09-08 23:00:03 +02:00
Christopher Lackner
218c4a531b
fix uninizialized area and maybe deleted value being appended
...
pout3d may be deleted when array resizes, so copy it
2020-09-07 15:19:53 +02:00
Joachim Schöberl
a45cbd6f84
parallel pickling per default on
2020-09-04 14:47:56 +02:00
Christopher Lackner
e3f95528e0
throw if IdentifyBoundaries mapped point is outside of mesh
2020-09-03 11:06:34 +02:00
Matthias Hochsteger
585a2e086c
read cgns - set domin/domout in FaceDescriptor
2020-09-01 22:55:10 +02:00
Matthias Hochsteger
2f18c2b1f7
Mesh::Mirror()
2020-09-01 20:50:03 +02:00
Matthias Hochsteger
a8a0b9d50b
fix bc/mat names in CGNS reader
2020-09-01 17:36:08 +02:00
Christopher Lackner
a8062a6f36
fix missing initial value for offset in HashArchive
2020-09-01 11:59:37 +02:00
Matthias Hochsteger
20b82ae7af
Merge branch 'csg2d' into master
2020-08-31 11:56:51 +02:00
Joachim Schöberl
0fe20c9dee
set ParallelTop functions
2020-08-29 20:56:29 +02:00
Joachim Schöberl
0b74e3cbdc
identify edges/faces without sub-group
2020-08-29 18:24:13 +02:00
Joachim Schöberl
aac584a5aa
identify vertices without sub-group
2020-08-29 18:24:13 +02:00
Christopher Lackner
deab89adf8
add missing NGCORE_API and HashArchive & with const value
2020-08-29 16:19:45 +02:00
Christopher Lackner
55971b3dde
HashArchive
2020-08-29 15:38:03 +02:00
Christopher Lackner
f45fbfd811
operator== and better archive for BitArray
2020-08-29 15:37:48 +02:00
Joachim Schöberl
020dd4373d
DynamicTable: char-alloc if not trivially constructable
2020-08-29 12:36:45 +02:00
Joachim Schöberl
c8b8b3ddd3
modernize paralleltop
2020-08-29 11:05:02 +02:00
Joachim Schöberl
8840c519d3
Min/Max of FlatArray, DynamicTable::ChangeSize
2020-08-29 11:04:47 +02:00
Joachim Schöberl
73846f23ae
remove BaseDynamicTable, everything in template class
2020-08-29 09:58:33 +02:00
Joachim Schöberl
f8dd4be8d6
modernize ParallelTopology
2020-08-29 09:36:46 +02:00
Joachim Schöberl
fcee13be59
modernize paralleltop
2020-08-28 21:28:18 +02:00
Matthias Hochsteger
2a7d6bb55e
csg2d - fix overlap detection, test
2020-08-28 18:35:35 +02:00
Matthias Hochsteger
956b06f907
csg2d - fix inside tests
2020-08-28 17:26:43 +02:00
Matthias Hochsteger
1c825ebddf
csg2d - better check for spline overlapping
2020-08-28 14:27:01 +02:00
Matthias Hochsteger
f559cdef16
csg2d - better IsInside() check for splines
2020-08-28 14:22:44 +02:00
Matthias Hochsteger
ac87e9b62c
csg2d - proper +=/-=/*= operator
2020-08-28 14:22:44 +02:00
Joachim Schöberl
122a933965
parallel enumerate after refinement
2020-08-28 08:57:30 +02:00
Joachim Schöberl
9968037361
move semantics to table, PNums to LineSegments
2020-08-28 08:47:33 +02:00
Joachim Schöberl
78d0479993
can convert to mpi4py - communicator
2020-08-25 18:18:45 +02:00
Matthias Hochsteger
7aab695f04
csg2d - skip degenerated solids
2020-08-25 11:26:06 +02:00
Matthias Hochsteger
89c33f5b28
csg2d GenerateMesh in Python, fix arguments for Rectangle/Circle
2020-08-25 10:59:48 +02:00
Matthias Hochsteger
b14178b352
csg2d - no bc in vertex, handle maxh
2020-08-25 10:29:38 +02:00
Matthias Hochsteger
671566ef31
csg2d interface
2020-08-24 11:35:00 +02:00
Joachim Schöberl
5863136285
MaybeTrue/False for xbool
2020-08-23 18:47:49 +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
Matthias Hochsteger
c4f2146519
use get_if for variant<>
...
compiles for Mac <10.13, also more readable
2020-08-21 12:09:31 +02:00
Matthias Hochsteger
e2768981f1
implicit conversion from py::tuple to Point<2>
2020-08-20 18:28:03 +02:00
Matthias Hochsteger
ceb57a7c5c
CSG2d interface (Solid2d ctor, EdgeInfo)
2020-08-20 18:27:08 +02:00
Matthias Hochsteger
b9487cc07a
Rename Polygon2d to Loop
2020-08-20 18:26:25 +02:00
Matthias Hochsteger
334faad054
pybind11 - automatic conversion of python list to Array<>
2020-08-20 18:25:06 +02:00
Matthias Hochsteger
4dcd20a0c7
initialize bounding box
2020-08-20 16:12:34 +02:00
Matthias Hochsteger
28d4b219fa
bugfix in csg2d
2020-08-20 15:07:43 +02:00
Joachim Schöberl
155f2d24ed
Merge branch 'csg2d' into 'master'
...
CSG for 2D
See merge request jschoeberl/netgen!332
2020-08-19 17:40:35 +00:00
Joachim Schöberl
2c6e0e2bec
global enumeration of points for pickling (as an option)
2020-08-19 19:28:34 +02:00
Matthias Hochsteger
7cbeca147a
fix windows build
2020-08-19 16:25:54 +02:00
Matthias Hochsteger
12b2e073ac
CSG for 2D
2020-08-19 16:46:32 +02:00
Joachim Schöberl
5e09626466
parallel pickling with mesh-merging
2020-08-19 14:50:11 +02:00
Joachim Schöberl
9e105c48ea
mpi-wrapper
2020-08-17 20:28:00 +02:00
Joachim Schöberl
33626c6669
clear solutiondata object on python-exit
2020-08-17 15:55:32 +02:00
Matthias Hochsteger
a0f70b4d73
SplineSeg3 ctor with custom weight
2020-08-13 19:52:55 +02:00
Joachim Schöberl
0fefe5d32c
timers in Netgen
2020-08-10 16:44:14 +02:00
Matthias Hochsteger
72447a51d5
Fix paje trace with MPI and TaskManager
2020-08-10 12:20:17 +02:00
Matthias Hochsteger
87c2901e32
Disable paje trace thread counter by default (halves trace file size)
2020-08-07 15:44:21 +02:00
Matthias Hochsteger
b272614a51
export PajeTrace to Python (with context manager api)
2020-08-07 15:43:52 +02:00
Matthias Hochsteger
f9ff1db7c3
let MPI rank 1 write paje trace file (more timers than rank0)
2020-08-07 15:34:21 +02:00
Matthias Hochsteger
acfe9bb606
Merge traces with MPI
2020-08-07 12:59:22 +02:00
Christopher Lackner
620b90fbee
read material names from fnf file
2020-08-06 18:06:26 +02:00
Joachim Schöberl
2e39d07cc8
mpi constants for non-mpi
2020-08-05 18:05:31 +02:00
Joachim Schöberl
3c8f1877c9
more mpi calls from ngcore
2020-08-05 01:11:26 +02:00
Joachim Schöberl
3864eb2e35
use MPI_DATAYPE_NULL thx stefanozampini
2020-08-04 23:50:11 +02:00
Joachim Schöberl
42a01b5c21
use MPI_DATAYPE_NULL thx stefanozampini
2020-08-04 23:36:34 +02:00
Matthias Hochsteger
7dbd9e6b54
CGNS write support
2020-08-04 21:06:56 +02:00
Joachim Schöberl
254257d406
timer in MPI wrappes
2020-08-04 16:30:08 +02:00
Matthias Hochsteger
4682e6915c
remove FlatArray for C-Array, use ArrayMem
2020-08-04 12:59:03 +02:00
Joachim Schöberl
698192ed72
FlatArray for C-array
2020-08-03 14:45:32 +02:00
Joachim Schöberl
94bed40761
modernize parallelmesh (Array, mpi_wrapper)
2020-08-03 00:44:28 +02:00
Joachim Schöberl
c0909d69c2
no valid MPI-comm in sequential mode
2020-08-02 11:33:11 +02:00
Joachim Schöberl
ba84439227
NgMPI_Communicator by reference, check for valid mpi-comm
2020-08-02 09:25:44 +02:00
Joachim Schöberl
c074e0c752
reduce duplicated mpi-wrapping
2020-07-31 09:57:19 +02:00
Joachim Schöberl
c5795aade8
too much printing in parallel refinement
2020-07-30 12:31:33 +02:00
Matthias Hochsteger
eb75bc31a6
mpi4py support
2020-07-29 17:23:26 +02:00
Matthias Hochsteger
ae268637cf
revert pyramid-specific code in optimizations
2020-07-27 18:06:43 +02:00
Matthias Hochsteger
c0b8b1c0cc
Parallel SplitImprove2, update test results
...
Due to prallelization, the order of splits is changed (sort by
improvement of badness, like in other optimization passes)
2020-07-27 14:26:45 +02:00
Matthias Hochsteger
0a17a3dbce
Merge remote-tracking branch 'origin/master' into splitimprove2
2020-07-27 11:55:08 +02:00
Matthias Hochsteger
3305d1101a
Store Netgen version in generated mesh files
2020-07-23 20:12:47 +02:00
Matthias Hochsteger
f73159e35a
Set version of Netgen globally (for archives), interface to get version
2020-07-23 20:12:47 +02:00
Matthias Hochsteger
dcc0484be0
install netgen_version.hpp, set version in Archive
2020-07-23 16:25:06 +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
b689d13efe
SplitImprove2 - optimize only bad elements, update results
2020-07-23 13:18:14 +02:00
Matthias Hochsteger
3fae0e029f
activate SplitImprove2 by default
2020-07-23 12:26:35 +02:00
Matthias Hochsteger
bb46dd6561
Handle pyramids in smoothing
2020-07-23 12:26:22 +02:00
Matthias Hochsteger
e17de17385
SplitImprove2 - further cleanup, handle Pyramids
2020-07-23 12:26:07 +02:00
Joachim Schöberl
ba5e741ad3
adding pybind11/stl to ngcore (needed for BitArray ctor)
2020-07-22 10:15:48 +02:00
Matthias Hochsteger
df97e45bd1
SplitImprove2 - cleanup, new point at min dist of edges
2020-07-20 18:56:36 +02:00
Matthias Hochsteger
abe37bf12a
SplitImprove2 - cleanup, badness calculation, add point only when applying optimization
2020-07-20 12:11:29 +02:00
Matthias Hochsteger
a0a189869e
SplitImprove2 optimization path
2020-07-17 18:17:09 +02:00
Christopher Lackner
b37a3e6cf6
comment code for non orthogonal boundarylayers
...
(not working if multiple surfaces come together)
2020-07-17 18:00:38 +02:00
Matthias Hochsteger
ce8ba71f33
Fix SwapImprove
2020-07-15 17:26:39 +00:00
Matthias Hochsteger
e17aa88cad
set signal handlers only if NG_BACKTRACE is set
2020-07-15 16:21:51 +02:00
Matthias Hochsteger
7058732e23
Fix CGNS reader for 2d meshes, cleanup
2020-07-15 13:31:37 +02:00
Christopher Lackner
ec3d7c3ec9
boundarylayer fixes
2020-07-14 21:30:26 +02:00
Christopher Lackner
fb13152004
create occ geometry from TopoDS_Shape and export constructor
...
this only works if OCC bindings are done using pybind11!
2020-07-13 18:54:55 +02:00
Joachim Schöberl
8926d93e07
GetTangentialSurfaceIndices was missing for extrusion
2020-07-05 11:15:56 +02:00
Christopher Lackner
fdd718739f
further work on boundarylayers
...
better calculation of growthvector, fix bug with addsegment
2020-07-03 19:51:06 +02:00
Matthias Hochsteger
7da5cfd3de
translate to NGSolve node type in ReadCGNSFile
2020-07-02 18:26:16 +02:00
Christopher Lackner
88674cd99b
add some new quad types for boundarylayer, fix problem
...
with multiple boundaries at 1 edge
2020-07-01 19:40:44 +02:00
Christopher Lackner
8046b19b60
fix facets for 3d bbnd elements
2020-06-25 18:39:29 +02:00
Joachim Schöberl
1d96e50432
Merge branch 'surface_geom' into 'master'
...
Surface geom
See merge request jschoeberl/netgen!324
2020-06-24 06:41:55 +00:00
Michael Neunteufel
1a619841b2
Surface geom
2020-06-24 06:41:55 +00:00
Christopher Lackner
177ecc7459
Allow curving of mesh if boundarylayer is flat.
...
If surfnr is larger than nr of surfaces then do linear interpolation
for PointInBetween and so on.
Some fixes in boundarylayer so that surface numbers are correct.
2020-06-24 06:41:06 +00:00
Christopher Lackner
c3441344fb
set material in tensorproduct mesh in 2d as well
2020-06-23 18:52:29 +02:00
Joachim Schöberl
3b5c346e63
proper terms
2020-06-17 19:11:17 +02:00
Christopher Lackner
ac45a5f736
add more information to illegal bc number exception
2020-06-16 13:54:13 +02:00
Christopher Lackner
6a834f13ac
fix boundary names for boundarylayer
2020-06-16 13:53:36 +02:00
Matthias Hochsteger
09323b2ac4
Fix AnalyzeEdge()
2020-06-12 14:28:56 +02:00
Matthias Hochsteger
d08e2daa06
Do edge swapping for faces individually with tensor product meshes
...
If the mesh contains quads, the edge swapping algorithm switches to
generic improve, which introduces quads everywhere. This is not intended
if one domain contains a tensor product mesh.
Thus, call the optimizer for each face if mesh contains quads but mp.quad
is not set.
2020-06-08 10:42:26 +02:00
Matthias Hochsteger
d1c7a16d63
Do linear interpolation of corresponding edge points in SplineGeometry tensor mesh generation
...
better results for curved domains
2020-06-08 10:41:24 +02:00
Matthias Hochsteger
5bea3bb612
Implement and export SplineGeometry2d::SetDomainTensorMeshing
2020-06-08 10:39:55 +02:00
Matthias Hochsteger
9b28a2df02
OCC - HasErrors() available from v7.2
2020-06-03 11:50:33 +02:00
Joachim Schöberl
1d97367e30
check OCC-Version of HasErrors
2020-06-02 08:51:51 +02:00
Joachim Schöberl
dc15e50956
Added glueing to OCC interface, geom.Glue() from Python
2020-05-31 21:58:21 +02:00
Joachim Schöberl
ad525cbfb9
fix warning
2020-05-26 20:58:24 +02:00
Christopher Lackner
34590f1b9a
support already meshed edges/faces in occ mesher
2020-05-26 11:23:33 +02:00
Joachim Schöberl
897cf6f848
output of xbool
2020-05-22 08:16:05 +02:00
Matthias Hochsteger
267e8b33fb
cmake - use git to generate version string
2020-05-18 15:55:40 +02:00
Christopher Lackner
97ba90ee40
DLL_HEADER for whole OCCGeometry
2020-05-17 20:24:22 +02:00
Joachim Schöberl
319b6dc600
Merge branch 'boundarylayer' into 'master'
...
modernize and improve GenerateBoundaryLayer
See merge request jschoeberl/netgen!318
2020-05-13 18:01:34 +00:00