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/libngpy/_csg.pyi
ADDED
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
"""
|
|
2
|
+
pybind csg module
|
|
3
|
+
"""
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
import netgen.libngpy._meshing
|
|
6
|
+
import typing
|
|
7
|
+
__all__: list[str] = ['And', 'CSGeometry', 'Cone', 'Cylinder', 'Ellipsoid', 'EllipticCone', 'Extrusion', 'Or', 'OrthoBrick', 'Plane', 'Polyhedron', 'Revolution', 'Save', 'Solid', 'Sphere', 'SplineCurve2d', 'SplineCurve3d', 'SplineSurface', 'Torus', 'ZRefinement']
|
|
8
|
+
class CSGeometry(netgen.libngpy._meshing.NetgenGeometry):
|
|
9
|
+
def Add(self, solid: Solid, bcmod: list = [], maxh: typing.SupportsFloat = 1e+99, col: tuple = (), transparent: bool = False, layer: typing.SupportsInt = 1) -> int:
|
|
10
|
+
...
|
|
11
|
+
def AddPoint(self, arg0: netgen.libngpy._meshing.Point3d, arg1: typing.SupportsInt | str) -> CSGeometry:
|
|
12
|
+
...
|
|
13
|
+
def AddSplineSurface(self, SplineSurface: SplineSurface) -> None:
|
|
14
|
+
...
|
|
15
|
+
def AddSurface(self, surface: Solid, solid: Solid) -> None:
|
|
16
|
+
...
|
|
17
|
+
@typing.overload
|
|
18
|
+
def CloseSurfaces(self, solid1: Solid, solid2: Solid, slices: list) -> None:
|
|
19
|
+
...
|
|
20
|
+
@typing.overload
|
|
21
|
+
def CloseSurfaces(self, solid1: Solid, solid2: Solid, reflevels: typing.SupportsInt = 2, domain: Solid = None) -> None:
|
|
22
|
+
...
|
|
23
|
+
def Draw(self) -> None:
|
|
24
|
+
...
|
|
25
|
+
def GenerateMesh(self, mp: netgen.libngpy._meshing.MeshingParameters = None, **kwargs) -> netgen.libngpy._meshing.Mesh:
|
|
26
|
+
"""
|
|
27
|
+
Meshing Parameters
|
|
28
|
+
-------------------
|
|
29
|
+
|
|
30
|
+
maxh: float = 1e10
|
|
31
|
+
Global upper bound for mesh size.
|
|
32
|
+
|
|
33
|
+
grading: float = 0.3
|
|
34
|
+
Mesh grading how fast the local mesh size can change.
|
|
35
|
+
|
|
36
|
+
meshsizefilename: str = None
|
|
37
|
+
Load meshsize from file. Can set local mesh size for points
|
|
38
|
+
and along edges. File must have the format:
|
|
39
|
+
|
|
40
|
+
nr_points
|
|
41
|
+
x1, y1, z1, meshsize
|
|
42
|
+
x2, y2, z2, meshsize
|
|
43
|
+
...
|
|
44
|
+
xn, yn, zn, meshsize
|
|
45
|
+
|
|
46
|
+
nr_edges
|
|
47
|
+
x11, y11, z11, x12, y12, z12, meshsize
|
|
48
|
+
...
|
|
49
|
+
xn1, yn1, zn1, xn2, yn2, zn2, meshsize
|
|
50
|
+
|
|
51
|
+
segmentsperedge: float = 1.
|
|
52
|
+
Minimal number of segments per edge.
|
|
53
|
+
|
|
54
|
+
quad_dominated: bool = False
|
|
55
|
+
Quad-dominated surface meshing.
|
|
56
|
+
|
|
57
|
+
blockfill: bool = True
|
|
58
|
+
Do fast blockfilling.
|
|
59
|
+
|
|
60
|
+
filldist: float = 0.1
|
|
61
|
+
Block fill up to distance
|
|
62
|
+
|
|
63
|
+
delaunay: bool = True
|
|
64
|
+
Use delaunay meshing.
|
|
65
|
+
|
|
66
|
+
delaunay2d : bool = True
|
|
67
|
+
Use delaunay meshing for 2d geometries.
|
|
68
|
+
|
|
69
|
+
Optimization Parameters
|
|
70
|
+
-----------------------
|
|
71
|
+
|
|
72
|
+
optimize3d: str = "cmdmustm"
|
|
73
|
+
3d optimization strategy:
|
|
74
|
+
m .. move nodes
|
|
75
|
+
M .. move nodes, cheap functional
|
|
76
|
+
s .. swap faces
|
|
77
|
+
c .. combine elements
|
|
78
|
+
d .. divide elements
|
|
79
|
+
p .. plot, no pause
|
|
80
|
+
P .. plot, Pause
|
|
81
|
+
h .. Histogramm, no pause
|
|
82
|
+
H .. Histogramm, pause
|
|
83
|
+
|
|
84
|
+
optsteps3d: int = 3
|
|
85
|
+
Number of 3d optimization steps.
|
|
86
|
+
|
|
87
|
+
optimize2d: str = "smcmSmcmSmcm"
|
|
88
|
+
2d optimization strategy:
|
|
89
|
+
s .. swap, opt 6 lines/node
|
|
90
|
+
S .. swap, optimal elements
|
|
91
|
+
m .. move nodes
|
|
92
|
+
p .. plot, no pause
|
|
93
|
+
P .. plot, pause
|
|
94
|
+
c .. combine
|
|
95
|
+
|
|
96
|
+
optsteps2d: int = 3
|
|
97
|
+
Number of 2d optimization steps.
|
|
98
|
+
|
|
99
|
+
elsizeweight: float = 0.2
|
|
100
|
+
Weight of element size w.r.t. element shape in optimization.
|
|
101
|
+
"""
|
|
102
|
+
def GetSolids(self) -> list:
|
|
103
|
+
...
|
|
104
|
+
def GetTransparent(self, tlonr: typing.SupportsInt) -> bool:
|
|
105
|
+
...
|
|
106
|
+
def GetVisible(self, tlonr: typing.SupportsInt) -> bool:
|
|
107
|
+
...
|
|
108
|
+
def NameEdge(self, arg0: Solid, arg1: Solid, arg2: str) -> None:
|
|
109
|
+
...
|
|
110
|
+
def PeriodicSurfaces(self, solid1: Solid, solid2: Solid, trafo: netgen.libngpy._meshing.Trafo = ...) -> None:
|
|
111
|
+
...
|
|
112
|
+
def Save(self, arg0: str) -> None:
|
|
113
|
+
...
|
|
114
|
+
def SetBoundingBox(self, pmin: netgen.libngpy._meshing.Point3d, pmax: netgen.libngpy._meshing.Point3d) -> None:
|
|
115
|
+
...
|
|
116
|
+
def SetTransparent(self, tlonr: typing.SupportsInt, transparent: bool) -> None:
|
|
117
|
+
...
|
|
118
|
+
def SetVisible(self, tlonr: typing.SupportsInt, visible: bool) -> None:
|
|
119
|
+
...
|
|
120
|
+
def SingularEdge(self, arg0: Solid, arg1: Solid, arg2: typing.SupportsFloat) -> None:
|
|
121
|
+
...
|
|
122
|
+
def SingularFace(self, solid: Solid, surfaces: Solid = None, factor: typing.SupportsFloat = 0.25) -> None:
|
|
123
|
+
...
|
|
124
|
+
def SingularPoint(self, arg0: Solid, arg1: Solid, arg2: Solid, arg3: typing.SupportsFloat) -> None:
|
|
125
|
+
...
|
|
126
|
+
def __getstate__(self) -> tuple:
|
|
127
|
+
...
|
|
128
|
+
@typing.overload
|
|
129
|
+
def __init__(self) -> None:
|
|
130
|
+
...
|
|
131
|
+
@typing.overload
|
|
132
|
+
def __init__(self, filename: str) -> None:
|
|
133
|
+
...
|
|
134
|
+
def __setstate__(self, arg0: tuple) -> None:
|
|
135
|
+
...
|
|
136
|
+
def _visualizationData(self) -> dict:
|
|
137
|
+
...
|
|
138
|
+
@property
|
|
139
|
+
def ntlo(self) -> int:
|
|
140
|
+
...
|
|
141
|
+
class Solid:
|
|
142
|
+
def __add__(self, arg0: Solid) -> Solid:
|
|
143
|
+
...
|
|
144
|
+
def __mul__(self, arg0: Solid) -> Solid:
|
|
145
|
+
...
|
|
146
|
+
def __str__(self) -> str:
|
|
147
|
+
...
|
|
148
|
+
def __sub__(self, arg0: Solid) -> Solid:
|
|
149
|
+
...
|
|
150
|
+
@typing.overload
|
|
151
|
+
def bc(self, arg0: typing.SupportsInt) -> Solid:
|
|
152
|
+
...
|
|
153
|
+
@typing.overload
|
|
154
|
+
def bc(self, arg0: str) -> Solid:
|
|
155
|
+
...
|
|
156
|
+
def col(self, arg0: list) -> Solid:
|
|
157
|
+
...
|
|
158
|
+
@typing.overload
|
|
159
|
+
def mat(self, arg0: str) -> Solid:
|
|
160
|
+
...
|
|
161
|
+
@typing.overload
|
|
162
|
+
def mat(self) -> str:
|
|
163
|
+
...
|
|
164
|
+
def maxh(self, arg0: typing.SupportsFloat) -> Solid:
|
|
165
|
+
...
|
|
166
|
+
def transp(self) -> Solid:
|
|
167
|
+
...
|
|
168
|
+
class SplineCurve2d:
|
|
169
|
+
def AddPoint(self, arg0: typing.SupportsFloat, arg1: typing.SupportsFloat) -> int:
|
|
170
|
+
...
|
|
171
|
+
@typing.overload
|
|
172
|
+
def AddSegment(self, p1: typing.SupportsInt, p2: typing.SupportsInt, bcname: str = 'default', maxh: typing.SupportsFloat = 1e+99) -> None:
|
|
173
|
+
...
|
|
174
|
+
@typing.overload
|
|
175
|
+
def AddSegment(self, p1: typing.SupportsInt, p2: typing.SupportsInt, p3: typing.SupportsInt, bcname: str = 'default', maxh: typing.SupportsFloat = 1e+99) -> None:
|
|
176
|
+
...
|
|
177
|
+
def __init__(self) -> None:
|
|
178
|
+
...
|
|
179
|
+
class SplineCurve3d:
|
|
180
|
+
def AddPoint(self, arg0: typing.SupportsFloat, arg1: typing.SupportsFloat, arg2: typing.SupportsFloat) -> int:
|
|
181
|
+
...
|
|
182
|
+
@typing.overload
|
|
183
|
+
def AddSegment(self, arg0: typing.SupportsInt, arg1: typing.SupportsInt) -> None:
|
|
184
|
+
...
|
|
185
|
+
@typing.overload
|
|
186
|
+
def AddSegment(self, arg0: typing.SupportsInt, arg1: typing.SupportsInt, arg2: typing.SupportsInt) -> None:
|
|
187
|
+
...
|
|
188
|
+
def __init__(self) -> None:
|
|
189
|
+
...
|
|
190
|
+
class SplineSurface:
|
|
191
|
+
"""
|
|
192
|
+
A surface for co dim 2 integrals on the splines
|
|
193
|
+
"""
|
|
194
|
+
def AddPoint(self, x: typing.SupportsFloat, y: typing.SupportsFloat, z: typing.SupportsFloat, hpref: bool = False) -> int:
|
|
195
|
+
...
|
|
196
|
+
@typing.overload
|
|
197
|
+
def AddSegment(self, pnt1: typing.SupportsInt, pnt2: typing.SupportsInt, bcname: str = 'default', maxh: typing.SupportsFloat = -1.0) -> None:
|
|
198
|
+
...
|
|
199
|
+
@typing.overload
|
|
200
|
+
def AddSegment(self, pnt1: typing.SupportsInt, pnt2: typing.SupportsInt, pnt3: typing.SupportsInt, bcname: str = 'default', maxh: typing.SupportsFloat = -1.0) -> None:
|
|
201
|
+
...
|
|
202
|
+
def __init__(self, base: SPSolid, cuts: list = []) -> None:
|
|
203
|
+
...
|
|
204
|
+
def And(arg0: Solid, arg1: Solid) -> Solid:
|
|
205
|
+
...
|
|
206
|
+
def Cone(arg0: netgen.libngpy._meshing.Point3d, arg1: netgen.libngpy._meshing.Point3d, arg2: typing.SupportsFloat, arg3: typing.SupportsFloat) -> Solid:
|
|
207
|
+
...
|
|
208
|
+
def Cylinder(arg0: netgen.libngpy._meshing.Point3d, arg1: netgen.libngpy._meshing.Point3d, arg2: typing.SupportsFloat) -> Solid:
|
|
209
|
+
...
|
|
210
|
+
def Ellipsoid(arg0: netgen.libngpy._meshing.Point3d, arg1: netgen.libngpy._meshing.Vec3d, arg2: netgen.libngpy._meshing.Vec3d, arg3: netgen.libngpy._meshing.Vec3d) -> Solid:
|
|
211
|
+
...
|
|
212
|
+
def EllipticCone(a: netgen.libngpy._meshing.Point3d, vl: netgen.libngpy._meshing.Vec3d, vs: netgen.libngpy._meshing.Vec3d, h: typing.SupportsFloat, r: typing.SupportsFloat) -> Solid:
|
|
213
|
+
"""
|
|
214
|
+
An elliptic cone, given by the point 'a' at the base of the cone along the main axis,
|
|
215
|
+
the vectors v and w of the long and short axis of the ellipse, respectively,
|
|
216
|
+
the height of the cone, h, and ratio of base long axis length to top long axis length, r
|
|
217
|
+
|
|
218
|
+
Note: The elliptic cone has to be truncated by planes similar to a cone or an elliptic cylinder.
|
|
219
|
+
When r =1, the truncated elliptic cone becomes an elliptic cylinder.
|
|
220
|
+
When r tends to zero, the truncated elliptic cone tends to a full elliptic cone.
|
|
221
|
+
However, when r = 0, the top part becomes a point(tip) and meshing fails!
|
|
222
|
+
"""
|
|
223
|
+
def Extrusion(path: SplineCurve3d, profile: SplineCurve2d, d: netgen.libngpy._meshing.Vec3d) -> Solid:
|
|
224
|
+
"""
|
|
225
|
+
A body of extrusion is defined by its profile
|
|
226
|
+
(which has to be a closed, clockwiseoriented 2D curve),
|
|
227
|
+
by a path (a 3D curve) and a vector d. It is constructed
|
|
228
|
+
as follows: Take a point p on the path and denote the
|
|
229
|
+
(unit-)tangent of the path in this point by t. If we cut
|
|
230
|
+
the body by the plane given by p and t as normal vector,
|
|
231
|
+
the cut is the profile. The profile is oriented by the
|
|
232
|
+
(local) y-direction `y:=d−(d·t)t` and the (local) x-direction
|
|
233
|
+
`x:=t \\times y`.
|
|
234
|
+
The following points have to be noticed:
|
|
235
|
+
* If the path is not closed, then also the body is NOT closed.
|
|
236
|
+
In this case e.g. planes or orthobricks have to be used to
|
|
237
|
+
construct a closed body.
|
|
238
|
+
* The path has to be smooth, i.e. the tangents at the end- resp.
|
|
239
|
+
start-point of two consecutive spline or line patches have to
|
|
240
|
+
have the same directions.
|
|
241
|
+
"""
|
|
242
|
+
def Or(arg0: Solid, arg1: Solid) -> Solid:
|
|
243
|
+
...
|
|
244
|
+
def OrthoBrick(arg0: netgen.libngpy._meshing.Point3d, arg1: netgen.libngpy._meshing.Point3d) -> Solid:
|
|
245
|
+
...
|
|
246
|
+
def Plane(arg0: netgen.libngpy._meshing.Point3d, arg1: netgen.libngpy._meshing.Vec3d) -> Solid:
|
|
247
|
+
...
|
|
248
|
+
def Polyhedron(arg0: list, arg1: list) -> Solid:
|
|
249
|
+
...
|
|
250
|
+
def Revolution(arg0: netgen.libngpy._meshing.Point3d, arg1: netgen.libngpy._meshing.Point3d, arg2: SplineCurve2d) -> Solid:
|
|
251
|
+
...
|
|
252
|
+
def Save(arg0: netgen.libngpy._meshing.Mesh, arg1: str, arg2: CSGeometry) -> None:
|
|
253
|
+
...
|
|
254
|
+
def Sphere(arg0: netgen.libngpy._meshing.Point3d, arg1: typing.SupportsFloat) -> Solid:
|
|
255
|
+
...
|
|
256
|
+
def Torus(arg0: netgen.libngpy._meshing.Point3d, arg1: netgen.libngpy._meshing.Vec3d, arg2: typing.SupportsFloat, arg3: typing.SupportsFloat) -> Solid:
|
|
257
|
+
...
|
|
258
|
+
def ZRefinement(arg0: netgen.libngpy._meshing.Mesh, arg1: CSGeometry) -> None:
|
|
259
|
+
...
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
"""
|
|
2
|
+
pybind geom2d module
|
|
3
|
+
"""
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
import netgen.libngpy._meshing
|
|
6
|
+
import typing
|
|
7
|
+
__all__: list[str] = ['CSG2d', 'Circle', 'EdgeInfo', 'PointInfo', 'Rectangle', 'Solid2d', 'Spline', 'SplineGeometry']
|
|
8
|
+
class CSG2d:
|
|
9
|
+
def Add(self, arg0: Solid2d) -> None:
|
|
10
|
+
...
|
|
11
|
+
def GenerateMesh(self, mp: netgen.libngpy._meshing.MeshingParameters | None = 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
|
+
def GenerateSplineGeometry(self) -> SplineGeometry:
|
|
89
|
+
...
|
|
90
|
+
def __init__(self) -> None:
|
|
91
|
+
...
|
|
92
|
+
class EdgeInfo:
|
|
93
|
+
@typing.overload
|
|
94
|
+
def __init__(self) -> None:
|
|
95
|
+
...
|
|
96
|
+
@typing.overload
|
|
97
|
+
def __init__(self, control_point: netgen.libngpy._meshing.Point2d) -> None:
|
|
98
|
+
...
|
|
99
|
+
@typing.overload
|
|
100
|
+
def __init__(self, maxh: typing.SupportsFloat) -> None:
|
|
101
|
+
...
|
|
102
|
+
@typing.overload
|
|
103
|
+
def __init__(self, bc: str) -> None:
|
|
104
|
+
...
|
|
105
|
+
@typing.overload
|
|
106
|
+
def __init__(self, control_point: netgen.libngpy._meshing.Point2d | None = None, maxh: typing.SupportsFloat = 1e+99, bc: str = '') -> None:
|
|
107
|
+
...
|
|
108
|
+
class PointInfo:
|
|
109
|
+
@typing.overload
|
|
110
|
+
def __init__(self) -> None:
|
|
111
|
+
...
|
|
112
|
+
@typing.overload
|
|
113
|
+
def __init__(self, maxh: typing.SupportsFloat) -> None:
|
|
114
|
+
...
|
|
115
|
+
@typing.overload
|
|
116
|
+
def __init__(self, name: str) -> None:
|
|
117
|
+
...
|
|
118
|
+
@typing.overload
|
|
119
|
+
def __init__(self, maxh: typing.SupportsFloat, name: str) -> None:
|
|
120
|
+
...
|
|
121
|
+
class Solid2d:
|
|
122
|
+
def BC(self, arg0: str) -> Solid2d:
|
|
123
|
+
...
|
|
124
|
+
def Copy(self) -> Solid2d:
|
|
125
|
+
...
|
|
126
|
+
def Layer(self, arg0: typing.SupportsInt) -> Solid2d:
|
|
127
|
+
...
|
|
128
|
+
def Mat(self, arg0: str) -> Solid2d:
|
|
129
|
+
...
|
|
130
|
+
def Maxh(self, arg0: typing.SupportsFloat) -> Solid2d:
|
|
131
|
+
...
|
|
132
|
+
def Move(self, arg0: netgen.libngpy._meshing.Vec2d) -> Solid2d:
|
|
133
|
+
...
|
|
134
|
+
def Rotate(self, angle: typing.SupportsFloat, center: netgen.libngpy._meshing.Point2d = ...) -> Solid2d:
|
|
135
|
+
...
|
|
136
|
+
@typing.overload
|
|
137
|
+
def Scale(self, arg0: typing.SupportsFloat) -> Solid2d:
|
|
138
|
+
...
|
|
139
|
+
@typing.overload
|
|
140
|
+
def Scale(self, arg0: netgen.libngpy._meshing.Vec2d) -> Solid2d:
|
|
141
|
+
...
|
|
142
|
+
def __add__(self, arg0: Solid2d) -> Solid2d:
|
|
143
|
+
...
|
|
144
|
+
def __iadd__(self, arg0: Solid2d) -> Solid2d:
|
|
145
|
+
...
|
|
146
|
+
def __imul__(self, arg0: Solid2d) -> Solid2d:
|
|
147
|
+
...
|
|
148
|
+
@typing.overload
|
|
149
|
+
def __init__(self) -> None:
|
|
150
|
+
...
|
|
151
|
+
@typing.overload
|
|
152
|
+
def __init__(self, points: Array[netgen.libngpy._meshing.Point2d | ... | ...], mat: str = '', bc: str = '') -> None:
|
|
153
|
+
...
|
|
154
|
+
def __isub__(self, arg0: Solid2d) -> Solid2d:
|
|
155
|
+
...
|
|
156
|
+
def __mul__(self, arg0: Solid2d) -> Solid2d:
|
|
157
|
+
...
|
|
158
|
+
def __sub__(self, arg0: Solid2d) -> Solid2d:
|
|
159
|
+
...
|
|
160
|
+
class Spline:
|
|
161
|
+
"""
|
|
162
|
+
Spline of a SplineGeometry object
|
|
163
|
+
"""
|
|
164
|
+
def EndPoint(self) -> netgen.libngpy._meshing.Point2d:
|
|
165
|
+
...
|
|
166
|
+
def GetNormal(self, arg0: typing.SupportsFloat) -> netgen.libngpy._meshing.Vec2d:
|
|
167
|
+
...
|
|
168
|
+
def StartPoint(self) -> netgen.libngpy._meshing.Point2d:
|
|
169
|
+
...
|
|
170
|
+
@property
|
|
171
|
+
def bc(self) -> int:
|
|
172
|
+
...
|
|
173
|
+
@property
|
|
174
|
+
def leftdom(self) -> int:
|
|
175
|
+
...
|
|
176
|
+
@leftdom.setter
|
|
177
|
+
def leftdom(self, arg1: typing.SupportsInt) -> None:
|
|
178
|
+
...
|
|
179
|
+
@property
|
|
180
|
+
def rightdom(self) -> int:
|
|
181
|
+
...
|
|
182
|
+
@rightdom.setter
|
|
183
|
+
def rightdom(self, arg1: typing.SupportsInt) -> None:
|
|
184
|
+
...
|
|
185
|
+
class SplineGeometry(netgen.libngpy._meshing.NetgenGeometry):
|
|
186
|
+
"""
|
|
187
|
+
a 2d boundary representation geometry model by lines and splines
|
|
188
|
+
"""
|
|
189
|
+
def AddCurve(self, func: typing.Any, leftdomain: typing.SupportsInt = 1, rightdomain: typing.SupportsInt = 0, bc: typing.Any = ..., maxh: typing.SupportsFloat = 1e+99) -> None:
|
|
190
|
+
"""
|
|
191
|
+
Curve is given as parametrization on the interval [0,1]
|
|
192
|
+
"""
|
|
193
|
+
def Append(self, point_indices: list, leftdomain: typing.SupportsInt = 1, rightdomain: typing.SupportsInt = 0, bc: typing.SupportsInt | str | None = None, copy: typing.SupportsInt | None = None, maxh: typing.SupportsFloat = 1e+99, hpref: typing.SupportsFloat = 0, hprefleft: typing.SupportsFloat = 0, hprefright: typing.SupportsFloat = 0) -> int:
|
|
194
|
+
...
|
|
195
|
+
def AppendPoint(self, x: typing.SupportsFloat, y: typing.SupportsFloat, maxh: typing.SupportsFloat = 1e+99, hpref: typing.SupportsFloat = 0, name: str = '') -> int:
|
|
196
|
+
...
|
|
197
|
+
def AppendSegment(self, point_indices: list, leftdomain: typing.SupportsInt = 1, rightdomain: typing.SupportsInt = 0) -> None:
|
|
198
|
+
...
|
|
199
|
+
def Draw(self) -> None:
|
|
200
|
+
...
|
|
201
|
+
def GenerateMesh(self, mp: netgen.libngpy._meshing.MeshingParameters | None = None, **kwargs) -> netgen.libngpy._meshing.Mesh:
|
|
202
|
+
"""
|
|
203
|
+
Meshing Parameters
|
|
204
|
+
-------------------
|
|
205
|
+
|
|
206
|
+
maxh: float = 1e10
|
|
207
|
+
Global upper bound for mesh size.
|
|
208
|
+
|
|
209
|
+
grading: float = 0.3
|
|
210
|
+
Mesh grading how fast the local mesh size can change.
|
|
211
|
+
|
|
212
|
+
meshsizefilename: str = None
|
|
213
|
+
Load meshsize from file. Can set local mesh size for points
|
|
214
|
+
and along edges. File must have the format:
|
|
215
|
+
|
|
216
|
+
nr_points
|
|
217
|
+
x1, y1, z1, meshsize
|
|
218
|
+
x2, y2, z2, meshsize
|
|
219
|
+
...
|
|
220
|
+
xn, yn, zn, meshsize
|
|
221
|
+
|
|
222
|
+
nr_edges
|
|
223
|
+
x11, y11, z11, x12, y12, z12, meshsize
|
|
224
|
+
...
|
|
225
|
+
xn1, yn1, zn1, xn2, yn2, zn2, meshsize
|
|
226
|
+
|
|
227
|
+
segmentsperedge: float = 1.
|
|
228
|
+
Minimal number of segments per edge.
|
|
229
|
+
|
|
230
|
+
quad_dominated: bool = False
|
|
231
|
+
Quad-dominated surface meshing.
|
|
232
|
+
|
|
233
|
+
blockfill: bool = True
|
|
234
|
+
Do fast blockfilling.
|
|
235
|
+
|
|
236
|
+
filldist: float = 0.1
|
|
237
|
+
Block fill up to distance
|
|
238
|
+
|
|
239
|
+
delaunay: bool = True
|
|
240
|
+
Use delaunay meshing.
|
|
241
|
+
|
|
242
|
+
delaunay2d : bool = True
|
|
243
|
+
Use delaunay meshing for 2d geometries.
|
|
244
|
+
|
|
245
|
+
Optimization Parameters
|
|
246
|
+
-----------------------
|
|
247
|
+
|
|
248
|
+
optimize3d: str = "cmdmustm"
|
|
249
|
+
3d optimization strategy:
|
|
250
|
+
m .. move nodes
|
|
251
|
+
M .. move nodes, cheap functional
|
|
252
|
+
s .. swap faces
|
|
253
|
+
c .. combine elements
|
|
254
|
+
d .. divide elements
|
|
255
|
+
p .. plot, no pause
|
|
256
|
+
P .. plot, Pause
|
|
257
|
+
h .. Histogramm, no pause
|
|
258
|
+
H .. Histogramm, pause
|
|
259
|
+
|
|
260
|
+
optsteps3d: int = 3
|
|
261
|
+
Number of 3d optimization steps.
|
|
262
|
+
|
|
263
|
+
optimize2d: str = "smcmSmcmSmcm"
|
|
264
|
+
2d optimization strategy:
|
|
265
|
+
s .. swap, opt 6 lines/node
|
|
266
|
+
S .. swap, optimal elements
|
|
267
|
+
m .. move nodes
|
|
268
|
+
p .. plot, no pause
|
|
269
|
+
P .. plot, pause
|
|
270
|
+
c .. combine
|
|
271
|
+
|
|
272
|
+
optsteps2d: int = 3
|
|
273
|
+
Number of 2d optimization steps.
|
|
274
|
+
|
|
275
|
+
elsizeweight: float = 0.2
|
|
276
|
+
Weight of element size w.r.t. element shape in optimization.
|
|
277
|
+
"""
|
|
278
|
+
def GetBCName(self, arg0: typing.SupportsInt) -> str:
|
|
279
|
+
...
|
|
280
|
+
def GetNDomains(self) -> int:
|
|
281
|
+
...
|
|
282
|
+
def GetNPoints(self) -> int:
|
|
283
|
+
...
|
|
284
|
+
def GetNSplines(self) -> int:
|
|
285
|
+
...
|
|
286
|
+
def GetPoint(self, arg0: typing.SupportsInt) -> netgen.libngpy._meshing.Point2d:
|
|
287
|
+
...
|
|
288
|
+
def GetSpline(self, arg0: typing.SupportsInt) -> Spline:
|
|
289
|
+
...
|
|
290
|
+
def Load(self, arg0: os.PathLike | str | bytes) -> None:
|
|
291
|
+
...
|
|
292
|
+
def PlotData(self) -> tuple:
|
|
293
|
+
...
|
|
294
|
+
def PointData(self) -> tuple:
|
|
295
|
+
...
|
|
296
|
+
def Print(self) -> None:
|
|
297
|
+
...
|
|
298
|
+
def SegmentData(self) -> tuple:
|
|
299
|
+
...
|
|
300
|
+
def SetDomainLayer(self, arg0: typing.SupportsInt, arg1: typing.SupportsInt) -> None:
|
|
301
|
+
...
|
|
302
|
+
def SetDomainMaxH(self, arg0: typing.SupportsInt, arg1: typing.SupportsFloat) -> None:
|
|
303
|
+
...
|
|
304
|
+
def SetMaterial(self, arg0: typing.SupportsInt, arg1: str) -> None:
|
|
305
|
+
...
|
|
306
|
+
def _SetDomainTensorMeshing(self, arg0: typing.SupportsInt, arg1: bool) -> None:
|
|
307
|
+
...
|
|
308
|
+
def __getstate__(self) -> tuple:
|
|
309
|
+
...
|
|
310
|
+
@typing.overload
|
|
311
|
+
def __init__(self) -> None:
|
|
312
|
+
...
|
|
313
|
+
@typing.overload
|
|
314
|
+
def __init__(self, arg0: str) -> None:
|
|
315
|
+
...
|
|
316
|
+
def __setstate__(self, arg0: tuple) -> None:
|
|
317
|
+
...
|
|
318
|
+
def _visualizationData(self) -> dict:
|
|
319
|
+
...
|
|
320
|
+
def Circle(center: netgen.libngpy._meshing.Point2d, radius: typing.SupportsFloat, mat: str = '', bc: str = '') -> Solid2d:
|
|
321
|
+
...
|
|
322
|
+
def Rectangle(pmin: netgen.libngpy._meshing.Point2d, pmax: netgen.libngpy._meshing.Point2d, mat: str = '', bc: str = '', bottom: str | None = None, right: str | None = None, top: str | None = None, left: str | None = None) -> Solid2d:
|
|
323
|
+
...
|