Commit Graph

1405 Commits

Author SHA1 Message Date
Matthias Hochsteger
6199c7f66b csg2d interface 2020-11-05 14:59:58 +01:00
Christopher Lackner
37ae505d5a map segment si as well, not only surface element index 2020-11-03 17:32:07 +01:00
Christopher Lackner
3dec7c447e map segment si as well, not only surface element index 2020-11-03 17:29:58 +01:00
Christopher Lackner
9578e4a41d add project to boundary in boundarylayer and correctly treat inverse boundaries 2020-11-03 12:28:13 +01:00
Joachim Schöberl
b855b419da Merge branch 'save_load_bbbnd' into 'master'
Save load bbbnd

See merge request jschoeberl/netgen!345
2020-11-02 09:43:04 +00:00
Michael
10c0fd350a save/load pointelements 2020-10-30 15:28:00 +01:00
Michael
31c72299c4 add hp refinement possibility for surface geometry 2020-10-30 14:10:52 +01:00
Joachim Schöberl
f51ad8eed5 Merge branch 'fix_bisect_quad' into 'master'
add GeomInfo for bisecting quads

See merge request jschoeberl/netgen!343
2020-10-27 10:38:38 +00:00
Michael
4a1d3cdcb2 save/load mesh bbbnd 2020-10-27 07:57:17 +01:00
Michael
a3391519f0 add GeomInfo for bisecting quads 2020-10-27 07:54:26 +01:00
Joachim Schöberl
cddfb4a0b5 fixing delaunay2d point search, non-parallel for small meshes 2020-10-26 11:20:12 +01:00
Joachim Schöberl
de83f0ca14 Delaunay2d also for small sub-domains 2020-10-25 16:31:47 +01:00
Joachim Schöberl
11557838a4 tuning of Delaunay2d: FindInnerPoints, use of edgeHT 2020-10-25 09:52:33 +01:00
Joachim Schöberl
50dddbedae Merge branch 'remove_error_intersecting_layers' into 'master'
remove warning output if intersect. triangles in different layers

See merge request jschoeberl/netgen!342
2020-10-23 17:53:33 +00:00
Joachim Schöberl
bfbef51996 remove bitarray in delaunay2d, just one hashtable position 2020-10-23 19:40:47 +02:00
Christopher Lackner
7f6996aa5d remove warning output if intersect. triangles in different layers 2020-10-23 12:05:30 +02:00
Matthias Hochsteger
a2a2da13dc debug messages in hp refinement 2020-10-19 19:30:30 +02:00
Matthias Hochsteger
389280fc0c debug output 2020-10-19 16:55:49 +02:00
Matthias Hochsteger
8ba6bad6fd Delaunay for 2d mesh generation
Squashed commit of the following:

commit 84f36ffeb409f5fddb389c75ee48b4872b516ae9
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 18:27:15 2020 +0200

    revert change in spline partitioning

commit d4aef23a22a9beb26c4453267c99dd7533174ced
Merge: 15a467aa 97dfecd0
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 17:59:00 2020 +0200

    Merge branch 'master' into delaunay2d

commit 15a467aa7f7cb09f9ea3d984905fe3da69f0b238
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 17:44:31 2020 +0200

    delaunay2d - fix trig orientation

commit be223412ad972722a51b64a5bccf7ca2bec566c8
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 17:29:46 2020 +0200

    fix delaunay swapping

commit 48b95ae2ee1cbabcfae79dfd1cb7af1fd69d77f3
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 17:27:51 2020 +0200

    testout only with debug settings

commit d82b7a7cecb6f65f42b79b666fc58d0116dc0365
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 16:37:10 2020 +0200

    delaunay only for large domains

commit 1f51eaca1ff7a3777e4f32ba9e35e48d496a2854
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 16:21:33 2020 +0200

    compress points in delaunay

commit 20a223f36f3912a208db80c717d9dd87851ba43f
Merge: 2446b746 4c15146d
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 14:31:14 2020 +0200

    Merge branch 'master' into delaunay2d

