netgen-mesher 6.2.2506.post35.dev0__cp314-cp314-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. netgen/NgOCC.py +7 -0
  2. netgen/__init__.py +114 -0
  3. netgen/__init__.pyi +22 -0
  4. netgen/__main__.py +53 -0
  5. netgen/cmake/NetgenConfig.cmake +79 -0
  6. netgen/cmake/netgen-targets-release.cmake +69 -0
  7. netgen/cmake/netgen-targets.cmake +146 -0
  8. netgen/config/__init__.py +1 -0
  9. netgen/config/__init__.pyi +52 -0
  10. netgen/config/__main__.py +4 -0
  11. netgen/config/config.py +68 -0
  12. netgen/config/config.pyi +54 -0
  13. netgen/csg.py +25 -0
  14. netgen/geom2d.py +178 -0
  15. netgen/gui.py +82 -0
  16. netgen/include/core/archive.hpp +1256 -0
  17. netgen/include/core/array.hpp +1760 -0
  18. netgen/include/core/autodiff.hpp +1131 -0
  19. netgen/include/core/autodiffdiff.hpp +733 -0
  20. netgen/include/core/bitarray.hpp +240 -0
  21. netgen/include/core/concurrentqueue.h +3619 -0
  22. netgen/include/core/exception.hpp +145 -0
  23. netgen/include/core/flags.hpp +199 -0
  24. netgen/include/core/hashtable.hpp +1281 -0
  25. netgen/include/core/localheap.hpp +318 -0
  26. netgen/include/core/logging.hpp +117 -0
  27. netgen/include/core/memtracer.hpp +221 -0
  28. netgen/include/core/mpi4py_pycapi.h +245 -0
  29. netgen/include/core/mpi_wrapper.hpp +643 -0
  30. netgen/include/core/ng_mpi.hpp +94 -0
  31. netgen/include/core/ng_mpi_generated_declarations.hpp +155 -0
  32. netgen/include/core/ng_mpi_native.hpp +25 -0
  33. netgen/include/core/ngcore.hpp +32 -0
  34. netgen/include/core/ngcore_api.hpp +152 -0
  35. netgen/include/core/ngstream.hpp +115 -0
  36. netgen/include/core/paje_trace.hpp +279 -0
  37. netgen/include/core/profiler.hpp +382 -0
  38. netgen/include/core/python_ngcore.hpp +457 -0
  39. netgen/include/core/ranges.hpp +109 -0
  40. netgen/include/core/register_archive.hpp +100 -0
  41. netgen/include/core/signal.hpp +82 -0
  42. netgen/include/core/simd.hpp +160 -0
  43. netgen/include/core/simd_arm64.hpp +407 -0
  44. netgen/include/core/simd_avx.hpp +394 -0
  45. netgen/include/core/simd_avx512.hpp +285 -0
  46. netgen/include/core/simd_generic.hpp +1053 -0
  47. netgen/include/core/simd_math.hpp +178 -0
  48. netgen/include/core/simd_sse.hpp +289 -0
  49. netgen/include/core/statushandler.hpp +37 -0
  50. netgen/include/core/symboltable.hpp +153 -0
  51. netgen/include/core/table.hpp +810 -0
  52. netgen/include/core/taskmanager.hpp +1161 -0
  53. netgen/include/core/type_traits.hpp +65 -0
  54. netgen/include/core/utils.hpp +385 -0
  55. netgen/include/core/version.hpp +102 -0
  56. netgen/include/core/xbool.hpp +47 -0
  57. netgen/include/csg/algprim.hpp +563 -0
  58. netgen/include/csg/brick.hpp +150 -0
  59. netgen/include/csg/csg.hpp +43 -0
  60. netgen/include/csg/csgeom.hpp +389 -0
  61. netgen/include/csg/csgparser.hpp +101 -0
  62. netgen/include/csg/curve2d.hpp +67 -0
  63. netgen/include/csg/edgeflw.hpp +112 -0
  64. netgen/include/csg/explicitcurve2d.hpp +113 -0
  65. netgen/include/csg/extrusion.hpp +185 -0
  66. netgen/include/csg/gencyl.hpp +70 -0
  67. netgen/include/csg/geoml.hpp +16 -0
  68. netgen/include/csg/identify.hpp +213 -0
  69. netgen/include/csg/manifold.hpp +29 -0
  70. netgen/include/csg/meshsurf.hpp +46 -0
  71. netgen/include/csg/polyhedra.hpp +121 -0
  72. netgen/include/csg/revolution.hpp +180 -0
  73. netgen/include/csg/singularref.hpp +84 -0
  74. netgen/include/csg/solid.hpp +295 -0
  75. netgen/include/csg/specpoin.hpp +194 -0
  76. netgen/include/csg/spline3d.hpp +99 -0
  77. netgen/include/csg/splinesurface.hpp +85 -0
  78. netgen/include/csg/surface.hpp +394 -0
  79. netgen/include/csg/triapprox.hpp +63 -0
  80. netgen/include/csg/vscsg.hpp +34 -0
  81. netgen/include/general/autodiff.hpp +356 -0
  82. netgen/include/general/autoptr.hpp +39 -0
  83. netgen/include/general/gzstream.h +121 -0
  84. netgen/include/general/hashtabl.hpp +1692 -0
  85. netgen/include/general/myadt.hpp +48 -0
  86. netgen/include/general/mystring.hpp +226 -0
  87. netgen/include/general/netgenout.hpp +205 -0
  88. netgen/include/general/ngarray.hpp +797 -0
  89. netgen/include/general/ngbitarray.hpp +149 -0
  90. netgen/include/general/ngpython.hpp +74 -0
  91. netgen/include/general/optmem.hpp +44 -0
  92. netgen/include/general/parthreads.hpp +138 -0
  93. netgen/include/general/seti.hpp +50 -0
  94. netgen/include/general/sort.hpp +47 -0
  95. netgen/include/general/spbita2d.hpp +59 -0
  96. netgen/include/general/stack.hpp +114 -0
  97. netgen/include/general/table.hpp +280 -0
  98. netgen/include/general/template.hpp +509 -0
  99. netgen/include/geom2d/csg2d.hpp +750 -0
  100. netgen/include/geom2d/geometry2d.hpp +280 -0
  101. netgen/include/geom2d/spline2d.hpp +234 -0
  102. netgen/include/geom2d/vsgeom2d.hpp +28 -0
  103. netgen/include/gprim/adtree.hpp +1392 -0
  104. netgen/include/gprim/geom2d.hpp +858 -0
  105. netgen/include/gprim/geom3d.hpp +749 -0
  106. netgen/include/gprim/geomfuncs.hpp +212 -0
  107. netgen/include/gprim/geomobjects.hpp +544 -0
  108. netgen/include/gprim/geomops.hpp +404 -0
  109. netgen/include/gprim/geomtest3d.hpp +101 -0
  110. netgen/include/gprim/gprim.hpp +33 -0
  111. netgen/include/gprim/spline.hpp +778 -0
  112. netgen/include/gprim/splinegeometry.hpp +73 -0
  113. netgen/include/gprim/transform3d.hpp +216 -0
  114. netgen/include/include/acisgeom.hpp +3 -0
  115. netgen/include/include/csg.hpp +1 -0
  116. netgen/include/include/geometry2d.hpp +1 -0
  117. netgen/include/include/gprim.hpp +1 -0
  118. netgen/include/include/incopengl.hpp +62 -0
  119. netgen/include/include/inctcl.hpp +13 -0
  120. netgen/include/include/incvis.hpp +6 -0
  121. netgen/include/include/linalg.hpp +1 -0
  122. netgen/include/include/meshing.hpp +1 -0
  123. netgen/include/include/myadt.hpp +1 -0
  124. netgen/include/include/mydefs.hpp +70 -0
  125. netgen/include/include/mystdlib.h +59 -0
  126. netgen/include/include/netgen_config.hpp +27 -0
  127. netgen/include/include/netgen_version.hpp +9 -0
  128. netgen/include/include/nginterface_v2_impl.hpp +395 -0
  129. netgen/include/include/ngsimd.hpp +1 -0
  130. netgen/include/include/occgeom.hpp +1 -0
  131. netgen/include/include/opti.hpp +1 -0
  132. netgen/include/include/parallel.hpp +1 -0
  133. netgen/include/include/stlgeom.hpp +1 -0
  134. netgen/include/include/visual.hpp +1 -0
  135. netgen/include/interface/rw_medit.hpp +11 -0
  136. netgen/include/interface/writeuser.hpp +80 -0
  137. netgen/include/linalg/densemat.hpp +414 -0
  138. netgen/include/linalg/linalg.hpp +29 -0
  139. netgen/include/linalg/opti.hpp +142 -0
  140. netgen/include/linalg/polynomial.hpp +47 -0
  141. netgen/include/linalg/vector.hpp +217 -0
  142. netgen/include/meshing/adfront2.hpp +274 -0
  143. netgen/include/meshing/adfront3.hpp +332 -0
  144. netgen/include/meshing/basegeom.hpp +370 -0
  145. netgen/include/meshing/bcfunctions.hpp +53 -0
  146. netgen/include/meshing/bisect.hpp +72 -0
  147. netgen/include/meshing/boundarylayer.hpp +113 -0
  148. netgen/include/meshing/classifyhpel.hpp +1984 -0
  149. netgen/include/meshing/clusters.hpp +46 -0
  150. netgen/include/meshing/curvedelems.hpp +274 -0
  151. netgen/include/meshing/delaunay2d.hpp +73 -0
  152. netgen/include/meshing/fieldlines.hpp +103 -0
  153. netgen/include/meshing/findip.hpp +198 -0
  154. netgen/include/meshing/findip2.hpp +103 -0
  155. netgen/include/meshing/geomsearch.hpp +69 -0
  156. netgen/include/meshing/global.hpp +54 -0
  157. netgen/include/meshing/hpref_hex.hpp +330 -0
  158. netgen/include/meshing/hpref_prism.hpp +3405 -0
  159. netgen/include/meshing/hpref_pyramid.hpp +154 -0
  160. netgen/include/meshing/hpref_quad.hpp +2082 -0
  161. netgen/include/meshing/hpref_segm.hpp +122 -0
  162. netgen/include/meshing/hpref_tet.hpp +4230 -0
  163. netgen/include/meshing/hpref_trig.hpp +848 -0
  164. netgen/include/meshing/hprefinement.hpp +366 -0
  165. netgen/include/meshing/improve2.hpp +178 -0
  166. netgen/include/meshing/improve3.hpp +151 -0
  167. netgen/include/meshing/localh.hpp +223 -0
  168. netgen/include/meshing/meshclass.hpp +1076 -0
  169. netgen/include/meshing/meshfunc.hpp +47 -0
  170. netgen/include/meshing/meshing.hpp +63 -0
  171. netgen/include/meshing/meshing2.hpp +163 -0
  172. netgen/include/meshing/meshing3.hpp +123 -0
  173. netgen/include/meshing/meshtool.hpp +90 -0
  174. netgen/include/meshing/meshtype.hpp +1930 -0
  175. netgen/include/meshing/msghandler.hpp +62 -0
  176. netgen/include/meshing/paralleltop.hpp +172 -0
  177. netgen/include/meshing/python_mesh.hpp +206 -0
  178. netgen/include/meshing/ruler2.hpp +172 -0
  179. netgen/include/meshing/ruler3.hpp +211 -0
  180. netgen/include/meshing/soldata.hpp +141 -0
  181. netgen/include/meshing/specials.hpp +17 -0
  182. netgen/include/meshing/surfacegeom.hpp +73 -0
  183. netgen/include/meshing/topology.hpp +1003 -0
  184. netgen/include/meshing/validate.hpp +21 -0
  185. netgen/include/meshing/visual_interface.hpp +71 -0
  186. netgen/include/mydefs.hpp +70 -0
  187. netgen/include/nginterface.h +474 -0
  188. netgen/include/nginterface_v2.hpp +406 -0
  189. netgen/include/nglib.h +697 -0
  190. netgen/include/nglib_occ.h +50 -0
  191. netgen/include/occ/occ_edge.hpp +47 -0
  192. netgen/include/occ/occ_face.hpp +52 -0
  193. netgen/include/occ/occ_solid.hpp +23 -0
  194. netgen/include/occ/occ_utils.hpp +376 -0
  195. netgen/include/occ/occ_vertex.hpp +30 -0
  196. netgen/include/occ/occgeom.hpp +659 -0
  197. netgen/include/occ/occmeshsurf.hpp +168 -0
  198. netgen/include/occ/vsocc.hpp +33 -0
  199. netgen/include/pybind11/LICENSE +29 -0
  200. netgen/include/pybind11/attr.h +722 -0
  201. netgen/include/pybind11/buffer_info.h +208 -0
  202. netgen/include/pybind11/cast.h +2361 -0
  203. netgen/include/pybind11/chrono.h +228 -0
  204. netgen/include/pybind11/common.h +2 -0
  205. netgen/include/pybind11/complex.h +74 -0
  206. netgen/include/pybind11/conduit/README.txt +15 -0
  207. netgen/include/pybind11/conduit/pybind11_conduit_v1.h +116 -0
  208. netgen/include/pybind11/conduit/pybind11_platform_abi_id.h +87 -0
  209. netgen/include/pybind11/conduit/wrap_include_python_h.h +72 -0
  210. netgen/include/pybind11/critical_section.h +56 -0
  211. netgen/include/pybind11/detail/class.h +823 -0
  212. netgen/include/pybind11/detail/common.h +1348 -0
  213. netgen/include/pybind11/detail/cpp_conduit.h +75 -0
  214. netgen/include/pybind11/detail/descr.h +226 -0
  215. netgen/include/pybind11/detail/dynamic_raw_ptr_cast_if_possible.h +39 -0
  216. netgen/include/pybind11/detail/exception_translation.h +71 -0
  217. netgen/include/pybind11/detail/function_record_pyobject.h +191 -0
  218. netgen/include/pybind11/detail/init.h +538 -0
  219. netgen/include/pybind11/detail/internals.h +799 -0
  220. netgen/include/pybind11/detail/native_enum_data.h +209 -0
  221. netgen/include/pybind11/detail/pybind11_namespace_macros.h +82 -0
  222. netgen/include/pybind11/detail/struct_smart_holder.h +378 -0
  223. netgen/include/pybind11/detail/type_caster_base.h +1591 -0
  224. netgen/include/pybind11/detail/typeid.h +65 -0
  225. netgen/include/pybind11/detail/using_smart_holder.h +22 -0
  226. netgen/include/pybind11/detail/value_and_holder.h +90 -0
  227. netgen/include/pybind11/eigen/common.h +9 -0
  228. netgen/include/pybind11/eigen/matrix.h +723 -0
  229. netgen/include/pybind11/eigen/tensor.h +521 -0
  230. netgen/include/pybind11/eigen.h +12 -0
  231. netgen/include/pybind11/embed.h +320 -0
  232. netgen/include/pybind11/eval.h +161 -0
  233. netgen/include/pybind11/functional.h +147 -0
  234. netgen/include/pybind11/gil.h +199 -0
  235. netgen/include/pybind11/gil_safe_call_once.h +102 -0
  236. netgen/include/pybind11/gil_simple.h +37 -0
  237. netgen/include/pybind11/iostream.h +265 -0
  238. netgen/include/pybind11/native_enum.h +67 -0
  239. netgen/include/pybind11/numpy.h +2312 -0
  240. netgen/include/pybind11/operators.h +202 -0
  241. netgen/include/pybind11/options.h +92 -0
  242. netgen/include/pybind11/pybind11.h +3645 -0
  243. netgen/include/pybind11/pytypes.h +2680 -0
  244. netgen/include/pybind11/stl/filesystem.h +114 -0
  245. netgen/include/pybind11/stl.h +666 -0
  246. netgen/include/pybind11/stl_bind.h +858 -0
  247. netgen/include/pybind11/subinterpreter.h +299 -0
  248. netgen/include/pybind11/trampoline_self_life_support.h +65 -0
  249. netgen/include/pybind11/type_caster_pyobject_ptr.h +61 -0
  250. netgen/include/pybind11/typing.h +298 -0
  251. netgen/include/pybind11/warnings.h +75 -0
  252. netgen/include/stlgeom/meshstlsurface.hpp +67 -0
  253. netgen/include/stlgeom/stlgeom.hpp +491 -0
  254. netgen/include/stlgeom/stlline.hpp +193 -0
  255. netgen/include/stlgeom/stltool.hpp +331 -0
  256. netgen/include/stlgeom/stltopology.hpp +419 -0
  257. netgen/include/stlgeom/vsstl.hpp +58 -0
  258. netgen/include/visualization/meshdoc.hpp +42 -0
  259. netgen/include/visualization/mvdraw.hpp +325 -0
  260. netgen/include/visualization/vispar.hpp +128 -0
  261. netgen/include/visualization/visual.hpp +28 -0
  262. netgen/include/visualization/visual_api.hpp +10 -0
  263. netgen/include/visualization/vssolution.hpp +399 -0
  264. netgen/lib/libnggui.lib +0 -0
  265. netgen/lib/ngcore.lib +0 -0
  266. netgen/lib/nglib.lib +0 -0
  267. netgen/lib/togl.lib +0 -0
  268. netgen/libnggui.dll +0 -0
  269. netgen/libngguipy.lib +0 -0
  270. netgen/libngguipy.pyd +0 -0
  271. netgen/libngpy/_NgOCC.pyi +1545 -0
  272. netgen/libngpy/__init__.pyi +7 -0
  273. netgen/libngpy/_csg.pyi +259 -0
  274. netgen/libngpy/_geom2d.pyi +323 -0
  275. netgen/libngpy/_meshing.pyi +1111 -0
  276. netgen/libngpy/_stl.pyi +131 -0
  277. netgen/libngpy.lib +0 -0
  278. netgen/libngpy.pyd +0 -0
  279. netgen/meshing.py +65 -0
  280. netgen/ngcore.dll +0 -0
  281. netgen/nglib.dll +0 -0
  282. netgen/occ.py +52 -0
  283. netgen/read_gmsh.py +259 -0
  284. netgen/read_meshio.py +22 -0
  285. netgen/stl.py +2 -0
  286. netgen/togl.dll +0 -0
  287. netgen/version.py +2 -0
  288. netgen/webgui.py +529 -0
  289. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/boundarycondition.geo +16 -0
  290. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/boxcyl.geo +32 -0
  291. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/circle_on_cube.geo +27 -0
  292. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cone.geo +13 -0
  293. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cube.geo +16 -0
  294. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubeandring.geo +55 -0
  295. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubeandspheres.geo +21 -0
  296. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubemcyl.geo +18 -0
  297. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubemsphere.geo +19 -0
  298. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cylinder.geo +12 -0
  299. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cylsphere.geo +12 -0
  300. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/doc/ng4.pdf +0 -0
  301. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/ellipsoid.geo +8 -0
  302. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/ellipticcyl.geo +10 -0
  303. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/extrusion.geo +99 -0
  304. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/fichera.geo +24 -0
  305. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/frame.step +11683 -0
  306. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/hinge.stl +8486 -0
  307. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/lshape3d.geo +26 -0
  308. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/manyholes.geo +26 -0
  309. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/manyholes2.geo +26 -0
  310. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/matrix.geo +27 -0
  311. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/ortho.geo +11 -0
  312. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/part1.stl +2662 -0
  313. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/period.geo +33 -0
  314. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/py_tutorials/exportNeutral.py +26 -0
  315. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/py_tutorials/mesh.py +19 -0
  316. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/py_tutorials/shaft.geo +65 -0
  317. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/revolution.geo +18 -0
  318. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/screw.step +1694 -0
  319. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/sculpture.geo +13 -0
  320. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/shaft.geo +65 -0
  321. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/shell.geo +10 -0
  322. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/sphere.geo +8 -0
  323. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/sphereincube.geo +17 -0
  324. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/square.in2d +35 -0
  325. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/squarecircle.in2d +48 -0
  326. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/squarehole.in2d +47 -0
  327. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/torus.geo +8 -0
  328. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/trafo.geo +57 -0
  329. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/twobricks.geo +15 -0
  330. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/twocubes.geo +18 -0
  331. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/twocyl.geo +16 -0
  332. netgen_mesher-6.2.2506.post35.dev0.dist-info/METADATA +15 -0
  333. netgen_mesher-6.2.2506.post35.dev0.dist-info/RECORD +340 -0
  334. netgen_mesher-6.2.2506.post35.dev0.dist-info/WHEEL +5 -0
  335. netgen_mesher-6.2.2506.post35.dev0.dist-info/entry_points.txt +2 -0
  336. netgen_mesher-6.2.2506.post35.dev0.dist-info/licenses/AUTHORS +1 -0
  337. netgen_mesher-6.2.2506.post35.dev0.dist-info/licenses/LICENSE +504 -0
  338. netgen_mesher-6.2.2506.post35.dev0.dist-info/top_level.txt +2 -0
  339. pyngcore/__init__.py +1 -0
  340. pyngcore/pyngcore.cp314-win_amd64.pyd +0 -0
