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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. netgen/NgOCC.py +7 -0
  2. netgen/__init__.py +114 -0
  3. netgen/__init__.pyi +22 -0
  4. netgen/__main__.py +53 -0
  5. netgen/cmake/NetgenConfig.cmake +79 -0
  6. netgen/cmake/netgen-targets-release.cmake +69 -0
  7. netgen/cmake/netgen-targets.cmake +146 -0
  8. netgen/config/__init__.py +1 -0
  9. netgen/config/__init__.pyi +52 -0
  10. netgen/config/__main__.py +4 -0
  11. netgen/config/config.py +68 -0
  12. netgen/config/config.pyi +54 -0
  13. netgen/csg.py +25 -0
  14. netgen/geom2d.py +178 -0
  15. netgen/gui.py +82 -0
  16. netgen/include/core/archive.hpp +1256 -0
  17. netgen/include/core/array.hpp +1760 -0
  18. netgen/include/core/autodiff.hpp +1131 -0
  19. netgen/include/core/autodiffdiff.hpp +733 -0
  20. netgen/include/core/bitarray.hpp +240 -0
  21. netgen/include/core/concurrentqueue.h +3619 -0
  22. netgen/include/core/exception.hpp +145 -0
  23. netgen/include/core/flags.hpp +199 -0
  24. netgen/include/core/hashtable.hpp +1281 -0
  25. netgen/include/core/localheap.hpp +318 -0
  26. netgen/include/core/logging.hpp +117 -0
  27. netgen/include/core/memtracer.hpp +221 -0
  28. netgen/include/core/mpi4py_pycapi.h +245 -0
  29. netgen/include/core/mpi_wrapper.hpp +643 -0
  30. netgen/include/core/ng_mpi.hpp +94 -0
  31. netgen/include/core/ng_mpi_generated_declarations.hpp +155 -0
  32. netgen/include/core/ng_mpi_native.hpp +25 -0
  33. netgen/include/core/ngcore.hpp +32 -0
  34. netgen/include/core/ngcore_api.hpp +152 -0
  35. netgen/include/core/ngstream.hpp +115 -0
  36. netgen/include/core/paje_trace.hpp +279 -0
  37. netgen/include/core/profiler.hpp +382 -0
  38. netgen/include/core/python_ngcore.hpp +457 -0
  39. netgen/include/core/ranges.hpp +109 -0
  40. netgen/include/core/register_archive.hpp +100 -0
  41. netgen/include/core/signal.hpp +82 -0
  42. netgen/include/core/simd.hpp +160 -0
  43. netgen/include/core/simd_arm64.hpp +407 -0
  44. netgen/include/core/simd_avx.hpp +394 -0
  45. netgen/include/core/simd_avx512.hpp +285 -0
  46. netgen/include/core/simd_generic.hpp +1053 -0
  47. netgen/include/core/simd_math.hpp +178 -0
  48. netgen/include/core/simd_sse.hpp +289 -0
  49. netgen/include/core/statushandler.hpp +37 -0
  50. netgen/include/core/symboltable.hpp +153 -0
  51. netgen/include/core/table.hpp +810 -0
  52. netgen/include/core/taskmanager.hpp +1161 -0
  53. netgen/include/core/type_traits.hpp +65 -0
  54. netgen/include/core/utils.hpp +385 -0
  55. netgen/include/core/version.hpp +102 -0
  56. netgen/include/core/xbool.hpp +47 -0
  57. netgen/include/csg/algprim.hpp +563 -0
  58. netgen/include/csg/brick.hpp +150 -0
  59. netgen/include/csg/csg.hpp +43 -0
  60. netgen/include/csg/csgeom.hpp +389 -0
  61. netgen/include/csg/csgparser.hpp +101 -0
  62. netgen/include/csg/curve2d.hpp +67 -0
  63. netgen/include/csg/edgeflw.hpp +112 -0
  64. netgen/include/csg/explicitcurve2d.hpp +113 -0
  65. netgen/include/csg/extrusion.hpp +185 -0
  66. netgen/include/csg/gencyl.hpp +70 -0
  67. netgen/include/csg/geoml.hpp +16 -0
  68. netgen/include/csg/identify.hpp +213 -0
  69. netgen/include/csg/manifold.hpp +29 -0
  70. netgen/include/csg/meshsurf.hpp +46 -0
  71. netgen/include/csg/polyhedra.hpp +121 -0
  72. netgen/include/csg/revolution.hpp +180 -0
  73. netgen/include/csg/singularref.hpp +84 -0
  74. netgen/include/csg/solid.hpp +295 -0
  75. netgen/include/csg/specpoin.hpp +194 -0
  76. netgen/include/csg/spline3d.hpp +99 -0
  77. netgen/include/csg/splinesurface.hpp +85 -0
  78. netgen/include/csg/surface.hpp +394 -0
  79. netgen/include/csg/triapprox.hpp +63 -0
  80. netgen/include/csg/vscsg.hpp +34 -0
  81. netgen/include/general/autodiff.hpp +356 -0
  82. netgen/include/general/autoptr.hpp +39 -0
  83. netgen/include/general/gzstream.h +121 -0
  84. netgen/include/general/hashtabl.hpp +1692 -0
  85. netgen/include/general/myadt.hpp +48 -0
  86. netgen/include/general/mystring.hpp +226 -0
  87. netgen/include/general/netgenout.hpp +205 -0
  88. netgen/include/general/ngarray.hpp +797 -0
  89. netgen/include/general/ngbitarray.hpp +149 -0
  90. netgen/include/general/ngpython.hpp +74 -0
  91. netgen/include/general/optmem.hpp +44 -0
  92. netgen/include/general/parthreads.hpp +138 -0
  93. netgen/include/general/seti.hpp +50 -0
  94. netgen/include/general/sort.hpp +47 -0
  95. netgen/include/general/spbita2d.hpp +59 -0
  96. netgen/include/general/stack.hpp +114 -0
  97. netgen/include/general/table.hpp +280 -0
  98. netgen/include/general/template.hpp +509 -0
  99. netgen/include/geom2d/csg2d.hpp +750 -0
  100. netgen/include/geom2d/geometry2d.hpp +280 -0
  101. netgen/include/geom2d/spline2d.hpp +234 -0
  102. netgen/include/geom2d/vsgeom2d.hpp +28 -0
  103. netgen/include/gprim/adtree.hpp +1392 -0
  104. netgen/include/gprim/geom2d.hpp +858 -0
  105. netgen/include/gprim/geom3d.hpp +749 -0
  106. netgen/include/gprim/geomfuncs.hpp +212 -0
  107. netgen/include/gprim/geomobjects.hpp +544 -0
  108. netgen/include/gprim/geomops.hpp +404 -0
  109. netgen/include/gprim/geomtest3d.hpp +101 -0
  110. netgen/include/gprim/gprim.hpp +33 -0
  111. netgen/include/gprim/spline.hpp +778 -0
  112. netgen/include/gprim/splinegeometry.hpp +73 -0
  113. netgen/include/gprim/transform3d.hpp +216 -0
  114. netgen/include/include/acisgeom.hpp +3 -0
  115. netgen/include/include/csg.hpp +1 -0
  116. netgen/include/include/geometry2d.hpp +1 -0
  117. netgen/include/include/gprim.hpp +1 -0
  118. netgen/include/include/incopengl.hpp +62 -0
  119. netgen/include/include/inctcl.hpp +13 -0
  120. netgen/include/include/incvis.hpp +6 -0
  121. netgen/include/include/linalg.hpp +1 -0
  122. netgen/include/include/meshing.hpp +1 -0
  123. netgen/include/include/myadt.hpp +1 -0
  124. netgen/include/include/mydefs.hpp +70 -0
  125. netgen/include/include/mystdlib.h +59 -0
  126. netgen/include/include/netgen_config.hpp +27 -0
  127. netgen/include/include/netgen_version.hpp +9 -0
  128. netgen/include/include/nginterface_v2_impl.hpp +395 -0
  129. netgen/include/include/ngsimd.hpp +1 -0
  130. netgen/include/include/occgeom.hpp +1 -0
  131. netgen/include/include/opti.hpp +1 -0
  132. netgen/include/include/parallel.hpp +1 -0
  133. netgen/include/include/stlgeom.hpp +1 -0
  134. netgen/include/include/visual.hpp +1 -0
  135. netgen/include/interface/rw_medit.hpp +11 -0
  136. netgen/include/interface/writeuser.hpp +80 -0
  137. netgen/include/linalg/densemat.hpp +414 -0
  138. netgen/include/linalg/linalg.hpp +29 -0
  139. netgen/include/linalg/opti.hpp +142 -0
  140. netgen/include/linalg/polynomial.hpp +47 -0
  141. netgen/include/linalg/vector.hpp +217 -0
  142. netgen/include/meshing/adfront2.hpp +274 -0
  143. netgen/include/meshing/adfront3.hpp +332 -0
  144. netgen/include/meshing/basegeom.hpp +370 -0
  145. netgen/include/meshing/bcfunctions.hpp +53 -0
  146. netgen/include/meshing/bisect.hpp +72 -0
  147. netgen/include/meshing/boundarylayer.hpp +113 -0
  148. netgen/include/meshing/classifyhpel.hpp +1984 -0
  149. netgen/include/meshing/clusters.hpp +46 -0
  150. netgen/include/meshing/curvedelems.hpp +274 -0
  151. netgen/include/meshing/delaunay2d.hpp +73 -0
  152. netgen/include/meshing/fieldlines.hpp +103 -0
  153. netgen/include/meshing/findip.hpp +198 -0
  154. netgen/include/meshing/findip2.hpp +103 -0
  155. netgen/include/meshing/geomsearch.hpp +69 -0
  156. netgen/include/meshing/global.hpp +54 -0
  157. netgen/include/meshing/hpref_hex.hpp +330 -0
  158. netgen/include/meshing/hpref_prism.hpp +3405 -0
  159. netgen/include/meshing/hpref_pyramid.hpp +154 -0
  160. netgen/include/meshing/hpref_quad.hpp +2082 -0
  161. netgen/include/meshing/hpref_segm.hpp +122 -0
  162. netgen/include/meshing/hpref_tet.hpp +4230 -0
  163. netgen/include/meshing/hpref_trig.hpp +848 -0
  164. netgen/include/meshing/hprefinement.hpp +366 -0
  165. netgen/include/meshing/improve2.hpp +178 -0
  166. netgen/include/meshing/improve3.hpp +151 -0
  167. netgen/include/meshing/localh.hpp +223 -0
  168. netgen/include/meshing/meshclass.hpp +1076 -0
  169. netgen/include/meshing/meshfunc.hpp +47 -0
  170. netgen/include/meshing/meshing.hpp +63 -0
  171. netgen/include/meshing/meshing2.hpp +163 -0
  172. netgen/include/meshing/meshing3.hpp +123 -0
  173. netgen/include/meshing/meshtool.hpp +90 -0
  174. netgen/include/meshing/meshtype.hpp +1930 -0
  175. netgen/include/meshing/msghandler.hpp +62 -0
  176. netgen/include/meshing/paralleltop.hpp +172 -0
  177. netgen/include/meshing/python_mesh.hpp +206 -0
  178. netgen/include/meshing/ruler2.hpp +172 -0
  179. netgen/include/meshing/ruler3.hpp +211 -0
  180. netgen/include/meshing/soldata.hpp +141 -0
  181. netgen/include/meshing/specials.hpp +17 -0
  182. netgen/include/meshing/surfacegeom.hpp +73 -0
  183. netgen/include/meshing/topology.hpp +1003 -0
  184. netgen/include/meshing/validate.hpp +21 -0
  185. netgen/include/meshing/visual_interface.hpp +71 -0
  186. netgen/include/mydefs.hpp +70 -0
  187. netgen/include/nginterface.h +474 -0
  188. netgen/include/nginterface_v2.hpp +406 -0
  189. netgen/include/nglib.h +697 -0
  190. netgen/include/nglib_occ.h +50 -0
  191. netgen/include/occ/occ_edge.hpp +47 -0
  192. netgen/include/occ/occ_face.hpp +52 -0
  193. netgen/include/occ/occ_solid.hpp +23 -0
  194. netgen/include/occ/occ_utils.hpp +376 -0
  195. netgen/include/occ/occ_vertex.hpp +30 -0
  196. netgen/include/occ/occgeom.hpp +659 -0
  197. netgen/include/occ/occmeshsurf.hpp +168 -0
  198. netgen/include/occ/vsocc.hpp +33 -0
  199. netgen/include/pybind11/LICENSE +29 -0
  200. netgen/include/pybind11/attr.h +722 -0
  201. netgen/include/pybind11/buffer_info.h +208 -0
  202. netgen/include/pybind11/cast.h +2361 -0
  203. netgen/include/pybind11/chrono.h +228 -0
  204. netgen/include/pybind11/common.h +2 -0
  205. netgen/include/pybind11/complex.h +74 -0
  206. netgen/include/pybind11/conduit/README.txt +15 -0
  207. netgen/include/pybind11/conduit/pybind11_conduit_v1.h +116 -0
  208. netgen/include/pybind11/conduit/pybind11_platform_abi_id.h +87 -0
  209. netgen/include/pybind11/conduit/wrap_include_python_h.h +72 -0
  210. netgen/include/pybind11/critical_section.h +56 -0
  211. netgen/include/pybind11/detail/class.h +823 -0
  212. netgen/include/pybind11/detail/common.h +1348 -0
  213. netgen/include/pybind11/detail/cpp_conduit.h +75 -0
  214. netgen/include/pybind11/detail/descr.h +226 -0
  215. netgen/include/pybind11/detail/dynamic_raw_ptr_cast_if_possible.h +39 -0
  216. netgen/include/pybind11/detail/exception_translation.h +71 -0
  217. netgen/include/pybind11/detail/function_record_pyobject.h +191 -0
  218. netgen/include/pybind11/detail/init.h +538 -0
  219. netgen/include/pybind11/detail/internals.h +799 -0
  220. netgen/include/pybind11/detail/native_enum_data.h +209 -0
  221. netgen/include/pybind11/detail/pybind11_namespace_macros.h +82 -0
  222. netgen/include/pybind11/detail/struct_smart_holder.h +378 -0
  223. netgen/include/pybind11/detail/type_caster_base.h +1591 -0
  224. netgen/include/pybind11/detail/typeid.h +65 -0
  225. netgen/include/pybind11/detail/using_smart_holder.h +22 -0
  226. netgen/include/pybind11/detail/value_and_holder.h +90 -0
  227. netgen/include/pybind11/eigen/common.h +9 -0
  228. netgen/include/pybind11/eigen/matrix.h +723 -0
  229. netgen/include/pybind11/eigen/tensor.h +521 -0
  230. netgen/include/pybind11/eigen.h +12 -0
  231. netgen/include/pybind11/embed.h +320 -0
  232. netgen/include/pybind11/eval.h +161 -0
  233. netgen/include/pybind11/functional.h +147 -0
  234. netgen/include/pybind11/gil.h +199 -0
  235. netgen/include/pybind11/gil_safe_call_once.h +102 -0
  236. netgen/include/pybind11/gil_simple.h +37 -0
  237. netgen/include/pybind11/iostream.h +265 -0
  238. netgen/include/pybind11/native_enum.h +67 -0
  239. netgen/include/pybind11/numpy.h +2312 -0
  240. netgen/include/pybind11/operators.h +202 -0
  241. netgen/include/pybind11/options.h +92 -0
  242. netgen/include/pybind11/pybind11.h +3645 -0
  243. netgen/include/pybind11/pytypes.h +2680 -0
  244. netgen/include/pybind11/stl/filesystem.h +114 -0
  245. netgen/include/pybind11/stl.h +666 -0
  246. netgen/include/pybind11/stl_bind.h +858 -0
  247. netgen/include/pybind11/subinterpreter.h +299 -0
  248. netgen/include/pybind11/trampoline_self_life_support.h +65 -0
  249. netgen/include/pybind11/type_caster_pyobject_ptr.h +61 -0
  250. netgen/include/pybind11/typing.h +298 -0
  251. netgen/include/pybind11/warnings.h +75 -0
  252. netgen/include/stlgeom/meshstlsurface.hpp +67 -0
  253. netgen/include/stlgeom/stlgeom.hpp +491 -0
  254. netgen/include/stlgeom/stlline.hpp +193 -0
  255. netgen/include/stlgeom/stltool.hpp +331 -0
  256. netgen/include/stlgeom/stltopology.hpp +419 -0
  257. netgen/include/stlgeom/vsstl.hpp +58 -0
  258. netgen/include/visualization/meshdoc.hpp +42 -0
  259. netgen/include/visualization/mvdraw.hpp +325 -0
  260. netgen/include/visualization/vispar.hpp +128 -0
  261. netgen/include/visualization/visual.hpp +28 -0
  262. netgen/include/visualization/visual_api.hpp +10 -0
  263. netgen/include/visualization/vssolution.hpp +399 -0
  264. netgen/lib/libnggui.lib +0 -0
  265. netgen/lib/ngcore.lib +0 -0
  266. netgen/lib/nglib.lib +0 -0
  267. netgen/lib/togl.lib +0 -0
  268. netgen/libnggui.dll +0 -0
  269. netgen/libngguipy.lib +0 -0
  270. netgen/libngguipy.pyd +0 -0
  271. netgen/libngpy/_NgOCC.pyi +1545 -0
  272. netgen/libngpy/__init__.pyi +7 -0
  273. netgen/libngpy/_csg.pyi +259 -0
  274. netgen/libngpy/_geom2d.pyi +323 -0
  275. netgen/libngpy/_meshing.pyi +1111 -0
  276. netgen/libngpy/_stl.pyi +131 -0
  277. netgen/libngpy.lib +0 -0
  278. netgen/libngpy.pyd +0 -0
  279. netgen/meshing.py +65 -0
  280. netgen/ngcore.dll +0 -0
  281. netgen/nglib.dll +0 -0
  282. netgen/occ.py +52 -0
  283. netgen/read_gmsh.py +259 -0
  284. netgen/read_meshio.py +22 -0
  285. netgen/stl.py +2 -0
  286. netgen/togl.dll +0 -0
  287. netgen/version.py +2 -0
  288. netgen/webgui.py +529 -0
  289. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/boundarycondition.geo +16 -0
  290. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/boxcyl.geo +32 -0
  291. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/circle_on_cube.geo +27 -0
  292. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cone.geo +13 -0
  293. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cube.geo +16 -0
  294. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubeandring.geo +55 -0
  295. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubeandspheres.geo +21 -0
  296. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubemcyl.geo +18 -0
  297. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubemsphere.geo +19 -0
  298. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cylinder.geo +12 -0
  299. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cylsphere.geo +12 -0
  300. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/doc/ng4.pdf +0 -0
  301. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/ellipsoid.geo +8 -0
  302. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/ellipticcyl.geo +10 -0
  303. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/extrusion.geo +99 -0
  304. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/fichera.geo +24 -0
  305. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/frame.step +11683 -0
  306. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/hinge.stl +8486 -0
  307. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/lshape3d.geo +26 -0
  308. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/manyholes.geo +26 -0
  309. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/manyholes2.geo +26 -0
  310. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/matrix.geo +27 -0
  311. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/ortho.geo +11 -0
  312. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/part1.stl +2662 -0
  313. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/period.geo +33 -0
  314. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/py_tutorials/exportNeutral.py +26 -0
  315. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/py_tutorials/mesh.py +19 -0
  316. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/py_tutorials/shaft.geo +65 -0
  317. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/revolution.geo +18 -0
  318. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/screw.step +1694 -0
  319. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/sculpture.geo +13 -0
  320. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/shaft.geo +65 -0
  321. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/shell.geo +10 -0
  322. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/sphere.geo +8 -0
  323. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/sphereincube.geo +17 -0
  324. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/square.in2d +35 -0
  325. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/squarecircle.in2d +48 -0
  326. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/squarehole.in2d +47 -0
  327. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/torus.geo +8 -0
  328. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/trafo.geo +57 -0
  329. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/twobricks.geo +15 -0
  330. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/twocubes.geo +18 -0
  331. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/twocyl.geo +16 -0
  332. netgen_mesher-6.2.2506.post35.dev0.dist-info/METADATA +15 -0
  333. netgen_mesher-6.2.2506.post35.dev0.dist-info/RECORD +340 -0
  334. netgen_mesher-6.2.2506.post35.dev0.dist-info/WHEEL +5 -0
  335. netgen_mesher-6.2.2506.post35.dev0.dist-info/entry_points.txt +2 -0
  336. netgen_mesher-6.2.2506.post35.dev0.dist-info/licenses/AUTHORS +1 -0
  337. netgen_mesher-6.2.2506.post35.dev0.dist-info/licenses/LICENSE +504 -0
  338. netgen_mesher-6.2.2506.post35.dev0.dist-info/top_level.txt +2 -0
  339. pyngcore/__init__.py +1 -0
  340. pyngcore/pyngcore.cp314-win_amd64.pyd +0 -0