commit 2446b74687ee56633a86e748e85343919edbd5ad
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 14:22:01 2020 +0200

    optimize CalcPartition() and PartitionBoundary()

commit 3baa58833348a72f16853530a5d17e73424186df
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 16 12:24:17 2020 +0200

    MeshingParameters - delaunay2d option (default is off)

commit e79b113dde9b9c4c5b92239817c6058ca468c319
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Thu Oct 15 16:12:45 2020 +0200

    fix windows build error

commit 92c7b9c1ed4016458980bbc21c61dae07f4444c7
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Thu Oct 15 17:51:44 2020 +0200

    delaunay bugfix

commit 6880194107819cfb2d23206e7e0f48ff5aa3fc10
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Thu Oct 15 17:51:05 2020 +0200

    csg2d - fix bug with splines

commit 1d9baa299d49e1f6fa16f4368885601ed01c5de7
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Wed Oct 14 18:40:23 2020 +0200

    CSG2d - faster AddIntersections (search tree per loop)

commit 2679ef0dee10cdf486441af47ca4c081aa7eb50b
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Wed Oct 14 17:13:17 2020 +0200

    bounding box for Loop

commit 894c6345b737693e32cbda368e56f56764e11085
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Wed Oct 14 12:48:51 2020 +0200

    remove debug check, output in blockfill

commit 2b0a0892c41e746b12e5e852cdb138acd3d2c4e3
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Wed Oct 14 12:40:53 2020 +0200

    compress mesh after delaunay

commit 1de33c87eee3199d4d9b18544f66e53329b47a2f
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Wed Oct 14 12:37:07 2020 +0200

    revert change in improve2d

commit 41a60e89533e94b93b92202ac17852d3aee9acbb
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Wed Oct 14 12:25:07 2020 +0200

    cleanup delaunay2d

commit c16aae324969cd5a90748953019933690d013337
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Wed Oct 14 11:39:56 2020 +0200

    sunburst chart - tooltip formatting

commit 4d61e1fdeab302ba357904f22f951361935791f0
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Wed Oct 14 11:03:37 2020 +0200

    delaunay seems to work

commit 8bd43f54d1efd6862f1b403cdb6c8ce9b5f7b3c6
Merge: 90ac7adb 25efdadd
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Tue Oct 13 12:08:01 2020 +0200

    Merge remote-tracking branch 'gitlab/master' into delaunay2d

commit 90ac7adb562cf2402345c5dfb4281bd097b5d62d
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Tue Oct 13 12:04:49 2020 +0200

    fix Loop::operator=

commit 1eb4f2de3b6576f503a073011a208fa8f609524e
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Tue Oct 13 12:04:13 2020 +0200

    more statistics in sunburst chart

commit db8b97ffbbc7db2a3413c4f8a5528eebe3488d57
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Tue Oct 13 11:17:28 2020 +0200

    more work on delaunay2d

commit eaa675f2351252b5fde423f241b10e231d1eb97e
Merge: 0eb9f9bd 8f837cb9
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Mon Oct 12 12:51:31 2020 +0200

    Merge remote-tracking branch 'gitlab/delaunay2d' into delaunay2d

commit 0eb9f9bd1c31a0e3c3c796c9280b1c1d007ace26
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Mon Oct 12 12:50:10 2020 +0200

    further csg2d optimization

commit 8f837cb9a281acca7c33159985da3b6992fe638f
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Tue Oct 6 19:02:31 2020 +0200

    csg2d - optimize Loop::operator=

commit 7bb4f16b886b20902b0d3563716055fc1734d47e
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Tue Oct 6 10:28:20 2020 +0200

    csg2d performance (search tree, inside tests)

commit 2c9ebce04d7989223327a1875e1b65bf180c95f5
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Fri Oct 2 16:33:24 2020 +0200

    [WIP] delaunay2d

commit 749df2311a3ac1976faaa9f0b60846709a2087b9
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Thu Oct 1 11:36:03 2020 +0200

    something

commit cda9fffde33a86b71467debb86848fdb9cfbf80c
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date:   Wed Sep 30 12:06:53 2020 +0200

    delaunay2d - fix size of starting trig
