Commit Graph

853 Commits

Author SHA1 Message Date
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