Commit Graph

61 Commits

Author SHA1 Message Date
Matthias Hochsteger
163135981e Fix GIL issues in GenerateMesh() functions
Functions with a python typed argument (kwargs in this case) cannot use
  py::call_guard<py::gil_scoped_release>()
because it means, the GIL is not held when the function returns (and
cleans up arguments/temporary variables).

Thus, remove the global call guard and create a local variable
  py::gil_scoped_release gil_release;
after arguments are processed and before meshing starts.

This local variable is destroyed before the function returns
(acquiring the GIL again).
2024-06-21 11:36:37 +02:00
Matthias Hochsteger
b694b4667a rework build system, separate gui and non-gui code
move fieldlines code to meshing dir

move visualization function pointers to meshing directory

DLL_HEADER -> NGGUI_API in visualization lib

move soldata.hpp to meshing

update occ, no freetype necessary anymore
2022-05-05 14:39:31 +02:00
Matthias Hochsteger
f53dad83ae layer property for Solid2d 2021-09-01 14:38:45 +02:00
Christopher Lackner
aca46c49c8 add SetDomainLayer for geom2d 2021-09-01 14:34:30 +02:00
Matthias Hochsteger
b2fea6dec1 Clean up multiple definitions of DLL_HEADER
- define DLL_HEADER only once in mydefs.hpp
- define/use NGLIB_API in nglib.h
- use NGCORE_API_EXPORT for explicit export of symbols
2021-02-18 14:53:38 +01:00
Christopher Lackner
b58c35831d Don't need to specify string description of spline type in 2d geom 2021-01-26 11:27:46 +01:00
Matthias Hochsteger
6199c7f66b csg2d interface 2020-11-05 14:59:58 +01:00
Christopher Lackner
39be1fd3c9 add PointInfo for csg2d for maxh and name in points 2020-10-19 16:32:42 +02:00
Matthias Hochsteger
24782ccc04 CSG2d Rectangle() - individual bc names 2020-09-09 17:07:36 +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
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
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
5bea3bb612 Implement and export SplineGeometry2d::SetDomainTensorMeshing 2020-06-08 10:39:55 +02: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
Christopher Lackner
303aebc27e throw on meshing failure 2019-11-26 17:08:21 +01: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
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
Joachim Schöberl
ed5779df05 define curve from Python for 2D geometry (e.g. airfoil profile) 2019-05-13 08:43:54 +02: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
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
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
e4d6ff8302 point-sources in 2D 2018-12-04 06:58:12 +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
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
Joachim Schöberl
60c80fe9fc use (double) factor for 2D hprefinement for strength of geometric refinement 2017-10-03 06:34:09 +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
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
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
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
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