@@ -0,0 +1,103 @@
1
+ #ifndef NETGEN_FINDIP2_HPP
2
+ #define NETGEN_FINDIP2_HPP
3
+
4
+ // find inner point
5
+
6
+ namespace netgen
7
+ {
8
+
9
+ template <typename POINTArray, typename FACEArray>
10
+ inline int FindInnerPoint2 (POINTArray & points,
11
+ FACEArray & faces,
12
+ Point3d & p)
13
+ {
14
+ static int timer = NgProfiler::CreateTimer ("FindInnerPoint2");
15
+ NgProfiler::RegionTimer reg (timer);
16
+
17
+ NgArray<Vec3d> a;
18
+ NgArray<double> c;
19
+ Mat<3> m, inv;
20
+ Vec<3> rs, x, pmin;
21
+
22
+ int nf = faces.Size();
23
+
24
+ a.SetSize (nf);
25
+ c.SetSize (nf);
26
+
27
+ for (int i = 0; i < nf; i++)
28
+ {
29
+ Point3d p1 = points.Get(faces[i][0]);
30
+ a[i] = Cross (points.Get(faces[i][1]) - p1,
31
+ points.Get(faces[i][2]) - p1);
32
+ a[i] /= a[i].Length();
33
+ c[i] = - (a[i].X() * p1.X() + a[i].Y() * p1.Y() + a[i].Z() * p1.Z());
34
+ }
35
+
36
+
37
+ x = 0;
38
+
39
+
40
+ double hmax = 0;
41
+ for (int i = 0; i < nf; i++)
42
+ {
43
+ const Element2d & el = faces[i];
44
+ for (int j = 1; j <= 3; j++)
45
+ {
46
+ double hi = Dist (points.Get(el.PNumMod(j)),
47
+ points.Get(el.PNumMod(j+1)));
48
+ if (hi > hmax) hmax = hi;
49
+ }
50
+ }
51
+
52
+ double fmin = 0;
53
+
54
+ for (int i1 = 1; i1 <= nf; i1++)
55
+ for (int i2 = i1+1; i2 <= nf; i2++)
56
+ for (int i3 = i2+1; i3 <= nf; i3++)
57
+ for (int i4 = i3+1; i4 <= nf; i4++)
58
+ {
59
+ m(0, 0) = a.Get(i1).X() - a.Get(i2).X();
60
+ m(0, 1) = a.Get(i1).Y() - a.Get(i2).Y();
61
+ m(0, 2) = a.Get(i1).Z() - a.Get(i2).Z();
62
+ rs(0) = c.Get(i2) - c.Get(i1);
63
+
64
+ m(1, 0) = a.Get(i1).X() - a.Get(i3).X();
65
+ m(1, 1) = a.Get(i1).Y() - a.Get(i3).Y();
66
+ m(1, 2) = a.Get(i1).Z() - a.Get(i3).Z();
67
+ rs(1) = c.Get(i3) - c.Get(i1);
68
+
69
+ m(2, 0) = a.Get(i1).X() - a.Get(i4).X();
70
+ m(2, 1) = a.Get(i1).Y() - a.Get(i4).Y();
71
+ m(2, 2) = a.Get(i1).Z() - a.Get(i4).Z();
72
+ rs(2) = c.Get(i4) - c.Get(i1);
73
+
74
+
75
+ if (fabs (Det (m)) > 1e-10)
76
+ {
77
+ CalcInverse (m, inv);
78
+ x = inv * rs;
79
+
80
+ double f = -1e10;
81
+ for (int i = 0; i < nf; i++)
82
+ {
83
+ double hd =
84
+ x(0) * a[i].X() + x(1) * a[i].Y() + x(2) * a[i].Z() + c[i];
85
+ if (hd > f) f = hd;
86
+ if (hd > fmin) break;
87
+ }
88
+
89
+ if (f < fmin)
90
+ {
91
+ fmin = f;
92
+ pmin = x;
93
+ }
94
+ }
95
+ }
96
+
97
+ p = Point3d (pmin(0), pmin(1), pmin(2));
98
+ (*testout) << "fmin = " << fmin << endl;
99
+ return (fmin < -1e-3 * hmax);
100
+ }
101
+
102
+ } // namespace netgen
103
+ #endif // NETGEN_FINDIP2_HPP
@@ -0,0 +1,69 @@
1
+ #ifndef NETGEN_GEOMSEARCH_HPP
2
+ #define NETGEN_GEOMSEARCH_HPP
3
+
4
+ /**************************************************************************/
5
+ /* File: geomsearch.hh */
6
+ /* Author: Johannes Gerstmayr */
7
+ /* Date: 19. Nov. 97 */
8
+ /**************************************************************************/
9
+
10
+ #include "meshtype.hpp"
11
+
12
+ namespace netgen
13
+ {
14
+
15
+ class FrontPoint3;
16
+ class FrontFace;
17
+ class MiniElement2d;
18
+
19
+ /// class for quick access of 3D-elements; class cannot delete elements, but only append
20
+ class GeomSearch3d
21
+ {
22
+
23
+ public:
24
+ ///
25
+ GeomSearch3d();
26
+ ///
27
+ virtual ~GeomSearch3d();
28
+
29
+ ///
30
+ void Init (Array <FrontPoint3,PointIndex> *pointsi, NgArray <FrontFace> *facesi);
31
+
32
+ ///get elements max extension
33
+ void ElemMaxExt(Point3d& minp, Point3d& maxp, const MiniElement2d& elem);
34
+
35
+ ///get minimum coordinates of two points ->p2
36
+ void MinCoords(const Point3d& p1, Point3d& p2);
37
+
38
+ ///get minimum coordinates of two points ->p2
39
+ void MaxCoords(const Point3d& p1, Point3d& p2);
40
+
41
+ ///create a hashtable from an existing array of triangles
42
+ ///sizei = number of pieces in one direction
43
+ void Create();
44
+
45
+ ///add new element to Hashtable
46
+ void AddElem(const MiniElement2d& elem, INDEX elemnum);
47
+
48
+ ///GetLocal faces in sphere with radius xh and middlepoint p
49
+ void GetLocals(NgArray<MiniElement2d> & locfaces, NgArray<INDEX> & findex,
50
+ INDEX fstind, const Point3d& p0, double xh);
51
+
52
+ private:
53
+
54
+ NgArray <FrontFace> *faces; // Pointers to Arrays in Adfront
55
+ Array <FrontPoint3,PointIndex> *points;
56
+
57
+ NgArray <NgArray <int>*> hashtable;
58
+
59
+ Point3d minext; //extension of Hashdomain
60
+ Point3d maxext;
61
+ Point3d maxextreal;
62
+ Vec3d elemsize; //size of one Hash-Element
63
+
64
+ threeint size; // size of Hashtable in each direction
65
+ int reset;
66
+ int hashcount;
67
+ };
68
+ } // namespace netgen
69
+ #endif // NETGEN_GEOMSEARCH_HPP
@@ -0,0 +1,54 @@
1
+ #ifndef NETGEN_GLOBAL_HPP
2
+ #define NETGEN_GLOBAL_HPP
3
+
4
+
5
+ /**************************************************************************/
6
+ /* File: global.hh */
7
+ /* Author: Joachim Schoeberl */
8
+ /* Date: 01. Okt. 95 */
9
+ /**************************************************************************/
10
+
11
+ /*
12
+ global functions and variables
13
+ */
14
+
15
+ #include <mydefs.hpp>
16
+
17
+ namespace netgen
18
+ {
19
+ using namespace ngcore;
20
+ ///
21
+ DLL_HEADER extern double GetTime ();
22
+ DLL_HEADER extern void ResetTime ();
23
+
24
+ ///
25
+ DLL_HEADER extern int testmode;
26
+
27
+ /// calling parameters
28
+ // extern Flags parameters;
29
+
30
+ // extern DLL_HEADER MeshingParameters mparam;
31
+
32
+ DLL_HEADER extern mutex tcl_todo_mutex;
33
+
34
+
35
+ class DebugParameters;
36
+ class Mesh;
37
+
38
+ DLL_HEADER extern string ngdir;
39
+ DLL_HEADER extern DebugParameters debugparam;
40
+ DLL_HEADER extern bool verbose;
41
+
42
+ DLL_HEADER extern int h_argc;
43
+ DLL_HEADER extern char ** h_argv;
44
+
45
+
46
+ DLL_HEADER extern weak_ptr<Mesh> global_mesh;
47
+ DLL_HEADER void SetGlobalMesh (shared_ptr<Mesh> m);
48
+
49
+ // global communicator for netgen (dummy if no MPI)
50
+ // extern DLL_HEADER NgMPI_Comm ng_comm;
51
+
52
+ } // namespace netgen
53
+
54
+ #endif // NETGEN_GLOBAL_HPP
@@ -0,0 +1,330 @@
1
+ // SZ
2
+
3
+ // HP_HEX ... no refinement
4
+ int refhex_splitedges[][3] =
5
+ {
6
+ { 0, 0, 0 }
7
+ };
8
+ HPREF_ELEMENT_TYPE refhex_newelstypes[] =
9
+ {
10
+ HP_HEX,
11
+ HP_NONE,
12
+ };
13
+ int refhex_newels[][8] =
14
+ {
15
+ { 1, 2, 3, 4, 5, 6, 7, 8 }
16
+ };
17
+ HPRef_Struct refhex =
18
+ {
19
+ HP_HEX,
20
+ refhex_splitedges,
21
+ 0, 0,
22
+ refhex_newelstypes,
23
+ refhex_newels
24
+ };
25
+
26
+ // HP_HEX_1F ... face (1 - 4 - 3 -2) singular
27
+ int refhex_1f_0e_0v_splitedges[][3] =
28
+ {
29
+ { 1, 5, 9 },
30
+ { 2, 6, 10 },
31
+ { 3, 7, 11 },
32
+ { 4, 8, 12 },
33
+ { 0, 0, 0 }
34
+ };
35
+ HPREF_ELEMENT_TYPE refhex_1f_0e_0v_newelstypes[] =
36
+ {
37
+ HP_HEX,
38
+ HP_HEX_1F_0E_0V,
39
+ HP_NONE,
40
+ };
41
+ int refhex_1f_0e_0v_newels[][8] =
42
+ {
43
+ { 9, 10, 11, 12, 5, 6, 7, 8 },
44
+ { 1, 2, 3, 4, 9, 10, 11, 12}
45
+ };
46
+ HPRef_Struct refhex_1f_0e_0v =
47
+ {
48
+ HP_HEX,
49
+ refhex_1f_0e_0v_splitedges,
50
+ 0, 0,
51
+ refhex_1f_0e_0v_newelstypes,
52
+ refhex_1f_0e_0v_newels
53
+ };
54
+
55
+
56
+
57
+
58
+
59
+ // HP_HEX_1FA_1FB ... face (1 - 4 - 3 -2) and face (1-2-6-5) singular
60
+ int refhex_1fa_1fb_0e_0v_splitedges[][3] =
61
+ {
62
+ { 1, 5, 9 },
63
+ { 2, 6, 10 },
64
+ { 3, 7, 11 },
65
+ { 4, 8, 12 },
66
+ { 1, 4, 13 },
67
+ { 2, 3, 14 },
68
+ { 6, 7, 15 },
69
+ { 5, 8, 16 },
70
+ { 0, 0, 0 }
71
+ };
72
+
73
+ int refhex_1fa_1fb_0e_0v_splitfaces[][4] =
74
+ {
75
+ { 2, 3, 6, 17 },
76
+ { 1, 4, 5, 18 },
77
+ { 0, 0, 0, 0 },
78
+ };
79
+ HPREF_ELEMENT_TYPE refhex_1fa_1fb_0e_0v_newelstypes[] =
80
+ {
81
+ HP_HEX,
82
+ HP_HEX_1F_0E_0V,
83
+ HP_HEX_1F_0E_0V,
84
+ HP_HEX_1FA_1FB_0E_0V,
85
+ HP_NONE,
86
+ };
87
+ int refhex_1fa_1fb_0e_0v_newels[][8] =
88
+ {
89
+ {18, 17, 11, 12, 16, 15, 7, 8},
90
+ {13, 14, 3, 4, 18, 17, 11, 12},
91
+ { 5, 6, 10, 9, 16, 15, 17, 18},
92
+ { 1, 2, 14, 13, 9, 10, 17, 18}
93
+ };
94
+ HPRef_Struct refhex_1fa_1fb_0e_0v =
95
+ {
96
+ HP_HEX,
97
+ refhex_1fa_1fb_0e_0v_splitedges,
98
+ refhex_1fa_1fb_0e_0v_splitfaces, 0,
99
+ refhex_1fa_1fb_0e_0v_newelstypes,
100
+ refhex_1fa_1fb_0e_0v_newels
101
+ };
102
+
103
+
104
+
105
+ // Refine Dummies
106
+ // HP_HEX_0E_1V
107
+ int refhex_0e_1v_splitedges[][3] =
108
+ {
109
+ { 0, 0, 0 }
110
+ };
111
+ HPREF_ELEMENT_TYPE refhex_0e_1v_newelstypes[] =
112
+ {
113
+ HP_TET_0E_1V,
114
+ HP_TET,
115
+ HP_TET,
116
+ HP_TET,
117
+ HP_TET,
118
+ HP_TET,
119
+ HP_NONE,
120
+ };
121
+ int refhex_0e_1v_newels[][8] =
122
+ {
123
+ { 1, 5, 2, 4 },
124
+ { 7, 3, 6, 8 },
125
+ { 2, 8, 5, 6 },
126
+ { 2, 8, 6, 3 },
127
+ { 2, 8, 3, 4 },
128
+ { 2, 8, 4, 5 },
129
+ };
130
+ HPRef_Struct refhex_0e_1v =
131
+ {
132
+ HP_HEX,
133
+ refhex_0e_1v_splitedges,
134
+ 0, 0,
135
+ refhex_0e_1v_newelstypes,
136
+ refhex_0e_1v_newels
137
+ };
138
+
139
+
140
+
141
+ // Refine Dummies
142
+ // HP_HEX_1E_1V
143
+ int refhex_1e_1v_splitedges[][3] =
144
+ {
145
+ { 0, 0, 0 }
146
+ };
147
+ HPREF_ELEMENT_TYPE refhex_1e_1v_newelstypes[] =
148
+ {
149
+ HP_TET_1E_1VA,
150
+ HP_TET,
151
+ HP_TET_0E_1V,
152
+ HP_TET_0E_1V,
153
+ HP_TET_0E_1V,
154
+ HP_TET_0E_1V,
155
+ HP_NONE,
156
+ };
157
+ int refhex_1e_1v_newels[][8] =
158
+ {
159
+ // { 1, 5, 2, 4 },
160
+ { 1, 2, 4, 5 },
161
+ { 7, 3, 6, 8 },
162
+ { 2, 8, 5, 6 },
163
+ { 2, 8, 6, 3 },
164
+ { 2, 8, 3, 4 },
165
+ { 2, 8, 4, 5 },
166
+ };
167
+ HPRef_Struct refhex_1e_1v =
168
+ {
169
+ HP_HEX,
170
+ refhex_1e_1v_splitedges,
171
+ 0, 0,
172
+ refhex_1e_1v_newelstypes,
173
+ refhex_1e_1v_newels
174
+ };
175
+
176
+
177
+ // Refine Dummies
178
+ // HP_HEX_3E_0V
179
+ int refhex_3e_0v_splitedges[][3] =
180
+ {
181
+ { 0, 0, 0 }
182
+ };
183
+ HPREF_ELEMENT_TYPE refhex_3e_0v_newelstypes[] =
184
+ {
185
+ HP_TET_1E_1VA,
186
+ HP_TET_1E_1VA,
187
+ HP_TET_1E_1VA,
188
+ HP_TET_0E_1V,
189
+ HP_TET,
190
+ HP_NONE,
191
+ };
192
+ int refhex_3e_0v_newels[][8] =
193
+ {
194
+ { 1, 2, 3, 6 },
195
+ { 1, 4, 8, 3 },
196
+ { 1, 5, 6, 8 },
197
+ { 1, 6, 3, 8 },
198
+ { 3, 8, 6, 7 },
199
+ };
200
+ HPRef_Struct refhex_3e_0v =
201
+ {
202
+ HP_HEX,
203
+ refhex_3e_0v_splitedges,
204
+ 0, 0,
205
+ refhex_3e_0v_newelstypes,
206
+ refhex_3e_0v_newels
207
+ };
208
+
209
+
210
+
211
+ // Refine Dummies
212
+ // HP_HEX_1E_0V
213
+ int refhex_1e_0v_splitedges[][3] =
214
+ {
215
+ { 0, 0, 0 }
216
+ };
217
+
218
+ HPREF_ELEMENT_TYPE refhex_1e_0v_newelstypes[] =
219
+ {
220
+ HP_PRISM_SINGEDGE, // HP_PRISM_SINGEDGE_H1,
221
+ HP_PRISM,
222
+ HP_NONE,
223
+ };
224
+ int refhex_1e_0v_newels[][8] =
225
+ {
226
+ { 1, 4, 5, 2, 3, 6 },
227
+ { 5, 4, 8, 6, 3, 7 },
228
+ };
229
+ HPRef_Struct refhex_1e_0v =
230
+ {
231
+ HP_HEX,
232
+ refhex_1e_0v_splitedges,
233
+ 0, 0,
234
+ refhex_1e_0v_newelstypes,
235
+ refhex_1e_0v_newels
236
+ };
237
+
238
+
239
+
240
+
241
+
242
+
243
+ // HP_HEX ... no refinement
244
+ int refhex7_splitedges[][3] =
245
+ {
246
+ { 0, 0, 0 }
247
+ };
248
+ HPREF_ELEMENT_TYPE refhex7_newelstypes[] =
249
+ {
250
+ HP_HEX7,
251
+ HP_NONE,
252
+ };
253
+ int refhex7_newels[][8] =
254
+ {
255
+ { 1, 2, 3, 4, 5, 6, 7 }
256
+ };
257
+ HPRef_Struct refhex7 =
258
+ {
259
+ HP_HEX7,
260
+ refhex7_splitedges,
261
+ 0, 0,
262
+ refhex7_newelstypes,
263
+ refhex7_newels
264
+ };
265
+
266
+ // HP_HEX_1FA ... face (1 - 4 - 3 -2) singular
267
+ int refhex7_1fa_splitedges[][3] =
268
+ {
269
+ { 1, 5, 8 },
270
+ { 2, 6, 9 },
271
+ { 3, 7, 10 },
272
+ { 4, 7, 11 },
273
+ { 0, 0, 0 }
274
+ };
275
+ HPREF_ELEMENT_TYPE refhex7_1fa_newelstypes[] =
276
+ {
277
+ HP_HEX_1F_0E_0V,
278
+ HP_HEX7,
279
+ HP_NONE,
280
+ };
281
+ int refhex7_1fa_newels[][8] =
282
+ {
283
+ { 1, 2, 3, 4, 8, 9, 10, 11 },
284
+ { 8, 9, 10, 11, 5, 6, 7 }
285
+ };
286
+ HPRef_Struct refhex7_1fa =
287
+ {
288
+ HP_HEX7,
289
+ refhex7_1fa_splitedges,
290
+ 0, 0,
291
+ refhex7_1fa_newelstypes,
292
+ refhex7_1fa_newels
293
+ };
294
+
295
+
296
+
297
+
298
+ // HP_HEX_1FB ... face (5,6,7) singular
299
+ int refhex7_1fb_splitedges[][3] =
300
+ {
301
+ { 5, 1, 8 },
302
+ { 6, 2, 9 },
303
+ { 7, 3, 10 },
304
+ { 7, 4, 11 },
305
+ { 0, 0, 0 }
306
+ };
307
+ HPREF_ELEMENT_TYPE refhex7_1fb_newelstypes[] =
308
+ {
309
+ HP_HEX,
310
+ HP_HEX7_1FB,
311
+ HP_NONE,
312
+ };
313
+ int refhex7_1fb_newels[][8] =
314
+ {
315
+ { 1, 2, 3, 4, 8, 9, 10, 11 },
316
+ { 8, 9, 10, 11, 5, 6, 7 }
317
+ };
318
+ HPRef_Struct refhex7_1fb =
319
+ {
320
+ HP_HEX7,
321
+ refhex7_1fb_splitedges,
322
+ 0, 0,
323
+ refhex7_1fb_newelstypes,
324
+ refhex7_1fb_newels
325
+ };
326
+
327
+
328
+
329
+
330
+