Matthias Hochsteger
2a17451c96
consistent criterion for conformance optimization in SwapImprove
...
Only small effect on output Meshes
2021-06-10 11:04:41 +02:00
Matthias Hochsteger
0aa63880c4
smaller tasks
2021-05-31 08:23:46 +02:00
Matthias Hochsteger
d7d12ac53d
Don't swap very bad elements in SwapImprove
...
Changes meshing -> new test results
2021-03-01 10:08:00 +01:00
Matthias Hochsteger
f8aa3d3159
util function NotTooBad() in mesh optimization
2021-03-01 09:33:47 +01:00
Matthias Hochsteger
f5432718c1
Fix ImproveMesh
2021-02-26 12:20:51 +01:00
Matthias Hochsteger
fbeb6137eb
Fix SwapImprove2
...
Don't allow swaps if an adjacent element was deleted in the current
optimization pass. Also update test restults.
2020-11-25 17:55:44 +01: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
b689d13efe
SplitImprove2 - optimize only bad elements, update results
2020-07-23 13:18:14 +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
Matthias Hochsteger
ce8ba71f33
Fix SwapImprove
2020-07-15 17:26:39 +00:00
Christopher Lackner
249d785084
progress bars for find edges, mesh surface,...
2019-10-31 15:17:28 +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
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
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
Matthias Hochsteger
19c86a9f3d
Move BuildEdgeList to improve2.hpp
2019-10-14 13:50:56 +02:00
Matthias Hochsteger
04de18d0b4
Check badness quality in tests
2019-10-04 10:25:14 +00: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
656b0e0539
parallel CreatePoint2ElementTable as method of Mesh
2019-09-30 09:36:15 +02:00
Matthias Hochsteger
8874e41aec
SwapImprove2 - delete/add elements instead of replacing them
2019-09-29 21:31:00 +02: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
Matthias Hochsteger
26865d6470
Parallelize SwapImprove() (again)
2019-09-25 14:10:52 +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
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
Matthias Hochsteger
2bb11f4cb1
Avoid parallel call of BuildBoundaryEdges() inside Mesh::CombineImprove()
2019-09-09 17:02:50 +02:00
Matthias Hochsteger
1584da69ae
Rename BitArray to NgBitArray
2019-08-28 14:04:05 +02:00
Matthias Hochsteger
ad526ef2bc
Parallelize CombineImprove
2019-08-14 17:41:26 +02:00
Joachim Schöberl
b03705c37d
more use of Index types
2019-08-09 00:23:12 +02:00
Joachim Schöberl
4bfe42b305
more PointIndex::BASE 0/1 fixes
2019-08-07 23:32:14 +02:00
Joachim Schöberl
bbc3661bfe
remove timer, PointIndex::INVALID
2019-08-07 07:48:15 +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