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,131 @@
1
+ """
2
+ pybind stl module
3
+ """
4
+ from __future__ import annotations
5
+ import netgen.libngpy._meshing
6
+ import typing
7
+ __all__: list[str] = ['LoadSTLGeometry', 'STLGeometry']
8
+ class STLGeometry(netgen.libngpy._meshing.NetgenGeometry):
9
+ def Draw(self) -> None:
10
+ ...
11
+ def GenerateMesh(self, mp: netgen.libngpy._meshing.MeshingParameters = None, mesh: netgen.libngpy._meshing.Mesh = None, **kwargs) -> netgen.libngpy._meshing.Mesh:
12
+ """
13
+ Meshing Parameters
14
+ -------------------
15
+
16
+ maxh: float = 1e10
17
+ Global upper bound for mesh size.
18
+
19
+ grading: float = 0.3
20
+ Mesh grading how fast the local mesh size can change.
21
+
22
+ meshsizefilename: str = None
23
+ Load meshsize from file. Can set local mesh size for points
24
+ and along edges. File must have the format:
25
+
26
+ nr_points
27
+ x1, y1, z1, meshsize
28
+ x2, y2, z2, meshsize
29
+ ...
30
+ xn, yn, zn, meshsize
31
+
32
+ nr_edges
33
+ x11, y11, z11, x12, y12, z12, meshsize
34
+ ...
35
+ xn1, yn1, zn1, xn2, yn2, zn2, meshsize
36
+
37
+ segmentsperedge: float = 1.
38
+ Minimal number of segments per edge.
39
+
40
+ quad_dominated: bool = False
41
+ Quad-dominated surface meshing.
42
+
43
+ blockfill: bool = True
44
+ Do fast blockfilling.
45
+
46
+ filldist: float = 0.1
47
+ Block fill up to distance
48
+
49
+ delaunay: bool = True
50
+ Use delaunay meshing.
51
+
52
+ delaunay2d : bool = True
53
+ Use delaunay meshing for 2d geometries.
54
+
55
+ Optimization Parameters
56
+ -----------------------
57
+
58
+ optimize3d: str = "cmdmustm"
59
+ 3d optimization strategy:
60
+ m .. move nodes
61
+ M .. move nodes, cheap functional
62
+ s .. swap faces
63
+ c .. combine elements
64
+ d .. divide elements
65
+ p .. plot, no pause
66
+ P .. plot, Pause
67
+ h .. Histogramm, no pause
68
+ H .. Histogramm, pause
69
+
70
+ optsteps3d: int = 3
71
+ Number of 3d optimization steps.
72
+
73
+ optimize2d: str = "smcmSmcmSmcm"
74
+ 2d optimization strategy:
75
+ s .. swap, opt 6 lines/node
76
+ S .. swap, optimal elements
77
+ m .. move nodes
78
+ p .. plot, no pause
79
+ P .. plot, pause
80
+ c .. combine
81
+
82
+ optsteps2d: int = 3
83
+ Number of 2d optimization steps.
84
+
85
+ elsizeweight: float = 0.2
86
+ Weight of element size w.r.t. element shape in optimization.
87
+
88
+
89
+ STL Specific Meshing Parameters
90
+ -------------------------------
91
+
92
+ yangle: float = 30.
93
+ Angle for edge detection
94
+
95
+ contyangle: float = 20.
96
+ Edges continue if angle > contyangle
97
+
98
+ edgecornerangle: float = 60.
99
+ Angle of geometry edge at which the mesher should set a point.
100
+
101
+ closeedgefac: Optional[float] = 1.
102
+ Factor for meshing close edges, if None it is disabled.
103
+
104
+ minedgelen: Optional[float] = 0.001
105
+ Minimum edge length to be used for dividing edges to mesh points. If
106
+ None this is disabled.
107
+ """
108
+ def GetDirtyTrigs(self, **kwargs) -> None:
109
+ ...
110
+ def GetVicinity(self, node: typing.SupportsInt, size: typing.SupportsInt, node_type: str = 'trig') -> STLGeometry:
111
+ ...
112
+ def MovePointToMiddle(self, arg0: typing.SupportsInt, arg1: typing.SupportsInt) -> None:
113
+ ...
114
+ def Save(self, arg0: os.PathLike | str | bytes) -> None:
115
+ ...
116
+ def SmoothDirtyTrigs(self, **kwargs) -> None:
117
+ ...
118
+ def __getstate__(self) -> tuple:
119
+ ...
120
+ @typing.overload
121
+ def __init__(self) -> None:
122
+ ...
123
+ @typing.overload
124
+ def __init__(self, filename: str, surface: bool = False) -> None:
125
+ ...
126
+ def __setstate__(self, arg0: tuple) -> None:
127
+ ...
128
+ def _visualizationData(self) -> dict:
129
+ ...
130
+ def LoadSTLGeometry(arg0: str) -> STLGeometry:
131
+ ...
netgen/libngpy.lib ADDED
Binary file
netgen/libngpy.pyd ADDED
Binary file
netgen/meshing.py ADDED
@@ -0,0 +1,65 @@
1
+ from .libngpy._meshing import *
2
+ from pyngcore import MPI_Comm
3
+
4
+ class _MeshsizeObject:
5
+ @property
6
+ def very_coarse(self):
7
+ return MeshingParameters(curvaturesafety=1,
8
+ segmentsperedge=0.3,
9
+ grading=0.7,
10
+ chartdistfac=0.8,
11
+ linelengthfac=0.2,
12
+ closeedgefac=0.5,
13
+ minedgelen=0.002,
14
+ surfmeshcurvfac=1.,
15
+ optsteps3d=5)
16
+ @property
17
+ def coarse(self):
18
+ return MeshingParameters(curvaturesafety=1.5,
19
+ segmentsperedge=0.5,
20
+ grading=0.5,
21
+ chartdistfac=1,
22
+ linelengthfac=0.35,
23
+ closeedgefac=1,
24
+ minedgelen=0.02,
25
+ surfmeshcurvfac=1.5,
26
+ optsteps3d=5)
27
+ @property
28
+ def moderate(self):
29
+ return MeshingParameters(curvaturesafety=2,
30
+ segmentsperedge=1,
31
+ grading=0.3,
32
+ chartdistfac=1.5,
33
+ linelengthfac=0.5,
34
+ closeedgefac=2,
35
+ minedgelen=0.2,
36
+ surfmeshcurvfac=2.,
37
+ optsteps3d=5)
38
+ @property
39
+ def fine(self):
40
+ return MeshingParameters(curvaturesafety=3,
41
+ segmentsperedge=2,
42
+ grading=0.2,
43
+ chartdistfac=2,
44
+ linelengthfac=1.5,
45
+ closeedgefac=3.5,
46
+ minedgelen=1.,
47
+ surfmeshcurvfac=3.,
48
+ optsteps3d=5)
49
+
50
+ @property
51
+ def very_fine(self):
52
+ return MeshingParameters(curvaturesafety=5,
53
+ segmentsperedge=3,
54
+ grading=0.1,
55
+ chartdistfac=5,
56
+ linelengthfac=3,
57
+ closeedgefac=5,
58
+ minedgelen=2.,
59
+ surfmeshcurvfac=5.,
60
+ optsteps3d=5)
61
+
62
+ meshsize = _MeshsizeObject()
63
+
64
+
65
+ clearsol = ClearSolutionClass()
netgen/ngcore.dll ADDED
Binary file
netgen/nglib.dll ADDED
Binary file
netgen/occ.py ADDED
@@ -0,0 +1,52 @@
1
+ """ Netgen OCC documentation
2
+
3
+ This module provides the Netgen OCCGeometry class, as well as Python wrappers
4
+ for OpenCascade functionality. This allows the construction from scratch, as well as
5
+ editing geometries imported via STEP format.
6
+
7
+ Most of the classes are directly py-wrapped from the OCCT classes.
8
+ For more detailed documentation consult the OCCT docs, a good starting point is
9
+ https://dev.opencascade.org/doc/refman/html/class_b_rep_builder_a_p_i___make_shape.html
10
+ """
11
+
12
+ from .config import USE_OCC
13
+ if not USE_OCC:
14
+ raise ImportError("Netgen was not built with Opencascade support")
15
+
16
+ from .libngpy._NgOCC import *
17
+ from .meshing import meshsize, IdentificationType
18
+
19
+
20
+ gp_Ax3 = Axes
21
+ gp_Ax1 = Axis
22
+
23
+ Translation = gp_Trsf.Translation
24
+ Rotation = gp_Trsf.Rotation
25
+ Mirror = gp_Trsf.Mirror
26
+
27
+
28
+ def Rectangle(l,w): return WorkPlane().Rectangle(l,w)
29
+ def MoveTo(x,y): return WorkPlane().MoveTo(x,y)
30
+ def LineTo(x,y): return WorkPlane().LineTo(x,y)
31
+ def Line(l): return WorkPlane().Line(l)
32
+
33
+
34
+ unit_square_shape = WorkPlane().Line(1, name="bottom").Rotate(90) \
35
+ .Line(1, name="right").Rotate(90) \
36
+ .Line(1, name="top").Rotate(90) \
37
+ .Line(1, name="left").Rotate(90).Face()
38
+
39
+ unit_square = OCCGeometry(unit_square_shape, dim=2)
40
+
41
+
42
+
43
+ uc_shape = Box((0,0,0),(1,1,1))
44
+ uc_shape.faces.Max(X).name = "front"
45
+ uc_shape.faces.Min(X).name = "back"
46
+ uc_shape.faces.Max(Y).name = "right"
47
+ uc_shape.faces.Min(Y).name = "left"
48
+ uc_shape.faces.Max(Z).name = "top"
49
+ uc_shape.faces.Min(Z).name = "bottom"
50
+
51
+ unit_cube = OCCGeometry(uc_shape)
52
+
netgen/read_gmsh.py ADDED
@@ -0,0 +1,259 @@
1
+ from netgen.meshing import *
2
+
3
+ def ReadGmsh(filename):
4
+ if not filename.endswith(".msh"):
5
+ filename += ".msh"
6
+ meshdim = 1
7
+ with open(filename, 'r') as f:
8
+ while f.readline().split()[0] != "$Elements":
9
+ pass
10
+ nelem = int(f.readline())
11
+ for i in range(nelem):
12
+ line = f.readline()
13
+ eltype = int(line.split()[1])
14
+ if eltype > 1 and eltype != 15:
15
+ meshdim = 2
16
+ if eltype > 3 and eltype != 15:
17
+ meshdim = 3
18
+ break
19
+
20
+ f = open(filename, 'r')
21
+ mesh = Mesh(dim=meshdim)
22
+
23
+ pointmap = {}
24
+ facedescriptormap = {}
25
+ namemap = { 0 : { 0 : "default" },
26
+ 1: { 0 : "default" },
27
+ 2: { 0 : "default" },
28
+ 3: { 0 : "default" } }
29
+ materialmap = {}
30
+ bbcmap = {}
31
+ bbbcmap = {}
32
+
33
+
34
+ segm = 1
35
+ trig = 2
36
+ quad = 3
37
+ tet = 4
38
+ hex = 5
39
+ prism = 6
40
+ pyramid = 7
41
+ segm3 = 8 # 2nd order line
42
+ trig6 = 9 # 2nd order trig
43
+ tet10 = 11 # 2nd order tet
44
+ point = 15
45
+ quad8 = 16 # 2nd order quad
46
+ hex20 = 17 # 2nd order hex
47
+ prism15 = 18 # 2nd order prism
48
+ pyramid13 = 19 # 2nd order pyramid
49
+ segms = [segm, segm3]
50
+ trigs = [trig, trig6]
51
+ quads = [quad, quad8]
52
+ tets = [tet, tet10]
53
+ hexes = [hex, hex20]
54
+ prisms = [prism, prism15]
55
+ pyramids = [pyramid, pyramid13]
56
+ elem0d = [point]
57
+ elem1d = segms
58
+ elem2d = trigs + quads
59
+ elem3d = tets + hexes + prisms + pyramids
60
+
61
+ num_nodes_map = { segm : 2,
62
+ trig : 3,
63
+ quad : 4,
64
+ tet : 4,
65
+ hex : 8,
66
+ prism : 6,
67
+ pyramid : 5,
68
+ segm3 : 3,
69
+ trig6 : 6,
70
+ tet10 : 10,
71
+ point : 1,
72
+ quad8 : 8,
73
+ hex20 : 20,
74
+ prism15 : 18,
75
+ pyramid13 : 19 }
76
+
77
+ while True:
78
+ line = f.readline()
79
+ if line == "":
80
+ break
81
+
82
+ if line.split()[0] == "$PhysicalNames":
83
+ print('WARNING: Physical groups detected - Be sure to define them for every geometrical entity.')
84
+ numnames = int(f.readline())
85
+ for i in range(numnames):
86
+ f.readline
87
+ line = f.readline()
88
+ namemap[int(line.split()[0])][int(line.split()[1])] = line.split()[2][1:-1]
89
+
90
+ if line.split()[0] == "$Nodes":
91
+ num = int(f.readline().split()[0])
92
+ for i in range(num):
93
+ line = f.readline()
94
+ nodenum, x, y, z = line.split()[0:4]
95
+ pnum = mesh.Add(MeshPoint(Pnt(float(x), float(y), float(z))))
96
+ pointmap[int(nodenum)] = pnum
97
+
98
+ if line.split()[0] == "$Elements":
99
+ num = int(f.readline().split()[0])
100
+
101
+ for i in range(num):
102
+ line = f.readline().split()
103
+ elmnum = int(line[0])
104
+ elmtype = int(line[1])
105
+ numtags = int(line[2])
106
+ # the first tag is the physical group nr, the second tag is the group nr of the dim
107
+ tags = [int(line[3 + k]) for k in range(numtags)]
108
+
109
+ if elmtype not in num_nodes_map:
110
+ raise Exception("element type", elmtype, "not implemented")
111
+ num_nodes = num_nodes_map[elmtype]
112
+
113
+ nodenums = line[3 + numtags:3 + numtags + num_nodes]
114
+ nodenums2 = [pointmap[int(nn)] for nn in nodenums]
115
+
116
+
117
+ if elmtype in elem0d:
118
+ if meshdim == 3:
119
+ if tags[1] in bbbcmap:
120
+ index = bbbcmap[tags[1]]
121
+ else:
122
+ index = len(bbbcmap) + 1
123
+ if len(namemap):
124
+ mesh.SetCD3Name(index, namemap[0][tags[0]])
125
+ else:
126
+ mesh.SetCD3Name(index, "point" + str(tags[1]))
127
+ bbbcmap[tags[1]] = index
128
+ elif meshdim == 2:
129
+ if tags[1] in bbcmap:
130
+ index = bbcmap[tags[1]]
131
+ else:
132
+ index = len(bbcmap) + 1
133
+ if len(namemap):
134
+ mesh.SetCD2Name(index, namemap[0][tags[0]])
135
+ else:
136
+ mesh.SetCD2Name(index, "point" + str(tags[1]))
137
+ bbcmap[tags[1]] = index
138
+ else:
139
+ if tags[1] in facedescriptormap.keys():
140
+ index = facedescriptormap[tags[1]]
141
+ else:
142
+ index = len(facedescriptormap) + 1
143
+ fd = FaceDescriptor(bc=index)
144
+ if len(namemap):
145
+ fd.bcname = namemap[0][tags[0]]
146
+ else:
147
+ fd.bcname = 'point' + str(tags[1])
148
+ mesh.SetBCName(index - 1, fd.bcname)
149
+ mesh.Add(fd)
150
+ facedescriptormap[tags[1]] = index
151
+
152
+ mesh.Add(Element0D(nodenums2[0], index=index))
153
+
154
+
155
+ if elmtype in elem1d:
156
+ if meshdim == 3:
157
+ if tags[1] in bbcmap:
158
+ index = bbcmap[tags[1]]
159
+ else:
160
+ index = len(bbcmap) + 1
161
+ if len(namemap):
162
+ mesh.SetCD2Name(index, namemap[1][tags[0]])
163
+ else:
164
+ mesh.SetCD2Name(index, "line" + str(tags[1]))
165
+ bbcmap[tags[1]] = index
166
+
167
+ elif meshdim == 2:
168
+ if tags[1] in facedescriptormap.keys():
169
+ index = facedescriptormap[tags[1]]
170
+ else:
171
+ index = len(facedescriptormap) + 1
172
+ fd = FaceDescriptor(bc=index)
173
+ if len(namemap):
174
+ fd.bcname = namemap[1][tags[0]]
175
+ else:
176
+ fd.bcname = 'line' + str(tags[1])
177
+ mesh.SetBCName(index - 1, fd.bcname)
178
+ mesh.Add(fd)
179
+ facedescriptormap[tags[1]] = index
180
+ else:
181
+ if tags[1] in materialmap:
182
+ index = materialmap[tags[1]]
183
+ else:
184
+ index = len(materialmap) + 1
185
+ if len(namemap):
186
+ mesh.SetMaterial(index, namemap[1][tags[0]])
187
+ else:
188
+ mesh.SetMaterial(index, "line" + str(tags[1]))
189
+ materialmap[tags[1]] = index
190
+
191
+ mesh.Add(Element1D(index=index, vertices=nodenums2))
192
+
193
+ if elmtype in elem2d: # 2d elements
194
+ if meshdim == 3:
195
+ if tags[1] in facedescriptormap.keys():
196
+ index = facedescriptormap[tags[1]]
197
+ else:
198
+ index = len(facedescriptormap) + 1
199
+ fd = FaceDescriptor(bc=index)
200
+ if len(namemap):
201
+ fd.bcname = namemap[2][tags[0]]
202
+ else:
203
+ fd.bcname = "surf" + str(tags[1])
204
+ mesh.SetBCName(index - 1, fd.bcname)
205
+ mesh.Add(fd)
206
+ facedescriptormap[tags[1]] = index
207
+ else:
208
+ if tags[1] in materialmap:
209
+ index = materialmap[tags[1]]
210
+ else:
211
+ index = len(materialmap) + 1
212
+ if len(namemap):
213
+ mesh.SetMaterial(index, namemap[2][tags[0]])
214
+ else:
215
+ mesh.SetMaterial(index, "surf" + str(tags[1]))
216
+ materialmap[tags[1]] = index
217
+
218
+ if elmtype in trigs:
219
+ ordering = [i for i in range(3)]
220
+ if elmtype == trig6:
221
+ ordering += [4,5,3]
222
+ if elmtype in quads:
223
+ ordering = [i for i in range(4)]
224
+ if elmtype == quad8:
225
+ ordering += [4, 6, 7, 5]
226
+ mesh.Add(Element2D(index, [nodenums2[i] for i in ordering]))
227
+
228
+ if elmtype in elem3d: # volume elements
229
+ if tags[1] in materialmap:
230
+ index = materialmap[tags[1]]
231
+ else:
232
+ index = len(materialmap) + 1
233
+ if len(namemap):
234
+ mesh.SetMaterial(index, namemap[3][tags[0]])
235
+ else:
236
+ mesh.SetMaterial(index, "vol" + str(tags[1]))
237
+ materialmap[tags[1]] = index
238
+
239
+ nodenums2 = [pointmap[int(nn)] for nn in nodenums]
240
+
241
+ if elmtype in tets:
242
+ ordering = [0,1,2,3]
243
+ if elmtype == tet10:
244
+ ordering += [4,6,7,5,9,8]
245
+ elif elmtype in hexes:
246
+ ordering = [0,1,5,4,3,2,6,7]
247
+ if elmtype == hex20:
248
+ ordering += [8,16,10,12,13,19,15,14,9,11,18,17]
249
+ elif elmtype in prisms:
250
+ ordering = [0,2,1,3,5,4]
251
+ if elmtype == prism15:
252
+ ordering += [7,6,9,8,11,10,13,12,14]
253
+ elif elmtype in pyramids:
254
+ ordering = [3,2,1,0,4]
255
+ if elmtype == pyramid13:
256
+ ordering += [10,5,6,8,12,11,9,7]
257
+ mesh.Add(Element3D(index, [nodenums2[i] for i in ordering]))
258
+
259
+ return mesh
netgen/read_meshio.py ADDED
@@ -0,0 +1,22 @@
1
+ from netgen.meshing import *
2
+
3
+ def ReadViaMeshIO(filename):
4
+ import meshio
5
+ import numpy as np
6
+
7
+ # print ("reading via meshio:", filename)
8
+
9
+ m = meshio.read(filename)
10
+ pts = m.points
11
+
12
+ mesh = Mesh(dim=pts.shape[1])
13
+ # mesh.AddPoints ( np.asarray(pts, dtype=np.float64) ) # needed for correct little/big endian
14
+ mesh.AddPoints ( pts )
15
+
16
+ fd = mesh.Add (FaceDescriptor(bc=1))
17
+ for cb in m.cells:
18
+ # mesh.AddElements(dim=cb.dim, index=1, data=np.asarray(cb.data, dtype=np.int32), base=0)
19
+ mesh.AddElements(dim=cb.dim, index=1, data=cb.data, base=0)
20
+
21
+ return mesh
22
+
netgen/stl.py ADDED
@@ -0,0 +1,2 @@
1
+ from netgen.libngpy._stl import *
2
+ from .meshing import meshsize
netgen/togl.dll ADDED
Binary file
netgen/version.py ADDED
@@ -0,0 +1,2 @@
1
+ __version__ = "6.2.2506.post35.dev0"
2
+ __package_name__ = "netgen-mesher"