@@ -0,0 +1,54 @@
1
+ from __future__ import annotations
2
+ __all__: list[str] = ['BUILD_FOR_CONDA', 'BUILD_STUB_FILES', 'CHECK_RANGE', 'CMAKE_INSTALL_PREFIX', 'DEBUG_LOG', 'ENABLE_CPP_CORE_GUIDELINES_CHECK', 'ENABLE_UNIT_TESTS', 'INSTALL_PROFILES', 'INTEL_MIC', 'NETGEN_PYTHON_PACKAGE_NAME', 'NETGEN_PYTHON_RPATH', 'NETGEN_PYTHON_RPATH_BIN', 'NETGEN_VERSION', 'NETGEN_VERSION_GIT', 'NETGEN_VERSION_HASH', 'NETGEN_VERSION_MAJOR', 'NETGEN_VERSION_MINOR', 'NETGEN_VERSION_PATCH', 'NETGEN_VERSION_PYTHON', 'NETGEN_VERSION_TWEAK', 'NG_COMPILE_FLAGS', 'NG_INSTALL_DIR_BIN', 'NG_INSTALL_DIR_CMAKE', 'NG_INSTALL_DIR_INCLUDE', 'NG_INSTALL_DIR_LIB', 'NG_INSTALL_DIR_PYTHON', 'NG_INSTALL_DIR_RES', 'PYTHON_VERSION', 'PYTHON_VERSION_MAJOR', 'PYTHON_VERSION_MINOR', 'TRACE_MEMORY', 'USE_CCACHE', 'USE_CGNS', 'USE_GUI', 'USE_INTERNAL_TCL', 'USE_JPEG', 'USE_MPEG', 'USE_MPI', 'USE_MPI4PY', 'USE_NATIVE_ARCH', 'USE_NUMA', 'USE_OCC', 'USE_PYTHON', 'USE_SPDLOG', 'get_cmake_dir', 'is_python_package', 'ngcore_compile_definitions', 'ngcore_compile_options', 'version']
3
+ def _cmake_to_bool(s):
4
+ ...
5
+ def get_cmake_dir():
6
+ ...
7
+ BUILD_FOR_CONDA: bool = True
8
+ BUILD_STUB_FILES: bool = True
9
+ CHECK_RANGE: bool = False
10
+ CMAKE_INSTALL_PREFIX: str = 'C:/gitlabci/tools/builds/3zsqG5ns/0/ngsolve/netgen/_skbuild/win-amd64-3.14/cmake-install'
11
+ DEBUG_LOG: bool = False
12
+ ENABLE_CPP_CORE_GUIDELINES_CHECK: bool = False
13
+ ENABLE_UNIT_TESTS: bool = False
14
+ INSTALL_PROFILES: bool = False
15
+ INTEL_MIC: bool = False
16
+ NETGEN_PYTHON_PACKAGE_NAME: str = 'netgen-mesher'
17
+ NETGEN_PYTHON_RPATH: str = 'netgen'
18
+ NETGEN_PYTHON_RPATH_BIN: str = 'netgen'
19
+ NETGEN_VERSION: str = '6.2.2506-35-ga9438ce2'
20
+ NETGEN_VERSION_GIT: str = 'v6.2.2506-35-ga9438ce2'
21
+ NETGEN_VERSION_HASH: str = 'ga9438ce2'
22
+ NETGEN_VERSION_MAJOR: str = '6'
23
+ NETGEN_VERSION_MINOR: str = '2'
24
+ NETGEN_VERSION_PATCH: str = '2506'
25
+ NETGEN_VERSION_PYTHON: str = '6.2.2506.post35.dev0'
26
+ NETGEN_VERSION_TWEAK: str = '35'
27
+ NG_COMPILE_FLAGS: str = '/arch:AVX2'
28
+ NG_INSTALL_DIR_BIN: str = 'netgen'
29
+ NG_INSTALL_DIR_CMAKE: str = 'netgen/cmake'
30
+ NG_INSTALL_DIR_INCLUDE: str = 'netgen/include'
31
+ NG_INSTALL_DIR_LIB: str = 'netgen/lib'
32
+ NG_INSTALL_DIR_PYTHON: str = '.'
33
+ NG_INSTALL_DIR_RES: str = 'share'
34
+ PYTHON_VERSION: str = '3.14.0'
35
+ PYTHON_VERSION_MAJOR: str = '3'
36
+ PYTHON_VERSION_MINOR: str = '14'
37
+ TRACE_MEMORY: bool = False
38
+ USE_CCACHE: bool = True
39
+ USE_CGNS: bool = False
40
+ USE_GUI: bool = True
41
+ USE_INTERNAL_TCL: bool = True
42
+ USE_JPEG: bool = False
43
+ USE_MPEG: bool = False
44
+ USE_MPI: bool = False
45
+ USE_MPI4PY: bool = False
46
+ USE_NATIVE_ARCH: bool = False
47
+ USE_NUMA: bool = False
48
+ USE_OCC: bool = True
49
+ USE_PYTHON: bool = True
50
+ USE_SPDLOG: bool = False
51
+ is_python_package: bool = True
52
+ ngcore_compile_definitions: str = 'NETGEN_PYTHON;NG_PYTHON;PYBIND11_SIMPLE_GIL_MANAGEMENT;_WIN32_WINNT=0x1000;WNT;WNT_WINDOW;NOMINMAX;MSVC_EXPRESS;_CRT_SECURE_NO_WARNINGS;HAVE_STRUCT_TIMESPEC;WIN32'
53
+ ngcore_compile_options: str = '/arch:AVX2;/bigobj;$<BUILD_INTERFACE:/MP;/W1;/wd4068>'
54
+ version: str = 'v6.2.2506-35-ga9438ce2'
netgen/csg.py ADDED
@@ -0,0 +1,25 @@
1
+ from .libngpy._csg import *
2
+ from .libngpy._meshing import Pnt, Vec, Trafo
3
+ from .meshing import meshsize
4
+
5
+ try:
6
+ from . import csgvis
7
+ from .csgvis import MouseMove
8
+ CSGeometry.VS = csgvis.VS
9
+ SetBackGroundColor = csgvis.SetBackGroundColor
10
+ del csgvis
11
+
12
+ def VS (obj):
13
+ return obj.VS()
14
+ except:
15
+ pass
16
+
17
+ unit_cube = CSGeometry()
18
+ p1 = Plane(Pnt(0,0,0),Vec(-1,0,0)).bc("back")
19
+ p2 = Plane(Pnt(1,1,1),Vec(1,0,0)).bc("front")
20
+ p3 = Plane(Pnt(0,0,0),Vec(0,-1,0)).bc("left")
21
+ p4 = Plane(Pnt(1,1,1),Vec(0,1,0)).bc("right")
22
+ p5 = Plane(Pnt(0,0,0),Vec(0,0,-1)).bc("bottom")
23
+ p6 = Plane(Pnt(1,1,1),Vec(0,0,1)).bc("top")
24
+ unit_cube.Add (p1*p2*p3*p4*p5*p6, col=(0,0,1))
25
+
netgen/geom2d.py ADDED
@@ -0,0 +1,178 @@
1
+ from .libngpy._geom2d import SplineGeometry, Solid2d, CSG2d, Rectangle, Circle, EdgeInfo, PointInfo
2
+ from .meshing import meshsize
3
+ import math as math
4
+
5
+ unit_square = SplineGeometry()
6
+ _pnts = [ (0,0), (1,0), (1,1), (0,1) ]
7
+ _lines = [ (0,1,1,"bottom"), (1,2,2,"right"), (2,3,3,"top"), (3,0,4,"left") ]
8
+ _pnums = [unit_square.AppendPoint(*p) for p in _pnts]
9
+ for l1,l2,bc,bcname in _lines:
10
+ unit_square.Append( ["line", _pnums[l1], _pnums[l2]], bc=bcname)
11
+
12
+
13
+ def MakeRectangle (geo, p1, p2, bc=None, bcs=None, **args):
14
+ p1x, p1y = p1
15
+ p2x, p2y = p2
16
+ p1x,p2x = min(p1x,p2x), max(p1x, p2x)
17
+ p1y,p2y = min(p1y,p2y), max(p1y, p2y)
18
+ if not bcs: bcs=4*[bc]
19
+ pts = [geo.AppendPoint(*p) for p in [(p1x,p1y), (p2x, p1y), (p2x, p2y), (p1x, p2y)]]
20
+ for p1,p2,bc in [(0,1,bcs[0]), (1, 2, bcs[1]), (2, 3, bcs[2]), (3, 0, bcs[3])]:
21
+ geo.Append( ["line", pts[p1], pts[p2]], bc=bc, **args)
22
+
23
+ def MakeCircle (geo, c, r, **args):
24
+ cx,cy = c
25
+ pts = [geo.AppendPoint(*p) for p in [(cx,cy-r), (cx+r,cy-r), (cx+r,cy), (cx+r,cy+r), \
26
+ (cx,cy+r), (cx-r,cy+r), (cx-r,cy), (cx-r,cy-r)]]
27
+ for p1,p2,p3 in [(0,1,2), (2,3,4), (4, 5, 6), (6, 7, 0)]:
28
+ geo.Append( ["spline3", pts[p1], pts[p2], pts[p3]], **args)
29
+
30
+
31
+
32
+ def CreatePML(geo, pml_size, tol=1e-12):
33
+ """Create a pml layer around the geometry. This function works only on convex geometries and
34
+ the highest existing domain number must be named by using the function geo.SetMaterial(domnr, name).
35
+ Points in the geometry are assumed to be the same if (pt1 - pt2).Norm() < tol.
36
+ Returned is a dict with information to create the pml layer:
37
+ normals: A dict from the names of the linear pml domains to the normal vectors pointing inside the pml."""
38
+
39
+ def Start(spline):
40
+ if spline.rightdom == 0:
41
+ return spline.StartPoint()
42
+ return spline.EndPoint()
43
+ def End(spline):
44
+ if spline.rightdom == 0:
45
+ return spline.EndPoint()
46
+ return spline.StartPoint()
47
+
48
+ splines = []
49
+ for i in range(geo.GetNSplines()):
50
+ splines.append(geo.GetSpline(i))
51
+ border = []
52
+ is_closed = False
53
+ current_endpoint = None
54
+ while not is_closed:
55
+ for spline in splines:
56
+ if spline.leftdom == 0 or spline.rightdom == 0:
57
+ if current_endpoint is not None:
58
+ if (Start(spline)-current_endpoint).Norm() < tol:
59
+ border.append(spline)
60
+ current_endpoint = End(spline)
61
+ if (current_endpoint - startpoint).Norm() < tol:
62
+ is_closed = True
63
+ break
64
+ else:
65
+ startpoint = Start(spline)
66
+ current_endpoint = End(spline)
67
+ border.append(spline)
68
+ break
69
+ else:
70
+ raise Exception("Couldn't find closed spline around domain")
71
+ endpointindex_map = []
72
+ for spline in border:
73
+ pnt = End(spline)
74
+ for i in range(geo.GetNPoints()):
75
+ if (pnt - geo.GetPoint(i)).Norm() < tol:
76
+ endpointindex_map.append(i)
77
+ break
78
+ else:
79
+ raise Exception("Couldn't find endpoint of spline in geometry")
80
+ start_ndoms = ndoms = geo.GetNDomains() + 1
81
+ new_spline_domains = []
82
+ normals = {}
83
+ duplicate_cnt = 0
84
+
85
+ for i, spline in enumerate(border):
86
+ if i == 0:
87
+ global_start = Start(spline) + pml_size * spline.GetNormal(0)
88
+ global_start_pnt = current_start = geo.AppendPoint(global_start[0], global_start[1])
89
+ next_spline = border[(i+1)%len(border)]
90
+ new_end = End(spline) + pml_size * spline.GetNormal(1)
91
+ spline_name = geo.GetBCName(spline.bc)
92
+
93
+ if "pml_" + spline_name in normals \
94
+ and normals["pml_" + spline_name] != spline.GetNormal(0):
95
+ duplicate_cnt += 1
96
+ spline_name = spline_name + "_duplicate_" + str(duplicate_cnt)
97
+
98
+ if (new_end - global_start).Norm() < tol:
99
+ new_spline_domains.append(ndoms)
100
+ geo.Append(["line", current_start, global_start_pnt], bc="outer_" + spline_name, leftdomain = ndoms)
101
+ geo.Append(["line", global_start_pnt, endpointindex_map[i]], leftdomain=ndoms, rightdomain=start_ndoms)
102
+ geo.SetMaterial(ndoms, "pml_" + spline_name)
103
+ normals["pml_" + spline_name] = spline.GetNormal(0)
104
+ ndoms += 1
105
+ break
106
+ end = geo.AppendPoint(new_end[0], new_end[1])
107
+ new_spline_domains.append(ndoms)
108
+ geo.Append(["line", current_start, end], bc="outer_" + spline_name, leftdomain = ndoms)
109
+ geo.Append(["line", end, endpointindex_map[i]], leftdomain=ndoms, rightdomain=ndoms+1)
110
+ geo.SetMaterial(ndoms, "pml_" + spline_name)
111
+ normals["pml_" + spline_name] = spline.GetNormal(0)
112
+ ndoms += 1
113
+ new_start = Start(next_spline) + pml_size * next_spline.GetNormal(0)
114
+ if (new_start - global_start).Norm() < tol:
115
+ geo.Append(["line", end, global_start_pnt], bc="outer", leftdomain = ndoms)
116
+ geo.Append(["line", global_start_pnt, endpointindex_map[i]], leftdomain=ndoms, rightdomain=start_ndoms)
117
+ geo.SetMaterial(ndoms, "pml_corner")
118
+ ndoms += 1
119
+ break
120
+ if (new_end - new_start).Norm() < tol:
121
+ current_start = end
122
+ else:
123
+ current_start = geo.AppendPoint(new_start[0], new_start[1])
124
+ geo.Append(["line", end, current_start], bc="outer", leftdomain = ndoms)
125
+ geo.Append(["line", current_start, endpointindex_map[i]], leftdomain=ndoms, rightdomain=ndoms+1)
126
+ geo.SetMaterial(ndoms, "pml_corner")
127
+ ndoms += 1
128
+ for spline, domnr in zip(border, new_spline_domains):
129
+ if spline.leftdom == 0:
130
+ spline.leftdom = domnr
131
+ else:
132
+ spline.rightdom = domnr
133
+ return {"normals" : normals}
134
+
135
+ SplineGeometry.AddCircle = lambda geo, c, r, **args : MakeCircle(geo, c, r, **args)
136
+ SplineGeometry.AddRectangle = lambda geo, p1, p2, **args : MakeRectangle(geo, p1, p2, **args)
137
+ SplineGeometry.AddSegment = lambda *args, **kwargs : SplineGeometry.Append(*args, **kwargs)
138
+ SplineGeometry.AddPoint = lambda *args, **kwargs : SplineGeometry.AppendPoint(*args, **kwargs)
139
+ SplineGeometry.CreatePML = CreatePML
140
+
141
+ bc = lambda s : EdgeInfo(bc=s)
142
+ maxh = lambda h : EdgeInfo(maxh=h)
143
+ def cp(p_or_px, py_or_none = None):
144
+ if py_or_none is None:
145
+ return EdgeInfo(control_point=p)
146
+ else:
147
+ return EdgeInfo(control_point=(p_or_px,py_or_none))
148
+
149
+
150
+ def Ellipse(center, a, b, bc="ellipse", mat="ellipse"):
151
+ """Creates ellipse centered at point center with principle axis a and b.
152
+
153
+ Parameters
154
+ ---------
155
+ center : Vec2
156
+ center of ellipse
157
+ a : Vec2
158
+ first principle axis, needs to be perpendicular to b
159
+ b : Vec2
160
+ second principle axis, needs to be perpendicular to a
161
+ bc : string
162
+ boundary name
163
+ mat : string
164
+ material name
165
+ """
166
+ if abs(a[0]*b[0] + a[1]*b[1]) > 1e-12:
167
+ raise Exception("In Ellipse: principle axis a and b are not perpendicular")
168
+
169
+ ellipse = Circle( center=(0,0), radius=1.0, mat=mat, bc=bc )
170
+
171
+ alpha = math.pi/2-math.atan2(a[0],a[1])
172
+ r_a = math.sqrt(a[0]**2+a[1]**2)
173
+ r_b = math.sqrt(b[0]**2+b[1]**2)
174
+ ellipse.Scale( (r_a,r_b) )
175
+ ellipse.Rotate( alpha/math.pi*180, center=(0,0) )
176
+ ellipse.Move( center )
177
+
178
+ return ellipse
netgen/gui.py ADDED
@@ -0,0 +1,82 @@
1
+ import netgen
2
+
3
+ from . import libngguipy
4
+ from . import libngpy
5
+
6
+ def StartGUI():
7
+ from tkinter import Tk
8
+ from netgen import config
9
+ import sys, os
10
+
11
+ try:
12
+ # the GUI tries to load ngsolve.tcl (which loads ngsolve shared libraries)
13
+ # BUT might fail to load dependencies (like mkl), these are handled by the
14
+ # ngsolve __init__.py script, so import ngsolve from python already here
15
+ import ngsolve
16
+ except:
17
+ pass
18
+
19
+ global win
20
+ win = Tk()
21
+ win.tk.eval('lappend ::auto_path ' + netgen._netgen_lib_dir)
22
+ win.tk.eval('lappend ::auto_path ' + netgen._netgen_bin_dir)
23
+ # load with absolute path to avoid issues on MacOS
24
+ win.tk.eval('load "'+netgen._netgen_lib_dir.replace('\\','/')+'/libnggui[info sharedlibextension]" gui')
25
+
26
+ if config.is_python_package and 'darwin' in sys.platform:
27
+ # libngsolve and other libraries are installed into netgen python dir to keep relative installation paths, but tcl won't find them there automatically
28
+ netgen_dir = os.path.abspath(os.path.dirname(netgen.__file__))
29
+ win.tk.eval(f'set netgen_library_dir {netgen_dir}')
30
+
31
+ win.tk.eval( netgen.libngpy._meshing._ngscript)
32
+
33
+ try:
34
+ from IPython import get_ipython
35
+ ipython = get_ipython()
36
+ ipython.magic('gui tk')
37
+ except:
38
+ pass
39
+
40
+ def _Redraw(*args, **kwargs):
41
+ if libngpy._meshing._Redraw(*args, **kwargs):
42
+ import netgen
43
+ import tkinter
44
+ cnt = 0
45
+ while(win.tk.dooneevent(tkinter._tkinter.DONT_WAIT) and cnt < 100):
46
+ cnt += 1
47
+
48
+ netgen._Redraw = _Redraw
49
+ _Redraw(blocking=True)
50
+
51
+
52
+
53
+ def Snapshot(w,h, filename=None):
54
+ netgen.Redraw(blocking=True)
55
+ import numpy
56
+ image = netgen.libngguipy.Snapshot(w, h)
57
+ image = numpy.array(image, dtype=numpy.uint8).reshape(h, w, 3)
58
+ image = image[::-1,:,:]
59
+ if filename:
60
+ import PIL.Image
61
+ im = PIL.Image.fromarray(image)
62
+ im.save(filename)
63
+ return image
64
+
65
+ def run_pyfile(filename):
66
+ with open(filename) as f:
67
+ exec(f.read(), {})
68
+
69
+ if __name__ == "__main__":
70
+ import sys, threading
71
+ StartGUI()
72
+ if(len(sys.argv) > 1):
73
+ if(sys.argv[1].endswith(".py")):
74
+ t = threading.Thread(target=run_pyfile, args=(sys.argv[1],),
75
+ daemon=True)
76
+ t.start()
77
+ win.mainloop()
78
+ else:
79
+ if not netgen.libngpy._meshing._netgen_executable_started:
80
+ import os
81
+ if not "NETGEN_DOCUMENTATION_RST_FORMAT" in os.environ:
82
+ StartGUI()