2020-10-16 18:34:13 +02:00
Matthias Hochsteger
f55e3e6eb4 move DelaunayTree to adtree.hpp 2020-10-14 12:00:37 +02:00
Christopher Lackner
70347a6d3c tuple implicitly convertible to Pnt and Vec 2020-09-29 18:57:56 +02:00
Joachim Schöberl
b124b7bd06 keep global vertex enumeration on coarse grid 2020-09-21 07:49:56 +02:00
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
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
Joachim Schöberl
67c24a044c get rid of ng_comm 2019-02-12 22:27:58 +01:00
Joachim Schöberl
734e96c87c get rid of ng_comm 2019-02-12 22:11:55 +01:00
Matthias Hochsteger
bc21e34125 Mesh is MPI-local by default 2019-02-12 16:30:18 +01:00
Matthias Hochsteger
c274126487 Don't allow MPI-parallel GUI 2019-02-12 15:04:34 +01:00
Joachim Schöberl
c6d49734fb default ctor for NgMPI_Comm 2019-02-12 08:03:20 +01:00
Joachim Schöberl
e9f352d8f3 order of export 2019-02-11 23:59:32 +01:00
Joachim Schöberl
9b8f273b14 mpiwrapper 2019-02-11 22:12:29 +01:00
Joachim Schöberl
7aa5c536a8 timers 2019-02-11 21:38:05 +01:00
Joachim Schöberl
9ced2f561f mpi_wrapper 2019-02-11 21:37:28 +01:00
Michael Neunteufel
e8f6ca5c1b merge master 2019-02-11 09:16:22 +01:00
Michael Neunteufel
ba26ddd834 Merge remote-tracking branch 'gitlab/master' into get_surface_point 2019-02-11 09:12:09 +01:00
Michael Neunteufel
9d7c851bd9 (hopefully) fixed point in quad for the last time 2019-02-11 09:11:57 +01:00
Joachim Schöberl
9500f8d8f2 handle 2 ranks case 2019-02-08 22:12:00 +01:00
Joachim Schöberl
8a165ef8f1 subcomms 2019-02-08 20:24:54 +01:00
Joachim Schöberl
bab9d41b1b why was SubComm that complicated ? 2019-02-08 17:20:13 +01:00
Joachim Schöberl
f661e4a30d distribute 2019-02-08 14:22:43 +01:00
Joachim Schöberl
bf9cffa8de Merge branch 'getrefinementlevel' into 'master'
Getrefinementlevel

See merge request jschoeberl/netgen!106
2019-02-07 15:10:38 +00:00
Christopher Lackner
d5f1076e17 read tet10, pyramid13, prism15 and hex20 from gmsh 2019-02-06 19:13:51 +01:00
Joachim Schöberl
bb64612179 Merge branch 'typo' into 'master'
Typo and cout

