ngsolve 6.2.2506.post74.dev0__cp314-cp314-macosx_10_15_universal2.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.

Potentially problematic release.


This version of ngsolve might be problematic. Click here for more details.

Files changed (315) hide show
  1. netgen/include/analytic_integrals.hpp +10 -0
  2. netgen/include/arnoldi.hpp +55 -0
  3. netgen/include/bandmatrix.hpp +334 -0
  4. netgen/include/basematrix.hpp +957 -0
  5. netgen/include/basevector.hpp +1268 -0
  6. netgen/include/bdbequations.hpp +2805 -0
  7. netgen/include/bdbintegrator.hpp +1660 -0
  8. netgen/include/bem_diffops.hpp +475 -0
  9. netgen/include/bessel.hpp +1064 -0
  10. netgen/include/bilinearform.hpp +963 -0
  11. netgen/include/bla.hpp +29 -0
  12. netgen/include/blockalloc.hpp +95 -0
  13. netgen/include/blockjacobi.hpp +328 -0
  14. netgen/include/bspline.hpp +116 -0
  15. netgen/include/calcinverse.hpp +141 -0
  16. netgen/include/cg.hpp +368 -0
  17. netgen/include/chebyshev.hpp +44 -0
  18. netgen/include/cholesky.hpp +720 -0
  19. netgen/include/clapack.h +7254 -0
  20. netgen/include/code_generation.hpp +296 -0
  21. netgen/include/coefficient.hpp +2033 -0
  22. netgen/include/coefficient_impl.hpp +19 -0
  23. netgen/include/coefficient_stdmath.hpp +167 -0
  24. netgen/include/commutingAMG.hpp +106 -0
  25. netgen/include/comp.hpp +79 -0
  26. netgen/include/compatibility.hpp +41 -0
  27. netgen/include/complex_wrapper.hpp +73 -0
  28. netgen/include/compressedfespace.hpp +110 -0
  29. netgen/include/contact.hpp +235 -0
  30. netgen/include/diagonalmatrix.hpp +154 -0
  31. netgen/include/differentialoperator.hpp +276 -0
  32. netgen/include/diffop.hpp +1286 -0
  33. netgen/include/diffop_impl.hpp +328 -0
  34. netgen/include/diffopwithfactor.hpp +123 -0
  35. netgen/include/discontinuous.hpp +84 -0
  36. netgen/include/dump.hpp +949 -0
  37. netgen/include/ectypes.hpp +121 -0
  38. netgen/include/eigen.hpp +60 -0
  39. netgen/include/eigensystem.hpp +18 -0
  40. netgen/include/elasticity_equations.hpp +595 -0
  41. netgen/include/elementbyelement.hpp +195 -0
  42. netgen/include/elementtopology.hpp +1760 -0
  43. netgen/include/elementtransformation.hpp +339 -0
  44. netgen/include/evalfunc.hpp +405 -0
  45. netgen/include/expr.hpp +1686 -0
  46. netgen/include/facetfe.hpp +175 -0
  47. netgen/include/facetfespace.hpp +180 -0
  48. netgen/include/facethofe.hpp +111 -0
  49. netgen/include/facetsurffespace.hpp +112 -0
  50. netgen/include/fe_interfaces.hpp +32 -0
  51. netgen/include/fem.hpp +87 -0
  52. netgen/include/fesconvert.hpp +14 -0
  53. netgen/include/fespace.hpp +1449 -0
  54. netgen/include/finiteelement.hpp +286 -0
  55. netgen/include/globalinterfacespace.hpp +77 -0
  56. netgen/include/globalspace.hpp +115 -0
  57. netgen/include/gridfunction.hpp +525 -0
  58. netgen/include/h1amg.hpp +124 -0
  59. netgen/include/h1hofe.hpp +188 -0
  60. netgen/include/h1hofe_impl.hpp +1262 -0
  61. netgen/include/h1hofefo.hpp +148 -0
  62. netgen/include/h1hofefo_impl.hpp +185 -0
  63. netgen/include/h1hofespace.hpp +167 -0
  64. netgen/include/h1lofe.hpp +1240 -0
  65. netgen/include/h1lumping.hpp +41 -0
  66. netgen/include/hcurl_equations.hpp +1381 -0
  67. netgen/include/hcurlcurlfe.hpp +2241 -0
  68. netgen/include/hcurlcurlfespace.hpp +78 -0
  69. netgen/include/hcurlfe.hpp +259 -0
  70. netgen/include/hcurlfe_utils.hpp +107 -0
  71. netgen/include/hcurlhdiv_dshape.hpp +857 -0
  72. netgen/include/hcurlhdivfes.hpp +308 -0
  73. netgen/include/hcurlhofe.hpp +175 -0
  74. netgen/include/hcurlhofe_impl.hpp +1871 -0
  75. netgen/include/hcurlhofespace.hpp +193 -0
  76. netgen/include/hcurllofe.hpp +1146 -0
  77. netgen/include/hdiv_equations.hpp +880 -0
  78. netgen/include/hdivdivfe.hpp +2923 -0
  79. netgen/include/hdivdivsurfacespace.hpp +76 -0
  80. netgen/include/hdivfe.hpp +206 -0
  81. netgen/include/hdivfe_utils.hpp +717 -0
  82. netgen/include/hdivfes.hpp +75 -0
  83. netgen/include/hdivhofe.hpp +447 -0
  84. netgen/include/hdivhofe_impl.hpp +1107 -0
  85. netgen/include/hdivhofefo.hpp +229 -0
  86. netgen/include/hdivhofespace.hpp +177 -0
  87. netgen/include/hdivhosurfacefespace.hpp +106 -0
  88. netgen/include/hdivlofe.hpp +773 -0
  89. netgen/include/hidden.hpp +74 -0
  90. netgen/include/householder.hpp +181 -0
  91. netgen/include/hypre_ams_precond.hpp +123 -0
  92. netgen/include/hypre_precond.hpp +73 -0
  93. netgen/include/integrator.hpp +2012 -0
  94. netgen/include/integratorcf.hpp +253 -0
  95. netgen/include/interpolate.hpp +49 -0
  96. netgen/include/intrule.hpp +2542 -0
  97. netgen/include/intrules_SauterSchwab.hpp +25 -0
  98. netgen/include/irspace.hpp +49 -0
  99. netgen/include/jacobi.hpp +153 -0
  100. netgen/include/kernels.hpp +762 -0
  101. netgen/include/l2hofe.hpp +194 -0
  102. netgen/include/l2hofe_impl.hpp +564 -0
  103. netgen/include/l2hofefo.hpp +542 -0
  104. netgen/include/l2hofespace.hpp +344 -0
  105. netgen/include/la.hpp +38 -0
  106. netgen/include/linearform.hpp +266 -0
  107. netgen/include/matrix.hpp +2140 -0
  108. netgen/include/memusage.hpp +41 -0
  109. netgen/include/meshaccess.hpp +1359 -0
  110. netgen/include/mgpre.hpp +204 -0
  111. netgen/include/mp_coefficient.hpp +145 -0
  112. netgen/include/mptools.hpp +2281 -0
  113. netgen/include/multigrid.hpp +42 -0
  114. netgen/include/multivector.hpp +447 -0
  115. netgen/include/mumpsinverse.hpp +187 -0
  116. netgen/include/mycomplex.hpp +361 -0
  117. netgen/include/ng_lapack.hpp +1661 -0
  118. netgen/include/ngblas.hpp +1232 -0
  119. netgen/include/ngs_defines.hpp +30 -0
  120. netgen/include/ngs_stdcpp_include.hpp +106 -0
  121. netgen/include/ngs_utils.hpp +121 -0
  122. netgen/include/ngsobject.hpp +1019 -0
  123. netgen/include/ngsstream.hpp +113 -0
  124. netgen/include/ngstd.hpp +72 -0
  125. netgen/include/nodalhofe.hpp +96 -0
  126. netgen/include/nodalhofe_impl.hpp +141 -0
  127. netgen/include/normalfacetfe.hpp +223 -0
  128. netgen/include/normalfacetfespace.hpp +98 -0
  129. netgen/include/normalfacetsurfacefespace.hpp +84 -0
  130. netgen/include/order.hpp +251 -0
  131. netgen/include/parallel_matrices.hpp +222 -0
  132. netgen/include/paralleldofs.hpp +340 -0
  133. netgen/include/parallelngs.hpp +23 -0
  134. netgen/include/parallelvector.hpp +269 -0
  135. netgen/include/pardisoinverse.hpp +200 -0
  136. netgen/include/periodic.hpp +129 -0
  137. netgen/include/plateaufespace.hpp +25 -0
  138. netgen/include/pml.hpp +275 -0
  139. netgen/include/pmltrafo.hpp +631 -0
  140. netgen/include/postproc.hpp +142 -0
  141. netgen/include/potentialtools.hpp +22 -0
  142. netgen/include/precomp.hpp +60 -0
  143. netgen/include/preconditioner.hpp +602 -0
  144. netgen/include/prolongation.hpp +377 -0
  145. netgen/include/python_comp.hpp +107 -0
  146. netgen/include/python_fem.hpp +89 -0
  147. netgen/include/python_linalg.hpp +58 -0
  148. netgen/include/python_ngstd.hpp +386 -0
  149. netgen/include/recursive_pol.hpp +4896 -0
  150. netgen/include/recursive_pol_tet.hpp +395 -0
  151. netgen/include/recursive_pol_trig.hpp +492 -0
  152. netgen/include/reorderedfespace.hpp +81 -0
  153. netgen/include/sample_sort.hpp +105 -0
  154. netgen/include/scalarfe.hpp +335 -0
  155. netgen/include/shapefunction_utils.hpp +113 -0
  156. netgen/include/simd_complex.hpp +329 -0
  157. netgen/include/smoother.hpp +253 -0
  158. netgen/include/solve.hpp +89 -0
  159. netgen/include/sparsecholesky.hpp +313 -0
  160. netgen/include/sparsematrix.hpp +1038 -0
  161. netgen/include/sparsematrix_dyn.hpp +90 -0
  162. netgen/include/sparsematrix_impl.hpp +1013 -0
  163. netgen/include/special_matrix.hpp +463 -0
  164. netgen/include/specialelement.hpp +125 -0
  165. netgen/include/statushandler.hpp +33 -0
  166. netgen/include/stringops.hpp +12 -0
  167. netgen/include/superluinverse.hpp +136 -0
  168. netgen/include/symbolicintegrator.hpp +850 -0
  169. netgen/include/symmetricmatrix.hpp +144 -0
  170. netgen/include/tangentialfacetfe.hpp +224 -0
  171. netgen/include/tangentialfacetfespace.hpp +91 -0
  172. netgen/include/tensor.hpp +522 -0
  173. netgen/include/tensorcoefficient.hpp +446 -0
  174. netgen/include/tensorproductintegrator.hpp +113 -0
  175. netgen/include/thcurlfe.hpp +128 -0
  176. netgen/include/thcurlfe_impl.hpp +380 -0
  177. netgen/include/thdivfe.hpp +80 -0
  178. netgen/include/thdivfe_impl.hpp +492 -0
  179. netgen/include/tpdiffop.hpp +461 -0
  180. netgen/include/tpfes.hpp +133 -0
  181. netgen/include/tpintrule.hpp +224 -0
  182. netgen/include/triangular.hpp +465 -0
  183. netgen/include/tscalarfe.hpp +245 -0
  184. netgen/include/tscalarfe_impl.hpp +1029 -0
  185. netgen/include/umfpackinverse.hpp +148 -0
  186. netgen/include/vector.hpp +1273 -0
  187. netgen/include/voxelcoefficientfunction.hpp +41 -0
  188. netgen/include/vtkoutput.hpp +198 -0
  189. netgen/include/vvector.hpp +208 -0
  190. netgen/include/webgui.hpp +92 -0
  191. netgen/libngbla.dylib +0 -0
  192. netgen/libngcomp.dylib +0 -0
  193. netgen/libngfem.dylib +0 -0
  194. netgen/libngla.dylib +0 -0
  195. netgen/libngsbem.dylib +0 -0
  196. netgen/libngsolve.dylib +0 -0
  197. netgen/libngstd.dylib +0 -0
  198. ngsolve/TensorProductTools.py +210 -0
  199. ngsolve/__console.py +94 -0
  200. ngsolve/__expr.py +181 -0
  201. ngsolve/__init__.py +148 -0
  202. ngsolve/__init__.pyi +233 -0
  203. ngsolve/_scikit_build_core_dependencies.py +30 -0
  204. ngsolve/bla.pyi +1153 -0
  205. ngsolve/bvp.py +78 -0
  206. ngsolve/bvp.pyi +32 -0
  207. ngsolve/cmake/NGSolveConfig.cmake +102 -0
  208. ngsolve/cmake/ngsolve-targets-release.cmake +79 -0
  209. ngsolve/cmake/ngsolve-targets.cmake +163 -0
  210. ngsolve/comp/__init__.pyi +5449 -0
  211. ngsolve/comp/pml.pyi +89 -0
  212. ngsolve/config/__init__.py +1 -0
  213. ngsolve/config/__init__.pyi +43 -0
  214. ngsolve/config/__main__.py +4 -0
  215. ngsolve/config/config.py +60 -0
  216. ngsolve/config/config.pyi +45 -0
  217. ngsolve/demos/TensorProduct/__init__.py +0 -0
  218. ngsolve/demos/TensorProduct/tp_dg_1d_1d.py +80 -0
  219. ngsolve/demos/TensorProduct/tp_dg_1d_2d.py +73 -0
  220. ngsolve/demos/TensorProduct/tp_dg_2d_1d.py +72 -0
  221. ngsolve/demos/TensorProduct/tp_dg_2d_2d.py +66 -0
  222. ngsolve/demos/__init__.py +0 -0
  223. ngsolve/demos/howto/__init__.py +0 -0
  224. ngsolve/demos/howto/hhj.py +44 -0
  225. ngsolve/demos/howto/hybrid_dg.py +53 -0
  226. ngsolve/demos/howto/mixed.py +30 -0
  227. ngsolve/demos/howto/nonlin.py +29 -0
  228. ngsolve/demos/howto/pickling.py +26 -0
  229. ngsolve/demos/howto/pml.py +31 -0
  230. ngsolve/demos/howto/taskmanager.py +20 -0
  231. ngsolve/demos/howto/tdnns.py +47 -0
  232. ngsolve/demos/howto/timeDG-skeleton.py +45 -0
  233. ngsolve/demos/howto/timeDG.py +38 -0
  234. ngsolve/demos/howto/timeDGlap.py +42 -0
  235. ngsolve/demos/howto/timeDGwave.py +61 -0
  236. ngsolve/demos/intro/__init__.py +0 -0
  237. ngsolve/demos/intro/adaptive.py +123 -0
  238. ngsolve/demos/intro/cmagnet.py +59 -0
  239. ngsolve/demos/intro/elasticity.py +76 -0
  240. ngsolve/demos/intro/navierstokes.py +74 -0
  241. ngsolve/demos/intro/poisson.ipynb +170 -0
  242. ngsolve/demos/intro/poisson.py +41 -0
  243. ngsolve/demos/mpi/__init__.py +0 -0
  244. ngsolve/demos/mpi/mpi_cmagnet.py +87 -0
  245. ngsolve/demos/mpi/mpi_navierstokes.py +117 -0
  246. ngsolve/demos/mpi/mpi_poisson.py +89 -0
  247. ngsolve/demos/mpi/mpi_timeDG.py +82 -0
  248. ngsolve/directsolvers.py +26 -0
  249. ngsolve/directsolvers.pyi +15 -0
  250. ngsolve/eigenvalues.py +364 -0
  251. ngsolve/eigenvalues.pyi +30 -0
  252. ngsolve/fem.pyi +1647 -0
  253. ngsolve/internal.py +89 -0
  254. ngsolve/krylovspace.py +1013 -0
  255. ngsolve/krylovspace.pyi +298 -0
  256. ngsolve/la.pyi +1230 -0
  257. ngsolve/meshes.py +748 -0
  258. ngsolve/ngs2petsc.py +310 -0
  259. ngsolve/ngscxx.py +42 -0
  260. ngsolve/ngslib.so +0 -0
  261. ngsolve/ngstd.pyi +59 -0
  262. ngsolve/nonlinearsolvers.py +203 -0
  263. ngsolve/nonlinearsolvers.pyi +95 -0
  264. ngsolve/preconditioners.py +11 -0
  265. ngsolve/preconditioners.pyi +7 -0
  266. ngsolve/solve.pyi +109 -0
  267. ngsolve/solve_implementation.py +168 -0
  268. ngsolve/solve_implementation.pyi +42 -0
  269. ngsolve/solvers.py +7 -0
  270. ngsolve/solvers.pyi +14 -0
  271. ngsolve/timestepping.py +185 -0
  272. ngsolve/timestepping.pyi +28 -0
  273. ngsolve/timing.py +108 -0
  274. ngsolve/timing.pyi +54 -0
  275. ngsolve/utils.py +167 -0
  276. ngsolve/utils.pyi +273 -0
  277. ngsolve/webgui.py +670 -0
  278. ngsolve-6.2.2506.post74.dev0.data/data/Netgen.icns +0 -0
  279. ngsolve-6.2.2506.post74.dev0.data/data/bin/ngscxx +17 -0
  280. ngsolve-6.2.2506.post74.dev0.data/data/bin/ngsld +13 -0
  281. ngsolve-6.2.2506.post74.dev0.data/data/bin/ngsolve.tcl +648 -0
  282. ngsolve-6.2.2506.post74.dev0.data/data/bin/ngspy +2 -0
  283. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/beam.geo +17 -0
  284. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/beam.vol +240 -0
  285. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/chip.in2d +41 -0
  286. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/chip.vol +614 -0
  287. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/coil.geo +12 -0
  288. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/coil.vol +2560 -0
  289. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/coilshield.geo +24 -0
  290. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/coilshield.vol +3179 -0
  291. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/cube.geo +19 -0
  292. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/cube.vol +1832 -0
  293. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d10_DGdoubleglazing.pde +50 -0
  294. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d11_chip_nitsche.pde +40 -0
  295. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d1_square.pde +43 -0
  296. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d2_chip.pde +35 -0
  297. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d3_helmholtz.pde +22 -0
  298. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d4_cube.pde +46 -0
  299. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d5_beam.pde +74 -0
  300. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d6_shaft.pde +73 -0
  301. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d7_coil.pde +50 -0
  302. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d8_coilshield.pde +49 -0
  303. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d9_hybridDG.pde +72 -0
  304. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/doubleglazing.in2d +27 -0
  305. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/doubleglazing.vol +737 -0
  306. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  307. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/shaft.geo +73 -0
  308. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/shaft.vol +4291 -0
  309. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/square.in2d +17 -0
  310. ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/square.vol +149 -0
  311. ngsolve-6.2.2506.post74.dev0.dist-info/METADATA +13 -0
  312. ngsolve-6.2.2506.post74.dev0.dist-info/RECORD +315 -0
  313. ngsolve-6.2.2506.post74.dev0.dist-info/WHEEL +5 -0
  314. ngsolve-6.2.2506.post74.dev0.dist-info/licenses/LICENSE +504 -0
  315. ngsolve-6.2.2506.post74.dev0.dist-info/top_level.txt +2 -0
