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/timing.py ADDED
@@ -0,0 +1,108 @@
1
+ import os
2
+ import pickle
3
+ from ngsolve import TaskManager
4
+
5
+ class Timing():
6
+ """
7
+ Class for timing analysis of performance critical functions. Some
8
+ classes export a C++ function as __timing__, which returns a map
9
+ of performance critical parts with their timings. The class can save
10
+ these maps, load them and compare them. It can be saved as a benchmark
11
+ to be compared against.
12
+
13
+ 2 overloaded __init__ functions:
14
+
15
+ 1. __init__(name,obj,parallel=True,serial=True)
16
+ 2. __init__(filename)
17
+
18
+ Parameters
19
+ ----------
20
+
21
+ name (str): Name for the timed class (for output formatting and
22
+ saving/loading of results)
23
+ obj (NGSolve object): Some NGSolve class which has the __timing__
24
+ functionality implemented. Currently supported classes:
25
+ FESpace
26
+ filename (str): Filename to load a previously saved Timing
27
+ parallel (bool=True): Time in parallel (using TaskManager)
28
+ serial (bool=True): Time not in parallel (not using TaskManager)
29
+
30
+ """
31
+ def __init__(self,name=None,obj=None,filename=None,parallel=True,serial=True):
32
+ assert (not name and not obj and filename) or (name and obj and not filename)
33
+ if filename:
34
+ myself = pickle.load(open(filename,"rb"))
35
+ self.timings = myself.timings
36
+ self.name = myself.name
37
+ self.timings_par = myself.timings_par
38
+ else:
39
+ if serial:
40
+ self.timings = obj.__timing__()
41
+ else:
42
+ self.timings = None
43
+ if parallel:
44
+ with TaskManager():
45
+ self.timings_par = obj.__timing__()
46
+ else:
47
+ self.timings_par = None
48
+ self.name = name
49
+
50
+ def __str__(self):
51
+ string = "Timing for " + self.name + ":"
52
+ if self.timings:
53
+ for key, value in self.timings:
54
+ string += "\n" + key + ": " + value
55
+ if self.timings_par:
56
+ for key, value in self.timings_par:
57
+ string += "\n" + key + " parallel: " + value
58
+ return string
59
+
60
+ def Save(self, folder):
61
+ """ Saves the pickled results in folder 'folder' """
62
+ if not os.path.exists(folder):
63
+ os.makedirs(folder)
64
+ if folder[-1] == "/":
65
+ pickle.dump(self,open(folder + self.name + ".dat","wb"))
66
+ else:
67
+ pickle.dump(self,open(folder + "/" + self.name + ".dat","wb"))
68
+
69
+ def CompareTo(self,folder):
70
+ """
71
+ Compares the timing with the one saved in folder 'folder' with filename
72
+ 'name.dat'.
73
+ """
74
+ try:
75
+ if folder[-1] == "/":
76
+ other = Timing(filename=folder + self.name + ".dat")
77
+ else:
78
+ other = Timing(filename=folder + "/" + self.name + ".dat")
79
+ except:
80
+ raise Exception("Other timing couldn't be loaded!")
81
+ result = []
82
+ dict_self = { key : value for key,value in self.timings }
83
+ dict_other = { key : value for key,value in other.timings }
84
+ for i, val in enumerate(self.timings):
85
+ try:
86
+ result.append((val[0], dict_self[val[0]]/dict_other[val[0]]))
87
+ except KeyError:
88
+ print("WARNING: No timing for '", val[0], "' in other file!")
89
+ dict_self_par = { key : value for key,value in self.timings_par }
90
+ dict_other_par = { key : value for key,value in other.timings_par }
91
+ for i,val in enumerate(self.timings_par):
92
+ try:
93
+ result.append((val[0]+" parallel", dict_self_par[val[0]]/dict_other_par[val[0]]))
94
+ except KeyError:
95
+ print("WARNING: No timing for '",val[0],"' with parallel in other file!")
96
+ return result
97
+
98
+ def CompareToBenchmark(self):
99
+ """ Compares the timing with the one stored as benchmark"""
100
+ return self.CompareTo("benchmark")
101
+
102
+ def SaveBenchmark(self):
103
+ """ Makes the timing the new benchmark for that object. """
104
+ self.Save("benchmark")
105
+
106
+
107
+ __all__ = ["Timing"]
108
+
ngsolve/timing.pyi ADDED
@@ -0,0 +1,54 @@
1
+ from __future__ import annotations
2
+ import os as os
3
+ import pickle as pickle
4
+ from pyngcore.pyngcore import TaskManager
5
+ __all__: list = ['Timing']
6
+ class Timing:
7
+ """
8
+
9
+ Class for timing analysis of performance critical functions. Some
10
+ classes export a C++ function as __timing__, which returns a map
11
+ of performance critical parts with their timings. The class can save
12
+ these maps, load them and compare them. It can be saved as a benchmark
13
+ to be compared against.
14
+
15
+ 2 overloaded __init__ functions:
16
+
17
+ 1. __init__(name,obj,parallel=True,serial=True)
18
+ 2. __init__(filename)
19
+
20
+ Parameters
21
+ ----------
22
+
23
+ name (str): Name for the timed class (for output formatting and
24
+ saving/loading of results)
25
+ obj (NGSolve object): Some NGSolve class which has the __timing__
26
+ functionality implemented. Currently supported classes:
27
+ FESpace
28
+ filename (str): Filename to load a previously saved Timing
29
+ parallel (bool=True): Time in parallel (using TaskManager)
30
+ serial (bool=True): Time not in parallel (not using TaskManager)
31
+
32
+ """
33
+ def CompareTo(self, folder):
34
+ """
35
+
36
+ Compares the timing with the one saved in folder 'folder' with filename
37
+ 'name.dat'.
38
+ """
39
+ def CompareToBenchmark(self):
40
+ """
41
+ Compares the timing with the one stored as benchmark
42
+ """
43
+ def Save(self, folder):
44
+ """
45
+ Saves the pickled results in folder 'folder'
46
+ """
47
+ def SaveBenchmark(self):
48
+ """
49
+ Makes the timing the new benchmark for that object.
50
+ """
51
+ def __init__(self, name = None, obj = None, filename = None, parallel = True, serial = True):
52
+ ...
53
+ def __str__(self):
54
+ ...
ngsolve/utils.py ADDED
@@ -0,0 +1,167 @@
1
+ from ngsolve.ngstd import IntRange
2
+ from ngsolve.fem import *
3
+ from ngsolve.comp import *
4
+ from ngsolve.bla import Norm
5
+ from netgen import TimeFunction, Timer
6
+
7
+ x = CoordCF(0)
8
+ y = CoordCF(1)
9
+ z = CoordCF(2)
10
+
11
+ dx = DifferentialSymbol(VOL)
12
+ ds = DifferentialSymbol(BND)
13
+
14
+
15
+ def Laplace (coef):
16
+ return BFI("laplace", coef=coef)
17
+
18
+ def Mass (coef):
19
+ return BFI("mass", coef=coef)
20
+
21
+ def Source (coef):
22
+ return LFI("source", coef=coef)
23
+
24
+ def Neumann (coef):
25
+ return LFI("neumann", coef=coef)
26
+
27
+
28
+ # VectorFacet = TangentialFacetFESpace
29
+ def VectorFacet (mesh, **args):
30
+ print ("deprecated warning: VectorFacet is renamed to TangentialFacetFESpace")
31
+ return TangentialFacetFESpace(mesh, **args)
32
+
33
+ def grad(func):
34
+ try:
35
+ # now in C++ code
36
+ # if "normal vector" in str(func):
37
+ # return specialcf.Weingarten(func.dim)
38
+ if func.derivname == "grad":
39
+ return func.Deriv()
40
+ except:
41
+ pass
42
+ add = func.Operator("grad")
43
+ if add:
44
+ return add
45
+ # if func.derivname != "grad":
46
+ raise Exception("cannot form grad")
47
+ # return func.Deriv()
48
+
49
+ def Grad(func):
50
+ """ Jacobi-matrix"""
51
+ # now in C++ code
52
+ # if "normal vector" in str(func):
53
+ # return specialcf.Weingarten(func.dim)
54
+ try:
55
+ return func.Operator("Grad")
56
+ except:
57
+ return grad(func).trans
58
+
59
+
60
+
61
+ def curl(func):
62
+ if func.derivname == "curl":
63
+ return func.Deriv()
64
+ add = func.Operator("curl")
65
+ if add:
66
+ return add
67
+ raise Exception("cannot form curl")
68
+
69
+ def div(func):
70
+ if func.derivname == "div":
71
+ return func.Deriv()
72
+ try:
73
+ return func.Operator("div")
74
+ except:
75
+ pass
76
+ try:
77
+ return Trace(grad(func))
78
+ except:
79
+ pass
80
+ #if func.derivname == "grad" and len(func.dims)==2: # should check for square
81
+ # return Trace(grad(func))
82
+ raise Exception("cannot form div")
83
+
84
+
85
+ def ConstantCF(val):
86
+ print ("Warning: ConstantCF deprecated, just use CoefficientFunction(val)")
87
+ return CoefficientFunction(val)
88
+
89
+ def DomainConstantCF(values):
90
+ print ("Warning: DomainConstantCF deprecated, just use CoefficientFunction([values])")
91
+ return CoefficientFunction(values)
92
+
93
+
94
+ def Deviator(mat):
95
+ return mat - 1/mat.dims[0]*Trace(mat)*Id(mat.dims[0])
96
+
97
+
98
+ def PyId(dim):
99
+ return CoefficientFunction( tuple( [1 if i==j else 0 for i in range(dim) for j in range(dim)]), dims=(dim,dim) )
100
+
101
+ def PyTrace(mat):
102
+ return sum( [mat[i,i] for i in range(mat.dims[0]) ])
103
+
104
+ def PyDet(mat):
105
+ if mat.dims[0] == 1:
106
+ return mat[0,0]
107
+ elif mat.dims[0] == 2:
108
+ return mat[0,0]*mat[1,1]-mat[0,1]*mat[1,0]
109
+ elif mat.dims[0] == 3:
110
+ return mat[0,0]*(mat[1,1]*mat[2,2]-mat[1,2]*mat[2,1]) \
111
+ +mat[1,0]*(mat[2,1]*mat[0,2]-mat[2,2]*mat[0,1]) \
112
+ +mat[2,0]*(mat[0,1]*mat[1,2]-mat[0,2]*mat[1,1])
113
+
114
+ def PyCross(a,b):
115
+ return CoefficientFunction( (a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]) )
116
+
117
+ def PyCof(m):
118
+ if m.dims[0] == 1:
119
+ return CoefficientFunction(1, dims=(1,1))
120
+ elif m.dims[0] == 2:
121
+ return CoefficientFunction( (m[1,1], -m[1,0], -m[0,1], m[0,0]), dims=(2,2) )
122
+ elif m.dims[0] == 3:
123
+ return CoefficientFunction(
124
+ ( m[1,1]*m[2,2]-m[2,1]*m[1,2],
125
+ -m[1,0]*m[2,2]+m[2,0]*m[1,2],
126
+ m[1,0]*m[2,1]-m[2,0]*m[1,1],
127
+
128
+ -m[0,1]*m[2,2]+m[2,1]*m[0,2],
129
+ m[0,0]*m[2,2]-m[2,0]*m[0,2],
130
+ -m[0,0]*m[2,1]+m[2,0]*m[0,1],
131
+
132
+ m[0,1]*m[1,2]-m[1,1]*m[0,2],
133
+ -m[0,0]*m[1,2]+m[1,0]*m[0,2],
134
+ m[0,0]*m[1,1]-m[1,0]*m[0,1] ), dims=(3,3) )
135
+
136
+ def PyInv(m):
137
+ return 1/Det(m)*Cof(m).trans
138
+
139
+ def PySym(m):
140
+ return 0.5*(m+m.trans)
141
+
142
+ def PySkew(m):
143
+ return 0.5*(m-m.trans)
144
+
145
+ def OuterProduct(a, b):
146
+ # return CoefficientFunction( (a,), dims=(a.dim,1)) * CoefficientFunction( (b,), dims=(b.dim,1)).trans
147
+ # return CoefficientFunction(a, dims=(a.dim,1)) * CoefficientFunction(b, dims=(1, b.dim))
148
+ return a.Reshape((a.dim,1)) * b.Reshape((1, b.dim))
149
+
150
+
151
+ PrivateSpace = Hidden
152
+ # def PrivateSpace(fes):
153
+ # TODO: make space wrapper which also works after refinement
154
+ # fes.SetCouplingType(IntRange(0,fes.ndof), COUPLING_TYPE.HIDDEN_DOF)
155
+ # return Compress(fes)
156
+ # return Hidden(fes)
157
+
158
+ def Normalize (v):
159
+ return 1/Norm(v) * v
160
+
161
+ def printonce (*args):
162
+ from mpi4py.MPI import COMM_WORLD
163
+ if COMM_WORLD.rank == 0:
164
+ print (*args)
165
+
166
+
167
+ def dt(u): return u.dt
ngsolve/utils.pyi ADDED
@@ -0,0 +1,273 @@
1
+ from __future__ import annotations
2
+ from netgen import TimeFunction
3
+ from ngsolve.bla import Norm
4
+ import ngsolve.comp
5
+ from ngsolve.comp import APhiHCurlAMG
6
+ from ngsolve.comp import Array_N6ngcomp13COUPLING_TYPEE_S
7
+ from ngsolve.comp import BDDCPreconditioner
8
+ from ngsolve.comp import BDDCPreconditioner_complex
9
+ from ngsolve.comp import BDDCPreconditioner_double
10
+ from ngsolve.comp import BilinearForm
11
+ from ngsolve.comp import BndElementId
12
+ from ngsolve.comp import BoundaryFromVolumeCF
13
+ from ngsolve.comp import COUPLING_TYPE
14
+ from ngsolve.comp import ComponentGridFunction
15
+ from ngsolve.comp import Compress
16
+ from ngsolve.comp import CompressCompound
17
+ from ngsolve.comp import ContactBoundary
18
+ from ngsolve.comp import ConvertOperator
19
+ from ngsolve.comp import DifferentialSymbol
20
+ from ngsolve.comp import Discontinuous
21
+ from ngsolve.comp import DualProxyFunction
22
+ from ngsolve.comp import ElementId
23
+ from ngsolve.comp import ElementRange
24
+ from ngsolve.comp import FESpace
25
+ from ngsolve.comp import FESpaceElement
26
+ from ngsolve.comp import FESpaceElementRange
27
+ from ngsolve.comp import FacetFESpace
28
+ from ngsolve.comp import FacetSurface
29
+ from ngsolve.comp import FlatArray_N6ngcomp13COUPLING_TYPEE_S
30
+ from ngsolve.comp import FromArchiveCF
31
+ from ngsolve.comp import FromArchiveFESpace
32
+ from ngsolve.comp import FromArchiveMesh
33
+ from ngsolve.comp import GlobalInterfaceSpace
34
+ from ngsolve.comp import GlobalSpace
35
+ from ngsolve.comp import GlobalVariables
36
+ from ngsolve.comp import GridFunction
37
+ from ngsolve.comp import GridFunctionC
38
+ from ngsolve.comp import GridFunctionCoefficientFunction
39
+ from ngsolve.comp import GridFunctionD
40
+ from ngsolve.comp import H1
41
+ from ngsolve.comp import H1AMG
42
+ from ngsolve.comp import H1LumpingFESpace
43
+ from ngsolve.comp import HCurl
44
+ from ngsolve.comp import HCurlAMG
45
+ from ngsolve.comp import HCurlCurl
46
+ from ngsolve.comp import HCurlDiv
47
+ from ngsolve.comp import HDiv
48
+ from ngsolve.comp import HDivDiv
49
+ from ngsolve.comp import HDivDivSurface
50
+ from ngsolve.comp import HDivSurface
51
+ from ngsolve.comp import Hidden
52
+ from ngsolve.comp import Hidden as PrivateSpace
53
+ from ngsolve.comp import Integral
54
+ from ngsolve.comp import Integrate
55
+ from ngsolve.comp import IntegrationRuleSpace
56
+ from ngsolve.comp import IntegrationRuleSpaceSurface
57
+ from ngsolve.comp import Interpolate
58
+ from ngsolve.comp import InterpolateProxy
59
+ from ngsolve.comp import KSpaceCoeffs
60
+ from ngsolve.comp import L2
61
+ from ngsolve.comp import LinearForm
62
+ from ngsolve.comp import LocalPreconditioner
63
+ from ngsolve.comp import MatrixFreeOperator
64
+ from ngsolve.comp import MatrixValued
65
+ from ngsolve.comp import Mesh
66
+ from ngsolve.comp import MeshNode
67
+ from ngsolve.comp import MeshNodeRange
68
+ from ngsolve.comp import MultiGridPreconditioner
69
+ from ngsolve.comp import NGS_Object
70
+ from ngsolve.comp import Ngs_Element
71
+ from ngsolve.comp import NodalFESpace
72
+ from ngsolve.comp import NodeId
73
+ from ngsolve.comp import NodeRange
74
+ from ngsolve.comp import NormalFacetFESpace
75
+ from ngsolve.comp import NormalFacetSurface
76
+ from ngsolve.comp import NumberSpace
77
+ from ngsolve.comp import ORDER_POLICY
78
+ from ngsolve.comp import PatchwiseSolve
79
+ from ngsolve.comp import Periodic
80
+ from ngsolve.comp import PlateauFESpace
81
+ from ngsolve.comp import Preconditioner
82
+ from ngsolve.comp import ProductSpace
83
+ from ngsolve.comp import Prolongate
84
+ from ngsolve.comp import ProlongateCoefficientFunction
85
+ from ngsolve.comp import Prolongation
86
+ from ngsolve.comp import ProxyFunction
87
+ from ngsolve.comp import QuasiPeriodicC
88
+ from ngsolve.comp import QuasiPeriodicD
89
+ from ngsolve.comp import Region
90
+ from ngsolve.comp import RegisterPreconditioner
91
+ from ngsolve.comp import Reorder
92
+ from ngsolve.comp import SetHeapSize
93
+ from ngsolve.comp import SetTestoutFile
94
+ from ngsolve.comp import SumOfIntegrals
95
+ from ngsolve.comp import SurfaceL2
96
+ from ngsolve.comp import SymbolTable_D
97
+ from ngsolve.comp import SymbolTable_sp_D
98
+ from ngsolve.comp import SymbolTable_sp_N5ngfem19CoefficientFunctionE
99
+ from ngsolve.comp import SymbolTable_sp_N6ngcomp10LinearFormE
100
+ from ngsolve.comp import SymbolTable_sp_N6ngcomp12BilinearFormE
101
+ from ngsolve.comp import SymbolTable_sp_N6ngcomp12GridFunctionE
102
+ from ngsolve.comp import SymbolTable_sp_N6ngcomp14PreconditionerE
103
+ from ngsolve.comp import SymbolTable_sp_N6ngcomp7FESpaceE
104
+ from ngsolve.comp import SymbolicBFI
105
+ from ngsolve.comp import SymbolicEnergy
106
+ from ngsolve.comp import SymbolicLFI
107
+ from ngsolve.comp import SymbolicTPBFI
108
+ from ngsolve.comp import TangentialFacetFESpace
109
+ from ngsolve.comp import TangentialSurfaceL2
110
+ from ngsolve.comp import TensorProductFESpace
111
+ from ngsolve.comp import TensorProductIntegrate
112
+ from ngsolve.comp import ToArchive
113
+ from ngsolve.comp import Transfer2StdMesh
114
+ from ngsolve.comp import VTKOutput
115
+ from ngsolve.comp import Variation
116
+ from ngsolve.comp import VectorFacetFESpace
117
+ from ngsolve.comp import VectorFacetSurface
118
+ from ngsolve.comp import VectorH1
119
+ from ngsolve.comp import VectorL2
120
+ from ngsolve.comp import VectorNodalFESpace
121
+ from ngsolve.comp import VectorSurfaceL2
122
+ from ngsolve.comp import VectorValued
123
+ from ngsolve.comp import VorB
124
+ from ngsolve.comp import pml
125
+ import ngsolve.fem
126
+ from ngsolve.fem import BFI
127
+ from ngsolve.fem import BSpline
128
+ from ngsolve.fem import BSpline2D
129
+ from ngsolve.fem import BaseMappedIntegrationPoint
130
+ from ngsolve.fem import BlockBFI
131
+ from ngsolve.fem import BlockLFI
132
+ from ngsolve.fem import CacheCF
133
+ from ngsolve.fem import CoefficientFunction
134
+ from ngsolve.fem import Cof
135
+ from ngsolve.fem import CompilePythonModule
136
+ from ngsolve.fem import CompoundBFI
137
+ from ngsolve.fem import CompoundLFI
138
+ from ngsolve.fem import Conj
139
+ from ngsolve.fem import CoordCF
140
+ from ngsolve.fem import CoordinateTrafo
141
+ from ngsolve.fem import Cross
142
+ from ngsolve.fem import Det
143
+ from ngsolve.fem import DifferentialOperator
144
+ from ngsolve.fem import ET
145
+ from ngsolve.fem import Einsum
146
+ from ngsolve.fem import ElementTopology
147
+ from ngsolve.fem import ElementTransformation
148
+ from ngsolve.fem import FiniteElement
149
+ from ngsolve.fem import GenerateL2ElementCode
150
+ from ngsolve.fem import H1FE
151
+ from ngsolve.fem import HCurlFE
152
+ from ngsolve.fem import HDivDivFE
153
+ from ngsolve.fem import HDivFE
154
+ from ngsolve.fem import Id
155
+ from ngsolve.fem import IfPos
156
+ from ngsolve.fem import IntegrationPoint
157
+ from ngsolve.fem import IntegrationRule
158
+ from ngsolve.fem import Inv
159
+ from ngsolve.fem import L2FE
160
+ from ngsolve.fem import LFI
161
+ from ngsolve.fem import LeviCivitaSymbol
162
+ from ngsolve.fem import LoggingCF
163
+ from ngsolve.fem import MeshPoint
164
+ from ngsolve.fem import MinimizationCF
165
+ from ngsolve.fem import MixedFE
166
+ from ngsolve.fem import NODE_TYPE
167
+ from ngsolve.fem import NewtonCF
168
+ from ngsolve.fem import Parameter
169
+ from ngsolve.fem import ParameterC
170
+ from ngsolve.fem import PlaceholderCF
171
+ from ngsolve.fem import PointEvaluationFunctional
172
+ from ngsolve.fem import ScalarFE
173
+ from ngsolve.fem import SetPMLParameters
174
+ from ngsolve.fem import Skew
175
+ from ngsolve.fem import SpecialCFCreator
176
+ from ngsolve.fem import Sym
177
+ from ngsolve.fem import Trace
178
+ from ngsolve.fem import VoxelCoefficient
179
+ from ngsolve.fem import Zero
180
+ from ngsolve.fem import acos
181
+ from ngsolve.fem import asin
182
+ from ngsolve.fem import atan
183
+ from ngsolve.fem import atan2
184
+ from ngsolve.fem import ceil
185
+ from ngsolve.fem import cos
186
+ from ngsolve.fem import cosh
187
+ from ngsolve.fem import erf
188
+ from ngsolve.fem import exp
189
+ from ngsolve.fem import floor
190
+ from ngsolve.fem import log
191
+ from ngsolve.fem import pow
192
+ from ngsolve.fem import sin
193
+ from ngsolve.fem import sinh
194
+ from ngsolve.fem import sqrt
195
+ from ngsolve.fem import tan
196
+ from ngsolve.ngstd import IntRange
197
+ from pyngcore.pyngcore import Timer
198
+ __all__: list[str] = ['APhiHCurlAMG', 'Array_N6ngcomp13COUPLING_TYPEE_S', 'BBBND', 'BBND', 'BDDCPreconditioner', 'BDDCPreconditioner_complex', 'BDDCPreconditioner_double', 'BFI', 'BND', 'BSpline', 'BSpline2D', 'BaseMappedIntegrationPoint', 'BilinearForm', 'BlockBFI', 'BlockLFI', 'BndElementId', 'BoundaryFromVolumeCF', 'CELL', 'COUPLING_TYPE', 'CacheCF', 'CoefficientFunction', 'Cof', 'CompilePythonModule', 'ComponentGridFunction', 'CompoundBFI', 'CompoundLFI', 'Compress', 'CompressCompound', 'Conj', 'ConstantCF', 'ContactBoundary', 'ConvertOperator', 'CoordCF', 'CoordinateTrafo', 'Cross', 'Det', 'Deviator', 'DifferentialOperator', 'DifferentialSymbol', 'Discontinuous', 'DomainConstantCF', 'DualProxyFunction', 'EDGE', 'ELEMENT', 'ET', 'Einsum', 'ElementId', 'ElementRange', 'ElementTopology', 'ElementTransformation', 'FACE', 'FACET', 'FESpace', 'FESpaceElement', 'FESpaceElementRange', 'FacetFESpace', 'FacetSurface', 'FiniteElement', 'FlatArray_N6ngcomp13COUPLING_TYPEE_S', 'FromArchiveCF', 'FromArchiveFESpace', 'FromArchiveMesh', 'GenerateL2ElementCode', 'GlobalInterfaceSpace', 'GlobalSpace', 'GlobalVariables', 'Grad', 'GridFunction', 'GridFunctionC', 'GridFunctionCoefficientFunction', 'GridFunctionD', 'H1', 'H1AMG', 'H1FE', 'H1LumpingFESpace', 'HCurl', 'HCurlAMG', 'HCurlCurl', 'HCurlDiv', 'HCurlFE', 'HDiv', 'HDivDiv', 'HDivDivFE', 'HDivDivSurface', 'HDivFE', 'HDivSurface', 'HEX', 'Hidden', 'Id', 'IfPos', 'IntRange', 'Integral', 'Integrate', 'IntegrationPoint', 'IntegrationRule', 'IntegrationRuleSpace', 'IntegrationRuleSpaceSurface', 'Interpolate', 'InterpolateProxy', 'Inv', 'KSpaceCoeffs', 'L2', 'L2FE', 'LFI', 'Laplace', 'LeviCivitaSymbol', 'LinearForm', 'LocalPreconditioner', 'LoggingCF', 'Mass', 'MatrixFreeOperator', 'MatrixValued', 'Mesh', 'MeshNode', 'MeshNodeRange', 'MeshPoint', 'MinimizationCF', 'MixedFE', 'MultiGridPreconditioner', 'NGS_Object', 'NODE_TYPE', 'Neumann', 'NewtonCF', 'Ngs_Element', 'NodalFESpace', 'NodeId', 'NodeRange', 'Norm', 'NormalFacetFESpace', 'NormalFacetSurface', 'Normalize', 'NumberSpace', 'ORDER_POLICY', 'OuterProduct', 'POINT', 'PRISM', 'PYRAMID', 'Parameter', 'ParameterC', 'PatchwiseSolve', 'Periodic', 'PlaceholderCF', 'PlateauFESpace', 'PointEvaluationFunctional', 'Preconditioner', 'PrivateSpace', 'ProductSpace', 'Prolongate', 'ProlongateCoefficientFunction', 'Prolongation', 'ProxyFunction', 'PyCof', 'PyCross', 'PyDet', 'PyId', 'PyInv', 'PySkew', 'PySym', 'PyTrace', 'QUAD', 'QuasiPeriodicC', 'QuasiPeriodicD', 'Region', 'RegisterPreconditioner', 'Reorder', 'SEGM', 'ScalarFE', 'SetHeapSize', 'SetPMLParameters', 'SetTestoutFile', 'Skew', 'Source', 'SpecialCFCreator', 'SumOfIntegrals', 'SurfaceL2', 'Sym', 'SymbolTable_D', 'SymbolTable_sp_D', 'SymbolTable_sp_N5ngfem19CoefficientFunctionE', 'SymbolTable_sp_N6ngcomp10LinearFormE', 'SymbolTable_sp_N6ngcomp12BilinearFormE', 'SymbolTable_sp_N6ngcomp12GridFunctionE', 'SymbolTable_sp_N6ngcomp14PreconditionerE', 'SymbolTable_sp_N6ngcomp7FESpaceE', 'SymbolicBFI', 'SymbolicEnergy', 'SymbolicLFI', 'SymbolicTPBFI', 'TET', 'TRIG', 'TangentialFacetFESpace', 'TangentialSurfaceL2', 'TensorProductFESpace', 'TensorProductIntegrate', 'TimeFunction', 'Timer', 'ToArchive', 'Trace', 'Transfer2StdMesh', 'VERTEX', 'VOL', 'VTKOutput', 'Variation', 'VectorFacet', 'VectorFacetFESpace', 'VectorFacetSurface', 'VectorH1', 'VectorL2', 'VectorNodalFESpace', 'VectorSurfaceL2', 'VectorValued', 'VorB', 'VoxelCoefficient', 'Zero', 'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh', 'curl', 'div', 'ds', 'dt', 'dx', 'erf', 'exp', 'floor', 'grad', 'log', 'ngsglobals', 'pml', 'pow', 'printonce', 'sin', 'sinh', 'specialcf', 'sqrt', 'tan', 'x', 'y', 'z']
199
+ def ConstantCF(val):
200
+ ...
201
+ def Deviator(mat):
202
+ ...
203
+ def DomainConstantCF(values):
204
+ ...
205
+ def Grad(func):
206
+ """
207
+ Jacobi-matrix
208
+ """
209
+ def Laplace(coef):
210
+ ...
211
+ def Mass(coef):
212
+ ...
213
+ def Neumann(coef):
214
+ ...
215
+ def Normalize(v):
216
+ ...
217
+ def OuterProduct(a, b):
218
+ ...
219
+ def PyCof(m):
220
+ ...
221
+ def PyCross(a, b):
222
+ ...
223
+ def PyDet(mat):
224
+ ...
225
+ def PyId(dim):
226
+ ...
227
+ def PyInv(m):
228
+ ...
229
+ def PySkew(m):
230
+ ...
231
+ def PySym(m):
232
+ ...
233
+ def PyTrace(mat):
234
+ ...
235
+ def Source(coef):
236
+ ...
237
+ def VectorFacet(mesh, **args):
238
+ ...
239
+ def curl(func):
240
+ ...
241
+ def div(func):
242
+ ...
243
+ def dt(u):
244
+ ...
245
+ def grad(func):
246
+ ...
247
+ def printonce(*args):
248
+ ...
249
+ BBBND: ngsolve.comp.VorB # value = <VorB.BBBND: 3>
250
+ BBND: ngsolve.comp.VorB # value = <VorB.BBND: 2>
251
+ BND: ngsolve.comp.VorB # value = <VorB.BND: 1>
252
+ CELL: ngsolve.fem.NODE_TYPE # value = <NODE_TYPE.CELL: 3>
253
+ EDGE: ngsolve.fem.NODE_TYPE # value = <NODE_TYPE.EDGE: 1>
254
+ ELEMENT: ngsolve.fem.NODE_TYPE # value = <NODE_TYPE.ELEMENT: 4>
255
+ FACE: ngsolve.fem.NODE_TYPE # value = <NODE_TYPE.FACE: 2>
256
+ FACET: ngsolve.fem.NODE_TYPE # value = <NODE_TYPE.FACET: 5>
257
+ HEX: ngsolve.fem.ET # value = <ET.HEX: 24>
258
+ POINT: ngsolve.fem.ET # value = <ET.POINT: 0>
259
+ PRISM: ngsolve.fem.ET # value = <ET.PRISM: 22>
260
+ PYRAMID: ngsolve.fem.ET # value = <ET.PYRAMID: 21>
261
+ QUAD: ngsolve.fem.ET # value = <ET.QUAD: 11>
262
+ SEGM: ngsolve.fem.ET # value = <ET.SEGM: 1>
263
+ TET: ngsolve.fem.ET # value = <ET.TET: 20>
264
+ TRIG: ngsolve.fem.ET # value = <ET.TRIG: 10>
265
+ VERTEX: ngsolve.fem.NODE_TYPE # value = <NODE_TYPE.VERTEX: 0>
266
+ VOL: ngsolve.comp.VorB # value = <VorB.VOL: 0>
267
+ ds: ngsolve.comp.DifferentialSymbol # value = <ngsolve.comp.DifferentialSymbol object>
268
+ dx: ngsolve.comp.DifferentialSymbol # value = <ngsolve.comp.DifferentialSymbol object>
269
+ ngsglobals: ngsolve.comp.GlobalVariables # value = <ngsolve.comp.GlobalVariables object>
270
+ specialcf: ngsolve.fem.SpecialCFCreator # value = <ngsolve.fem.SpecialCFCreator object>
271
+ x: ngsolve.fem.CoefficientFunction # value = <ngsolve.fem.CoefficientFunction object>
272
+ y: ngsolve.fem.CoefficientFunction # value = <ngsolve.fem.CoefficientFunction object>
273
+ z: ngsolve.fem.CoefficientFunction # value = <ngsolve.fem.CoefficientFunction object>