Commit Graph

235 Commits

Author SHA1 Message Date
Matthias Hochsteger
7a8e10738b Revert "CSG2d - faster AddIntersections (search tree per loop)"
This reverts commit 307c2a3bbb.
2020-10-14 19:59:36 +02:00
Matthias Hochsteger
307c2a3bbb CSG2d - faster AddIntersections (search tree per loop) 2020-10-14 18:41:35 +02:00
Matthias Hochsteger
7b8b3b03ca bounding box for Loop 2020-10-14 18:41:35 +02:00
Matthias Hochsteger
33bb84bd3e CSG2d optimizations (in-place operators, search tree) 2020-10-14 11:54:36 +02:00
Matthias Hochsteger
0852a20fff some DLL_HEADER 2020-09-24 16:58:59 +02:00
Matthias Hochsteger
2763285b46 csg2d - fix tutorial 2020-09-15 15:48:49 +02:00
Matthias Hochsteger
10a9decfd2 csg2d - separate bc numbers 2020-09-14 12:13:16 +02:00
Matthias Hochsteger
86fe7f3be7 csg2d - optimize GenerateSplineGeometry() 2020-09-11 09:06:45 +02:00
Matthias Hochsteger
f6c94035c5 SetDomainQuadMeshing for 2d geometry 2020-09-11 09:05:53 +02:00
Matthias Hochsteger
24782ccc04 CSG2d Rectangle() - individual bc names 2020-09-09 17:07:36 +02:00
Matthias Hochsteger
2a7d6bb55e csg2d - fix overlap detection, test 2020-08-28 18:35:35 +02:00
Matthias Hochsteger
956b06f907 csg2d - fix inside tests 2020-08-28 17:26:43 +02:00
Matthias Hochsteger
1c825ebddf csg2d - better check for spline overlapping 2020-08-28 14:27:01 +02:00
Matthias Hochsteger
f559cdef16 csg2d - better IsInside() check for splines 2020-08-28 14:22:44 +02:00
Matthias Hochsteger
ac87e9b62c csg2d - proper +=/-=/*= operator 2020-08-28 14:22:44 +02:00
Matthias Hochsteger
7aab695f04 csg2d - skip degenerated solids 2020-08-25 11:26:06 +02:00
Matthias Hochsteger
89c33f5b28 csg2d GenerateMesh in Python, fix arguments for Rectangle/Circle 2020-08-25 10:59:48 +02:00
Matthias Hochsteger
b14178b352 csg2d - no bc in vertex, handle maxh 2020-08-25 10:29:38 +02:00
Matthias Hochsteger
671566ef31 csg2d interface 2020-08-24 11:35:00 +02:00
Matthias Hochsteger
c4f2146519 use get_if for variant<>
compiles for Mac <10.13, also more readable
2020-08-21 12:09:31 +02:00
Matthias Hochsteger
ceb57a7c5c CSG2d interface (Solid2d ctor, EdgeInfo) 2020-08-20 18:27:08 +02:00
Matthias Hochsteger
b9487cc07a Rename Polygon2d to Loop 2020-08-20 18:26:25 +02:00
Matthias Hochsteger
4dcd20a0c7 initialize bounding box 2020-08-20 16:12:34 +02:00
Matthias Hochsteger
28d4b219fa bugfix in csg2d 2020-08-20 15:07:43 +02:00
Matthias Hochsteger
7cbeca147a fix windows build 2020-08-19 16:25:54 +02:00
Matthias Hochsteger
12b2e073ac CSG for 2D 2020-08-19 16:46:32 +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
Christopher Lackner
c3441344fb set material in tensorproduct mesh in 2d as well 2020-06-23 18:52:29 +02:00
Matthias Hochsteger
d1c7a16d63 Do linear interpolation of corresponding edge points in SplineGeometry tensor mesh generation
better results for curved domains
2020-06-08 10:41:24 +02:00
Matthias Hochsteger
5bea3bb612 Implement and export SplineGeometry2d::SetDomainTensorMeshing 2020-06-08 10:39:55 +02:00
Matthias Hochsteger
ce90bd9e83 [cmake] Simplify compile flag handling on Windows
Add options/define flags to ngcore, so they are automatically passed on
to dependencies
2020-01-16 16:38:06 -08:00
Matthias Hochsteger
a06189ac4e Redraw after geom2d::Draw() 2019-12-10 17:57:46 +01:00
Joachim Schöberl
da4053adfa Draw 2D geometry 2019-12-05 14:52:14 +01:00
Joachim Schöberl
2b683f70d5 Merge branch 'throw_on_meshing_fail' into 'master'
throw on meshing failure

See merge request jschoeberl/netgen!299
2019-11-26 19:27:30 +00: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
Christopher Lackner
303aebc27e throw on meshing failure 2019-11-26 17:08:21 +01:00
Christopher Lackner
1b1c4700ad geo GetNormal and ProjectPointEdge with geoinfo pointer 2019-11-04 11:27:01 +01:00
Christopher Lackner
5b45c7a972 implement meshing2 functionality for 3d geometries 2019-10-28 13:44:51 +01:00
Matthias Hochsteger
082908a5ec ProjectPointGI for CSG and 2D geometries 2019-10-23 11:08:11 +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
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
Christopher Lackner
7021ff8cb2 mac os doesn't have throwing variant get 2019-08-27 18:44:23 +02:00
Christopher Lackner
e2df8a5abc little cleanup and modernization in geom2d code 2019-08-27 14:00:44 +02:00
Joachim Schöberl
75e84ea40f fix warnings 2019-08-07 18:36:16 +02:00
Christopher Lackner
c22ec2dcc2 meshingparameters from python as in gui 2019-07-29 07:11:57 +02:00
Christopher Lackner
091494c6b3 cleanup python export, generate mesh functions not monkeypatched 2019-07-25 23:25:58 +02: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
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
Christopher Lackner
d19b1ec35f allow setting of maxh in old in2d files 2019-05-17 16:23:16 +02:00
Joachim Schöberl
ed5779df05 define curve from Python for 2D geometry (e.g. airfoil profile) 2019-05-13 08:43:54 +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
1e6829d8c7 remove output 2019-02-08 00:36:52 +01:00
Joachim Schöberl
966c2960fb rounding num segments per edge 2019-02-07 23:09:34 +01:00
Lukas
7b5c69f993 fix maxsegmentindex being off by one 2019-01-31 10:03:59 +01:00
Christopher Lackner
05f22e463d add function to automatically create pml layer around convex 2d geometries 2019-01-23 10:35:20 +01:00
Matthias Hochsteger
ab15ae12bc [cmake] Export object libs on Windows 2019-01-14 14:47:26 +01:00
Matthias Hochsteger
4a563f09af Fix build errors on Windows 2019-01-09 14:46:24 +01:00
Joachim Schöberl
cdf50f2cd6 Merge branch 'archive_python_pickle' into 'master'
archive now support python exported objects

See merge request jschoeberl/netgen!112
2018-12-30 14:34:03 +00:00
Joachim Schöberl
f87a173ccf py-bind with multiple inheritance 2018-12-30 15:27:48 +01:00
Joachim Schöberl
73c60d5194 change order for multiple inheritance 2018-12-29 18:31: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
Christopher Lackner
c5af003bba Merge remote-tracking branch 'gitlab/master' into ngcore 2018-12-13 13:19:40 +01:00
Christopher Lackner
fdfb596e9c archive for CSGeometry 2018-12-06 17:53:44 +01:00
Joachim Schöberl
7b7e7a52b5 throw exception if 2d meshing fails 2018-12-04 09:49:53 +01:00
Joachim Schöberl
e4d6ff8302 point-sources in 2D 2018-12-04 06:58:12 +01:00
Joachim Schöberl
c55767369a local mesh-size also for 2D 2018-11-08 16:55:49 +01:00
Joachim Schöberl
6034f6ecc3 Merge branch 'visualization_data_geometries' into 'master'
add functions to collect visualization data to python export of geometries

See merge request jschoeberl/netgen!92
2018-07-12 17:21:02 +02:00
Christopher Lackner
c9cd9eea2c add functions to collect visualization data to python export of geometries 2018-07-12 16:35:52 +02:00
Christoph Wintersteiger
2754e8705e fix behavior if not each segment has a bcname 2018-06-01 14:21:56 +02:00
Joachim Schöberl
d9219e6f05 picking geometry with mesh (CSG only by now) 2018-05-12 09:16:02 +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
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
luz.paz
58002505bc Typos
Found via `codespell`
2018-01-14 12:18:54 -05:00
Joachim Schöberl
60c80fe9fc use (double) factor for 2D hprefinement for strength of geometric refinement 2017-10-03 06:34:09 +02:00
Christoph Wintersteiger
2e07ee9962 use grading for boundray partition and set default value for elto0 2017-09-13 18:33:59 +02:00
Matthias Hochsteger
1430b89e39 Update pybind11 to version 2.2.0
- Replace PYBIND11_PLUGIN with PYBIND11_MODULE

- Fix warnings about symbol visibility by replacing
  'namespace pybind11' with 'namespace PYBIND11_NAMESPACE'

- Pybind sets the default visibility of its namespace to 'hidden'
  Thus, our export functions like  ExportCSG(py::module &m) also are
  hidden by default. To work around that define DLL_HEADER
  '__attribute__ ((visibility ("default")))
  on GNUC platforms.
2017-09-01 10:16:56 +02:00
Matthias Hochsteger
f6a0b31b96 Cleanup CMake build system
- Use CMAKE_INSTALL_PREFIX instead of INSTALL_DIR
  - Allow finer control of install directories
  - Use compiled TCL code by default
  - Fix RPATH usage on Linux and MacOSX

### Allow finer control of install directories
The following variables can be set to either absolute or relative paths
NG_INSTALL_DIR_PYTHON: Python files
NG_INSTALL_DIR_BIN: Executables
NG_INSTALL_DIR_LIB: Libraries
NG_INSTALL_DIR_INCLUDE: header files
NG_INSTALL_DIR_CMAKE: CMake files
NG_INSTALL_DIR_RES: Resources

### Use compiled TCL code by default
The tcl files contained in Netgen are stored in onetcl.cpp as c-string.
This way it's not necessary to install tcl files or set NETGENDIR

### Fix RPATH usage on Linux and MacOSX
The Netgen installation should be completely relocatable now.

Squashed commit of the following:

commit 201eda5e62726bd87d76beb13c3e5643cd4c7810
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 21:10:08 2017 +0200

    cleanup

commit b4cd46a9d2f390b40c5223c8d9971f576b979644
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 20:47:46 2017 +0200

    fix

commit 6506a834dbee2fd7b6df3b3f3709d0b27344356f
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 20:41:45 2017 +0200

    allow gui test to fail

commit 56c5fc131f61259e6fb67b60f7fff955d2e8d2da
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 20:26:18 2017 +0200

    add python3-tk to docker images

commit 4d1b5aac1d028867339819599708a08f2098bbd6
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 11:22:18 2017 -0700

    windows fix

commit 92b5f8a95491ba3508143d7f1b94359edc0655ce
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 11:08:08 2017 -0700

    fix for windows

commit 3f7bf51434ef3b637b3563930ddb61d04af645cb
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 19:28:13 2017 +0200

    fixes, test for gui

commit ef1d0164a50fadf374e3b1e43a745b5f69a16ad6
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 19:06:55 2017 +0200

    fixes

commit 67645bb896012149c23c851b03287199c21fa129
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 17:24:58 2017 +0200

    netgen config

commit b587b77a282768719cffc366c56d82a1746e0be0
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 16:53:47 2017 +0200

    remove comments

commit 2b34cc78818afa1cf21484bd0976413a91db0851
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 05:03:00 2017 -0700

    fix windows

commit 9e98efa54065624e264eaf1acf74b44ef022a68d
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 13:42:11 2017 +0200

    fixes

commit 394b470a07d73431079f80caa36c7c7042077f40
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 12:24:40 2017 +0200

    fix rpath issue

commit 6787eae384a8592f90598258ccd8207cd499d9fc
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 11:37:05 2017 +0200

    some more fixes with install dir

commit fcf22659c60300e8d39d12e14b21c58a062e739c
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 01:34:06 2017 -0700

    some fixes

commit ede1f0c462978bb70d3b4e2251cb555a592e82e3
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 10:16:34 2017 +0200

    fixes

commit b6a1259876a77f54e419a44f1b44d03d5bb49b82
Merge: c79f9a3 6627b0b
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 24 09:35:50 2017 +0200

    Merge remote-tracking branch 'origin/master' into cmake_cleanup

commit c79f9a3421d4d2937c31dab4a601ce09d52b0e54
Merge: 99c3550 030ad1d
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 22 17:52:24 2017 +0200

    Merge remote-tracking branch 'origin/master' into cmake_cleanup

commit 99c35500850e08fdc847013bb384169b1483acb4
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Fri May 19 14:37:28 2017 +0200

    fix rpath

commit 8215e9748d9ee225266bc941da1ca252aebd27de
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Thu May 18 13:29:41 2017 +0200

    remove INSTALL_DIR, rename var to NETGEN_INSTALL_DIR_INCLUDE, install libngpy to python package folder

commit 23d028c4cf7572de9e2e277cda8f6b07b6b1d9f9
Merge: 57027c8 f72a247
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Thu May 18 12:03:59 2017 +0200

    Merge remote-tracking branch 'origin/master' into cmake_cleanup

commit 57027c8c706ff755bdf26887884bbdeca129fe8f
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Fri May 12 17:32:05 2017 +0200

    New CMake option: USE_INTERNAL_TCL (ON by default)

    This option uses the tcl code compiled in onetcl.cpp instead of separate
    tcl files by default. When set at configure time, no tcl files will be
    installed anymore.

commit 27ce5b7edd66d64e2453f5045f5ac08c313f7608
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Fri May 12 17:16:52 2017 +0200

    WIP: Cleanup of CMake files

      - Fix RPATH on Linux (TODO: other platforms)
      - New variables to specify install behaviour:
          NG_INSTALL_DIR_BIN
          NG_INSTALL_DIR_LIB
          NG_INSTALL_DIR_CMAKE
          NG_INSTALL_DIR_INCLUDE
2017-05-29 21:41:27 +02:00
Joachim Schöberl
5efaa2f85b first add corner points to mesh, and then edge points (for consistent orientation on periodic edges) 2017-03-08 18:07:55 +01:00
Matthias Hochsteger
4cff6b546a install all headers to INCDIR 2017-01-16 14:59:57 +01:00
Matthias Hochsteger
190d035809 Fix Python paths 2017-01-09 18:45:12 +01:00
Joachim Schöberl
d1de4a7cf9 Introduce NetgenGeometry base class to Python. export meshing first, then csg 2017-01-05 05:08:24 +01:00
Christopher Lackner
7e4892a9e7 firststep and laststep as meshingparameters to be exported to python 2016-12-05 13:50:21 +01:00
Matthias Hochsteger
e31cc7dfa1 Not necessary to cast py::list to python object 2016-12-01 14:24:30 +01:00
Matthias Hochsteger
ee4d5e89d8 remove unnecessary files (mostly unsupported build systems) 2016-11-23 18:07:14 +01:00
Joachim Schöberl
fe356ab3ca 0 to py::int_ conversion 2016-11-04 14:55:15 +01:00
Matthias Hochsteger
96c1235184 switch from boost::python to pybind11 2016-11-04 12:14:52 +01:00
Joachim Schöberl
87656d3b87 periodic edges in 2d 2016-10-20 12:29:00 +02:00
Joachim Schöberl
1d70dcf08b use convex hulls 2016-09-07 09:05:03 +02:00
Matthias
f152c4924e fix for VS2015 Update 3 2016-08-26 14:33:57 +02:00
Joachim Schöberl
f3a1325ca8 2d hprefinement 2016-07-08 17:40:59 +02:00
Joachim Schöberl
a53149131e order elements (for TP) 2016-05-13 12:06:20 +02:00
Joachim Schöberl
c98a55ab11 merge ttk branch to master 2016-02-08 15:53:16 +01:00
Joachim Schöberl
ba838e39dc remove debug output 2015-11-02 17:02:25 +01:00
Joachim Schöberl
7165c90fb1 features for 2d meshing 2015-11-01 12:07:26 +01:00
Joachim Schöberl
5bcf28d196 mesh size and bcnames for 2d geometries 2015-10-30 19:50:40 +01:00
Joachim Schöberl
c4b532aac2 set 2d maxh 2015-10-21 18:06:12 +02:00