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.
- netgen/NgOCC.py +7 -0
- netgen/__init__.py +114 -0
- netgen/__init__.pyi +22 -0
- netgen/__main__.py +53 -0
- netgen/cmake/NetgenConfig.cmake +79 -0
- netgen/cmake/netgen-targets-release.cmake +69 -0
- netgen/cmake/netgen-targets.cmake +146 -0
- netgen/config/__init__.py +1 -0
- netgen/config/__init__.pyi +52 -0
- netgen/config/__main__.py +4 -0
- netgen/config/config.py +68 -0
- netgen/config/config.pyi +54 -0
- netgen/csg.py +25 -0
- netgen/geom2d.py +178 -0
- netgen/gui.py +82 -0
- netgen/include/core/archive.hpp +1256 -0
- netgen/include/core/array.hpp +1760 -0
- netgen/include/core/autodiff.hpp +1131 -0
- netgen/include/core/autodiffdiff.hpp +733 -0
- netgen/include/core/bitarray.hpp +240 -0
- netgen/include/core/concurrentqueue.h +3619 -0
- netgen/include/core/exception.hpp +145 -0
- netgen/include/core/flags.hpp +199 -0
- netgen/include/core/hashtable.hpp +1281 -0
- netgen/include/core/localheap.hpp +318 -0
- netgen/include/core/logging.hpp +117 -0
- netgen/include/core/memtracer.hpp +221 -0
- netgen/include/core/mpi4py_pycapi.h +245 -0
- netgen/include/core/mpi_wrapper.hpp +643 -0
- netgen/include/core/ng_mpi.hpp +94 -0
- netgen/include/core/ng_mpi_generated_declarations.hpp +155 -0
- netgen/include/core/ng_mpi_native.hpp +25 -0
- netgen/include/core/ngcore.hpp +32 -0
- netgen/include/core/ngcore_api.hpp +152 -0
- netgen/include/core/ngstream.hpp +115 -0
- netgen/include/core/paje_trace.hpp +279 -0
- netgen/include/core/profiler.hpp +382 -0
- netgen/include/core/python_ngcore.hpp +457 -0
- netgen/include/core/ranges.hpp +109 -0
- netgen/include/core/register_archive.hpp +100 -0
- netgen/include/core/signal.hpp +82 -0
- netgen/include/core/simd.hpp +160 -0
- netgen/include/core/simd_arm64.hpp +407 -0
- netgen/include/core/simd_avx.hpp +394 -0
- netgen/include/core/simd_avx512.hpp +285 -0
- netgen/include/core/simd_generic.hpp +1053 -0
- netgen/include/core/simd_math.hpp +178 -0
- netgen/include/core/simd_sse.hpp +289 -0
- netgen/include/core/statushandler.hpp +37 -0
- netgen/include/core/symboltable.hpp +153 -0
- netgen/include/core/table.hpp +810 -0
- netgen/include/core/taskmanager.hpp +1161 -0
- netgen/include/core/type_traits.hpp +65 -0
- netgen/include/core/utils.hpp +385 -0
- netgen/include/core/version.hpp +102 -0
- netgen/include/core/xbool.hpp +47 -0
- netgen/include/csg/algprim.hpp +563 -0
- netgen/include/csg/brick.hpp +150 -0
- netgen/include/csg/csg.hpp +43 -0
- netgen/include/csg/csgeom.hpp +389 -0
- netgen/include/csg/csgparser.hpp +101 -0
- netgen/include/csg/curve2d.hpp +67 -0
- netgen/include/csg/edgeflw.hpp +112 -0
- netgen/include/csg/explicitcurve2d.hpp +113 -0
- netgen/include/csg/extrusion.hpp +185 -0
- netgen/include/csg/gencyl.hpp +70 -0
- netgen/include/csg/geoml.hpp +16 -0
- netgen/include/csg/identify.hpp +213 -0
- netgen/include/csg/manifold.hpp +29 -0
- netgen/include/csg/meshsurf.hpp +46 -0
- netgen/include/csg/polyhedra.hpp +121 -0
- netgen/include/csg/revolution.hpp +180 -0
- netgen/include/csg/singularref.hpp +84 -0
- netgen/include/csg/solid.hpp +295 -0
- netgen/include/csg/specpoin.hpp +194 -0
- netgen/include/csg/spline3d.hpp +99 -0
- netgen/include/csg/splinesurface.hpp +85 -0
- netgen/include/csg/surface.hpp +394 -0
- netgen/include/csg/triapprox.hpp +63 -0
- netgen/include/csg/vscsg.hpp +34 -0
- netgen/include/general/autodiff.hpp +356 -0
- netgen/include/general/autoptr.hpp +39 -0
- netgen/include/general/gzstream.h +121 -0
- netgen/include/general/hashtabl.hpp +1692 -0
- netgen/include/general/myadt.hpp +48 -0
- netgen/include/general/mystring.hpp +226 -0
- netgen/include/general/netgenout.hpp +205 -0
- netgen/include/general/ngarray.hpp +797 -0
- netgen/include/general/ngbitarray.hpp +149 -0
- netgen/include/general/ngpython.hpp +74 -0
- netgen/include/general/optmem.hpp +44 -0
- netgen/include/general/parthreads.hpp +138 -0
- netgen/include/general/seti.hpp +50 -0
- netgen/include/general/sort.hpp +47 -0
- netgen/include/general/spbita2d.hpp +59 -0
- netgen/include/general/stack.hpp +114 -0
- netgen/include/general/table.hpp +280 -0
- netgen/include/general/template.hpp +509 -0
- netgen/include/geom2d/csg2d.hpp +750 -0
- netgen/include/geom2d/geometry2d.hpp +280 -0
- netgen/include/geom2d/spline2d.hpp +234 -0
- netgen/include/geom2d/vsgeom2d.hpp +28 -0
- netgen/include/gprim/adtree.hpp +1392 -0
- netgen/include/gprim/geom2d.hpp +858 -0
- netgen/include/gprim/geom3d.hpp +749 -0
- netgen/include/gprim/geomfuncs.hpp +212 -0
- netgen/include/gprim/geomobjects.hpp +544 -0
- netgen/include/gprim/geomops.hpp +404 -0
- netgen/include/gprim/geomtest3d.hpp +101 -0
- netgen/include/gprim/gprim.hpp +33 -0
- netgen/include/gprim/spline.hpp +778 -0
- netgen/include/gprim/splinegeometry.hpp +73 -0
- netgen/include/gprim/transform3d.hpp +216 -0
- netgen/include/include/acisgeom.hpp +3 -0
- netgen/include/include/csg.hpp +1 -0
- netgen/include/include/geometry2d.hpp +1 -0
- netgen/include/include/gprim.hpp +1 -0
- netgen/include/include/incopengl.hpp +62 -0
- netgen/include/include/inctcl.hpp +13 -0
- netgen/include/include/incvis.hpp +6 -0
- netgen/include/include/linalg.hpp +1 -0
- netgen/include/include/meshing.hpp +1 -0
- netgen/include/include/myadt.hpp +1 -0
- netgen/include/include/mydefs.hpp +70 -0
- netgen/include/include/mystdlib.h +59 -0
- netgen/include/include/netgen_config.hpp +27 -0
- netgen/include/include/netgen_version.hpp +9 -0
- netgen/include/include/nginterface_v2_impl.hpp +395 -0
- netgen/include/include/ngsimd.hpp +1 -0
- netgen/include/include/occgeom.hpp +1 -0
- netgen/include/include/opti.hpp +1 -0
- netgen/include/include/parallel.hpp +1 -0
- netgen/include/include/stlgeom.hpp +1 -0
- netgen/include/include/visual.hpp +1 -0
- netgen/include/interface/rw_medit.hpp +11 -0
- netgen/include/interface/writeuser.hpp +80 -0
- netgen/include/linalg/densemat.hpp +414 -0
- netgen/include/linalg/linalg.hpp +29 -0
- netgen/include/linalg/opti.hpp +142 -0
- netgen/include/linalg/polynomial.hpp +47 -0
- netgen/include/linalg/vector.hpp +217 -0
- netgen/include/meshing/adfront2.hpp +274 -0
- netgen/include/meshing/adfront3.hpp +332 -0
- netgen/include/meshing/basegeom.hpp +370 -0
- netgen/include/meshing/bcfunctions.hpp +53 -0
- netgen/include/meshing/bisect.hpp +72 -0
- netgen/include/meshing/boundarylayer.hpp +113 -0
- netgen/include/meshing/classifyhpel.hpp +1984 -0
- netgen/include/meshing/clusters.hpp +46 -0
- netgen/include/meshing/curvedelems.hpp +274 -0
- netgen/include/meshing/delaunay2d.hpp +73 -0
- netgen/include/meshing/fieldlines.hpp +103 -0
- netgen/include/meshing/findip.hpp +198 -0
- netgen/include/meshing/findip2.hpp +103 -0
- netgen/include/meshing/geomsearch.hpp +69 -0
- netgen/include/meshing/global.hpp +54 -0
- netgen/include/meshing/hpref_hex.hpp +330 -0
- netgen/include/meshing/hpref_prism.hpp +3405 -0
- netgen/include/meshing/hpref_pyramid.hpp +154 -0
- netgen/include/meshing/hpref_quad.hpp +2082 -0
- netgen/include/meshing/hpref_segm.hpp +122 -0
- netgen/include/meshing/hpref_tet.hpp +4230 -0
- netgen/include/meshing/hpref_trig.hpp +848 -0
- netgen/include/meshing/hprefinement.hpp +366 -0
- netgen/include/meshing/improve2.hpp +178 -0
- netgen/include/meshing/improve3.hpp +151 -0
- netgen/include/meshing/localh.hpp +223 -0
- netgen/include/meshing/meshclass.hpp +1076 -0
- netgen/include/meshing/meshfunc.hpp +47 -0
- netgen/include/meshing/meshing.hpp +63 -0
- netgen/include/meshing/meshing2.hpp +163 -0
- netgen/include/meshing/meshing3.hpp +123 -0
- netgen/include/meshing/meshtool.hpp +90 -0
- netgen/include/meshing/meshtype.hpp +1930 -0
- netgen/include/meshing/msghandler.hpp +62 -0
- netgen/include/meshing/paralleltop.hpp +172 -0
- netgen/include/meshing/python_mesh.hpp +206 -0
- netgen/include/meshing/ruler2.hpp +172 -0
- netgen/include/meshing/ruler3.hpp +211 -0
- netgen/include/meshing/soldata.hpp +141 -0
- netgen/include/meshing/specials.hpp +17 -0
- netgen/include/meshing/surfacegeom.hpp +73 -0
- netgen/include/meshing/topology.hpp +1003 -0
- netgen/include/meshing/validate.hpp +21 -0
- netgen/include/meshing/visual_interface.hpp +71 -0
- netgen/include/mydefs.hpp +70 -0
- netgen/include/nginterface.h +474 -0
- netgen/include/nginterface_v2.hpp +406 -0
- netgen/include/nglib.h +697 -0
- netgen/include/nglib_occ.h +50 -0
- netgen/include/occ/occ_edge.hpp +47 -0
- netgen/include/occ/occ_face.hpp +52 -0
- netgen/include/occ/occ_solid.hpp +23 -0
- netgen/include/occ/occ_utils.hpp +376 -0
- netgen/include/occ/occ_vertex.hpp +30 -0
- netgen/include/occ/occgeom.hpp +659 -0
- netgen/include/occ/occmeshsurf.hpp +168 -0
- netgen/include/occ/vsocc.hpp +33 -0
- netgen/include/pybind11/LICENSE +29 -0
- netgen/include/pybind11/attr.h +722 -0
- netgen/include/pybind11/buffer_info.h +208 -0
- netgen/include/pybind11/cast.h +2361 -0
- netgen/include/pybind11/chrono.h +228 -0
- netgen/include/pybind11/common.h +2 -0
- netgen/include/pybind11/complex.h +74 -0
- netgen/include/pybind11/conduit/README.txt +15 -0
- netgen/include/pybind11/conduit/pybind11_conduit_v1.h +116 -0
- netgen/include/pybind11/conduit/pybind11_platform_abi_id.h +87 -0
- netgen/include/pybind11/conduit/wrap_include_python_h.h +72 -0
- netgen/include/pybind11/critical_section.h +56 -0
- netgen/include/pybind11/detail/class.h +823 -0
- netgen/include/pybind11/detail/common.h +1348 -0
- netgen/include/pybind11/detail/cpp_conduit.h +75 -0
- netgen/include/pybind11/detail/descr.h +226 -0
- netgen/include/pybind11/detail/dynamic_raw_ptr_cast_if_possible.h +39 -0
- netgen/include/pybind11/detail/exception_translation.h +71 -0
- netgen/include/pybind11/detail/function_record_pyobject.h +191 -0
- netgen/include/pybind11/detail/init.h +538 -0
- netgen/include/pybind11/detail/internals.h +799 -0
- netgen/include/pybind11/detail/native_enum_data.h +209 -0
- netgen/include/pybind11/detail/pybind11_namespace_macros.h +82 -0
- netgen/include/pybind11/detail/struct_smart_holder.h +378 -0
- netgen/include/pybind11/detail/type_caster_base.h +1591 -0
- netgen/include/pybind11/detail/typeid.h +65 -0
- netgen/include/pybind11/detail/using_smart_holder.h +22 -0
- netgen/include/pybind11/detail/value_and_holder.h +90 -0
- netgen/include/pybind11/eigen/common.h +9 -0
- netgen/include/pybind11/eigen/matrix.h +723 -0
- netgen/include/pybind11/eigen/tensor.h +521 -0
- netgen/include/pybind11/eigen.h +12 -0
- netgen/include/pybind11/embed.h +320 -0
- netgen/include/pybind11/eval.h +161 -0
- netgen/include/pybind11/functional.h +147 -0
- netgen/include/pybind11/gil.h +199 -0
- netgen/include/pybind11/gil_safe_call_once.h +102 -0
- netgen/include/pybind11/gil_simple.h +37 -0
- netgen/include/pybind11/iostream.h +265 -0
- netgen/include/pybind11/native_enum.h +67 -0
- netgen/include/pybind11/numpy.h +2312 -0
- netgen/include/pybind11/operators.h +202 -0
- netgen/include/pybind11/options.h +92 -0
- netgen/include/pybind11/pybind11.h +3645 -0
- netgen/include/pybind11/pytypes.h +2680 -0
- netgen/include/pybind11/stl/filesystem.h +114 -0
- netgen/include/pybind11/stl.h +666 -0
- netgen/include/pybind11/stl_bind.h +858 -0
- netgen/include/pybind11/subinterpreter.h +299 -0
- netgen/include/pybind11/trampoline_self_life_support.h +65 -0
- netgen/include/pybind11/type_caster_pyobject_ptr.h +61 -0
- netgen/include/pybind11/typing.h +298 -0
- netgen/include/pybind11/warnings.h +75 -0
- netgen/include/stlgeom/meshstlsurface.hpp +67 -0
- netgen/include/stlgeom/stlgeom.hpp +491 -0
- netgen/include/stlgeom/stlline.hpp +193 -0
- netgen/include/stlgeom/stltool.hpp +331 -0
- netgen/include/stlgeom/stltopology.hpp +419 -0
- netgen/include/stlgeom/vsstl.hpp +58 -0
- netgen/include/visualization/meshdoc.hpp +42 -0
- netgen/include/visualization/mvdraw.hpp +325 -0
- netgen/include/visualization/vispar.hpp +128 -0
- netgen/include/visualization/visual.hpp +28 -0
- netgen/include/visualization/visual_api.hpp +10 -0
- netgen/include/visualization/vssolution.hpp +399 -0
- netgen/lib/libnggui.lib +0 -0
- netgen/lib/ngcore.lib +0 -0
- netgen/lib/nglib.lib +0 -0
- netgen/lib/togl.lib +0 -0
- netgen/libnggui.dll +0 -0
- netgen/libngguipy.lib +0 -0
- netgen/libngguipy.pyd +0 -0
- netgen/libngpy/_NgOCC.pyi +1545 -0
- netgen/libngpy/__init__.pyi +7 -0
- netgen/libngpy/_csg.pyi +259 -0
- netgen/libngpy/_geom2d.pyi +323 -0
- netgen/libngpy/_meshing.pyi +1111 -0
- netgen/libngpy/_stl.pyi +131 -0
- netgen/libngpy.lib +0 -0
- netgen/libngpy.pyd +0 -0
- netgen/meshing.py +65 -0
- netgen/ngcore.dll +0 -0
- netgen/nglib.dll +0 -0
- netgen/occ.py +52 -0
- netgen/read_gmsh.py +259 -0
- netgen/read_meshio.py +22 -0
- netgen/stl.py +2 -0
- netgen/togl.dll +0 -0
- netgen/version.py +2 -0
- netgen/webgui.py +529 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/boundarycondition.geo +16 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/boxcyl.geo +32 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/circle_on_cube.geo +27 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cone.geo +13 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cube.geo +16 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubeandring.geo +55 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubeandspheres.geo +21 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubemcyl.geo +18 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubemsphere.geo +19 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cylinder.geo +12 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cylsphere.geo +12 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/doc/ng4.pdf +0 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/ellipsoid.geo +8 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/ellipticcyl.geo +10 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/extrusion.geo +99 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/fichera.geo +24 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/frame.step +11683 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/hinge.stl +8486 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/lshape3d.geo +26 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/manyholes.geo +26 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/manyholes2.geo +26 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/matrix.geo +27 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/ortho.geo +11 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/part1.stl +2662 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/period.geo +33 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/py_tutorials/exportNeutral.py +26 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/py_tutorials/mesh.py +19 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/py_tutorials/shaft.geo +65 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/revolution.geo +18 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/screw.step +1694 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/sculpture.geo +13 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/shaft.geo +65 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/shell.geo +10 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/sphere.geo +8 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/sphereincube.geo +17 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/square.in2d +35 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/squarecircle.in2d +48 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/squarehole.in2d +47 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/torus.geo +8 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/trafo.geo +57 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/twobricks.geo +15 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/twocubes.geo +18 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/twocyl.geo +16 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/METADATA +15 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/RECORD +340 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/WHEEL +5 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/entry_points.txt +2 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/licenses/AUTHORS +1 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/licenses/LICENSE +504 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/top_level.txt +2 -0
- pyngcore/__init__.py +1 -0
- pyngcore/pyngcore.cp314-win_amd64.pyd +0 -0
netgen/config/config.pyi
ADDED
|
@@ -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()
|