Commit Graph

829 Commits

Author SHA1 Message Date
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
Lukas
55b0fe17d7 use mesh communicator for rank/size 2019-02-25 16:21:04 +01:00
Joachim Schöberl
179c3bb02f don't store partition in element (most times waste of mem) 2019-02-15 21:01:00 +01:00
Joachim Schöberl
fa3f89d337 use std::vector for binding PointIndex, avoid map 2019-02-15 21:00:59 +01:00
Christopher Lackner
eaf08e5c6f import mesh from other file format from python 2019-02-13 22:39:31 +01:00