ngsolve/fem.pyi ADDED
@@ -0,0 +1,1647 @@
1
+ """
2
+ pybind fem
3
+ """
4
+ from __future__ import annotations
5
+ import collections.abc
6
+ import ngsolve.bla
7
+ import ngsolve.ngstd
8
+ import numpy
9
+ import numpy.typing
10
+ import pyngcore.pyngcore
11
+ import typing
12
+ __all__: list[str] = ['BFI', 'BSpline', 'BSpline2D', 'BaseMappedIntegrationPoint', 'BlockBFI', 'BlockLFI', 'CELL', 'CacheCF', 'CoefficientFunction', 'Cof', 'CompilePythonModule', 'CompoundBFI', 'CompoundLFI', 'Conj', 'CoordCF', 'CoordinateTrafo', 'Cross', 'Det', 'DifferentialOperator', 'EDGE', 'ELEMENT', 'ET', 'Einsum', 'ElementTopology', 'ElementTransformation', 'FACE', 'FACET', 'FiniteElement', 'GenerateL2ElementCode', 'H1FE', 'HCurlFE', 'HDivDivFE', 'HDivFE', 'HEX', 'Id', 'IfPos', 'IntegrationPoint', 'IntegrationRule', 'Inv', 'L2FE', 'LFI', 'LeviCivitaSymbol', 'LoggingCF', 'MeshPoint', 'MinimizationCF', 'MixedFE', 'NODE_TYPE', 'NewtonCF', 'POINT', 'PRISM', 'PYRAMID', 'Parameter', 'ParameterC', 'PlaceholderCF', 'PointEvaluationFunctional', 'QUAD', 'SEGM', 'ScalarFE', 'SetPMLParameters', 'Skew', 'SpecialCFCreator', 'Sym', 'TET', 'TRIG', 'Trace', 'VERTEX', 'VoxelCoefficient', 'Zero', 'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh', 'erf', 'exp', 'floor', 'log', 'pow', 'sin', 'sinh', 'specialcf', 'sqrt', 'tan']
13
+ class BFI:
14
+ """
15
+
16
+ Bilinear Form Integrator
17
+
18
+ Parameters:
19
+
20
+ name : string
21
+ Name of the bilinear form integrator.
22
+
23
+ py_coef : object
24
+ CoefficientFunction of the bilinear form.
25
+
26
+ dim : int
27
+ dimension of the bilinear form integrator
28
+
29
+ imag : bool
30
+ Multiplies BFI with 1J
31
+
32
+ filename : string
33
+ filename
34
+
35
+ kwargs : kwargs
36
+ For a description of the possible kwargs have a look a bit further down.
37
+
38
+ """
39
+ @staticmethod
40
+ def __flags_doc__() -> dict:
41
+ ...
42
+ @staticmethod
43
+ def __special_treated_flags__() -> dict:
44
+ ...
45
+ def ApplyElementMatrix(self, fel: FiniteElement, vec: ngsolve.bla.FlatVectorD, trafo: ElementTransformation, heapsize: typing.SupportsInt = 10000) -> typing.Any:
46
+ """
47
+ Apply element matrix of a specific element.
48
+
49
+ Parameters:
50
+
51
+ fel : ngsolve.fem.FiniteElement
52
+ input finite element
53
+
54
+ vec : Vector
55
+ evaluation argument
56
+
57
+ trafo : ngsolve.fem.ElementTransformation
58
+ input element transformation
59
+
60
+ heapsize : int
61
+ input heapsize
62
+ """
63
+ def CalcElementMatrix(self, fel: FiniteElement, trafo: ElementTransformation, heapsize: typing.SupportsInt = 10000, complex: bool = False) -> typing.Any:
64
+ """
65
+ Calculate element matrix of a specific element.
66
+
67
+ Parameters:
68
+
69
+ fel : ngsolve.fem.FiniteElement
70
+ input finite element
71
+
72
+ trafo : ngsolve.fem.ElementTransformation
73
+ input element transformation
74
+
75
+ heapsize : int
76
+ input heapsize
77
+
78
+ complex : bool
79
+ input complex
80
+ """
81
+ def CalcLinearizedElementMatrix(self, fel: FiniteElement, vec: ngsolve.bla.FlatVectorD, trafo: ElementTransformation, heapsize: typing.SupportsInt = 10000) -> typing.Any:
82
+ """
83
+ Calculate (linearized) element matrix of a specific element.
84
+
85
+ Parameters:
86
+
87
+ fel : ngsolve.fem.FiniteElement
88
+ input finite element
89
+
90
+ vec : Vector
91
+ linearization argument
92
+
93
+ trafo : ngsolve.fem.ElementTransformation
94
+ input element transformation
95
+
96
+ heapsize : int
97
+ input heapsize
98
+ """
99
+ def Evaluator(self, name: str) -> DifferentialOperator:
100
+ """
101
+ Returns requested evaluator
102
+
103
+ Parameters:
104
+
105
+ name : string
106
+ input name of requested evaluator
107
+ """
108
+ def GetDefinedOn(self) -> pyngcore.pyngcore.BitArray:
109
+ """
110
+ Returns a BitArray where the bilinear form is defined on
111
+ """
112
+ def SetDefinedOnElements(self, bitarray: pyngcore.pyngcore.BitArray) -> None:
113
+ """
114
+ Set the elements on which the bilinear form is defined on.
115
+
116
+ Parameters:
117
+
118
+ bitarray : ngsolve.ngstd.BitArray
119
+ input bitarray
120
+ """
121
+ def SetIntegrationRule(self, et: ET, intrule: IntegrationRule) -> BFI:
122
+ """
123
+ Set integration rule of the bilinear form.
124
+
125
+ Parameters:
126
+
127
+ et : ngsolve.fem.Element_Type
128
+ input element type
129
+
130
+ intrule : ngsolve.fem.Integrationrule
131
+ input integration rule
132
+ """
133
+ def __init__(self, name: str = '', coef: typing.Any, dim: typing.SupportsInt = -1, imag: bool = False, filename: str = '', **kwargs) -> None:
134
+ ...
135
+ def __initialize__(self, **kwargs) -> None:
136
+ ...
137
+ def __str__(self) -> str:
138
+ ...
139
+ @property
140
+ def simd_evaluate(self) -> bool:
141
+ """
142
+ SIMD evaluate ?
143
+ """
144
+ @simd_evaluate.setter
145
+ def simd_evaluate(self, arg1: bool) -> None:
146
+ ...
147
+ class BSpline:
148
+ """
149
+
150
+ BSpline of arbitrary order
151
+
152
+ Parameters:
153
+
154
+ order : int
155
+ order of the BSpline
156
+
157
+ knots : list
158
+ list of float
159
+
160
+ vals : list
161
+ list of float
162
+
163
+ """
164
+ def Differentiate(self) -> BSpline:
165
+ """
166
+ Differentiate the BSpline
167
+ """
168
+ def Integrate(self) -> BSpline:
169
+ """
170
+ Integrate the BSpline
171
+ """
172
+ @typing.overload
173
+ def __call__(self, pt: typing.SupportsFloat) -> float:
174
+ ...
175
+ @typing.overload
176
+ def __call__(self, cf: CoefficientFunction) -> CoefficientFunction:
177
+ ...
178
+ def __init__(self, order: typing.SupportsInt, knots: list, vals: list) -> None:
179
+ """
180
+ B-Spline of a certain order, provide knot and value vectors
181
+ """
182
+ def __str__(self) -> str:
183
+ ...
184
+ class BSpline2D:
185
+ """
186
+
187
+ Bilinear intepolation of data given on a regular grid
188
+
189
+ """
190
+ @typing.overload
191
+ def __call__(self, x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], y: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
192
+ ...
193
+ @typing.overload
194
+ def __call__(self, cx: CoefficientFunction, cy: CoefficientFunction) -> CoefficientFunction:
195
+ ...
196
+ def __getstate__(self) -> tuple:
197
+ ...
198
+ def __init__(self, x: list, y: list, vals: list, order: typing.SupportsInt = 1, extrapolate: bool = True) -> None:
199
+ """
200
+ x : list, y: list
201
+ sorted list of grid coordinates
202
+
203
+ vals : list
204
+ list of values at (x0,y0), (x0,y1), ...
205
+
206
+ order: int
207
+ interpolation order (only order=1 is supported)
208
+
209
+ extrapolate: bool = True
210
+ extrapolate values if outside given x/y coordinates (instead of throwing an exception)
211
+ """
212
+ def __setstate__(self, arg0: tuple) -> None:
213
+ ...
214
+ def __str__(self) -> str:
215
+ ...
216
+ class BaseMappedIntegrationPoint:
217
+ def __init__(self, arg0: MeshPoint) -> None:
218
+ ...
219
+ def __str__(self) -> str:
220
+ ...
221
+ @property
222
+ def elementid(self) -> ...:
223
+ """
224
+ Element ID of the mapped integration point
225
+ """
226
+ @property
227
+ def jacobi(self) -> ngsolve.bla.FlatMatrixD:
228
+ """
229
+ jacobian of the mapped integration point
230
+ """
231
+ @property
232
+ def measure(self) -> float:
233
+ """
234
+ Measure of the mapped integration point
235
+ """
236
+ @property
237
+ def point(self) -> ngsolve.bla.FlatVectorD:
238
+ """
239
+ Point of the mapped integration point
240
+ """
241
+ @property
242
+ def trafo(self) -> ...:
243
+ """
244
+ Transformation of the mapped integration point
245
+ """
246
+ class CoefficientFunction:
247
+ """
248
+ A CoefficientFunction (CF) is some function defined on a mesh.
249
+ Examples are coordinates x, y, z, domain-wise constants, solution-fields, ...
250
+ CFs can be combined by mathematical operations (+,-,sin(), ...) to form new CFs
251
+ Parameters:
252
+
253
+ val : can be one of the following:
254
+
255
+ scalar (float or complex):
256
+ Creates a constant CoefficientFunction with value val
257
+
258
+ tuple of scalars or CoefficientFunctions:
259
+ Creates a vector or matrix valued CoefficientFunction, use dims=(h,w)
260
+ for matrix valued CF
261
+ list of scalars or CoefficientFunctions:
262
+ Creates a domain-wise CF, use with generator expressions and mesh.GetMaterials()
263
+ and mesh.GetBoundaries()
264
+ """
265
+ def Compile(self, realcompile: bool = False, maxderiv: typing.SupportsInt = 2, wait: bool = False, keep_files: bool = False) -> CoefficientFunction:
266
+ """
267
+ Compile list of individual steps, experimental improvement for deep trees
268
+
269
+ Parameters:
270
+
271
+ realcompile : bool
272
+ True -> Compile to C++ code
273
+
274
+ maxderiv : int
275
+ input maximal derivative
276
+
277
+ wait : bool
278
+ True -> Waits until the previous Compile call is finished before start compiling
279
+
280
+ keep_files : bool
281
+ True -> Keep temporary files
282
+ """
283
+ def Derive(self, variable: CoefficientFunction, direction: CoefficientFunction = 1.0) -> CoefficientFunction:
284
+ """
285
+ depricated: use 'Diff' instead
286
+ """
287
+ def Diff(self, variable: CoefficientFunction, direction: CoefficientFunction = None) -> CoefficientFunction:
288
+ """
289
+ Compute directional derivative with respect to variable
290
+ """
291
+ def DiffShape(self, direction: CoefficientFunction = 1.0, Eulerian: collections.abc.Sequence[CoefficientFunction] = []) -> CoefficientFunction:
292
+ """
293
+ Compute shape derivative in direction
294
+ """
295
+ def Eig(self) -> CoefficientFunction:
296
+ """
297
+ Returns eigenvectors and eigenvalues of matrix-valued CF
298
+ """
299
+ def ExtendDimension(self, dims: tuple, pos: tuple | None = None, stride: tuple | None = None) -> CoefficientFunction:
300
+ """
301
+ Extend shape by 0-padding
302
+ """
303
+ def Freeze(self) -> CoefficientFunction:
304
+ """
305
+ don't differentiate this expression
306
+ """
307
+ def InnerProduct(self, cf: CoefficientFunction) -> CoefficientFunction:
308
+ """
309
+ Returns InnerProduct with another CoefficientFunction.
310
+
311
+ Parameters:
312
+
313
+ cf : ngsolve.CoefficientFunction
314
+ input CoefficientFunction
315
+ """
316
+ def MakeVariable(self) -> CoefficientFunction:
317
+ """
318
+ make node a variable, by which we can differentiate
319
+ """
320
+ def Norm(self) -> CoefficientFunction:
321
+ """
322
+ Returns Norm of the CF
323
+ """
324
+ def Operator(self, arg0: str) -> CoefficientFunction:
325
+ ...
326
+ def Other(self) -> CoefficientFunction:
327
+ """
328
+ Evaluate on other element, as needed for DG jumps
329
+ """
330
+ def Replace(self, arg0: collections.abc.Mapping[CoefficientFunction, CoefficientFunction]) -> CoefficientFunction:
331
+ ...
332
+ def Reshape(self, arg0: tuple) -> CoefficientFunction:
333
+ """
334
+ reshape CF: (dim) for vector, (h,w) for matrix
335
+ """
336
+ def TensorTranspose(self, arg0: tuple) -> CoefficientFunction:
337
+ ...
338
+ def _BuildFieldLines(self, mesh: ..., start_points: collections.abc.Sequence[tuple[typing.SupportsFloat, typing.SupportsFloat, typing.SupportsFloat]], num_fieldlines: typing.SupportsInt = 100, length: typing.SupportsFloat = 0.5, max_points: typing.SupportsFloat = 500, thickness: typing.SupportsFloat = 0.0015, tolerance: typing.SupportsFloat = 0.0005, direction: typing.SupportsInt = 0, randomized: bool = True, critical_value: typing.SupportsFloat = -1) -> dict:
339
+ ...
340
+ @typing.overload
341
+ def __add__(self, cf: CoefficientFunction) -> CoefficientFunction:
342
+ ...
343
+ @typing.overload
344
+ def __add__(self, value: typing.SupportsFloat) -> CoefficientFunction:
345
+ ...
346
+ @typing.overload
347
+ def __add__(self, value: complex) -> CoefficientFunction:
348
+ ...
349
+ @typing.overload
350
+ def __call__(self, mip: BaseMappedIntegrationPoint) -> typing.Any:
351
+ """
352
+ evaluate CF at a mapped integrationpoint mip. mip can be generated by calling mesh(x,y,z)
353
+ """
354
+ @typing.overload
355
+ def __call__(self, x: typing.SupportsFloat, y: typing.SupportsFloat | None = None, z: typing.SupportsFloat | None = None) -> ...:
356
+ ...
357
+ @typing.overload
358
+ def __call__(self, arg0: CoordinateTrafo) -> CoefficientFunction:
359
+ ...
360
+ @typing.overload
361
+ def __call__(self, arg0: MeshPoint) -> typing.Any:
362
+ ...
363
+ @typing.overload
364
+ def __call__(self, arg0: typing.Annotated[numpy.typing.ArrayLike, MeshPoint]) -> numpy.ndarray:
365
+ ...
366
+ @typing.overload
367
+ def __getitem__(self, comp: typing.SupportsInt) -> CoefficientFunction:
368
+ """
369
+ returns component comp of vectorial CF
370
+ """
371
+ @typing.overload
372
+ def __getitem__(self, components: slice) -> CoefficientFunction:
373
+ ...
374
+ @typing.overload
375
+ def __getitem__(self, arg0: tuple) -> CoefficientFunction:
376
+ ...
377
+ def __getstate__(self) -> tuple:
378
+ ...
379
+ @typing.overload
380
+ def __init__(self, arg0: dict) -> None:
381
+ ...
382
+ @typing.overload
383
+ def __init__(self, coef: typing.Any, dims: tuple | None = None) -> None:
384
+ """
385
+ Construct a CoefficientFunction from either one of
386
+ a scalar (float or complex)
387
+ a tuple of scalars and or CFs to define a vector-valued CF
388
+ use dims=(h,w) to define matrix-valued CF
389
+ a list of scalars and or CFs to define a domain-wise CF
390
+ """
391
+ @typing.overload
392
+ def __mul__(self, cf: CoefficientFunction) -> CoefficientFunction:
393
+ ...
394
+ @typing.overload
395
+ def __mul__(self, value: typing.SupportsFloat) -> CoefficientFunction:
396
+ ...
397
+ @typing.overload
398
+ def __mul__(self, value: complex) -> CoefficientFunction:
399
+ ...
400
+ @typing.overload
401
+ def __mul__(self, arg0: ...) -> ...:
402
+ ...
403
+ def __neg__(self) -> CoefficientFunction:
404
+ ...
405
+ @typing.overload
406
+ def __or__(self, cf: CoefficientFunction) -> CoefficientFunction:
407
+ ...
408
+ @typing.overload
409
+ def __or__(self, cf: ...) -> typing.Any:
410
+ ...
411
+ @typing.overload
412
+ def __pow__(self, exponent: typing.SupportsInt) -> CoefficientFunction:
413
+ ...
414
+ @typing.overload
415
+ def __pow__(self, arg0: typing.SupportsFloat) -> typing.Any:
416
+ ...
417
+ @typing.overload
418
+ def __pow__(self, arg0: CoefficientFunction) -> typing.Any:
419
+ ...
420
+ @typing.overload
421
+ def __radd__(self, value: typing.SupportsFloat) -> CoefficientFunction:
422
+ ...
423
+ @typing.overload
424
+ def __radd__(self, value: complex) -> CoefficientFunction:
425
+ ...
426
+ @typing.overload
427
+ def __rmul__(self, value: typing.SupportsFloat) -> CoefficientFunction:
428
+ ...
429
+ @typing.overload
430
+ def __rmul__(self, value: complex) -> CoefficientFunction:
431
+ ...
432
+ def __rpow__(self, arg0: typing.SupportsFloat) -> typing.Any:
433
+ ...
434
+ def __rsub__(self, value: typing.SupportsFloat) -> CoefficientFunction:
435
+ ...
436
+ @typing.overload
437
+ def __rtruediv__(self, value: typing.SupportsFloat) -> CoefficientFunction:
438
+ ...
439
+ @typing.overload
440
+ def __rtruediv__(self, value: complex) -> CoefficientFunction:
441
+ ...
442
+ def __setstate__(self, arg0: tuple) -> None:
443
+ ...
444
+ def __str__(self) -> str:
445
+ ...
446
+ @typing.overload
447
+ def __sub__(self, cf: CoefficientFunction) -> CoefficientFunction:
448
+ ...
449
+ @typing.overload
450
+ def __sub__(self, value: typing.SupportsFloat) -> CoefficientFunction:
451
+ ...
452
+ @typing.overload
453
+ def __truediv__(self, cf: CoefficientFunction) -> CoefficientFunction:
454
+ ...
455
+ @typing.overload
456
+ def __truediv__(self, value: typing.SupportsFloat) -> CoefficientFunction:
457
+ ...
458
+ @typing.overload
459
+ def __truediv__(self, value: complex) -> CoefficientFunction:
460
+ ...
461
+ @property
462
+ def data(self) -> dict:
463
+ ...
464
+ @property
465
+ def dim(self) -> int:
466
+ """
467
+ number of components of CF
468
+ """
469
+ @property
470
+ def dims(self) -> pyngcore.pyngcore.Array_I_S:
471
+ """
472
+ shape of CF: (dim) for vector, (h,w) for matrix
473
+ """
474
+ @dims.setter
475
+ def dims(self, arg1: tuple) -> None:
476
+ ...
477
+ @property
478
+ def imag(self) -> CoefficientFunction:
479
+ """
480
+ imaginary part of CF
481
+ """
482
+ @property
483
+ def is_complex(self) -> bool:
484
+ """
485
+ is CoefficientFunction complex-valued ?
486
+ """
487
+ @property
488
+ def real(self) -> CoefficientFunction:
489
+ """
490
+ real part of CF
491
+ """
492
+ @property
493
+ def shape(self) -> typing.Any:
494
+ """
495
+ shape of CF
496
+ """
497
+ @property
498
+ def spacedim(self) -> int:
499
+ ...
500
+ @spacedim.setter
501
+ def spacedim(self, arg1: typing.SupportsInt) -> None:
502
+ ...
503
+ @property
504
+ def trans(self) -> CoefficientFunction:
505
+ """
506
+ transpose of matrix-valued CF
507
+ """
508
+ class CoordinateTrafo:
509
+ def __init__(self, arg0: ..., arg1: ...) -> None:
510
+ ...
511
+ class DifferentialOperator:
512
+ def __call__(self, arg0: FiniteElement, arg1: MeshPoint) -> ngsolve.bla.MatrixD:
513
+ ...
514
+ def __timing__(self, arg0: FiniteElement, arg1: ElementTransformation, arg2: IntegrationRule) -> list[tuple[str, float]]:
515
+ ...
516
+ class ET:
517
+ """
518
+ Enumeration of all supported element types.
519
+
520
+ Members:
521
+
522
+ POINT
523
+
524
+ SEGM
525
+
526
+ TRIG
527
+
528
+ QUAD
529
+
530
+ TET
531
+
532
+ PRISM
533
+
534
+ PYRAMID
535
+
536
+ HEX
537
+ """
538
+ HEX: typing.ClassVar[ET] # value = <ET.HEX: 24>
539
+ POINT: typing.ClassVar[ET] # value = <ET.POINT: 0>
540
+ PRISM: typing.ClassVar[ET] # value = <ET.PRISM: 22>
541
+ PYRAMID: typing.ClassVar[ET] # value = <ET.PYRAMID: 21>
542
+ QUAD: typing.ClassVar[ET] # value = <ET.QUAD: 11>
543
+ SEGM: typing.ClassVar[ET] # value = <ET.SEGM: 1>
544
+ TET: typing.ClassVar[ET] # value = <ET.TET: 20>
545
+ TRIG: typing.ClassVar[ET] # value = <ET.TRIG: 10>
546
+ __members__: typing.ClassVar[dict[str, ET]] # value = {'POINT': <ET.POINT: 0>, 'SEGM': <ET.SEGM: 1>, 'TRIG': <ET.TRIG: 10>, 'QUAD': <ET.QUAD: 11>, 'TET': <ET.TET: 20>, 'PRISM': <ET.PRISM: 22>, 'PYRAMID': <ET.PYRAMID: 21>, 'HEX': <ET.HEX: 24>}
547
+ def __eq__(self, other: typing.Any) -> bool:
548
+ ...
549
+ def __getstate__(self) -> int:
550
+ ...
551
+ def __hash__(self) -> int:
552
+ ...
553
+ def __index__(self) -> int:
554
+ ...
555
+ def __init__(self, value: typing.SupportsInt) -> None:
556
+ ...
557
+ def __int__(self) -> int:
558
+ ...
559
+ def __ne__(self, other: typing.Any) -> bool:
560
+ ...
561
+ def __repr__(self) -> str:
562
+ ...
563
+ def __setstate__(self, state: typing.SupportsInt) -> None:
564
+ ...
565
+ def __str__(self) -> str:
566
+ ...
567
+ @property
568
+ def name(self) -> str:
569
+ ...
570
+ @property
571
+ def value(self) -> int:
572
+ ...
573
+ class ElementTopology:
574
+ """
575
+
576
+ Element Topology
577
+
578
+ Parameters:
579
+
580
+ et : ngsolve.fem.ET
581
+ input element type
582
+
583
+ """
584
+ def __init__(self, et: ET) -> None:
585
+ ...
586
+ @property
587
+ def name(self) -> str:
588
+ """
589
+ Name of the element topology
590
+ """
591
+ @property
592
+ def vertices(self) -> list:
593
+ """
594
+ Vertices of the element topology
595
+ """
596
+ class ElementTransformation:
597
+ @typing.overload
598
+ def __call__(self, x: typing.SupportsFloat, y: typing.SupportsFloat = 0, z: typing.SupportsFloat = 0) -> BaseMappedIntegrationPoint:
599
+ ...
600
+ @typing.overload
601
+ def __call__(self, ip: IntegrationPoint) -> BaseMappedIntegrationPoint:
602
+ ...
603
+ @typing.overload
604
+ def __call__(self, arg0: IntegrationRule) -> numpy.typing.NDArray[MeshPoint]:
605
+ ...
606
+ def __init__(self, et: ET = ..., vertices: list) -> None:
607
+ ...
608
+ @property
609
+ def VB(self) -> ...:
610
+ """
611
+ VorB (VOL, BND, BBND, BBBND)
612
+ """
613
+ @property
614
+ def curved(self) -> bool:
615
+ """
616
+ Is mapping non-affine ?
617
+ """
618
+ @property
619
+ def elementid(self) -> ...:
620
+ """
621
+ Element ID of the element transformation
622
+ """
623
+ @property
624
+ def spacedim(self) -> int:
625
+ """
626
+ Space dimension of the element transformation
627
+ """
628
+ class FiniteElement:
629
+ """
630
+ any finite element
631
+ """
632
+ def __str__(self) -> str:
633
+ ...
634
+ def __timing__(self) -> list[tuple[str, float]]:
635
+ ...
636
+ @property
637
+ def classname(self) -> str:
638
+ """
639
+ name of element family
640
+ """
641
+ @property
642
+ def dim(self) -> int:
643
+ """
644
+ spatial dimension of element
645
+ """
646
+ @property
647
+ def ndof(self) -> int:
648
+ """
649
+ number of degrees of freedom of element
650
+ """
651
+ @property
652
+ def order(self) -> int:
653
+ """
654
+ maximal polynomial order of element
655
+ """
656
+ @property
657
+ def type(self) -> ET:
658
+ """
659
+ geometric type of element
660
+ """
661
+ class HCurlFE(FiniteElement):
662
+ """
663
+ an H(curl) finite element
664
+ """
665
+ def CalcCurlShape(self, mip: ...) -> ngsolve.bla.MatrixD:
666
+ ...
667
+ @typing.overload
668
+ def CalcShape(self, x: typing.SupportsFloat, y: typing.SupportsFloat = 0.0, z: typing.SupportsFloat = 0.0) -> ngsolve.bla.MatrixD:
669
+ ...
670
+ @typing.overload
671
+ def CalcShape(self, mip: ...) -> ngsolve.bla.MatrixD:
672
+ ...
673
+ class HDivDivFE(FiniteElement):
674
+ """
675
+ an H(div div) finite element
676
+ """
677
+ def CalcDivShape(self, x: typing.SupportsFloat, y: typing.SupportsFloat = 0.0, z: typing.SupportsFloat = 0.0) -> ngsolve.bla.MatrixD:
678
+ ...
679
+ def CalcShape(self, x: typing.SupportsFloat, y: typing.SupportsFloat = 0.0, z: typing.SupportsFloat = 0.0) -> ngsolve.bla.MatrixD:
680
+ ...
681
+ class HDivFE(FiniteElement):
682
+ """
683
+ an H(div) finite element
684
+ """
685
+ def CalcDivShape(self, x: typing.SupportsFloat, y: typing.SupportsFloat = 0.0, z: typing.SupportsFloat = 0.0) -> ngsolve.bla.VectorD:
686
+ ...
687
+ def CalcShape(self, x: typing.SupportsFloat, y: typing.SupportsFloat = 0.0, z: typing.SupportsFloat = 0.0) -> ngsolve.bla.MatrixD:
688
+ ...
689
+ class IntegrationPoint:
690
+ @property
691
+ def point(self) -> tuple:
692
+ """
693
+ Integration point coordinates as tuple, has always x,y and z component, which do not have meaning in lesser dimensions
694
+ """
695
+ @property
696
+ def weight(self) -> float:
697
+ """
698
+ Weight of the integration point
699
+ """
700
+ class IntegrationRule:
701
+ """
702
+
703
+ Integration rule
704
+
705
+ 2 __init__ overloads
706
+
707
+
708
+ 1)
709
+
710
+ Parameters:
711
+
712
+ element type : ngsolve.fem.ET
713
+ input element type
714
+
715
+ order : int
716
+ input order of integration rule
717
+
718
+
719
+ 2)
720
+
721
+ Parameters:
722
+
723
+ points : list
724
+ input list of integration points
725
+
726
+ weights : list
727
+ input list of integration weights
728
+
729
+ """
730
+ @staticmethod
731
+ @typing.overload
732
+ def __init__(*args, **kwargs) -> None:
733
+ ...
734
+ def Integrate(self, func: typing.Any) -> typing.Any:
735
+ """
736
+ Integrates a given function
737
+ """
738
+ def __getitem__(self, nr: typing.SupportsInt) -> IntegrationPoint:
739
+ """
740
+ Return integration point at given position
741
+ """
742
+ @typing.overload
743
+ def __init__(self, points: list, weights: list = []) -> None:
744
+ ...
745
+ def __len__(self) -> int:
746
+ ...
747
+ def __str__(self) -> str:
748
+ ...
749
+ @property
750
+ def points(self) -> list:
751
+ """
752
+ Points of IntegrationRule as tuple
753
+ """
754
+ @property
755
+ def weights(self) -> list:
756
+ """
757
+ Weights of IntegrationRule
758
+ """
759
+ class LFI:
760
+ """
761
+
762
+ Linear Form Integrator
763
+
764
+ Parameters:
765
+
766
+ name : string
767
+ Name of the linear form integrator.
768
+
769
+ dim : int
770
+ dimension of the linear form integrator
771
+
772
+ coef : object
773
+ CoefficientFunction of the bilinear form.
774
+
775
+ definedon : object
776
+ input region where the linear form is defined on
777
+
778
+ imag : bool
779
+ Multiplies LFI with 1J
780
+
781
+ flags : ngsolve.ngstd.Flags
782
+ input flags
783
+
784
+ definedonelem : object
785
+ input definedonelem
786
+
787
+ """
788
+ @typing.overload
789
+ def CalcElementVector(self, fel: FiniteElement, trafo: ElementTransformation, vec: ngsolve.bla.FlatVectorD, lh: ngsolve.ngstd.LocalHeap) -> None:
790
+ ...
791
+ @typing.overload
792
+ def CalcElementVector(self, fel: FiniteElement, trafo: ElementTransformation, heapsize: typing.SupportsInt = 10000, complex: bool = False) -> typing.Any:
793
+ ...
794
+ def GetDefinedOn(self) -> pyngcore.pyngcore.BitArray:
795
+ """
796
+ Reterns regions where the lienar form integrator is defined on.
797
+ """
798
+ def SetDefinedOnElements(self, ba: pyngcore.pyngcore.BitArray) -> None:
799
+ """
800
+ Set the elements on which the linear form integrator is defined on
801
+
802
+ Parameters:
803
+
804
+ ba : ngsolve.ngstd.BitArray
805
+ input bit array ( 1-> defined on, 0 -> not defoned on)
806
+ """
807
+ def SetIntegrationRule(self, et: ET, ir: IntegrationRule) -> LFI:
808
+ """
809
+ Set a different integration rule for elements of type et
810
+
811
+ Parameters:
812
+
813
+ et : ngsolve.fem.ET
814
+ input element type
815
+
816
+ ir : ngsolve.fem.IntegrationRule
817
+ input integration rule
818
+ """
819
+ def __init__(self, name: str = 'lfi', dim: typing.SupportsInt = -1, coef: typing.Any, definedon: ... | list | None = None, imag: bool = False, flags: pyngcore.pyngcore.Flags = {}, definedonelements: pyngcore.pyngcore.BitArray = None) -> None:
820
+ ...
821
+ def __str__(self) -> str:
822
+ ...
823
+ @property
824
+ def simd_evaluate(self) -> bool:
825
+ """
826
+ SIMD evaluate ?
827
+ """
828
+ @simd_evaluate.setter
829
+ def simd_evaluate(self, arg1: bool) -> None:
830
+ ...
831
+ class MeshPoint:
832
+ @property
833
+ def mesh(self) -> ...:
834
+ ...
835
+ @property
836
+ def nr(self) -> int:
837
+ ...
838
+ @property
839
+ def pnt(self) -> tuple:
840
+ """
841
+ Gives coordinates of point on reference triangle. One can create a MappedIntegrationPoint using the ngsolve.fem.BaseMappedIntegrationPoint constructor. For physical coordinates the coordinate CoefficientFunctions x,y,z can be evaluated in the MeshPoint
842
+ """
843
+ @property
844
+ def vb(self) -> ...:
845
+ ...
846
+ class MixedFE(FiniteElement):
847
+ """
848
+ pair of finite elements for trial and test-functions
849
+ """
850
+ def __init__(self, arg0: FiniteElement, arg1: FiniteElement) -> None:
851
+ ...
852
+ class NODE_TYPE:
853
+ """
854
+ Enumeration of all supported node types.
855
+
856
+ Members:
857
+
858
+ VERTEX
859
+
860
+ EDGE
861
+
862
+ FACE
863
+
864
+ CELL
865
+
866
+ ELEMENT
867
+
868
+ FACET
869
+ """
870
+ CELL: typing.ClassVar[NODE_TYPE] # value = <NODE_TYPE.CELL: 3>
871
+ EDGE: typing.ClassVar[NODE_TYPE] # value = <NODE_TYPE.EDGE: 1>
872
+ ELEMENT: typing.ClassVar[NODE_TYPE] # value = <NODE_TYPE.ELEMENT: 4>
873
+ FACE: typing.ClassVar[NODE_TYPE] # value = <NODE_TYPE.FACE: 2>
874
+ FACET: typing.ClassVar[NODE_TYPE] # value = <NODE_TYPE.FACET: 5>
875
+ VERTEX: typing.ClassVar[NODE_TYPE] # value = <NODE_TYPE.VERTEX: 0>
876
+ __members__: typing.ClassVar[dict[str, NODE_TYPE]] # value = {'VERTEX': <NODE_TYPE.VERTEX: 0>, 'EDGE': <NODE_TYPE.EDGE: 1>, 'FACE': <NODE_TYPE.FACE: 2>, 'CELL': <NODE_TYPE.CELL: 3>, 'ELEMENT': <NODE_TYPE.ELEMENT: 4>, 'FACET': <NODE_TYPE.FACET: 5>}
877
+ def __eq__(self, other: typing.Any) -> bool:
878
+ ...
879
+ def __getstate__(self) -> int:
880
+ ...
881
+ def __hash__(self) -> int:
882
+ ...
883
+ def __index__(self) -> int:
884
+ ...
885
+ def __init__(self, value: typing.SupportsInt) -> None:
886
+ ...
887
+ def __int__(self) -> int:
888
+ ...
889
+ def __ne__(self, other: typing.Any) -> bool:
890
+ ...
891
+ def __repr__(self) -> str:
892
+ ...
893
+ def __setstate__(self, state: typing.SupportsInt) -> None:
894
+ ...
895
+ def __str__(self) -> str:
896
+ ...
897
+ @property
898
+ def name(self) -> str:
899
+ ...
900
+ @property
901
+ def value(self) -> int:
902
+ ...
903
+ class Parameter(CoefficientFunction):
904
+ """
905
+
906
+ CoefficientFunction with a modifiable value
907
+
908
+ Parameters:
909
+
910
+ value : float
911
+ Parameter value
912
+
913
+ """
914
+ def Get(self) -> float:
915
+ """
916
+ return parameter value
917
+ """
918
+ def Set(self, value: typing.SupportsFloat) -> None:
919
+ """
920
+ Modify parameter value.
921
+
922
+ Parameters:
923
+
924
+ value : double
925
+ input scalar
926
+ """
927
+ def __ge__(self, arg0: typing.SupportsFloat) -> bool:
928
+ ...
929
+ def __getstate__(self) -> tuple:
930
+ ...
931
+ def __gt__(self, arg0: typing.SupportsFloat) -> bool:
932
+ ...
933
+ def __iadd__(self, arg0: typing.SupportsFloat) -> Parameter:
934
+ ...
935
+ def __imul__(self, arg0: typing.SupportsFloat) -> Parameter:
936
+ ...
937
+ def __init__(self, value: typing.SupportsFloat) -> None:
938
+ """
939
+ Construct a ParameterCF from a scalar
940
+ """
941
+ def __isub__(self, arg0: typing.SupportsFloat) -> Parameter:
942
+ ...
943
+ def __itruediv__(self, arg0: typing.SupportsFloat) -> Parameter:
944
+ ...
945
+ def __le__(self, arg0: typing.SupportsFloat) -> bool:
946
+ ...
947
+ def __lt__(self, arg0: typing.SupportsFloat) -> bool:
948
+ ...
949
+ def __setstate__(self, arg0: tuple) -> None:
950
+ ...
951
+ class ParameterC(CoefficientFunction):
952
+ """
953
+
954
+ CoefficientFunction with a modifiable complex value
955
+
956
+ Parameters:
957
+
958
+ value : complex
959
+ Parameter value
960
+
961
+ """
962
+ def Get(self) -> complex:
963
+ """
964
+ return parameter value
965
+ """
966
+ def Set(self, value: complex) -> None:
967
+ """
968
+ Modify parameter value.
969
+
970
+ Parameters:
971
+
972
+ value : complex
973
+ input scalar
974
+ """
975
+ def __getstate__(self) -> tuple:
976
+ ...
977
+ def __init__(self, value: complex) -> None:
978
+ """
979
+ Construct a ParameterCF from a scalar
980
+ """
981
+ def __setstate__(self, arg0: tuple) -> None:
982
+ ...
983
+ class PlaceholderCF(CoefficientFunction):
984
+ def Set(self, arg0: CoefficientFunction) -> None:
985
+ ...
986
+ def __init__(self, arg0: CoefficientFunction) -> None:
987
+ ...
988
+ class PointEvaluationFunctional:
989
+ def Assemble(self) -> ngsolve.bla.SparseVector:
990
+ ...
991
+ class ScalarFE(FiniteElement):
992
+ """
993
+ a scalar-valued finite element
994
+ """
995
+ @typing.overload
996
+ def CalcDShape(self, mip: ...) -> ngsolve.bla.MatrixD:
997
+ """
998
+ Computes derivative of the shape in an integration point.
999
+
1000
+ Parameters:
1001
+
1002
+ mip : ngsolve.BaseMappedIntegrationPoint
1003
+ input mapped integration point
1004
+ """
1005
+ @typing.overload
1006
+ def CalcDShape(self, x: typing.SupportsFloat, y: typing.SupportsFloat = 0.0, z: typing.SupportsFloat = 0.0) -> ngsolve.bla.MatrixD:
1007
+ """
1008
+ Computes derivative of the shape in an integration point.
1009
+
1010
+ Parameters:
1011
+
1012
+ x : double
1013
+ input x value
1014
+
1015
+ y : double
1016
+ input y value
1017
+
1018
+ z : double
1019
+ input z value
1020
+ """
1021
+ @typing.overload
1022
+ def CalcShape(self, x: typing.SupportsFloat, y: typing.SupportsFloat = 0.0, z: typing.SupportsFloat = 0.0) -> ngsolve.bla.VectorD:
1023
+ """
1024
+ Parameters:
1025
+
1026
+ x : double
1027
+ input x value
1028
+
1029
+ y : double
1030
+ input y value
1031
+
1032
+ z : double
1033
+ input z value
1034
+ """
1035
+ @typing.overload
1036
+ def CalcShape(self, mip: ...) -> ngsolve.bla.VectorD:
1037
+ """
1038
+ Parameters:
1039
+
1040
+ mip : ngsolve.BaseMappedIntegrationPoint
1041
+ input mapped integration point
1042
+ """
1043
+ class SpecialCFCreator:
1044
+ def EdgeCurvature(self, dim: typing.SupportsInt) -> ...:
1045
+ """
1046
+ EdgeCurvature
1047
+ space-dimension must be provided
1048
+ """
1049
+ def EdgeFaceTangentialVectors(self, dim: typing.SupportsInt) -> ...:
1050
+ """
1051
+ EdgeFaceTangentialVectors
1052
+ space-dimension must be provided
1053
+ """
1054
+ @typing.overload
1055
+ def JacobianMatrix(self, dim: typing.SupportsInt) -> ...:
1056
+ """
1057
+ Jacobian matrix of transformation to physical element
1058
+ space-dimension must be provided
1059
+ """
1060
+ @typing.overload
1061
+ def JacobianMatrix(self, dimr: typing.SupportsInt, dims: typing.SupportsInt) -> ...:
1062
+ """
1063
+ Jacobian matrix of transformation to physical element
1064
+ space-dimensions dimr >= dims must be provided
1065
+ """
1066
+ def VertexTangentialVectors(self, dim: typing.SupportsInt) -> ...:
1067
+ """
1068
+ VertexTangentialVectors
1069
+ space-dimension must be provided
1070
+ """
1071
+ def Weingarten(self, dim: typing.SupportsInt) -> ...:
1072
+ """
1073
+ Weingarten tensor
1074
+ space-dimension must be provided
1075
+ """
1076
+ @typing.overload
1077
+ def normal(self, arg0: typing.SupportsInt) -> ...:
1078
+ """
1079
+ depending on contents: normal-vector to geometry or element
1080
+ space-dimension must be provided.
1081
+ """
1082
+ @typing.overload
1083
+ def normal(self, arg0: ...) -> ...:
1084
+ """
1085
+ If region is provided, normal is pointing outwards of region (only supported on 2d/3d surface elements)
1086
+ """
1087
+ def num_els_on_facet(self) -> ...:
1088
+ """
1089
+ number of elements on facet, available for element-bnd integrals, and surface integrals
1090
+ """
1091
+ def tangential(self, dim: typing.SupportsInt, consistent: bool = False) -> ...:
1092
+ """
1093
+ depending on contents: tangential-vector to element
1094
+ space-dimension must be provided
1095
+ """
1096
+ def xref(self, dim: typing.SupportsInt) -> ...:
1097
+ """
1098
+ element reference-coordinates
1099
+ """
1100
+ @property
1101
+ def mesh_size(self) -> ...:
1102
+ """
1103
+ local mesh-size (approximate element diameter) as CF
1104
+ """
1105
+ def BlockBFI(bfi: BFI = 0, dim: typing.SupportsInt = 2, comp: typing.SupportsInt = 0) -> ...:
1106
+ """
1107
+ Block Bilinear Form Integrator
1108
+
1109
+ Parameters:
1110
+
1111
+ bfi : ngsolve.fem.BFI
1112
+ input bilinear form integrator
1113
+
1114
+ dim : int
1115
+ input dimension of block bilinear form integrator
1116
+
1117
+ comp : int
1118
+ input comp
1119
+ """
1120
+ def BlockLFI(lfi: LFI = 0, dim: typing.SupportsInt = 2, comp: typing.SupportsInt = 0) -> LFI:
1121
+ """
1122
+ Block Linear Form Integrator
1123
+
1124
+ Parameters:
1125
+
1126
+ lfi : ngsolve.fem.LFI
1127
+ input bilinear form integrator
1128
+
1129
+ dim : int
1130
+ input dimension of block linear form integrator
1131
+
1132
+ comp : int
1133
+ input comp
1134
+ """
1135
+ def CacheCF(cf: CoefficientFunction) -> CoefficientFunction:
1136
+ ...
1137
+ def Cof(arg0: CoefficientFunction) -> CoefficientFunction:
1138
+ ...
1139
+ @typing.overload
1140
+ def CompilePythonModule(code: str, init_function_name: str = 'init', add_header: bool = True) -> typing.Any:
1141
+ """
1142
+ Utility function to compile c++ code with python bindings at run-time.
1143
+
1144
+ Parameters:
1145
+
1146
+ code: c++ code snippet ( add_header=True ) or a complete .cpp file ( add_header=False )
1147
+
1148
+ init_function_name (default = "init"): Function, which is called after the compiled code is loaded. The prototype must match:
1149
+ extern "C" void init_function_name(pybind11::object & res);
1150
+
1151
+ add_header (default = True): wrap the code snippet with the template
1152
+
1153
+ #include <comp.hpp>
1154
+ #include <python_ngstd.hpp>
1155
+
1156
+ using namespace ngcomp;
1157
+
1158
+ extern "C" {
1159
+
1160
+ NGCORE_API_EXPORT void init(py::object & res)
1161
+ {
1162
+ static py::module::module_def def;
1163
+ py::module m = py::module::create_extension_module("", "", &def);
1164
+
1165
+ // BEGIN USER DEFINED CODE
1166
+
1167
+
1168
+ // END USER DEFINED CODE
1169
+ res = m;
1170
+ }
1171
+ }
1172
+ """
1173
+ @typing.overload
1174
+ def CompilePythonModule(file: os.PathLike | str | bytes, init_function_name: str = 'init') -> typing.Any:
1175
+ """
1176
+ Utility function to compile a c++ file with python bindings at run-time.
1177
+
1178
+ Parameters:
1179
+
1180
+ file: c++ code file (type: pathlib.Path)
1181
+
1182
+ init_function_name (default = "init"): Function, which is called after the compiled code is loaded. The prototype must match:
1183
+ extern "C" void init_function_name(pybind11::object & res);
1184
+ """
1185
+ def CompoundBFI(bfi: BFI = 0, comp: typing.SupportsInt = 0) -> ...:
1186
+ """
1187
+ Compound Bilinear Form Integrator
1188
+
1189
+ Parameters:
1190
+
1191
+ bfi : ngsolve.fem.BFI
1192
+ input bilinear form integrator
1193
+
1194
+ comp : int
1195
+ input component
1196
+ """
1197
+ def CompoundLFI(lfi: LFI = 0, comp: typing.SupportsInt = 0) -> LFI:
1198
+ """
1199
+ Compound Linear Form Integrator
1200
+
1201
+ Parameters:
1202
+
1203
+ lfi : ngsolve.fem.LFI
1204
+ input linear form integrator
1205
+
1206
+ comp : int
1207
+ input component
1208
+ """
1209
+ def Conj(arg0: CoefficientFunction) -> CoefficientFunction:
1210
+ """
1211
+ complex-conjugate
1212
+ """
1213
+ def CoordCF(direction: typing.SupportsInt) -> ...:
1214
+ """
1215
+ CoefficientFunction for x, y, z.
1216
+
1217
+ Parameters:
1218
+
1219
+ direction : int
1220
+ input direction
1221
+ """
1222
+ def Cross(arg0: CoefficientFunction, arg1: CoefficientFunction) -> CoefficientFunction:
1223
+ ...
1224
+ def Det(arg0: CoefficientFunction) -> CoefficientFunction:
1225
+ ...
1226
+ def Einsum(einsum_signature: str, *args, **kwargs) -> CoefficientFunction:
1227
+ """
1228
+ Generic tensor product in the spirit of numpy's \\"einsum\\" feature.
1229
+
1230
+ Parameters:
1231
+
1232
+ einsum_signature: str
1233
+ specification of the tensor product in numpy's "einsum" notation
1234
+
1235
+ args:
1236
+ CoefficientFunctions
1237
+
1238
+ kwargs:
1239
+ "expand_einsum" (true) -- expand nested "einsums" for later optimization
1240
+ "optimize_path" (false) -- try to reorder product for greater efficiency
1241
+ "optimize_identities" (false) -- try to eliminate identity tensors
1242
+ "use_legacy_ops" (false) -- fall back to existing CFs implementing certain blas operations where possible
1243
+ "sparse_evaluation" (true) -- exploit sparsity of tensors
1244
+ """
1245
+ def GenerateL2ElementCode(arg0: typing.SupportsInt) -> str:
1246
+ ...
1247
+ def H1FE(et: ET, order: typing.SupportsInt) -> None:
1248
+ """
1249
+ Creates an H1 finite element of given geometric shape and polynomial order.
1250
+
1251
+ Parameters:
1252
+
1253
+ et : ngsolve.fem.ET
1254
+ input element type
1255
+
1256
+ order : int
1257
+ input polynomial order
1258
+ """
1259
+ @typing.overload
1260
+ def Id(dim: typing.SupportsInt) -> CoefficientFunction:
1261
+ """
1262
+ Identity matrix of given dimension
1263
+ """
1264
+ @typing.overload
1265
+ def Id(dims: pyngcore.pyngcore.Array_I_S) -> CoefficientFunction:
1266
+ """
1267
+ Identity tensor for a space with dimensions 'dims', ie. the result is of 'dims + dims'
1268
+ """
1269
+ @typing.overload
1270
+ def IfPos(c1: ..., then_obj: typing.Any, else_obj: typing.Any) -> ...:
1271
+ """
1272
+ Returns new CoefficientFunction with values then_obj if c1 is positive and else_obj else.
1273
+
1274
+ Parameters:
1275
+
1276
+ c1 : ngsolve.CoefficientFunction
1277
+ Indicator function
1278
+
1279
+ then_obj : object
1280
+ Values of new CF if c1 is positive, object must be implicitly convertible to
1281
+ ngsolve.CoefficientFunction. See help(CoefficientFunction ) for information.
1282
+
1283
+ else_obj : object
1284
+ Values of new CF if c1 is not positive, object must be implicitly convertible to
1285
+ ngsolve.CoefficientFunction. See help(CoefficientFunction ) for information.
1286
+ """
1287
+ @typing.overload
1288
+ def IfPos(arg0: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], arg1: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], arg2: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
1289
+ ...
1290
+ def Inv(arg0: CoefficientFunction) -> CoefficientFunction:
1291
+ ...
1292
+ def L2FE(et: ET, order: typing.SupportsInt) -> None:
1293
+ """
1294
+ Creates an L2 finite element of given geometric shape and polynomial order.
1295
+
1296
+ Parameters:
1297
+
1298
+ et : ngsolve.fem.ET
1299
+ input element type
1300
+
1301
+ order : int
1302
+ input polynomial order
1303
+ """
1304
+ def LeviCivitaSymbol(arg0: typing.SupportsInt) -> CoefficientFunction:
1305
+ ...
1306
+ def LoggingCF(cf: CoefficientFunction, logfile: str = 'stdout') -> CoefficientFunction:
1307
+ ...
1308
+ def MinimizationCF(expression: CoefficientFunction, startingpoint: typing.Any, tol: typing.SupportsFloat | None = 1e-06, rtol: typing.SupportsFloat | None = 0.0, maxiter: typing.SupportsInt | None = 20, allow_fail: bool | None = False) -> CoefficientFunction:
1309
+ """
1310
+ Creates a CoefficientFunction that returns the solution to a minimization problem.
1311
+ Convergence failure is indicated by returning NaNs. Set ngsgloals.message_level
1312
+ to 4 for element information in case of failure. Set ngsgloals.message_level to 5
1313
+ for details on the residual.
1314
+
1315
+ Parameters:
1316
+
1317
+ expression : CoefficientFunction
1318
+ the objective function to be minimized
1319
+
1320
+ startingpoint: CoefficientFunction, list/tuple of CoefficientFunctions
1321
+ The initial guess for the iterative solution of the minimization problem. In case of a list or a tuple,
1322
+ the order of starting points must match the order of the trial functions in their parent FE space.
1323
+
1324
+ tol: double
1325
+ absolute tolerance
1326
+
1327
+ rtol: double
1328
+ relative tolerance
1329
+
1330
+ maxiter: int
1331
+ maximum iterations
1332
+
1333
+ allow_fail : bool
1334
+ Returns the result of the final Newton step, even if the tolerance is not reached.
1335
+ Otherwise NaNs are returned.
1336
+ """
1337
+ def NewtonCF(expression: CoefficientFunction, startingpoint: typing.Any, tol: typing.SupportsFloat | None = 1e-06, rtol: typing.SupportsFloat | None = 0.0, maxiter: typing.SupportsInt | None = 10, allow_fail: bool | None = False) -> CoefficientFunction:
1338
+ """
1339
+ Creates a CoefficientFunction that returns the solution to a nonlinear problem.
1340
+ By default, convergence failure is indicated by returning NaNs. Set ngsgloals.message_level
1341
+ to 4 for element information in case of failure. Set ngsgloals.message_level to 5 for
1342
+ details on the residual.
1343
+
1344
+ Parameters:
1345
+
1346
+ expression : CoefficientFunction
1347
+ The residual of the nonlinear equation
1348
+
1349
+ startingpoint: CoefficientFunction, list/tuple of CoefficientFunctions
1350
+ The initial guess for the iterative solution of the nonlinear problem. In case of a list or a tuple,
1351
+ the order of starting points must match the order of the trial functions in their parent FE space.
1352
+
1353
+ tol: double
1354
+ Absolute tolerance
1355
+
1356
+ rtol: double
1357
+ Relative tolerance
1358
+
1359
+ maxiter: int
1360
+ Maximum number of iterations
1361
+
1362
+ allow_fail : bool
1363
+ Returns the result of the final Newton step, even if the tolerance is not reached.
1364
+ Otherwise NaNs are returned.
1365
+ """
1366
+ def SetPMLParameters(rad: typing.SupportsFloat = 1, alpha: typing.SupportsFloat = 1) -> None:
1367
+ """
1368
+ Parameters:
1369
+
1370
+ rad : double
1371
+ input radius of PML
1372
+
1373
+ alpha : double
1374
+ input damping factor of PML
1375
+ """
1376
+ def Skew(arg0: CoefficientFunction) -> CoefficientFunction:
1377
+ ...
1378
+ def Sym(arg0: CoefficientFunction) -> CoefficientFunction:
1379
+ ...
1380
+ def Trace(arg0: CoefficientFunction) -> CoefficientFunction:
1381
+ ...
1382
+ def VoxelCoefficient(start: tuple, end: tuple, values: numpy.ndarray, linear: bool = True, trafocf: typing.Any = ...) -> CoefficientFunction:
1383
+ """
1384
+ CoefficientFunction defined on a grid.
1385
+
1386
+ Start and end mark the cartesian boundary of domain. The function will be continued by a constant function outside of this box. Inside a cartesian grid will be created by the dimensions of the numpy input array 'values'. This array must have the dimensions of the mesh and the values stored as:
1387
+ x1y1z1, x2y1z1, ..., xNy1z1, x1y2z1, ...
1388
+
1389
+ If linear is True the function will be interpolated linearly between the values. Otherwise the nearest voxel value is taken.
1390
+ """
1391
+ def Zero(arg0: pyngcore.pyngcore.Array_I_S) -> CoefficientFunction:
1392
+ ...
1393
+ @typing.overload
1394
+ def acos(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
1395
+ """
1396
+ Inverse cosine in radians
1397
+ """
1398
+ @typing.overload
1399
+ def acos(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
1400
+ """
1401
+ Inverse cosine in radians
1402
+ """
1403
+ @typing.overload
1404
+ def acos(x: ...) -> ...:
1405
+ """
1406
+ Inverse cosine in radians
1407
+ """
1408
+ @typing.overload
1409
+ def asin(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
1410
+ """
1411
+ Inverse sine in radians
1412
+ """
1413
+ @typing.overload
1414
+ def asin(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
1415
+ """
1416
+ Inverse sine in radians
1417
+ """
1418
+ @typing.overload
1419
+ def asin(x: ...) -> ...:
1420
+ """
1421
+ Inverse sine in radians
1422
+ """
1423
+ @typing.overload
1424
+ def atan(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
1425
+ """
1426
+ Inverse tangent in radians
1427
+ """
1428
+ @typing.overload
1429
+ def atan(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
1430
+ """
1431
+ Inverse tangent in radians
1432
+ """
1433
+ @typing.overload
1434
+ def atan(x: ...) -> ...:
1435
+ """
1436
+ Inverse tangent in radians
1437
+ """
1438
+ @typing.overload
1439
+ def atan2(y: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
1440
+ """
1441
+ Four quadrant inverse tangent in radians
1442
+ """
1443
+ @typing.overload
1444
+ def atan2(y: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128], x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
1445
+ """
1446
+ Four quadrant inverse tangent in radians
1447
+ """
1448
+ @typing.overload
1449
+ def atan2(y: ..., x: ...) -> ...:
1450
+ """
1451
+ Four quadrant inverse tangent in radians
1452
+ """
1453
+ @typing.overload
1454
+ def ceil(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
1455
+ """
1456
+ Round to next greater integer
1457
+ """
1458
+ @typing.overload
1459
+ def ceil(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
1460
+ """
1461
+ Round to next greater integer
1462
+ """
1463
+ @typing.overload
1464
+ def ceil(x: ...) -> ...:
1465
+ """
1466
+ Round to next greater integer
1467
+ """
1468
+ @typing.overload
1469
+ def cos(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
1470
+ """
1471
+ Cosine of argument in radians
1472
+ """
1473
+ @typing.overload
1474
+ def cos(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
1475
+ """
1476
+ Cosine of argument in radians
1477
+ """
1478
+ @typing.overload
1479
+ def cos(x: ...) -> ...:
1480
+ """
1481
+ Cosine of argument in radians
1482
+ """
1483
+ @typing.overload
1484
+ def cosh(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
1485
+ """
1486
+ Hyperbolic cosine of argument in radians
1487
+ """
1488
+ @typing.overload
1489
+ def cosh(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
1490
+ """
1491
+ Hyperbolic cosine of argument in radians
1492
+ """
1493
+ @typing.overload
1494
+ def cosh(x: ...) -> ...:
1495
+ """
1496
+ Hyperbolic cosine of argument in radians
1497
+ """
1498
+ @typing.overload
1499
+ def erf(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
1500
+ """
1501
+ Error function
1502
+ """
1503
+ @typing.overload
1504
+ def erf(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
1505
+ """
1506
+ Error function
1507
+ """
1508
+ @typing.overload
1509
+ def erf(x: ...) -> ...:
1510
+ """
1511
+ Error function
1512
+ """
1513
+ @typing.overload
1514
+ def exp(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
1515
+ """
1516
+ Exponential function
1517
+ """
1518
+ @typing.overload
1519
+ def exp(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
1520
+ """
1521
+ Exponential function
1522
+ """
1523
+ @typing.overload
1524
+ def exp(x: ...) -> ...:
1525
+ """
1526
+ Exponential function
1527
+ """
1528
+ @typing.overload
1529
+ def floor(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
1530
+ """
1531
+ Round to next lower integer
1532
+ """
1533
+ @typing.overload
1534
+ def floor(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
1535
+ """
1536
+ Round to next lower integer
1537
+ """
1538
+ @typing.overload
1539
+ def floor(x: ...) -> ...:
1540
+ """
1541
+ Round to next lower integer
1542
+ """
1543
+ @typing.overload
1544
+ def log(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
1545
+ """
1546
+ Logarithm function
1547
+ """
1548
+ @typing.overload
1549
+ def log(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
1550
+ """
1551
+ Logarithm function
1552
+ """
1553
+ @typing.overload
1554
+ def log(x: ...) -> ...:
1555
+ """
1556
+ Logarithm function
1557
+ """
1558
+ @typing.overload
1559
+ def pow(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], y: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
1560
+ """
1561
+ Power function
1562
+ """
1563
+ @typing.overload
1564
+ def pow(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128], y: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
1565
+ """
1566
+ Power function
1567
+ """
1568
+ @typing.overload
1569
+ def pow(x: ..., y: ...) -> ...:
1570
+ """
1571
+ Power function
1572
+ """
1573
+ @typing.overload
1574
+ def sin(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
1575
+ """
1576
+ Sine of argument in radians
1577
+ """
1578
+ @typing.overload
1579
+ def sin(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
1580
+ """
1581
+ Sine of argument in radians
1582
+ """
1583
+ @typing.overload
1584
+ def sin(x: ...) -> ...:
1585
+ """
1586
+ Sine of argument in radians
1587
+ """
1588
+ @typing.overload
1589
+ def sinh(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
1590
+ """
1591
+ Hyperbolic sine of argument in radians
1592
+ """
1593
+ @typing.overload
1594
+ def sinh(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
1595
+ """
1596
+ Hyperbolic sine of argument in radians
1597
+ """
1598
+ @typing.overload
1599
+ def sinh(x: ...) -> ...:
1600
+ """
1601
+ Hyperbolic sine of argument in radians
1602
+ """
1603
+ @typing.overload
1604
+ def sqrt(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
1605
+ """
1606
+ Square root function
1607
+ """
1608
+ @typing.overload
1609
+ def sqrt(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
1610
+ """
1611
+ Square root function
1612
+ """
1613
+ @typing.overload
1614
+ def sqrt(x: ...) -> ...:
1615
+ """
1616
+ Square root function
1617
+ """
1618
+ @typing.overload
1619
+ def tan(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
1620
+ """
1621
+ Tangent of argument in radians
1622
+ """
1623
+ @typing.overload
1624
+ def tan(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
1625
+ """
1626
+ Tangent of argument in radians
1627
+ """
1628
+ @typing.overload
1629
+ def tan(x: ...) -> ...:
1630
+ """
1631
+ Tangent of argument in radians
1632
+ """
1633
+ CELL: NODE_TYPE # value = <NODE_TYPE.CELL: 3>
1634
+ EDGE: NODE_TYPE # value = <NODE_TYPE.EDGE: 1>
1635
+ ELEMENT: NODE_TYPE # value = <NODE_TYPE.ELEMENT: 4>
1636
+ FACE: NODE_TYPE # value = <NODE_TYPE.FACE: 2>
1637
+ FACET: NODE_TYPE # value = <NODE_TYPE.FACET: 5>
1638
+ HEX: ET # value = <ET.HEX: 24>
1639
+ POINT: ET # value = <ET.POINT: 0>
1640
+ PRISM: ET # value = <ET.PRISM: 22>
1641
+ PYRAMID: ET # value = <ET.PYRAMID: 21>
1642
+ QUAD: ET # value = <ET.QUAD: 11>
1643
+ SEGM: ET # value = <ET.SEGM: 1>
1644
+ TET: ET # value = <ET.TET: 20>
1645
+ TRIG: ET # value = <ET.TRIG: 10>
1646
+ VERTEX: NODE_TYPE # value = <NODE_TYPE.VERTEX: 0>
1647
+ specialcf: SpecialCFCreator # value = <ngsolve.fem.SpecialCFCreator object>