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
Joachim Schöberl
895280a244
littel parallel polishing
2020-08-21 16:29:33 +02:00
Matthias Hochsteger
e2768981f1
implicit conversion from py::tuple to Point<2>
2020-08-20 18:28:03 +02:00
Joachim Schöberl
2c6e0e2bec
global enumeration of points for pickling (as an option)
2020-08-19 19:28:34 +02:00
Joachim Schöberl
5e09626466
parallel pickling with mesh-merging
2020-08-19 14:50:11 +02:00
Joachim Schöberl
33626c6669
clear solutiondata object on python-exit
2020-08-17 15:55:32 +02:00
Joachim Schöberl
0fefe5d32c
timers in Netgen
2020-08-10 16:44:14 +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
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
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
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
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
Christopher Lackner
ec3d7c3ec9
boundarylayer fixes
2020-07-14 21:30:26 +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
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
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
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
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
267e8b33fb
cmake - use git to generate version string
2020-05-18 15:55:40 +02:00
Christopher Lackner
97baba04a0
fix growthvector direction
2020-04-25 11:15:36 +02:00
Christopher Lackner
d752ada2bd
improve functionality of boundarylayer
2020-04-23 15:44:32 +02:00
Christopher Lackner
16ae2df980
std::get for variant not available on mac os < 10.14
2020-04-20 10:09:26 +02:00
Christopher Lackner
58e6e5dc18
modernize and improve GenerateBoundaryLayer
2020-04-19 20:00:06 +02:00
Michael
cb015c95d0
export update method for mesh
2020-03-30 20:44:39 +02:00
Christopher Lackner
1f78f900dd
mesh identify periodic for non tet meshes
2020-03-19 18:12:55 +01:00
Christopher Lackner
ff60ca3f55
fix identify periodic
2020-03-17 15:32:42 +01:00
Christopher Lackner
b8d313f056
identify periodic boundaries
2020-03-15 18:02:50 +01:00
Matthias Hochsteger
db5ad09b79
Initial CGNS format read support
2020-03-11 13:39:40 +01:00
Matthias Hochsteger
34ac3b200d
HPRefinement: curve new elements only if coarse el was curved
2020-02-11 16:04:13 +01:00
Matthias Hochsteger
dff550a48c
Curve new elements in HPRefinement
...
Use correct check for curvature of TRIGs in VSSolution
2020-02-11 14:42:16 +01:00
Joachim Schöberl
0209472ef6
csg.AddPoint with names
2020-01-15 11:56:23 +01:00
Joachim Schöberl
3ece315bd0
circumventing compiler bug ?
2020-01-13 21:19:09 +01:00
Matthias Hochsteger
e26f0f38f4
Handle triangles correctly in BuildEdgeList()
2020-01-10 17:58:37 +01:00
Joachim Schöberl
77d0fbfcd5
compress after 2d optimization
2020-01-08 23:27:59 +01:00
Matthias Hochsteger
2d97eeaa77
Fix Windows debug build
2019-12-13 15:40:12 -08:00
Christopher Lackner
79b1d22185
some more python Vec and Pnt arithmetic
2019-12-10 14:04:53 +01:00
Joachim Schöberl
64171d203b
fix copy ctor HPRefElement
2019-12-06 16:05:08 +01:00
Joachim Schöberl
e5ead2065b
get rid of 10000 segments limit in hp-refinement
2019-12-04 17:33:16 +01:00
Matthias Hochsteger
2eff09cc41
Set geometry in Mesh assignment operator
...
Sets the geometry in coarsemesh in HPRefinement()
Fixes #22
2019-11-29 12:35:55 +01:00
Matthias Hochsteger
05e6456ec2
Vec3d to Vec<3>, comparison operator for Vec<>
2019-11-27 14:47:24 +01:00
Matthias Hochsteger
f3d9d3ad67
[cmake] Don't link python libraries in unix-conda environment
...
Conda links python libs statically to python executable
2019-11-26 19:26:18 +00:00
Matthias Hochsteger
9ccb140ffb
[python] add color property to FaceDescriptor
2019-11-26 17:50:06 +01:00
Christopher Lackner
6303b9d926
some default implementations for basegeometry
2019-11-18 11:14:02 +01:00
Christopher Lackner
b99e37999f
fixes for mac and windows
2019-11-05 15:19:54 +01:00
Christopher Lackner
073e215bb6
add closeedge meshsize to base geometry (not used)
...
closedgefac moved to meshingparameters for this
2019-11-04 19:34:46 +01:00
Christopher Lackner
1b1c4700ad
geo GetNormal and ProjectPointEdge with geoinfo pointer
2019-11-04 11:27:01 +01:00
Christopher Lackner
6c012675aa
project point without geominfo returns new geominfo
2019-10-31 17:08:29 +01:00
Christopher Lackner
1e3ed047db
progress for analyse geometry
2019-10-31 15:25:47 +01:00
Christopher Lackner
249d785084
progress bars for find edges, mesh surface,...
2019-10-31 15:17:28 +01:00
Christopher Lackner
fbf6d92895
clean up geometry interface, fix if number of subdivided edges was not correct
2019-10-31 13:34:40 +01:00
Matthias Hochsteger
9fdd28e3b8
Compress mesh in SwapImprove2
2019-10-30 16:09:04 +01:00
Matthias Hochsteger
17b6c83499
Remove debug output
2019-10-30 09:09:57 +01:00
Joachim Schöberl
608a813295
Merge branch 'rework_splitimprove' into 'master'
...
Rework on 3D SplitImprove
See merge request jschoeberl/netgen!291
2019-10-29 18:57:55 +00:00
Matthias Hochsteger
3acadc023f
Rework on 3D SplitImprove
...
- Try (expensive) split operation only if badness > 100 (of any adjacent
tet) and badness > 0.1 * badness_max
- Use FindInnerPoint before BFGS to ensure valid starting point (similar
as in ImproveMesh() )
- Skip valid tets if goal==OPT_LEGAL (as in sequential version)
2019-10-29 17:58:37 +01:00
Matthias Hochsteger
69a420aacb
Don't include python headers in non-python builds
2019-10-29 16:11:03 +01:00
Christopher Lackner
aa580e4025
add timer and little cleanup in not yet used findedges
2019-10-29 11:37:27 +01:00
Christopher Lackner
a76d407979
implement functionality to restrict meshsize in base class
...
not yet used in any derived geometry
2019-10-28 19:58:35 +01:00
Christopher Lackner
b5936543e9
Merge branch 'master' into refactor_geo_meshing
2019-10-28 18:33:48 +01:00
Christopher Lackner
e221c550ac
implement find edges in base geometry
2019-10-28 17:14:55 +01:00
Matthias Hochsteger
66618fa08a
Fix mesh curving
2019-10-28 16:26:11 +01:00
Joachim Schöberl
7bc20691dc
Merge branch 'refactor_geo_meshing' into 'master'
...
Refactor geo meshing
See merge request jschoeberl/netgen!286
2019-10-28 14:57:24 +00:00
Christopher Lackner
b0db24fa83
implement meshsurface in basegeometry
2019-10-28 14:41:31 +01:00
Christopher Lackner
5b45c7a972
implement meshing2 functionality for 3d geometries
2019-10-28 13:44:51 +01:00
Christopher Lackner
8f779b815a
Merge branch 'master' into refactor_geo_meshing
2019-10-28 13:12:38 +01:00
Matthias Hochsteger
63aab9076c
parallel SplitImprove
2019-10-28 09:38:53 +01:00
Matthias Hochsteger
ab024c2e6c
Sort edges by improvement in SwapImprove2
2019-10-24 18:04:56 +02:00
Matthias Hochsteger
6fb8f90a73
Sort edges by improvement in SwapImprove
2019-10-24 17:40:20 +02:00
Christopher Lackner
54b36c6a40
add virtual method to restrict localh to geometry
2019-10-24 17:34:53 +02:00
Christopher Lackner
36e56e5d6c
move some stuff to base geometry
2019-10-24 13:17:00 +02:00
Christopher Lackner
c361d1712d
little cleanup in adfront2
2019-10-23 14:44:07 +02:00
Matthias Hochsteger
eaf2bee9e6
Throw Exception if ProjectPointGI is not implemented
2019-10-23 11:26:45 +02:00
Matthias Hochsteger
37198d0cee
Recover correct point type in smoothing2d
2019-10-23 11:08:30 +02:00
Christopher Lackner
2fd255baa7
only use cone (or userdefined points)
2019-10-21 17:20:48 +02:00
Christopher Lackner
ac5f901cef
do not get intersecting points, they are added from intersecting lines anyway
2019-10-21 17:03:01 +02:00
Matthias Hochsteger
17dfd45609
Merge remote-tracking branch 'origin/master' into test_refactoring_meshing_design
2019-10-18 11:53:05 +02:00
Joachim Schöberl
6b99cf3c21
Merge branch 'delaunay_tree_with_double' into 'master'
...
Use new delaunay tree with double
See merge request jschoeberl/netgen!277
2019-10-15 08:10:19 +00:00
Matthias Hochsteger
d4d57040f6
Use new delaunay tree with double
2019-10-14 18:26:08 +02:00
Matthias Hochsteger
0f26e41f4d
4 Tasks per thread (better load balancing)
2019-10-14 16:33:16 +02:00
Matthias Hochsteger
6ca6a5e791
CombineImprove() 2D: optimize all faces at once
2019-10-14 16:21:24 +02:00
Matthias Hochsteger
0f095281d9
Parallel 2d CombineImprove() (also sort by improvement)
2019-10-14 16:02:11 +02:00
Matthias Hochsteger
5eba73f726
Separate function CombineImproveEdge()
2019-10-14 15:37:36 +02:00
Matthias Hochsteger
294fbb0e6f
Loop over edges in CombineImprove()
2019-10-14 14:04:10 +02:00
Matthias Hochsteger
9fd4970614
ParallelFor loops in setup of CombineImprove()
2019-10-14 13:51:25 +02:00
Matthias Hochsteger
19c86a9f3d
Move BuildEdgeList to improve2.hpp
2019-10-14 13:50:56 +02:00
Matthias Hochsteger
59c355dbed
New Table for elementsonnode
2019-10-14 11:49:23 +02:00
Matthias Hochsteger
c1d42ff1e6
Small cleanup
2019-10-14 11:01:16 +02:00
Matthias Hochsteger
5fffc28de9
Delete tempels Array during SwapImprove (saves memory)
2019-10-11 15:35:55 +02:00
Matthias Hochsteger
77e536746e
Comment out DelaunayTree
2019-10-11 13:47:39 +02:00
Matthias Hochsteger
77d91d144b
Special search tree for Delaunay (commented out)
...
- float instead of double
- Array for leaves instead of HashTable (the values of the tree are
contiguous integer numbers)
2019-10-11 13:35:52 +02:00
Matthias Hochsteger
268f2466f0
Parallel 2d MeshImprove
2019-10-10 15:44:57 +02:00
Matthias Hochsteger
9f0edf1741
Use new timers
2019-10-10 15:34:41 +02:00
Matthias Hochsteger
e6953dc4cb
Remove unnecessary call to mesh.CalcSurfacesOfNode()
2019-10-09 10:32:41 +02:00
Matthias Hochsteger
fffe445d53
Merge remote-tracking branch 'origin/master' into parallel_edgeswapping
2019-10-09 10:25:31 +02:00
Matthias Hochsteger
6e5d806d92
Use ParallelFor instead of ParallelForRange
...
better readability and no performance difference (if using
NETGEN_LAMBDA_INLINE)
2019-10-09 10:02:02 +02:00
Matthias Hochsteger
95df0ea73e
Explicit capture in lambda (due to MSVC compile problems)
2019-10-09 09:29:53 +02:00
Matthias Hochsteger
18bdd9df93
Build neighbors list in parallel
...
Check in new results (part1.stl does not mesh with very_coarse anymore)
2019-10-08 19:26:43 +02:00
Matthias Hochsteger
64a685c2ea
CreateSurface2ElementTable for individual faces
2019-10-08 18:35:48 +02:00
Matthias Hochsteger
a651a2d97e
EdgeSwapping() - some cleanup and parallelization of table building
2019-10-08 18:35:27 +02:00
Matthias Hochsteger
288bd2c3d8
EdgeSwapping() - all faces at once
2019-10-08 18:12:10 +02:00
Joachim Schöberl
a529dbab56
Merge branch 'reduce_python_output' into 'master'
...
reduce message and log level in python
See merge request jschoeberl/netgen!273
2019-10-08 15:38:19 +00:00
Matthias Hochsteger
f24a749fb2
Parallel MeshOptimize2d::EdgeSwapping() (individual faces)
2019-10-08 17:29:38 +02:00
Matthias Hochsteger
4d218fa042
Restructure MeshOptimize2d::EdgeSwapping()
2019-10-08 17:08:17 +02:00
Christopher Lackner
b3fb12e962
reduce message and log level in python
2019-10-08 16:51:32 +02:00
Christopher Lackner
27bb2c8e0e
unify surface optimization strategy
2019-10-08 16:46:16 +02:00
Matthias Hochsteger
fea75d6ff5
Remove MeshOptimize2d::SelectSurfaceOfPoint()
2019-10-08 12:44:00 +02:00
Christopher Lackner
e784abb8f7
Merge branch 'master' into test_refactoring_meshing_design
2019-10-08 12:31:24 +02:00
Joachim Schöberl
62e3e790d8
switch OCC meshing to physical space, and optimize FromPlane projection using uv-geominfo
2019-10-07 23:45:39 +02:00
Christopher Lackner
c309c9846f
store refinement
2019-10-07 15:17:03 +02:00
Christopher Lackner
fa3ae333ce
delete trailing whitespaces in new commits
2019-10-07 15:17:03 +02:00
Christopher Lackner
05881c0eb5
refactor a lot of the old code, stl still needs to be done
2019-10-07 15:17:03 +02:00
Christopher Lackner
43cc5e68b1
occ use optimize surface functionality from basegeom
2019-10-07 15:17:03 +02:00
Christopher Lackner
bee097b153
start unify meshing with occ meshing
2019-10-07 15:17:03 +02:00
Joachim Schöberl
de06f21bde
adding Mesh.AddRegion
2019-10-05 23:02:32 +02:00
Matthias Hochsteger
dbe0aaa1bc
Sort table after parallel creation
2019-10-04 15:33:24 +02:00
Joachim Schöberl
34ef87a706
Merge branch 'master' of geras.asc.tuwien.ac.at:jschoeberl/netgen
2019-10-04 13:49:32 +02:00
Matthias Hochsteger
04de18d0b4
Check badness quality in tests
2019-10-04 10:25:14 +00:00
Joachim Schöberl
0d9bb4bd97
parallel table build
2019-10-03 20:24:21 +02:00
Joachim Schöberl
0dd913fc20
parallel CheckOverlapping
2019-10-02 23:39:25 +02:00
Joachim Schöberl
f0eae10a24
throw exception on 1D mesh bisection
2019-10-02 22:07:28 +02:00
Matthias Hochsteger
a3ccb6432c
Use Mesh::CreatePoint2ElementTable() in SplitImprove()
2019-10-01 15:15:46 +02:00
Matthias Hochsteger
f42ee7b02d
Use Mesh::CreatePoint2ElementTable() in optimizations
2019-10-01 15:12:37 +02:00
Joachim Schöberl
78094016bf
Merge branch 'calclocalh_use_point' into 'master'
...
change CalcLocalH to use Point<D> instead of PointDd
See merge request jschoeberl/netgen!258
2019-10-01 10:59:43 +00:00
Joachim Schöberl
a4c7ea24b5
Merge branch 'use_new_btree' into 'master'
...
Use new BoxTree, activate search tree in STLBoundary
See merge request jschoeberl/netgen!259
2019-10-01 10:54:42 +00:00
Matthias Hochsteger
7ced41e56f
Use searchtree in STLBoundary
2019-10-01 12:19:22 +02:00
Christopher Lackner
9797c23351
change CalcLocalH to use Point<D> instead of PointDd
2019-10-01 11:59:17 +02:00