See merge request jschoeberl/netgen!126
2019-02-06 14:09:13 +00:00
Lukas
8a711031cc replace cout by PrintMessage 2019-02-06 14:35:32 +01:00
Joachim Schöberl
e42f81b5d5 take care of tolerance in searchtree 2019-02-05 09:02:31 +01:00
Lukas
665acf811d fix typo 2019-02-04 13:12:31 +01:00
Joachim Schöberl
1303e92379 modernize Delaunay 2019-02-03 06:20:52 +01:00
Joachim Schöberl
cc732689c2 start modernizing delaunay 2019-02-02 16:24:30 +01:00
Lukas
e880bff515 DLL_HEADER for ng_comm 2019-02-01 16:12:30 +01:00
Joachim Schöberl
17a457c1fc timers 2019-01-31 18:41:20 +01:00
Lukas
214b5c452d Wrap MPI-communicator on netgen side 2019-01-30 21:03:28 +01:00
Lukas
bc77c763ae remove couts 2019-01-30 20:53:03 +01:00
Lukas
ee24e786af use global communicator in python-mesh 2019-01-30 16:44:22 +01:00
Lukas
0f4ca1c7a7 Fewer ifdefs for MPI. More consistent use of mpi_interface instead of direct MPI calls. 2019-01-30 12:09:40 +01:00
Lukas
ff847e6eff Without MPI, the mesh now has dummy-implementations for Distribute, SendRecvMesh, Get- and SetCommunicator. 2019-01-30 11:24:35 +01:00
Lukas
012d27d41e Fix paralleltop. Clean up mesh loading. 2019-01-29 19:37:58 +01:00
Lukas
c7fb6c7e4a Add a global communicator. The mesh now has a communicator. 2019-01-29 16:10:02 +01:00
Christopher Lackner
21ba19bf10 export __getitem__ and __len__ for Vec 2019-01-24 16:13:22 +01:00
Christopher Lackner
05f22e463d add function to automatically create pml layer around convex 2d geometries 2019-01-23 10:35:20 +01:00
Joachim Schöberl
229d1da5ea use Range iterators 2019-01-19 18:06:40 +01:00
Joachim Schöberl
ec0a2a5ae8 quad8 and hex20 geometric elements 2019-01-19 14:29:02 +01:00
Joachim Schöberl
fcaabd38b7 more QUAD8 2019-01-19 14:29:02 +01:00
Joachim Schöberl
b6c58a8d63 more QUAD8 2019-01-19 14:29:02 +01:00
Joachim Schöberl
b6e62f9ebc more QUAD8 2019-01-19 14:29:02 +01:00
Joachim Schöberl
48186fc54d more QUAD8 2019-01-19 14:29:02 +01:00
Joachim Schöberl
bd20d044b1 more QUAD8 2019-01-19 14:29:02 +01:00
Joachim Schöberl
46f53b0d9e more QUAD8 2019-01-19 14:29:02 +01:00
Joachim Schöberl
5776853952 more QUAD8 2019-01-19 14:29:01 +01:00
Joachim Schöberl
ba1463511b more quad8 2019-01-19 14:29:01 +01:00
Joachim Schöberl
66ac2f1a4f hex20 WIP 2019-01-19 14:29:01 +01:00
Matthias Hochsteger
ab15ae12bc [cmake] Export object libs on Windows 2019-01-14 14:47:26 +01:00
Matthias Hochsteger
4aa7e76bd1 MPI-Parallel output of profiler 2019-01-14 13:04:27 +01:00
Matthias Hochsteger
69363e7ff2 Merge remote-tracking branch 'origin/master' into ngcore 2019-01-14 11:13:11 +01:00
Joachim Schöberl
96443e890b timers 2019-01-12 08:19:57 +01:00
Matthias Hochsteger
247b2a2892 [cmake] Replace object libraries with interface libraries 2019-01-08 13:12:24 +01:00
Christopher Lackner
f88cc77cfe move SymbolTable to ngcore 2019-01-02 18:21:52 +01:00
Christopher Lackner
fd3474f5cb logging in ngcore 2018-12-28 13:43:15 +01:00
Christopher Lackner
829defd3eb archive now support python exported objects 2018-12-20 17:01:27 +01:00
Christopher Lackner
099acc9fa1 pickling for all geometry types 2018-12-14 12:01:58 +01:00
Joachim Schöberl
cdd871282e Merge branch 'archive_mesh_curving' into 'master'
pickle curving of mesh

