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
Christopher Lackner
e3f95528e0
throw if IdentifyBoundaries mapped point is outside of mesh
2020-09-03 11:06:34 +02:00
Matthias Hochsteger
2f18c2b1f7
Mesh::Mirror()
2020-09-01 20:50:03 +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
Joachim Schöberl
c8b8b3ddd3
modernize paralleltop
2020-08-29 11:05:02 +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
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
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
Christopher Lackner
7d5bd32b36
remove new rule again (old was sufficient)
2020-02-17 17:34:38 +01:00
Christopher Lackner
e007f6310e
add new rule for large pyramids if no close ones are found.
...
Also allow to connect with lower quality class already in pyramid2rls
2020-02-17 16:52:33 +01:00
Matthias Hochsteger
df0b19275b
Update rules to match cpp files, regenerate cpp files
2020-02-17 15:21:54 +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
Matthias Hochsteger
ef64a5e7eb
Replace BoxTree with BTree
2019-10-01 11:22:30 +02:00
Christopher Lackner
b29e9ac3a1
fix nogui build
2019-10-01 10:09:04 +02:00
Joachim Schöberl
3e01cac707
remove small timers
2019-09-30 19:39:22 +02:00
Joachim Schöberl
fe95433a87
missing timer closing
2019-09-30 19:26:50 +02:00
Matthias Hochsteger
871f70790f
Dont throw exception if illegal_trigs table is not built
2019-09-30 18:55:01 +02:00
Joachim Schöberl
693bc66d49
use STL-searchtree
2019-09-30 18:21:01 +02:00
Joachim Schöberl
e4017b84e9
Merge branch 'pointnd_to_point' into 'master'
...
Pointnd to point
See merge request jschoeberl/netgen!255
2019-09-30 13:30:01 +00:00
Joachim Schöberl
b76b82b293
Merge branch 'split_improve_2d' into 'master'
...
SplitImprove for triangles
See merge request jschoeberl/netgen!251
2019-09-30 13:29:50 +00:00
Matthias Hochsteger
8defe2f864
New function Mesh::FindIllegalTrigs()
...
Find illegal trigs after surface meshing and use this information in
surface mesh optimization
2019-09-30 14:54:03 +02:00
Joachim Schöberl
b867caf01c
parallel main loop in FindOpenElements
2019-09-30 11:05:13 +02:00
Christopher Lackner
6bfbaa1179
some more PointNd to Point<N>
2019-09-30 10:50:01 +02:00
Christopher Lackner
e956ca0fdc
modernize and change to Point<3>
2019-09-30 10:38:46 +02:00
Christopher Lackner
60223b2a86
more PointNd to Point<N>
2019-09-30 10:36:42 +02:00
Christopher Lackner
030d8c8523
change more PointNd to Point<N>
2019-09-30 10:19:35 +02:00
Joachim Schöberl
656b0e0539
parallel CreatePoint2ElementTable as method of Mesh
2019-09-30 09:36:15 +02:00
Joachim Schöberl
7019504265
partially parallel Compress
2019-09-30 08:53:32 +02:00
Joachim Schöberl
bd589a4cca
Merge branch 'SwapImprove2_with_core_table' into 'master'
...
swapimprove2 with core tables
See merge request jschoeberl/netgen!254
2019-09-30 03:36:59 +00:00
Matthias Hochsteger
8874e41aec
SwapImprove2 - delete/add elements instead of replacing them
2019-09-29 21:31:00 +02:00
Joachim Schöberl
bbc36bb54d
Merge branch 'pointnd_to_point' into 'master'
...
change PointNd to Point<N> adfront2
See merge request jschoeberl/netgen!253
2019-09-29 18:49:06 +00:00
Joachim Schöberl
47641c9b2c
swapimprove2 with core tables
2019-09-29 20:47:41 +02:00
Joachim Schöberl
eeb63f659f
Table with IndexType
2019-09-29 17:44:08 +02:00
Christopher Lackner
bf217b9934
change PointNd to Point<N> adfront2
2019-09-29 16:22:00 +02:00
Christopher Lackner
ca2212879e
Change some PointNd to Point<N> functions
2019-09-29 14:54:24 +02:00
Joachim Schöberl
5c4b0e490a
little polish
2019-09-29 10:55:20 +02:00
Matthias Hochsteger
4987d12556
SplitImprove for triangles
2019-09-27 20:49:12 +02:00
Joachim Schöberl
ce1a94de36
fix hp-ref fix for 3d
2019-09-27 17:29:17 +02:00
Joachim Schöberl
da53a12eba
delaunay tuning
2019-09-27 17:14:48 +02:00
Joachim Schöberl
a71bed3a7e
Delaunay microtuning
2019-09-27 16:08:10 +02:00
Joachim Schöberl
3ec73d69ce
randomizing in Delaunay
2019-09-27 13:03:34 +02:00
Matthias Hochsteger
6a7030b81a
Activate multithreading when meshing from GUI
...
- Meshing options for parallelization and number of threads
- RegionTaskManager() to locally start the TaskManager
2019-09-27 11:54:33 +02:00
Matthias Hochsteger
36ada6f90c
clock() reports wrong times, use WallTime() instead
2019-09-27 11:54:33 +02:00
Matthias Hochsteger
9ba75145c0
Call constructor after allocation with BlockAllocator
2019-09-27 11:43:50 +02:00
Matthias Hochsteger
483bece790
Use BlockAllocator in BTree
2019-09-27 11:31:00 +02:00
Joachim Schöberl
fa3b84038f
delaunay optimizations
2019-09-26 18:28:31 +02:00
Matthias Hochsteger
46116ce723
BTree::GetFirstIntersecting(), some Timers
2019-09-26 16:50:35 +02:00
Matthias Hochsteger
a6d07ed7e4
Fix BTree::GetIntersecting()
2019-09-26 16:00:16 +02:00
Matthias Hochsteger
7b1c05f12c
Save memory in BTree, count number of leaves and nodes
2019-09-26 14:02:37 +02:00
Matthias Hochsteger
b2808109b6
New BoxTree for Delaunay
2019-09-26 12:12:28 +02:00
Matthias Hochsteger
26865d6470
Parallelize SwapImprove() (again)
2019-09-25 14:10:52 +02:00
Joachim Schöberl
71758de667
use surfindex as hash-key in FindOpenSegments
2019-09-24 10:34:36 +02:00
Joachim Schöberl
d995976621
less locks on AddVolumeElement
2019-09-23 21:50:42 +02:00
Joachim Schöberl
fae350929c
less locks in mesh.AddPoint/Element
2019-09-23 11:22:50 +02:00
Joachim Schöberl
abe971f15d
export ANALYSE geometry
2019-09-23 11:22:34 +02:00
Christopher Lackner
f64c736c2b
dll header vssurfacemeshing
2019-09-22 17:55:43 +02:00
Christopher Lackner
4eb7c1860c
allow 2d plainview to be moved using meta key
2019-09-22 14:37:14 +02:00
Christopher Lackner
d080f516cc
draw 3d and 2d local coordinates
2019-09-21 22:41:01 +02:00
Christopher Lackner
cd78f0e440
draw stl meshing 2d local coordinates
2019-09-21 22:08:35 +02:00
Joachim Schöberl
61c9e669c3
use Point/Trig/Chart-Id in stl-meshing, more to come
2019-09-21 02:04:49 +02:00
Matthias Hochsteger
5724b397d1
Revert "Separate function SwapImproveEdge(), iterate over list of edges instead of elements and edges per element"
...
This reverts commit c22f44617b
.
2019-09-20 12:51:13 +02:00
Matthias Hochsteger
8688c135b2
Revert "Parallelize SwapImprove()"
...
This reverts commit 8c9d75f5f4
.
2019-09-20 12:51:13 +02:00
Matthias Hochsteger
fc1dbc2957
Revert "Change elementsonnode only when applying optimization"
...
This reverts commit 6c0171f2c0
.
2019-09-20 12:51:13 +02:00
Matthias Hochsteger
7c88a6da76
Lock mesh in Mesh::Compress
2019-09-16 13:13:48 +02:00
Matthias Hochsteger
d32d498259
Export Mesh::CalcMinMaxAngle
2019-09-16 12:11:49 +02:00
Joachim Schöberl
e887a2862b
Merge branch 'fix_oneside_hpref' into 'master'
...
Fix oneside hpref
See merge request jschoeberl/netgen!237
2019-09-15 19:33:04 +00:00
Michael Neunteufel
9f79451fe1
clean up
2019-09-13 09:42:05 +02:00
Michael Neunteufel
4b26f39974
export hprefleft/hprefright to python, sort points for segments and check if point is part of correct material
2019-09-13 09:09:56 +02:00
Matthias Hochsteger
6c0171f2c0
Change elementsonnode only when applying optimization
2019-09-11 13:06:07 +02:00
Matthias Hochsteger
1d016f2204
Use PointIndex instead of int
2019-09-11 13:02:15 +02:00
Matthias Hochsteger
8c9d75f5f4
Parallelize SwapImprove()
2019-09-10 17:52:24 +02:00
Matthias Hochsteger
a70803eecb
Fix BuildEdgeList() - create sorted list
2019-09-10 16:59:31 +02:00
Matthias Hochsteger
c22f44617b
Separate function SwapImproveEdge(), iterate over list of edges instead of elements and edges per element
2019-09-10 16:58:53 +02:00
Matthias Hochsteger
d95e9afb92
Utility function MeshOptimize3d::BuildEdgeList()
2019-09-10 16:19:04 +02:00
Matthias Hochsteger
88ac5456ab
Parallelize SwapImprove2
2019-09-10 11:45:04 +02:00
Matthias Hochsteger
d0586a6366
Separate function to perform SwapImprove2 on one face of an element
2019-09-10 11:45:04 +02:00
Joachim Schöberl
17a790e71e
Merge branch 'init_geominfo_trignum' into 'master'
...
Initialize geominfo[].trignum in Segment ctor
See merge request jschoeberl/netgen!231
2019-09-09 20:05:16 +00:00
Matthias Hochsteger
2bb11f4cb1
Avoid parallel call of BuildBoundaryEdges() inside Mesh::CombineImprove()
2019-09-09 17:02:50 +02:00
Matthias Hochsteger
7bf1563295
Initialize geominfo[].trignum in Segment ctor
2019-09-09 16:31:29 +02:00
Joachim Schöberl
cbd129bf53
disable parallel vertex2element table, needs sorting
2019-09-09 10:55:27 +02:00
Matthias Hochsteger
c075cfb9c6
Parallelize ImproveMesh
2019-09-05 14:25:11 +02:00
Matthias Hochsteger
7e7a1bb98b
Avoid parallel call of BuildBoundaryEdges() inside LegalTet()
2019-09-05 13:38:41 +02:00
Joachim Schöberl
0fcf99dc56
some native mesh access functions
2019-09-04 15:24:37 +02:00
Joachim Schöberl
ad4bbd1aa9
new lopp
2019-09-03 07:11:35 +02:00
Christopher Lackner
cd3bf9ead5
quad meshing parameter deprecated, use quad_dominated instead
2019-09-02 16:51:32 +02:00
Joachim Schöberl
fcea398d7c
Merge branch 'subcomm' into 'master'
...
sub-communicators as methods of NgMPI_Comm, using ngcore-arrays
See merge request jschoeberl/netgen!215
2019-08-29 09:32:35 +00:00
Joachim Schöberl
7f8dd74a03
Merge branch 'bitarray_ngcore' into 'master'
...
Bitarray from NGSolve to ngcore
See merge request jschoeberl/netgen!223
2019-08-28 18:57:11 +00:00
Matthias Hochsteger
1584da69ae
Rename BitArray to NgBitArray
2019-08-28 14:04:05 +02:00
Matthias Hochsteger
579e5d3874
Remove BitArrayChar
2019-08-28 13:49:11 +02:00
Lukas
2391ae1662
Merge remote-tracking branch 'origin/master' into fix_parmesh
2019-08-28 13:03:13 +02:00
Lukas
bca0f6a2ea
Merge remote-tracking branch 'origin/master' into subcomm
2019-08-27 13:32:25 +02:00
Joachim Schöberl
e2680b4139
Merge branch 'fix_mpi_curve' into 'master'
...
fix mpi mesh curving
See merge request jschoeberl/netgen!216
2019-08-26 12:40:51 +00:00
Joachim Schöberl
009139d448
Merge branch 'cleanup_paralleltop' into 'master'
...
porperly clean up created mpi-group/comm in paralleltop
See merge request jschoeberl/netgen!212
2019-08-26 12:22:38 +00:00
Lukas
55203ae730
fix mpi mesh curving
2019-08-26 13:16:28 +02:00
Lukas
c18b6cbbe1
sub-communicators as methods of NgMPI_Comm, using ngcore-arrays
2019-08-26 13:13:53 +02:00
Lukas
e7c550adbd
fix recently introduced off-by-one bug in parallelmesh, clean up created MPI-types (needs array-pos merge request)
2019-08-26 12:58:51 +02:00
Lukas
1d0886fbec
porperly clean up created mpi-group/comm in paralleltop
2019-08-26 12:54:06 +02:00
Joachim Schöberl
2cce200a67
fix Element(i,i,i) ctor
2019-08-26 10:37:38 +02:00
Christopher Lackner
08f9c773b1
we need to implement both sized deallocation functions for older mac
...
os targets
2019-08-23 11:26:14 +00:00
Christopher Lackner
6c71982951
Range(obj) does respect index type now. If obj has a function Range it
...
calls the function
2019-08-20 18:16:03 +02:00
Christopher Lackner
0ad54546c2
continue if element deleted in inner loop
2019-08-19 16:58:53 +02:00
Joachim Schöberl
b1d709338a
trigger CI
2019-08-18 13:55:57 +02:00
Joachim Schöberl
3d839c2986
trigger CI
2019-08-18 13:50:22 +02:00
Joachim Schöberl
8973624dfe
export right array
2019-08-18 13:25:04 +02:00
Joachim Schöberl
7f6f846eb1
surfelement - indextype
2019-08-18 13:10:58 +02:00
Joachim Schöberl
e89550ec9c
polishing improve2, IndirectArray iterator + element access
2019-08-18 12:21:10 +02:00
Joachim Schöberl
afe65337bf
Merge branch 'parallel_combine_improve' into 'master'
...
Parallelize CombineImprove
See merge request jschoeberl/netgen!201
2019-08-15 04:55:15 +00:00
Matthias Hochsteger
ad526ef2bc
Parallelize CombineImprove
2019-08-14 17:41:26 +02:00
Joachim Schöberl
fb76ef5c70
Merge branch 'segmentindex_operators' into 'master'
...
correct increment/decrement operators for segmentindex
See merge request jschoeberl/netgen!199
2019-08-14 14:12:35 +00:00
Christopher Lackner
c33feee970
segmentindex is 0 based
2019-08-14 14:00:37 +02:00
Christopher Lackner
b416fead82
correct increment/decrement operators for segmentindex
2019-08-14 13:47:52 +02:00
Matthias Hochsteger
f570f31de9
Export ngcore Arrays
2019-08-12 17:47:50 +02:00
Joachim Schöberl
d215ac1025
T_POINTS are now ngcore::Array
2019-08-10 00:21:37 +02:00
Joachim Schöberl
234d441a90
Range::Modify()
2019-08-09 18:10:21 +02:00
Joachim Schöberl
9118ddc63a
preparations to switch T_POINTS to ngcore::Array
2019-08-09 15:30:58 +02:00
Joachim Schöberl
c900e0380b
unique ptrs in Mesh
2019-08-09 09:02:50 +02:00
Joachim Schöberl
b03705c37d
more use of Index types
2019-08-09 00:23:12 +02:00
Christopher Lackner
07a45072c6
Merge branch 'fix_tutorial' into test_tutorials
2019-08-08 11:07:13 +02:00
Christopher Lackner
70a7a1239e
fix loop in mesh compress
2019-08-08 11:03:19 +02:00
Christopher Lackner
d7777b10ca
add tests for tutorials
2019-08-08 10:12:33 +02:00
Joachim Schöberl
e8960ebae1
use ngscore::Array for surface elements
2019-08-08 08:44:59 +02:00
Joachim Schöberl
a95185a714
Element2d with initializer lists
2019-08-08 07:36:26 +02:00
Joachim Schöberl
4bfe42b305
more PointIndex::BASE 0/1 fixes
2019-08-07 23:32:14 +02:00
Joachim Schöberl
79c958cf83
fixing PointIndex::Valid
2019-08-07 21:21:05 +02:00
Joachim Schöberl
2ccbf18aea
initializer
2019-08-07 18:38:24 +02:00
Joachim Schöberl
bcc15fbc30
use PointIndex::INVALID
2019-08-07 18:34:43 +02:00
Joachim Schöberl
88af66d5a0
try with ctor
2019-08-07 18:30:16 +02:00
Joachim Schöberl
1e701d6aac
Merge branch 'stlparams_from_python' into 'master'
...
STLParams from python
See merge request jschoeberl/netgen!188
2019-08-07 15:31:42 +00:00
Joachim Schöberl
1b2e5be954
code cleanup
2019-08-07 08:28:57 +02:00
Joachim Schöberl
b5a7678965
remove timer, PointIndex::INVALID
2019-08-07 07:48:15 +02:00
Joachim Schöberl
bbc3661bfe
remove timer, PointIndex::INVALID
2019-08-07 07:48:15 +02:00
Christopher Lackner
fd42f24d37
remove any again
2019-08-06 20:03:17 +02:00
Christopher Lackner
9e63ba0943
parse additional kwargs internally as flags to avoid bad_any_cast
...
There seem to be somehow multiple py::kwargs classes created in
different libraries, because of this the any_cast is failing.
To circumvent this we attach them to the MeshingParameters object
as flags.
2019-08-06 17:38:44 +02:00
Christopher Lackner
b2590bf517
Merge branch 'master' into stlparams_from_python
2019-08-06 10:44:58 +02:00
Christopher Lackner
fc1a3da429
meshingparameter only visible in nglib and const ref to funcs
2019-08-06 10:42:53 +02:00
Joachim Schöberl
318a6092e3
mesingparameter.sloppy is int
2019-08-06 10:20:18 +02:00
Christopher Lackner
218bd4c5d2
start work on stlparam from python, strange bad any cast exception
2019-08-02 16:22:53 +02:00
Joachim Schöberl
a73594b738
modern timers, remove vector allocation
2019-08-02 09:43:27 +02:00
Christopher Lackner
0b0a11c4f5
doarchive should not be virtual on non abstact class CurvedElements
2019-07-30 13:45:08 +02:00
Christopher Lackner
8ae2475085
return default geometry if no geometry is set for mesh
2019-07-30 12:40:22 +02:00
Joachim Schöberl
20abe6ec37
make number of vertices per level available
2019-07-29 17:46:09 +02:00
Christopher Lackner
f1fc7e747d
fix default argument for meshinparameters
2019-07-29 07:54:38 +02:00
Christopher Lackner
c22ec2dcc2
meshingparameters from python as in gui
2019-07-29 07:11:57 +02:00
Joachim Schöberl
f7fcc67fc7
little modernization
2019-07-28 23:22:47 +02:00
Joachim Schöberl
168df170ec
reuse netrules, implant adfront into meshing class
2019-07-28 21:31:05 +02:00
Joachim Schöberl
321bee9b02
little OCC-meshing cleanup
2019-07-28 20:22:48 +02:00
Christopher Lackner
a989babd21
use CreateMPfromKwargs for mesh.GenerateVolumeMesh as well
2019-07-26 17:07:30 +02:00
Christopher Lackner
67189f15f9
inline CreateMPfromkwargs function
2019-07-26 16:51:54 +02:00
Christopher Lackner
0c828bb195
move implementation of CreateMPFromKwargs to cpp file
2019-07-26 16:34:24 +02:00
Christopher Lackner
091494c6b3
cleanup python export, generate mesh functions not monkeypatched
2019-07-25 23:25:58 +02:00
Matthias Hochsteger
134b6e74eb
badmax and perrs are not used, so remove them
2019-07-16 12:15:57 +02:00
Matthias Hochsteger
2cc3908847
typ is hardcoded to 1, so init pf directly as local variable
2019-07-16 12:14:19 +02:00
Christopher Lackner
ee4dce0eab
arraymem has deleted copy assignment
2019-07-12 13:32:21 +02:00
Joachim Schöberl
1653f56efc
Merge branch 'no_pybind_everywhere' into 'master'
...
Get rid of pybind11 include in archive.hpp
See merge request jschoeberl/netgen!175
2019-07-12 06:48:15 +00:00
Matthias Hochsteger
d89b328979
Get rid of pybind11 include in archive.hpp
...
Forward-declare pybind11::object and move implementation of
Archive::Shallow() to new header python_ngcore.hpp
All files using the Shallow/Python archive functionality must include
core/python_ngcore.hpp. Missing includes result in link errors, due to
missing instantiations of Archive::Shallow<T>();
2019-07-11 17:09:59 +02:00
Matthias Hochsteger
ea9fab8c77
Remove limit of max 100 PointGeomInfos, add move assignment to ArrayMem
2019-07-11 13:21:47 +00:00
Matthias Hochsteger
b848bdc237
Fix MPI build
2019-07-10 12:33:01 +02:00
Matthias Hochsteger
c5acbacadb
Rename ArrayMem to NgArrayMem
2019-07-09 18:00:12 +02:00
Matthias Hochsteger
2d46d21a52
Rename FlatArray to NgFlatArray
2019-07-09 10:40:35 +02:00
Matthias Hochsteger
cb87362f64
Rename Array to NgArray
2019-07-09 10:39:16 +02:00
Matthias Hochsteger
4aadd29dfc
[cmake] Fix libraries privately
2019-06-30 00:54:31 +02:00
Michael Neunteufel
10297c1e6c
copy numvertices for optimize2dmesh
2019-06-24 19:43:21 +02:00
Michael Neunteufel
88ec68be65
OptimizeMesh2d works now with curved TRIG6
2019-06-24 19:29:38 +02:00
Michael Neunteufel
a925ef4e65
copy also material and cd3 names in meshclass
2019-06-24 12:45:44 +02:00
Joachim Schöberl
e0f290676f
new timers
2019-06-03 10:42:57 +02:00
Joachim Schöberl
bc836f87ef
facet curving using GeomInfo, adding overrides
2019-06-03 10:42:57 +02:00
Christopher Lackner
0a08450bfa
move testout to ngcore
2019-05-28 13:51:53 +02:00
Christopher Lackner
c7a71148f4
export function to get volume elements adjacent to surface element
2019-05-22 00:25:18 +02:00
Lukas
89a34b865f
completely reset topology on master after distributing mesh
2019-04-29 16:44:07 +02:00
Christopher Lackner
0c6b36dca6
remove meshtopology default copy ctor (is deleted anyway)
2019-04-29 13:10:52 +02:00
Matthias Hochsteger
dc4b1c05b9
Handle numbers in correct order (first index, then number of points)
2019-04-26 09:27:29 +02:00
Joachim Schöberl
3de07c25ab
little fix for distributing 2d meshes
2019-04-25 22:51:15 +02:00
Matthias Hochsteger
09f6a08f73
Merge branch 'mpi_fix' into 'master'
...
fix ReceiveParallelMesh
See merge request jschoeberl/netgen!156
2019-04-24 09:05:10 +00:00
Joachim Schöberl
f070ac4daf
remove detail timers
2019-04-20 10:25:28 +02:00
Lukas
a85b33e345
fix vol el NP for 2-dim meshes
2019-04-19 13:51:37 +02:00
Matthias Hochsteger
db19a44fe8
Merge branch 'fix_uninitialized_values' into 'master'
...
fix uninitialized values
See merge request jschoeberl/netgen!153
2019-04-17 14:45:53 +00:00
Lukas Kogler
fbe660f775
Receive Mesh from python as static method
2019-04-17 12:25:12 +02:00
Lukas Kogler
5423242cd8
fix uninitialized values
2019-04-17 12:24:23 +02:00
Matthias Hochsteger
d6f1cf2bda
[cmake] Don't install object libraries on Windows
...
Works around following issue with CMake 3.14:
> CMake error : install(EXPORT "netgen-targets" ...) includes target "mesh" which requires target "gprim" that is not in the export set.
2019-04-16 12:39:56 -07:00
Joachim Schöberl
18feeba999
Merge branch 'mpi_fix' into 'master'
...
MPI fix
See merge request jschoeberl/netgen!150
2019-04-16 11:36:20 +00:00
Lukas
a386ca46d9
delete local memory after redistributing mesh on master. GetElementOfPoint behaves correctly for empty meshes
2019-04-15 17:49:45 +02:00
Joachim Schöberl
e220a252d1
fixes for tet10 and trig6 elements (is_curved, clipping-plane vis)
2019-04-14 07:55:38 +02:00
Christopher Lackner
3b605c9a14
archive numvertices so that secondorder mesh is pickled correctly
2019-04-11 13:57:14 +02:00
Joachim Schöberl
2794dda996
copy mesh from py
2019-04-10 14:13:34 +02:00
Christopher Lackner
a6825d18ca
build jacobi pols even if mesh is unpickled and buildcurvedelements is
...
never called
2019-04-06 13:40:37 +02:00
Joachim Schöberl
f6a290e44f
modernize ComputeNVertices
2019-03-30 14:02:38 +01:00
Matthias Hochsteger
fefddf14cc
DLL_HEADER for meshing functions
2019-03-25 14:01:06 +01:00
Joachim Schöberl
dab8c827fe
Constructor for Trafo by rotation along an arbitrary axes, combine trafos
2019-03-25 12:33:16 +01:00
Lukas
05518ea796
fix index 1/0 typo
2019-03-20 17:06:57 +01:00
Lukas
9c4cfb7864
use mesh-communicator in another place
2019-02-28 17:48:18 +01:00
Lukas
fc7381e587
topology does not build faces/edges befire distributing
2019-02-28 17:48:18 +01:00
Matthias Hochsteger
10ef58b54b
Merge branch 'fix_curve_mpi' into 'master'
...
fix rank/ntasks in curvedelems
See merge request jschoeberl/netgen!140
2019-02-28 16:11:17 +00:00
Lukas
c1256c3ffd
fix typo
2019-02-28 16:46:37 +01:00
Lukas
16421b4be3
fix rank/ntasks in curvedelems
2019-02-28 16:25:31 +01:00
Lukas
7346495135
no stack arrays for names
2019-02-28 12:06:30 +01:00
Lukas
039e6d753f
simplify distributing names (and also distribute co-dim 2/3 names)
2019-02-26 11:18:42 +01:00
Lukas
965a6cc387
archive co-dim 3 names
2019-02-26 11:18:11 +01:00
Lukas
a2f81d0337
Fix MPI + empty bc/mat-names. (But that should not happen..)
2019-02-25 16:38:21 +01:00
Lukas
4637854c9b
When loading a netgen-mesh, take geometry-info from mesh-file over global geometry.
2019-02-25 16:28:31 +01:00