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