See merge request jschoeberl/netgen!105
2018-12-13 17:08:31 +00:00
Christopher Lackner
c5af003bba Merge remote-tracking branch 'gitlab/master' into ngcore 2018-12-13 13:19:40 +01:00
Michael Neunteufel
355eed4818 hp level (should) work now for all singularities in 2D. Maybe also 3D? 2018-12-06 11:23:20 +01:00
Joachim Schöberl
e4d6ff8302 point-sources in 2D 2018-12-04 06:58:12 +01:00
Christopher Lackner
8e29d38fc1 archive works for pointers and shared_ptrs (even with
mult. inheritance and virtual base classes)
2018-12-03 16:28:04 +01:00
Christopher Lackner
7bfc48e8f3 start ngcore, archive in there 2018-11-29 18:35:30 +01:00
Christopher Lackner
ec129f6962 fix mesh pickling (if there is no geometry/no curving) 2018-11-22 19:11:49 +01:00
Christopher Lackner
a3d7be7e79 pickle curving of mesh 2018-11-22 16:23:23 +01:00
Joachim Schöberl
361f822316 access 'curved' of 3D elements 2018-11-20 09:36:27 +01:00
Joachim Schöberl
e67c48c094 optimize quad-mapping 2018-11-19 12:41:51 +01:00
Joachim Schöberl
f6a26637de optimization for bilinear quads 2018-11-19 10:57:03 +01:00
Joachim Schöberl
7a4d1f81fc curved attribute 2018-11-17 20:58:08 +01:00
Christopher Lackner
c52cc71a7b seg.cd2i is not set, seg.edgenr is used everywhere else 2018-11-16 11:43:19 +01:00
Christopher Lackner
2dc79a1e04 export get/set status to python 2018-11-06 11:41:04 +01:00
Michael
2a39b426aa add get refinement level function for hp refinement. Works for point singularities 2018-11-05 10:45:33 +01:00
Matthias Hochsteger
b0129d0473 [bugfix] Set element index in CloseSurface() 2018-10-22 17:18:58 +02:00
Michael Neunteufel
1cdc814f4e added BBBND material names 2018-08-07 11:09:03 +02:00
Lukas
47e71acf13 Force segemnts to stick to surface elements in mesh partition. (surf els already stick to cells in 3d) 2018-08-01 10:35:26 +02:00
Lukas
53524579b7 Fixed indention 2018-07-20 14:00:34 +02:00
Lukas
b2ae6210fc removed more output 2018-07-20 13:56:27 +02:00
Lukas
7f424a543a periodic mpi formatted 2018-07-20 13:44:46 +02:00
Lukas
9fd51602b1 less output 2018-07-20 13:29:16 +02:00
Lukas
29cfd7533c Periodic Mesh somewhat working in 2 and 3 dimensions. 2018-07-19 17:33:26 +02:00
Joachim Schöberl
95efdd212d periodic identification doesn't count for prism meshing 2018-06-28 20:54:59 +02:00
Joachim Schöberl
8c56725dcf query coordinate trafo 2018-06-25 19:42:42 +02:00
Joachim Schöberl
c20c2061f4 export SetTransformation 2018-06-25 19:25:17 +02:00
Christopher Lackner
bd58493649 fix for bisection of 2d periodic meshes 2018-06-12 10:08:13 +02:00
Joachim Schöberl
6df972be05 timestamps via interface V2 2018-05-18 21:13:21 +02:00
Joachim Schöberl
aa13a2fbb4 Merge branch 'export_timestamp' into 'master'
export mesh timestamp to python

See merge request jschoeberl/netgen!84
2018-05-14 18:52:28 +02:00
Christopher Lackner
375460b75d change timestamp to python private convention 2018-05-14 11:01:27 +02:00
Joachim Schöberl
d9219e6f05 picking geometry with mesh (CSG only by now) 2018-05-12 09:16:02 +02:00
Christopher Lackner
8e73ba68fc export mesh timestamp to python 2018-05-11 10:53:03 +02:00
Joachim Schöberl
66ef426c79 Curve mesh functionality over Ngx_Mesh 2018-05-01 21:20:54 +02:00
Joachim Schöberl
5a320121fd move DoArchive to cpp-file 2018-04-28 12:07:57 +02:00
Joachim Schöberl
0b0616eee8 bug fix table archive 2018-04-28 10:34:46 +02:00
Joachim Schöberl
bda771f86f more archive 2018-04-28 03:42:04 +02:00
Joachim Schöberl
f85b51496f persistent archiving of pointers 2018-04-27 22:34:25 +02:00
Joachim Schöberl
633376972f archiving the mesh 2018-04-27 08:36:22 +02:00
Joachim Schöberl
a985a7bfb1 Merge branch 'curvemanualmeshes' into 'master'
modify PointBetween for manually generated meshes

