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
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
#ifndef FILE_MESHFUNC
|
|
2
|
+
#define FILE_MESHFUNC
|
|
3
|
+
|
|
4
|
+
/**************************************************************************/
|
|
5
|
+
/* File: meshfunc.hpp */
|
|
6
|
+
/* Author: Johannes Gerstmayr, Joachim Schoeberl */
|
|
7
|
+
/* Date: 26. Jan. 98 */
|
|
8
|
+
/**************************************************************************/
|
|
9
|
+
|
|
10
|
+
#include <mydefs.hpp>
|
|
11
|
+
#include "meshing3.hpp"
|
|
12
|
+
#include "meshtype.hpp"
|
|
13
|
+
|
|
14
|
+
namespace netgen
|
|
15
|
+
{
|
|
16
|
+
/*
|
|
17
|
+
Functions for mesh-generations strategies
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
class Mesh;
|
|
21
|
+
// class CSGeometry;
|
|
22
|
+
|
|
23
|
+
/// Build tet-mesh
|
|
24
|
+
DLL_HEADER MESHING3_RESULT MeshVolume (const MeshingParameters & mp, Mesh& mesh3d);
|
|
25
|
+
|
|
26
|
+
/// Build mixed-element mesh
|
|
27
|
+
// MESHING3_RESULT MeshMixedVolume (MeshingParameters & mp, Mesh& mesh3d);
|
|
28
|
+
|
|
29
|
+
/// Optimize tet-mesh
|
|
30
|
+
DLL_HEADER MESHING3_RESULT OptimizeVolume (const MeshingParameters & mp, Mesh& mesh3d);
|
|
31
|
+
// const CSGeometry * geometry = NULL);
|
|
32
|
+
|
|
33
|
+
DLL_HEADER void RemoveIllegalElements (Mesh & mesh3d, int domain = 0);
|
|
34
|
+
DLL_HEADER void ConformToFreeSegments (Mesh & mesh3d, int domain);
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
enum MESHING_STEP {
|
|
38
|
+
MESHCONST_ANALYSE = 1,
|
|
39
|
+
MESHCONST_MESHEDGES = 2,
|
|
40
|
+
MESHCONST_MESHSURFACE = 3,
|
|
41
|
+
MESHCONST_OPTSURFACE = 4,
|
|
42
|
+
MESHCONST_MESHVOLUME = 5,
|
|
43
|
+
MESHCONST_OPTVOLUME = 6
|
|
44
|
+
};
|
|
45
|
+
} // namespace netgen
|
|
46
|
+
|
|
47
|
+
#endif
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#ifndef FILE_MESHING
|
|
2
|
+
#define FILE_MESHING
|
|
3
|
+
|
|
4
|
+
#include "../include/myadt.hpp"
|
|
5
|
+
#include "../include/gprim.hpp"
|
|
6
|
+
#include "../include/linalg.hpp"
|
|
7
|
+
#include "../include/opti.hpp"
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
namespace netgen
|
|
11
|
+
{
|
|
12
|
+
// extern int printmessage_importance;
|
|
13
|
+
|
|
14
|
+
// class CSGeometry;
|
|
15
|
+
using namespace std;
|
|
16
|
+
class NetgenGeometry;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
// #include "msghandler.hpp"
|
|
21
|
+
// #include "meshtype.hpp"
|
|
22
|
+
// #include "localh.hpp"
|
|
23
|
+
// #include "topology.hpp"
|
|
24
|
+
// #include "meshclass.hpp"
|
|
25
|
+
// #include "global.hpp"
|
|
26
|
+
|
|
27
|
+
#include "meshtool.hpp"
|
|
28
|
+
|
|
29
|
+
#include "ruler2.hpp"
|
|
30
|
+
#include "adfront2.hpp"
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
#include "meshing2.hpp"
|
|
34
|
+
#include "improve2.hpp"
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
#include "geomsearch.hpp"
|
|
38
|
+
#include "adfront3.hpp"
|
|
39
|
+
#include "ruler3.hpp"
|
|
40
|
+
|
|
41
|
+
#include "findip.hpp"
|
|
42
|
+
#include "findip2.hpp"
|
|
43
|
+
|
|
44
|
+
#include "meshing3.hpp"
|
|
45
|
+
#include "improve3.hpp"
|
|
46
|
+
|
|
47
|
+
#include "curvedelems.hpp"
|
|
48
|
+
#include "clusters.hpp"
|
|
49
|
+
#include "meshfunc.hpp"
|
|
50
|
+
|
|
51
|
+
#include "bisect.hpp"
|
|
52
|
+
#include "hprefinement.hpp"
|
|
53
|
+
|
|
54
|
+
#include "specials.hpp"
|
|
55
|
+
#include "validate.hpp"
|
|
56
|
+
#include "basegeom.hpp"
|
|
57
|
+
#include "surfacegeom.hpp"
|
|
58
|
+
|
|
59
|
+
#include "paralleltop.hpp"
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
#endif
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
#ifndef NETGEN_MESHING2_HPP
|
|
2
|
+
#define NETGEN_MESHING2_HPP
|
|
3
|
+
|
|
4
|
+
/**************************************************************************/
|
|
5
|
+
/* File: meshing2.hpp */
|
|
6
|
+
/* Author: Joachim Schoeberl */
|
|
7
|
+
/* Date: 01. Okt. 95 */
|
|
8
|
+
/**************************************************************************/
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
#include "adfront2.hpp"
|
|
12
|
+
#include "ruler2.hpp"
|
|
13
|
+
#include "basegeom.hpp"
|
|
14
|
+
|
|
15
|
+
namespace netgen
|
|
16
|
+
{
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
enum MESHING2_RESULT
|
|
20
|
+
{
|
|
21
|
+
MESHING2_OK = 0,
|
|
22
|
+
MESHING2_GIVEUP = 1
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
/*
|
|
27
|
+
|
|
28
|
+
The basis class for 2D mesh generation.
|
|
29
|
+
Has the method GenerateMesh
|
|
30
|
+
|
|
31
|
+
For surface mesh generation, or non-Euklidean meshing,
|
|
32
|
+
derive from Meshing2, and replace transformation.
|
|
33
|
+
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
class Meshing2
|
|
37
|
+
{
|
|
38
|
+
/// the current advancing front
|
|
39
|
+
AdFront2 adfront;
|
|
40
|
+
/// rules for mesh generation
|
|
41
|
+
Array<unique_ptr<netrule>> rules;
|
|
42
|
+
/// statistics
|
|
43
|
+
NgArray<int> ruleused, canuse, foundmap;
|
|
44
|
+
///
|
|
45
|
+
Box<3> boundingbox;
|
|
46
|
+
///
|
|
47
|
+
double starttime;
|
|
48
|
+
///
|
|
49
|
+
double maxarea;
|
|
50
|
+
|
|
51
|
+
Vec3d ex, ey, ez;
|
|
52
|
+
Point<3> p1, p2;
|
|
53
|
+
|
|
54
|
+
const NetgenGeometry& geo;
|
|
55
|
+
|
|
56
|
+
public:
|
|
57
|
+
///
|
|
58
|
+
DLL_HEADER Meshing2 (const NetgenGeometry& geo,
|
|
59
|
+
const MeshingParameters & mp,
|
|
60
|
+
const Box<3> & aboundingbox);
|
|
61
|
+
|
|
62
|
+
///
|
|
63
|
+
DLL_HEADER virtual ~Meshing2 ();
|
|
64
|
+
|
|
65
|
+
/// Load rules, either from file, or compiled rules
|
|
66
|
+
void LoadRules (const char * filename, bool quad);
|
|
67
|
+
|
|
68
|
+
///
|
|
69
|
+
DLL_HEADER MESHING2_RESULT GenerateMesh (Mesh & mesh, const MeshingParameters & mp, double gh, int facenr, int layer=1);
|
|
70
|
+
|
|
71
|
+
DLL_HEADER void Delaunay (Mesh & mesh, int domainnr, const MeshingParameters & mp);
|
|
72
|
+
DLL_HEADER void BlockFillLocalH (Mesh & mesh, const MeshingParameters & mp);
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
///
|
|
76
|
+
DLL_HEADER int AddPoint (const Point3d & p, PointIndex globind, MultiPointGeomInfo * mgi = NULL,
|
|
77
|
+
bool pointonsurface = true);
|
|
78
|
+
DLL_HEADER PointIndex GetGlobalIndex(int pi) const;
|
|
79
|
+
|
|
80
|
+
///
|
|
81
|
+
DLL_HEADER void AddBoundaryElement (INDEX i1, INDEX i2,
|
|
82
|
+
const PointGeomInfo & gi1, const PointGeomInfo & gi2);
|
|
83
|
+
|
|
84
|
+
///
|
|
85
|
+
void SetStartTime (double astarttime);
|
|
86
|
+
|
|
87
|
+
///
|
|
88
|
+
void SetMaxArea (double amaxarea);
|
|
89
|
+
|
|
90
|
+
protected:
|
|
91
|
+
///
|
|
92
|
+
virtual void StartMesh ();
|
|
93
|
+
///
|
|
94
|
+
virtual void EndMesh ();
|
|
95
|
+
///
|
|
96
|
+
virtual double CalcLocalH (const Point<3> & p, double gh) const;
|
|
97
|
+
|
|
98
|
+
///
|
|
99
|
+
virtual void DefineTransformation (const Point<3> & p1, const Point<3> & p2,
|
|
100
|
+
const PointGeomInfo * geominfo1,
|
|
101
|
+
const PointGeomInfo * geominfo2);
|
|
102
|
+
///
|
|
103
|
+
virtual void TransformToPlain (const Point<3> & locpoint, const MultiPointGeomInfo & geominfo,
|
|
104
|
+
Point<2> & plainpoint, double h, int & zone);
|
|
105
|
+
/// return 0 .. ok
|
|
106
|
+
/// return >0 .. cannot transform point to true surface
|
|
107
|
+
virtual int TransformFromPlain (const Point<2>& plainpoint,
|
|
108
|
+
Point<3> & locpoint,
|
|
109
|
+
PointGeomInfo & geominfo,
|
|
110
|
+
double h);
|
|
111
|
+
|
|
112
|
+
/// projects to surface
|
|
113
|
+
/// return 0 .. ok
|
|
114
|
+
virtual int BelongsToActiveChart (const Point3d & p,
|
|
115
|
+
const PointGeomInfo & gi);
|
|
116
|
+
|
|
117
|
+
/// computes geoinfo data for line with respect to
|
|
118
|
+
/// selected chart
|
|
119
|
+
virtual int ComputePointGeomInfo (const Point3d & p,
|
|
120
|
+
PointGeomInfo & gi);
|
|
121
|
+
|
|
122
|
+
/// Tries to select unique geominfo on active chart
|
|
123
|
+
/// return 0: success
|
|
124
|
+
/// return 1: failed
|
|
125
|
+
virtual int ChooseChartPointGeomInfo (const MultiPointGeomInfo & mpgi,
|
|
126
|
+
PointGeomInfo & pgi);
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
/*
|
|
131
|
+
tests, whether endpoint (= 1 or 2) of line segment p1-p2
|
|
132
|
+
is inside of the selected chart. The endpoint must be on the
|
|
133
|
+
chart
|
|
134
|
+
*/
|
|
135
|
+
virtual int IsLineVertexOnChart (const Point3d & p1, const Point3d & p2,
|
|
136
|
+
int endpoint, const PointGeomInfo & geominfo);
|
|
137
|
+
|
|
138
|
+
/*
|
|
139
|
+
get (projected) boundary of current chart
|
|
140
|
+
*/
|
|
141
|
+
virtual void GetChartBoundary (NgArray<Point<2>> & points,
|
|
142
|
+
NgArray<Point<3>> & points3d,
|
|
143
|
+
NgArray<INDEX_2> & lines, double p) const;
|
|
144
|
+
|
|
145
|
+
virtual double Area () const;
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
/** Applies 2D rules.
|
|
149
|
+
Tests all 2D rules */
|
|
150
|
+
int ApplyRules (NgArray<Point<2>> & lpoints,
|
|
151
|
+
NgArray<int> & legalpoints,
|
|
152
|
+
int maxlegalpoint,
|
|
153
|
+
NgArray<INDEX_2> & llines,
|
|
154
|
+
int maxlegelline,
|
|
155
|
+
NgArray<Element2d> & elements, NgArray<INDEX> & dellines,
|
|
156
|
+
int tolerance,
|
|
157
|
+
const MeshingParameters & mp);
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
};
|
|
161
|
+
} // namespace netgen
|
|
162
|
+
|
|
163
|
+
#endif // NETGEN_MESHING2_HPP
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
#ifndef FILE_MESHING3
|
|
2
|
+
#define FILE_MESHING3
|
|
3
|
+
|
|
4
|
+
#include "meshclass.hpp"
|
|
5
|
+
#include "adfront3.hpp"
|
|
6
|
+
#include "ruler3.hpp"
|
|
7
|
+
|
|
8
|
+
namespace netgen
|
|
9
|
+
{
|
|
10
|
+
|
|
11
|
+
enum MESHING3_RESULT
|
|
12
|
+
{
|
|
13
|
+
MESHING3_OK = 0,
|
|
14
|
+
MESHING3_GIVEUP = 1,
|
|
15
|
+
MESHING3_NEGVOL = 2,
|
|
16
|
+
MESHING3_OUTERSTEPSEXCEEDED = 3,
|
|
17
|
+
MESHING3_TERMINATE = 4,
|
|
18
|
+
MESHING3_BADSURFACEMESH = 5
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
/// 3d volume mesh generation
|
|
23
|
+
class Meshing3
|
|
24
|
+
{
|
|
25
|
+
/// current state of front
|
|
26
|
+
unique_ptr<AdFront3> adfront;
|
|
27
|
+
/// 3d generation rules
|
|
28
|
+
Array<unique_ptr<vnetrule>> rules;
|
|
29
|
+
/// counts how often a rule is used
|
|
30
|
+
Array<int> ruleused, canuse, foundmap;
|
|
31
|
+
/// describes, why a rule is not applied
|
|
32
|
+
Array<string> problems;
|
|
33
|
+
/// tolerance criterion
|
|
34
|
+
double tolfak;
|
|
35
|
+
public:
|
|
36
|
+
///
|
|
37
|
+
Meshing3 (const string & rulefilename);
|
|
38
|
+
///
|
|
39
|
+
Meshing3 (const char ** rulep);
|
|
40
|
+
///
|
|
41
|
+
virtual ~Meshing3 ();
|
|
42
|
+
|
|
43
|
+
///
|
|
44
|
+
void LoadRules (const char * filename, const char ** prules);
|
|
45
|
+
///
|
|
46
|
+
MESHING3_RESULT GenerateMesh (Mesh & mesh, const MeshingParameters & mp);
|
|
47
|
+
|
|
48
|
+
///
|
|
49
|
+
int ApplyRules (Array<Point3d, PointIndex> & lpoints,
|
|
50
|
+
Array<int, PointIndex> & allowpoint,
|
|
51
|
+
Array<MiniElement2d> & lfaces, INDEX lfacesplit,
|
|
52
|
+
INDEX_2_HASHTABLE<int> & connectedpairs,
|
|
53
|
+
NgArray<Element> & elements,
|
|
54
|
+
NgArray<INDEX> & delfaces, int tolerance,
|
|
55
|
+
double sloppy, int rotind1,
|
|
56
|
+
float & retminerr);
|
|
57
|
+
|
|
58
|
+
///
|
|
59
|
+
PointIndex AddPoint (const Point3d & p, PointIndex globind);
|
|
60
|
+
///
|
|
61
|
+
void AddBoundaryElement (const Element2d & elem);
|
|
62
|
+
///
|
|
63
|
+
void AddBoundaryElement (const MiniElement2d & elem);
|
|
64
|
+
///
|
|
65
|
+
int AddConnectedPair (const INDEX_2 & pair);
|
|
66
|
+
|
|
67
|
+
///
|
|
68
|
+
void BlockFill (Mesh & mesh, double gh);
|
|
69
|
+
///
|
|
70
|
+
void BlockFillLocalH (Mesh & mesh, const MeshingParameters & mp);
|
|
71
|
+
|
|
72
|
+
/// uses points of adfront, and puts new elements into mesh
|
|
73
|
+
void Delaunay (Mesh & mesh, int domainnr, const MeshingParameters & mp);
|
|
74
|
+
///
|
|
75
|
+
friend class PlotVolMesh;
|
|
76
|
+
///
|
|
77
|
+
friend void TestRules ();
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
/// status of mesh generation
|
|
84
|
+
class MeshingStat3d
|
|
85
|
+
{
|
|
86
|
+
public:
|
|
87
|
+
///
|
|
88
|
+
MeshingStat3d ();
|
|
89
|
+
///
|
|
90
|
+
int cntsucc;
|
|
91
|
+
///
|
|
92
|
+
int cnttrials;
|
|
93
|
+
///
|
|
94
|
+
int cntelem;
|
|
95
|
+
///
|
|
96
|
+
int nff;
|
|
97
|
+
///
|
|
98
|
+
int qualclass;
|
|
99
|
+
///
|
|
100
|
+
double vol0;
|
|
101
|
+
///
|
|
102
|
+
double vol;
|
|
103
|
+
///
|
|
104
|
+
double h;
|
|
105
|
+
///
|
|
106
|
+
int problemindex;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
/*
|
|
114
|
+
template <typename POINTArray, typename FACEArray>
|
|
115
|
+
extern int FindInnerPoint (POINTArray & grouppoints,
|
|
116
|
+
FACEArray & groupfaces,
|
|
117
|
+
Point3d & p);
|
|
118
|
+
|
|
119
|
+
*/
|
|
120
|
+
|
|
121
|
+
} // namespace netgen
|
|
122
|
+
|
|
123
|
+
#endif
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
#ifndef NETGEN_MESHTOOL_HPP
|
|
2
|
+
#define NETGEN_MESHTOOL_HPP
|
|
3
|
+
|
|
4
|
+
// #include "../general/ngarray.hpp"
|
|
5
|
+
// #include "../gprim/geom3d.hpp"
|
|
6
|
+
// #include "../gprim/geomobjects.hpp"
|
|
7
|
+
|
|
8
|
+
#include "meshtype.hpp"
|
|
9
|
+
#include "meshclass.hpp"
|
|
10
|
+
|
|
11
|
+
namespace netgen {
|
|
12
|
+
///
|
|
13
|
+
extern void MeshQuality2d (const Mesh & mesh);
|
|
14
|
+
|
|
15
|
+
///
|
|
16
|
+
extern void MeshQuality3d (const Mesh & mesh,
|
|
17
|
+
NgArray<int> * inclass = NULL);
|
|
18
|
+
|
|
19
|
+
///
|
|
20
|
+
extern void SaveEdges (const Mesh & mesh,
|
|
21
|
+
const char * geomfile,
|
|
22
|
+
double h,
|
|
23
|
+
char * filename);
|
|
24
|
+
|
|
25
|
+
///
|
|
26
|
+
extern void SaveSurfaceMesh (const Mesh & mesh,
|
|
27
|
+
double h,
|
|
28
|
+
char * filename);
|
|
29
|
+
/*
|
|
30
|
+
///
|
|
31
|
+
extern void Save2DMesh (
|
|
32
|
+
const Mesh & mesh2d,
|
|
33
|
+
const NgArray<class SplineSegment*> * splines,
|
|
34
|
+
ostream & outfile);
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
class Surface;
|
|
38
|
+
///
|
|
39
|
+
extern void SaveVolumeMesh (
|
|
40
|
+
const NgArray<Point3d> & points,
|
|
41
|
+
const NgArray<Element> & elements,
|
|
42
|
+
const NgArray<Element> & volelements,
|
|
43
|
+
const NgArray<Surface*> & surfaces,
|
|
44
|
+
char * filename);
|
|
45
|
+
|
|
46
|
+
///
|
|
47
|
+
void SaveVolumeMesh (const Mesh & mesh,
|
|
48
|
+
const class NetgenGeometry & geometry,
|
|
49
|
+
char * filename);
|
|
50
|
+
|
|
51
|
+
///
|
|
52
|
+
extern int CheckCode ();
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
///
|
|
56
|
+
extern double CalcTetBadness (const Point3d & p1, const Point3d & p2,
|
|
57
|
+
const Point3d & p3, const Point3d & p4,
|
|
58
|
+
double h,
|
|
59
|
+
const MeshingParameters & mp);
|
|
60
|
+
///
|
|
61
|
+
extern double CalcTetBadnessGrad (const Point3d & p1, const Point3d & p2,
|
|
62
|
+
const Point3d & p3, const Point3d & p4,
|
|
63
|
+
double h, int pi,
|
|
64
|
+
Vec<3> & grad,
|
|
65
|
+
const MeshingParameters & mp);
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
/** Calculates volume of an element.
|
|
69
|
+
The volume of the tetrahedron el is computed
|
|
70
|
+
*/
|
|
71
|
+
// extern double CalcVolume (const NgArray<Point3d> & points,
|
|
72
|
+
// const Element & el);
|
|
73
|
+
|
|
74
|
+
/** The total volume of all elements is computed.
|
|
75
|
+
This function calculates the volume of the mesh */
|
|
76
|
+
extern double CalcVolume (const NgArray<Point3d> & points,
|
|
77
|
+
const NgArray<Element> & elements);
|
|
78
|
+
|
|
79
|
+
///
|
|
80
|
+
extern int CheckSurfaceMesh (const Mesh & mesh);
|
|
81
|
+
|
|
82
|
+
///
|
|
83
|
+
extern int CheckSurfaceMesh2 (const Mesh & mesh);
|
|
84
|
+
///
|
|
85
|
+
extern int CheckMesh3D (const Mesh & mesh);
|
|
86
|
+
///
|
|
87
|
+
extern void RemoveProblem (Mesh & mesh, int domainnr);
|
|
88
|
+
|
|
89
|
+
} // namespace netgen
|
|
90
|
+
#endif // NETGEN_MESHTOOL_HPP
|