See merge request jschoeberl/netgen!83
2018-04-26 12:31:43 +02:00
Joachim Schöberl
e72d90fcbb Merge branch 'derive_geos_netgengeometry' into 'master'
derive geometry class in python from NetgenGeometry, gil call guard

See merge request jschoeberl/netgen!82
2018-04-18 22:00:03 +02:00
Christoph Wintersteiger
ef80db781a modify PointBetween for manually generated meshes 2018-04-18 09:34:41 +02:00
Christopher Lackner
bc520769ba derive geometry class in python from NetgenGeometry, gil call guard
for generatemesh in 2d
2018-04-17 19:37:29 +02:00
Christopher Lackner
96f9e01aba release GIL in expensive functions 2018-03-12 22:38:21 +01:00
Joachim Schöberl
07b84024ca enable tables to disable edge/face generation if not needed 2018-03-11 16:28:43 +01:00
Joachim Schöberl
aa8dbac6be export Trafo to py, IdentifyPeriodic with Trafo 2018-03-09 15:29:50 +01:00
Joachim Schöberl
ee7ac2e0a0 fix warnings 2018-03-08 23:47:58 +01:00
Joachim Schöberl
5de403ffd8 py::init constructors 2018-03-08 22:19:11 +01:00
Joachim Schöberl
cf0d3f6682 fix warnings 2018-03-08 21:36:34 +01:00
Christopher Lackner
bdfbf14a39 fix segfault on query non set boundary name in 2D 2018-03-08 14:46:34 +01:00
luz.paz
a10531adb2 Misc. typos
Found via `codespell -q 3`
2018-02-06 14:12:24 -05:00
Christopher Lackner
301ba176e5 Python export of second order trigs 2018-01-23 16:45:20 +01:00
Matthias Hochsteger
0b411e1b07 install mydefs.hpp, some DLL_HEADER
Includes parts of pull request by looooo
https://github.com/NGSolve/netgen/pull/4
2018-01-23 03:03:47 -08:00
luz.paz
58002505bc Typos
Found via `codespell`
2018-01-14 12:18:54 -05:00
Joachim Schöberl
3fffb78a20 more parallel in MeshTopology 2018-01-07 17:33:59 +01:00
Joachim Schöberl
5f2edca91c more parallel in UpdateTopology, optimize Clusters 2018-01-06 18:41:45 +01:00
Joachim Schöberl
19ec4fc9ca more tracing and parallelization 2018-01-04 18:45:07 +01:00
Joachim Schöberl
dca5a01e04 more parallel in topology 2018-01-04 13:00:01 +01:00
Joachim Schöberl
28c7bb27fc include atomic 2018-01-04 12:18:23 +01:00
Joachim Schöberl
789305c3bc more parallelism in netgen-topology 2018-01-04 11:48:45 +01:00
Joachim Schöberl
5469356147 tracer in Netgen 2018-01-04 10:43:34 +01:00
Unknown
afdc1ae85a Misc. typos
More typo
2017-12-09 22:21:40 -05:00
Christopher Lackner
bcf5ea67aa GetGeometry from mesh 2017-12-06 14:16:52 +01:00
Joachim Schöberl
38b7c2b8fa added template instantiation 2017-11-24 07:09:28 +01:00
Joachim Schöberl
7cf05d84a8 AVX512 for element-trafos 2017-11-23 21:26:36 +01:00
Joachim Schöberl
1d02f7f104 geometric search tree with hash-table 2017-11-13 11:58:13 +01:00
Joachim Schöberl
af57dd1b72 improve STL makeatlas: searchtree, templetize searchtree 2017-11-10 13:22:20 +01:00
Joachim Schöberl
d02bb9024e fix triangle generation rule (thx to TDM) 2017-11-07 11:36:54 +01:00
Joachim Schöberl
f1917aa2c4 Merge branch 'save_compressed_mesh' into 'master'
check filename extension when saving a mesh

See merge request !57
2017-11-06 17:03:31 +01:00
Christoph Wintersteiger
ccc092d2c5 save check of file ending 2017-10-30 13:43:01 +01:00