ngsolve 6.2.2506.post216.dev0__cp314-cp314-manylinux_2_28_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. ngsolve-6.2.2506.post216.dev0.data/data/bin/ngs_nvcc +22 -0
  2. ngsolve-6.2.2506.post216.dev0.data/data/bin/ngs_nvlink +17 -0
  3. ngsolve-6.2.2506.post216.dev0.data/data/bin/ngscxx +15 -0
  4. ngsolve-6.2.2506.post216.dev0.data/data/bin/ngsld +11 -0
  5. ngsolve-6.2.2506.post216.dev0.data/data/bin/ngsolve.tcl +648 -0
  6. ngsolve-6.2.2506.post216.dev0.data/data/bin/ngspy +2 -0
  7. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/analytic_integrals.hpp +10 -0
  8. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/arnoldi.hpp +55 -0
  9. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/bandmatrix.hpp +334 -0
  10. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/basematrix.hpp +963 -0
  11. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/basevector.hpp +1268 -0
  12. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/bdbequations.hpp +2807 -0
  13. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/bdbintegrator.hpp +1660 -0
  14. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/bem_diffops.hpp +475 -0
  15. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/bessel.hpp +1064 -0
  16. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/bilinearform.hpp +966 -0
  17. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/bla.hpp +29 -0
  18. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/blockalloc.hpp +95 -0
  19. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/blockjacobi.hpp +328 -0
  20. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/bspline.hpp +116 -0
  21. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/calcinverse.hpp +141 -0
  22. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/cg.hpp +368 -0
  23. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/chebyshev.hpp +44 -0
  24. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/cholesky.hpp +720 -0
  25. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/clapack.h +7254 -0
  26. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/code_generation.hpp +296 -0
  27. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/coefficient.hpp +2033 -0
  28. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/coefficient_impl.hpp +19 -0
  29. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/coefficient_stdmath.hpp +167 -0
  30. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/commutingAMG.hpp +106 -0
  31. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/comp.hpp +79 -0
  32. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/compatibility.hpp +41 -0
  33. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/complex_wrapper.hpp +101 -0
  34. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/compressedfespace.hpp +110 -0
  35. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/contact.hpp +239 -0
  36. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/cuda_core.hpp +216 -0
  37. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/cuda_linalg.hpp +185 -0
  38. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/cuda_ngbla.hpp +317 -0
  39. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/cuda_ngstd.hpp +414 -0
  40. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/cuda_profiler.hpp +240 -0
  41. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/diagonalmatrix.hpp +160 -0
  42. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/differentialoperator.hpp +276 -0
  43. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/diffop.hpp +1286 -0
  44. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/diffop_impl.hpp +328 -0
  45. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/diffopwithfactor.hpp +123 -0
  46. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/discontinuous.hpp +84 -0
  47. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/dump.hpp +949 -0
  48. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/ectypes.hpp +121 -0
  49. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/eigen.hpp +60 -0
  50. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/eigensystem.hpp +18 -0
  51. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/elasticity_equations.hpp +595 -0
  52. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/elementbyelement.hpp +201 -0
  53. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/elementtopology.hpp +1760 -0
  54. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/elementtransformation.hpp +339 -0
  55. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/evalfunc.hpp +405 -0
  56. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/expr.hpp +1693 -0
  57. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/facetfe.hpp +175 -0
  58. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/facetfespace.hpp +180 -0
  59. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/facethofe.hpp +111 -0
  60. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/facetsurffespace.hpp +112 -0
  61. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/fe_interfaces.hpp +32 -0
  62. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/fem.hpp +87 -0
  63. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/fesconvert.hpp +14 -0
  64. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/fespace.hpp +1454 -0
  65. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/finiteelement.hpp +286 -0
  66. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/globalinterfacespace.hpp +77 -0
  67. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/globalspace.hpp +115 -0
  68. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/gridfunction.hpp +525 -0
  69. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/h1amg.hpp +124 -0
  70. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/h1hofe.hpp +188 -0
  71. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/h1hofe_impl.hpp +1262 -0
  72. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/h1hofefo.hpp +148 -0
  73. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/h1hofefo_impl.hpp +185 -0
  74. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/h1hofespace.hpp +167 -0
  75. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/h1lofe.hpp +1240 -0
  76. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/h1lumping.hpp +41 -0
  77. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurl_equations.hpp +1381 -0
  78. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurlcurlfe.hpp +2241 -0
  79. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurlcurlfespace.hpp +78 -0
  80. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurlfe.hpp +259 -0
  81. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurlfe_utils.hpp +107 -0
  82. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurlhdiv_dshape.hpp +857 -0
  83. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurlhdivfes.hpp +308 -0
  84. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurlhofe.hpp +175 -0
  85. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurlhofe_impl.hpp +1871 -0
  86. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurlhofespace.hpp +193 -0
  87. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurllofe.hpp +1146 -0
  88. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdiv_equations.hpp +880 -0
  89. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivdivfe.hpp +2923 -0
  90. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivdivsurfacespace.hpp +76 -0
  91. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivfe.hpp +206 -0
  92. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivfe_utils.hpp +717 -0
  93. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivfes.hpp +75 -0
  94. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivhofe.hpp +447 -0
  95. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivhofe_impl.hpp +1107 -0
  96. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivhofefo.hpp +229 -0
  97. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivhofespace.hpp +177 -0
  98. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivhosurfacefespace.hpp +106 -0
  99. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivlofe.hpp +773 -0
  100. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hidden.hpp +74 -0
  101. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/householder.hpp +181 -0
  102. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hypre_ams_precond.hpp +123 -0
  103. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hypre_precond.hpp +73 -0
  104. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/integrator.hpp +2012 -0
  105. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/integratorcf.hpp +253 -0
  106. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/interpolate.hpp +49 -0
  107. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/intrule.hpp +2542 -0
  108. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/intrules_SauterSchwab.hpp +25 -0
  109. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/irspace.hpp +49 -0
  110. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/jacobi.hpp +153 -0
  111. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/kernels.hpp +724 -0
  112. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/l2hofe.hpp +194 -0
  113. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/l2hofe_impl.hpp +564 -0
  114. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/l2hofefo.hpp +542 -0
  115. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/l2hofespace.hpp +344 -0
  116. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/la.hpp +38 -0
  117. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/linalg_kernels.hpp +70 -0
  118. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/linearform.hpp +266 -0
  119. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/matrix.hpp +2145 -0
  120. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/memusage.hpp +41 -0
  121. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/meshaccess.hpp +1359 -0
  122. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/mgpre.hpp +204 -0
  123. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/mp_coefficient.hpp +145 -0
  124. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/mptools.hpp +2281 -0
  125. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/multigrid.hpp +42 -0
  126. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/multivector.hpp +447 -0
  127. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/mumpsinverse.hpp +187 -0
  128. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/mycomplex.hpp +361 -0
  129. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/ng_lapack.hpp +1661 -0
  130. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/ngblas.hpp +1232 -0
  131. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/ngs_defines.hpp +30 -0
  132. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/ngs_stdcpp_include.hpp +106 -0
  133. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/ngs_utils.hpp +121 -0
  134. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/ngsobject.hpp +1019 -0
  135. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/ngsstream.hpp +113 -0
  136. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/ngstd.hpp +72 -0
  137. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/nodalhofe.hpp +96 -0
  138. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/nodalhofe_impl.hpp +141 -0
  139. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/normalfacetfe.hpp +223 -0
  140. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/normalfacetfespace.hpp +98 -0
  141. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/normalfacetsurfacefespace.hpp +84 -0
  142. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/order.hpp +251 -0
  143. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/parallel_matrices.hpp +222 -0
  144. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/paralleldofs.hpp +340 -0
  145. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/parallelngs.hpp +23 -0
  146. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/parallelvector.hpp +269 -0
  147. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/pardisoinverse.hpp +200 -0
  148. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/periodic.hpp +129 -0
  149. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/plateaufespace.hpp +25 -0
  150. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/pml.hpp +275 -0
  151. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/pmltrafo.hpp +631 -0
  152. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/postproc.hpp +142 -0
  153. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/potentialtools.hpp +22 -0
  154. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/precomp.hpp +60 -0
  155. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/preconditioner.hpp +602 -0
  156. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/prolongation.hpp +380 -0
  157. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/python_comp.hpp +107 -0
  158. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/python_fem.hpp +89 -0
  159. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/python_linalg.hpp +58 -0
  160. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/python_ngstd.hpp +386 -0
  161. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/recursive_pol.hpp +4896 -0
  162. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/recursive_pol_tet.hpp +395 -0
  163. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/recursive_pol_trig.hpp +492 -0
  164. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/reorderedfespace.hpp +81 -0
  165. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/sample_sort.hpp +105 -0
  166. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/scalarfe.hpp +335 -0
  167. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/shapefunction_utils.hpp +113 -0
  168. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/simd_complex.hpp +329 -0
  169. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/smoother.hpp +253 -0
  170. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/solve.hpp +89 -0
  171. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/sparsecholesky.hpp +317 -0
  172. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/sparsefactorization_interface.hpp +159 -0
  173. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/sparsematrix.hpp +1052 -0
  174. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/sparsematrix_dyn.hpp +90 -0
  175. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/sparsematrix_impl.hpp +1055 -0
  176. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/special_matrix.hpp +463 -0
  177. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/specialelement.hpp +125 -0
  178. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/statushandler.hpp +33 -0
  179. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/stringops.hpp +12 -0
  180. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/superluinverse.hpp +136 -0
  181. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/symbolicintegrator.hpp +850 -0
  182. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/symmetricmatrix.hpp +144 -0
  183. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tangentialfacetfe.hpp +224 -0
  184. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tangentialfacetfespace.hpp +91 -0
  185. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tensor.hpp +522 -0
  186. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tensorcoefficient.hpp +446 -0
  187. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tensorproductintegrator.hpp +113 -0
  188. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/thcurlfe.hpp +128 -0
  189. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/thcurlfe_impl.hpp +380 -0
  190. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/thdivfe.hpp +80 -0
  191. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/thdivfe_impl.hpp +492 -0
  192. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tpdiffop.hpp +461 -0
  193. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tpfes.hpp +133 -0
  194. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tpintrule.hpp +224 -0
  195. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/triangular.hpp +465 -0
  196. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tscalarfe.hpp +245 -0
  197. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tscalarfe_impl.hpp +1029 -0
  198. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/umfpackinverse.hpp +148 -0
  199. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/unifiedvector.hpp +103 -0
  200. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/vector.hpp +1452 -0
  201. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/voxelcoefficientfunction.hpp +41 -0
  202. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/vtkoutput.hpp +198 -0
  203. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/vvector.hpp +208 -0
  204. ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/webgui.hpp +92 -0
  205. ngsolve-6.2.2506.post216.dev0.data/data/lib/cmake/ngsolve/NGSolveConfig.cmake +102 -0
  206. ngsolve-6.2.2506.post216.dev0.data/data/lib/cmake/ngsolve/ngsolve-targets-release.cmake +89 -0
  207. ngsolve-6.2.2506.post216.dev0.data/data/lib/cmake/ngsolve/ngsolve-targets.cmake +180 -0
  208. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngbla.so +0 -0
  209. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngcomp.so +0 -0
  210. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngfem.so +0 -0
  211. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngla.so +0 -0
  212. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngsbem.so +0 -0
  213. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngscudalib.so +0 -0
  214. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngsolve.so +0 -0
  215. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngstd.so +0 -0
  216. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/TensorProductTools.py +210 -0
  217. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/__console.py +94 -0
  218. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/__expr.py +181 -0
  219. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/__init__.py +148 -0
  220. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/_scikit_build_core_dependencies.py +30 -0
  221. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/bvp.py +78 -0
  222. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/config/__init__.py +1 -0
  223. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/config/__main__.py +4 -0
  224. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/config/config.py +60 -0
  225. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/__init__.py +0 -0
  226. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/tp_dg_1d_1d.py +80 -0
  227. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/tp_dg_1d_2d.py +73 -0
  228. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/tp_dg_2d_1d.py +72 -0
  229. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/tp_dg_2d_2d.py +66 -0
  230. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/__init__.py +0 -0
  231. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/__init__.py +0 -0
  232. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/hhj.py +44 -0
  233. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/hybrid_dg.py +53 -0
  234. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/mixed.py +30 -0
  235. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/nonlin.py +29 -0
  236. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/pickling.py +26 -0
  237. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/pml.py +31 -0
  238. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/taskmanager.py +20 -0
  239. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/tdnns.py +47 -0
  240. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/timeDG-skeleton.py +45 -0
  241. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/timeDG.py +38 -0
  242. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/timeDGlap.py +42 -0
  243. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/timeDGwave.py +61 -0
  244. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/__init__.py +0 -0
  245. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/adaptive.py +123 -0
  246. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/cmagnet.py +59 -0
  247. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/elasticity.py +76 -0
  248. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/navierstokes.py +74 -0
  249. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/poisson.ipynb +170 -0
  250. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/poisson.py +41 -0
  251. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/__init__.py +0 -0
  252. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/mpi_cmagnet.py +87 -0
  253. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/mpi_navierstokes.py +117 -0
  254. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/mpi_poisson.py +89 -0
  255. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/mpi_timeDG.py +82 -0
  256. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/directsolvers.py +14 -0
  257. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/eigenvalues.py +364 -0
  258. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/internal.py +89 -0
  259. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/krylovspace.py +1182 -0
  260. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/meshes.py +748 -0
  261. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/ngs2petsc.py +310 -0
  262. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/ngscuda.so +0 -0
  263. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/ngscxx.py +42 -0
  264. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/ngslib.so +0 -0
  265. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/nonlinearsolvers.py +203 -0
  266. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/preconditioners.py +11 -0
  267. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/solve_implementation.py +168 -0
  268. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/solvers/__init__.py +7 -0
  269. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/solvers/cudss.py +112 -0
  270. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/timestepping.py +185 -0
  271. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/timing.py +108 -0
  272. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/utils.py +167 -0
  273. ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/webgui.py +671 -0
  274. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/beam.geo +17 -0
  275. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/beam.vol +240 -0
  276. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/chip.in2d +41 -0
  277. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/chip.vol +614 -0
  278. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/coil.geo +12 -0
  279. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/coil.vol +2560 -0
  280. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/coilshield.geo +24 -0
  281. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/coilshield.vol +3179 -0
  282. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/cube.geo +19 -0
  283. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/cube.vol +1832 -0
  284. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d10_DGdoubleglazing.pde +50 -0
  285. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d11_chip_nitsche.pde +40 -0
  286. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d1_square.pde +43 -0
  287. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d2_chip.pde +35 -0
  288. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d3_helmholtz.pde +22 -0
  289. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d4_cube.pde +46 -0
  290. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d5_beam.pde +74 -0
  291. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d6_shaft.pde +73 -0
  292. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d7_coil.pde +50 -0
  293. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d8_coilshield.pde +49 -0
  294. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d9_hybridDG.pde +72 -0
  295. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/doubleglazing.in2d +27 -0
  296. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/doubleglazing.vol +737 -0
  297. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  298. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/shaft.geo +73 -0
  299. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/shaft.vol +4291 -0
  300. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/square.in2d +17 -0
  301. ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/square.vol +149 -0
  302. ngsolve-6.2.2506.post216.dev0.dist-info/METADATA +14 -0
  303. ngsolve-6.2.2506.post216.dev0.dist-info/RECORD +306 -0
  304. ngsolve-6.2.2506.post216.dev0.dist-info/WHEEL +5 -0
  305. ngsolve-6.2.2506.post216.dev0.dist-info/licenses/LICENSE +504 -0
  306. ngsolve-6.2.2506.post216.dev0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,19 @@
1
+ #ifndef FILE_COEFFICIENT_IMPL
2
+ #define FILE_COEFFICIENT_IMPL
3
+
4
+
5
+ namespace ngfem
6
+ {
7
+
8
+
9
+ struct GenericIdentity
10
+ {
11
+ template <typename T> T operator() (T x) const { return x; }
12
+ static string Name() { return " "; }
13
+ template <typename T> T Diff (T x) const { throw Exception("no GenericIdentity::Diff"); }
14
+ void DoArchive(Archive& ar) {}
15
+ };
16
+
17
+ }
18
+
19
+ #endif
@@ -0,0 +1,167 @@
1
+ #ifndef FILE_COEFFICIENT_STDMATH
2
+ #define FILE_COEFFICIENT_STDMATH
3
+
4
+
5
+ namespace ngfem
6
+ {
7
+
8
+ struct GenericSqrt {
9
+ template <typename T> T operator() (T x) const { return sqrt(x); }
10
+ static string Name() { return "sqrt"; }
11
+ void DoArchive(Archive& ar) {}
12
+ };
13
+
14
+ struct GenericSin {
15
+ template <typename T> T operator() (T x) const { return sin(x); }
16
+ template <typename T> T Diff (T x) const { return cos(x); }
17
+ static string Name() { return "sin"; }
18
+ void DoArchive(Archive& ar) {}
19
+ };
20
+
21
+ struct GenericCos {
22
+ template <typename T> T operator() (T x) const { return cos(x); }
23
+ template <typename T> T Diff (T x) const { return -sin(x); }
24
+ static string Name() { return "cos"; }
25
+ void DoArchive(Archive& ar) {}
26
+ };
27
+
28
+ struct GenericTan {
29
+ template <typename T> T operator() (T x) const { return tan(x); }
30
+ static string Name() { return "tan"; }
31
+ void DoArchive(Archive& ar) {}
32
+ };
33
+
34
+ struct GenericATan {
35
+ template <typename T> T operator() (T x) const { return atan(x); }
36
+ static string Name() { return "atan"; }
37
+ void DoArchive(Archive& ar) {}
38
+ };
39
+
40
+ struct GenericACos {
41
+ template <typename T> T operator() (T x) const { return acos(x); }
42
+ static string Name() { return "acos"; }
43
+ void DoArchive(Archive& ar) {}
44
+ };
45
+
46
+ struct GenericASin {
47
+ template <typename T> T operator() (T x) const { return asin(x); }
48
+ static string Name() { return "asin"; }
49
+ void DoArchive(Archive& ar) {}
50
+ };
51
+
52
+
53
+
54
+
55
+ struct GenericSinh {
56
+ template <typename T> T operator() (T x) const { return sinh(x); }
57
+ template <typename T> T Diff (T x) const { return cosh(x); }
58
+ static string Name() { return "sinh"; }
59
+ void DoArchive(Archive& ar) {}
60
+ };
61
+
62
+ struct GenericCosh {
63
+ template <typename T> T operator() (T x) const { return cosh(x); }
64
+ template <typename T> T Diff (T x) const { return sinh(x); }
65
+ static string Name() { return "cosh"; }
66
+ void DoArchive(Archive& ar) {}
67
+ };
68
+
69
+
70
+
71
+ struct GenericExp {
72
+ template <typename T> T operator() (T x) const { return exp(x); }
73
+ template <typename T> T Diff (T x) const { return exp(x); }
74
+ static string Name() { return "exp"; }
75
+ void DoArchive(Archive& ar) {}
76
+ };
77
+
78
+ struct GenericLog {
79
+ template <typename T> T operator() (T x) const { return log(x); }
80
+ static string Name() { return "log"; }
81
+ auto Diff (shared_ptr<CoefficientFunction> x) const {
82
+ return OneVectorCF(x->Dimensions()) / x;
83
+ }
84
+ void DoArchive(Archive& ar) {}
85
+ };
86
+
87
+
88
+ struct GenericErf {
89
+ template <typename T> T operator() (T x) const { return erf(x); }
90
+ Complex operator() (Complex x) const { throw Exception("no erf for Complex"); }
91
+ SIMD<Complex> operator() (SIMD<Complex> x) const { throw ExceptionNOSIMD("no erf for simd(complex)"); }
92
+ static string Name() { return "erf"; }
93
+ void DoArchive(Archive& ar) {}
94
+ };
95
+
96
+
97
+
98
+ struct GenericFloor {
99
+ template <typename T> T operator() (T x) const { return floor(x); }
100
+ Complex operator() (Complex x) const { throw Exception("no floor for Complex"); }
101
+ // SIMD<double> operator() (SIMD<double> x) const { throw ExceptionNOSIMD("no floor for simd"); }
102
+ SIMD<Complex> operator() (SIMD<Complex> x) const { throw ExceptionNOSIMD("no floor for simd"); }
103
+ // AutoDiff<1> operator() (AutoDiff<1> x) const { throw Exception("no floor for AD"); }
104
+ AutoDiffDiff<1> operator() (AutoDiffDiff<1> x) const { throw Exception("no floor for ADD"); }
105
+ template <typename T> T Diff (T x) const { throw Exception("Generic Floor not differentiable"); }
106
+ static string Name() { return "floor"; }
107
+ void DoArchive(Archive& ar) {}
108
+ };
109
+ struct GenericCeil {
110
+ template <typename T> T operator() (T x) const { return ceil(x); }
111
+ Complex operator() (Complex x) const { throw Exception("no ceil for Complex"); }
112
+ // SIMD<double> operator() (SIMD<double> x) const { throw ExceptionNOSIMD("no ceil for simd"); }
113
+ SIMD<Complex> operator() (SIMD<Complex> x) const { throw ExceptionNOSIMD("no ceil for simd"); }
114
+ // AutoDiff<1> operator() (AutoDiff<1> x) const { throw Exception("no ceil for AD"); }
115
+ AutoDiffDiff<1> operator() (AutoDiffDiff<1> x) const { throw Exception("no ceil for ADD"); }
116
+ template <typename T> T Diff (T x) const { throw Exception("Generic Ceil not differentiable"); }
117
+ static string Name() { return "ceil"; }
118
+ void DoArchive(Archive& ar) {}
119
+ };
120
+
121
+
122
+
123
+ using std::sqrt;
124
+ NGS_DLL_HEADER shared_ptr<CoefficientFunction> sqrt(shared_ptr<CoefficientFunction> x);
125
+
126
+ using std::sin;
127
+ NGS_DLL_HEADER shared_ptr<CoefficientFunction> sin(shared_ptr<CoefficientFunction> x);
128
+
129
+ using std::cos;
130
+ NGS_DLL_HEADER shared_ptr<CoefficientFunction> cos(shared_ptr<CoefficientFunction> x);
131
+
132
+ using std::tan;
133
+ NGS_DLL_HEADER shared_ptr<CoefficientFunction> tan(shared_ptr<CoefficientFunction> x);
134
+
135
+ using std::asin;
136
+ NGS_DLL_HEADER shared_ptr<CoefficientFunction> asin(shared_ptr<CoefficientFunction> x);
137
+
138
+ using std::acos;
139
+ NGS_DLL_HEADER shared_ptr<CoefficientFunction> acos(shared_ptr<CoefficientFunction> x);
140
+
141
+ using std::atan;
142
+ NGS_DLL_HEADER shared_ptr<CoefficientFunction> atan(shared_ptr<CoefficientFunction> x);
143
+
144
+ using std::sinh;
145
+ NGS_DLL_HEADER shared_ptr<CoefficientFunction> sinh(shared_ptr<CoefficientFunction> x);
146
+
147
+ using std::cosh;
148
+ NGS_DLL_HEADER shared_ptr<CoefficientFunction> cosh(shared_ptr<CoefficientFunction> x);
149
+
150
+ using std::exp;
151
+ NGS_DLL_HEADER shared_ptr<CoefficientFunction> exp(shared_ptr<CoefficientFunction> x);
152
+
153
+ using std::log;
154
+ NGS_DLL_HEADER shared_ptr<CoefficientFunction> log(shared_ptr<CoefficientFunction> x);
155
+
156
+ using std::erf;
157
+ NGS_DLL_HEADER shared_ptr<CoefficientFunction> erf(shared_ptr<CoefficientFunction> x);
158
+
159
+ using std::floor;
160
+ NGS_DLL_HEADER shared_ptr<CoefficientFunction> floor(shared_ptr<CoefficientFunction> x);
161
+
162
+ using std::ceil;
163
+ NGS_DLL_HEADER shared_ptr<CoefficientFunction> ceil(shared_ptr<CoefficientFunction> x);
164
+ }
165
+
166
+
167
+ #endif
@@ -0,0 +1,106 @@
1
+ #ifndef FILE_COMMUTING_AMG
2
+ #define FILE_COMMUTING_AMG
3
+
4
+ /* *************************************************************************/
5
+ /* File: commuting_amg.hoo */
6
+ /* Author: Joachim Schoeberl */
7
+ /* Date: 15. Aug. 2002 */
8
+ /* *************************************************************************/
9
+
10
+ namespace ngla
11
+ {
12
+
13
+ class CommutingAMG : public BaseMatrix
14
+ {
15
+ protected:
16
+ const BaseSparseMatrix * pmat;
17
+ CommutingAMG * recAMG;
18
+
19
+ SparseMatrixTM<double> * prol;
20
+
21
+ shared_ptr<BaseSparseMatrix> coarsemat;
22
+ shared_ptr<BaseJacobiPrecond> jacobi;
23
+ shared_ptr<BaseBlockJacobiPrecond> bjacobi;
24
+ shared_ptr<BaseMatrix> inv;
25
+
26
+ public:
27
+ CommutingAMG ()
28
+ { ; }
29
+ virtual ~CommutingAMG ()
30
+ { ; }
31
+
32
+ virtual bool IsComplex() const override { return false; }
33
+
34
+ virtual void ComputeMatrices (const BaseSparseMatrix & mat) = 0;
35
+ virtual void Mult (const BaseVector & x, BaseVector & y) const override = 0;
36
+
37
+
38
+ virtual int VHeight() const override { return pmat->Height(); }
39
+ virtual int VWidth() const override { return pmat->Width(); }
40
+
41
+ virtual size_t NZE() const override = 0;
42
+ virtual AutoVector CreateVector () const override
43
+ {
44
+ return pmat->CreateColVector();
45
+ }
46
+ virtual AutoVector CreateColVector () const override
47
+ {
48
+ return pmat->CreateRowVector();
49
+ }
50
+ virtual AutoVector CreateRowVector () const override
51
+ {
52
+ return pmat->CreateColVector();
53
+ }
54
+ };
55
+
56
+
57
+ class AMG_H1 : public CommutingAMG
58
+ {
59
+ public:
60
+
61
+ AMG_H1 (const BaseMatrix & sysmat,
62
+ Array<ngstd::IVec<2> > & e2v,
63
+ Array<double> & weighte,
64
+ int levels);
65
+
66
+ virtual ~AMG_H1 ();
67
+
68
+ virtual void ComputeMatrices (const BaseSparseMatrix & mat);
69
+ virtual size_t NZE() const;
70
+
71
+ virtual void Mult (const BaseVector & x, BaseVector & y) const;
72
+ };
73
+
74
+
75
+
76
+
77
+ class AMG_HCurl : public CommutingAMG
78
+ {
79
+ SparseMatrixTM<double> * grad;
80
+
81
+ shared_ptr<BaseSparseMatrix> h1mat;
82
+ AMG_H1 * h1AMG;
83
+
84
+ public:
85
+
86
+ AMG_HCurl (const BaseMatrix & sysmat,
87
+ const Array<Vec<3> > & vertices,
88
+ Array<ngstd::IVec<2> > & e2v,
89
+ Array<ngstd::IVec<4> > & f2v,
90
+ Array<double> & weighte,
91
+ Array<double> & weightf,
92
+ int levels);
93
+
94
+ virtual ~AMG_HCurl ();
95
+
96
+ virtual void ComputeMatrices (const BaseSparseMatrix & mat);
97
+ virtual size_t NZE() const;
98
+
99
+ virtual void Mult (const BaseVector & x, BaseVector & y) const;
100
+ };
101
+
102
+
103
+ }
104
+
105
+
106
+ #endif
@@ -0,0 +1,79 @@
1
+ #ifndef FILE_COMP
2
+ #define FILE_COMP
3
+
4
+ /*********************************************************************/
5
+ /* File: comp.hpp */
6
+ /* Author: Joachim Schoeberl */
7
+ /* Date: 25. Mar. 2000 */
8
+ /*********************************************************************/
9
+
10
+ #include <fem.hpp>
11
+ #include <finiteelement.hpp>
12
+ #include <la.hpp>
13
+
14
+ /**
15
+ namespace for NGS-components.
16
+ It contains the access to the mesh topology MeshAccess,
17
+ finite element spaces derived from FESpace, and global objects such as
18
+ Gridfunction, LinearForm, and BilinearForm, or a Preconditioner.
19
+ Computational functions such as SetValues and CalcFlux.
20
+ */
21
+ namespace ngcomp
22
+ {
23
+ using namespace std;
24
+ using namespace ngstd;
25
+
26
+ using ngfem::ELEMENT_TYPE;
27
+
28
+ using namespace ngla;
29
+ using namespace ngfem;
30
+ }
31
+
32
+
33
+ namespace ngmg
34
+ {
35
+ class Prolongation;
36
+ class TwoLevelMatrix;
37
+ class MultigridPreconditioner;
38
+ }
39
+
40
+
41
+ #include <parallelngs.hpp>
42
+
43
+
44
+ // #include "pmltrafo.hpp"
45
+ #include "meshaccess.hpp"
46
+ #include "ngsobject.hpp"
47
+ #include "fespace.hpp"
48
+
49
+ #include "gridfunction.hpp"
50
+ #include "bilinearform.hpp"
51
+ #include "linearform.hpp"
52
+ #include "preconditioner.hpp"
53
+
54
+ #include "postproc.hpp"
55
+ #include "interpolate.hpp"
56
+
57
+ #include "tpfes.hpp"
58
+ #include "hcurlhdivfes.hpp"
59
+ #include "hdivfes.hpp"
60
+ #include "h1hofespace.hpp"
61
+ #include "l2hofespace.hpp"
62
+ #include "hdivhofespace.hpp"
63
+ #include "hdivhosurfacefespace.hpp"
64
+ #include "hcurlhofespace.hpp"
65
+ // #include "facetfespace.hpp"
66
+ // #include "vectorfacetfespace.hpp"
67
+ // #include "h1lumping.hpp"
68
+ #include "periodic.hpp"
69
+ #include "discontinuous.hpp"
70
+ #include "hidden.hpp"
71
+ #include "reorderedfespace.hpp"
72
+
73
+ #include "facetsurffespace.hpp"
74
+ #include "normalfacetsurfacefespace.hpp"
75
+ #include "fesconvert.hpp"
76
+
77
+ // #include "bddc.hpp"
78
+
79
+ #endif
@@ -0,0 +1,41 @@
1
+ /*
2
+
3
+ You may want to include this file to keep your application compatible with
4
+ different versions of ngsolve.
5
+
6
+ */
7
+
8
+
9
+
10
+
11
+ #ifdef FILE_POSTPROC
12
+
13
+ namespace ngcomp
14
+ {
15
+
16
+ // // argument MeshAccess ma was removed since it is available in GridFunction u
17
+ // // change: ngsolve-5.1 - r1177, 20130404
18
+ // NGS_DLL_HEADER
19
+ // inline void SetValues (const MeshAccess & ma,
20
+ // const CoefficientFunction & coef,
21
+ // GridFunction & u,
22
+ // bool vb,
23
+ // DifferentialOperator * diffop, // NULL is FESpace evaluator
24
+ // LocalHeap & clh)
25
+ // {
26
+ // SetValues (coef, u, vb, diffop, clh);
27
+ // }
28
+ }
29
+
30
+
31
+ #endif
32
+
33
+
34
+
35
+ #define L2HighOrderFiniteElement DGFiniteElement
36
+
37
+
38
+
39
+
40
+
41
+
@@ -0,0 +1,101 @@
1
+ #ifndef COMPLEX_WRAPPER
2
+ #define COMPLEX_WRAPPER
3
+
4
+
5
+
6
+ #include <complex>
7
+
8
+
9
+ #ifdef USE_MYCOMPLEX
10
+ #include <mycomplex.hpp>
11
+ #endif
12
+
13
+
14
+
15
+ // #ifdef __clang__
16
+ #if defined(__GNUC__) && !defined(__INTEL_COMPILER)
17
+ namespace std
18
+ {
19
+ // avoid expensive call to complex mult by using the grammar school implementation
20
+ INLINE std::complex<double> operator* (std::complex<double> a, std::complex<double> b)
21
+ {
22
+ return std::complex<double> (a.real()*b.real()-a.imag()*b.imag(),
23
+ a.real()*b.imag()+a.imag()*b.real());
24
+ }
25
+ }
26
+ #endif
27
+
28
+
29
+
30
+
31
+ namespace ngcore
32
+ {
33
+
34
+ #ifdef USE_MYCOMPLEX
35
+ typedef ngstd::MyComplex<double> Complex;
36
+ using std::fabs;
37
+ INLINE double fabs (Complex v) { return ngstd::abs (v); }
38
+ #else
39
+ typedef std::complex<double> Complex;
40
+ using std::fabs;
41
+ inline double fabs (Complex v) { return std::abs (v); }
42
+ #endif
43
+
44
+ }
45
+
46
+
47
+ #if defined(__CUDA_ARCH__)
48
+ namespace ngcore
49
+ {
50
+ __device__ inline Complex conj(Complex a)
51
+ {
52
+ return Complex (a.real(), -a.imag());
53
+ }
54
+
55
+ __device__ inline Complex operator+ (Complex a, Complex b) {
56
+ return Complex(a.real()+b.real(), a.imag()+b.imag());
57
+ }
58
+ __device__ inline Complex& operator+= (Complex& a, Complex b) {
59
+ a = a+b;
60
+ return a;
61
+ }
62
+ }
63
+ #endif
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+ /// namespace for basic linear algebra
72
+ namespace ngbla
73
+ {
74
+ using ngcore::Complex;
75
+
76
+ using ngcore::AtomicAdd;
77
+ inline void AtomicAdd (Complex & x, Complex y)
78
+ {
79
+ auto real = y.real();
80
+ ngcore::AtomicAdd (reinterpret_cast<double(&)[2]>(x)[0], real);
81
+ auto imag = y.imag();
82
+ ngcore::AtomicAdd (reinterpret_cast<double(&)[2]>(x)[1], imag);
83
+ }
84
+
85
+ inline bool IsComplex(double v) { return false; }
86
+ inline bool IsComplex(Complex v) { return true; }
87
+ }
88
+
89
+
90
+ namespace ngstd
91
+ {
92
+ using ngcore::Complex;
93
+ INLINE Complex IfPos (Complex a, Complex b, Complex c)
94
+ {
95
+ return a.real() > 0 ? b : c;
96
+ }
97
+ }
98
+
99
+
100
+
101
+ #endif
@@ -0,0 +1,110 @@
1
+ #pragma once
2
+ /*********************************************************************/
3
+ /* File: wrapperfespace.hpp */
4
+ /* Author: Christoph Lehrenfeld */
5
+ /* Date: 12. July 2018 */
6
+ /*********************************************************************/
7
+
8
+
9
+ #include "fespace.hpp"
10
+
11
+ namespace ngcomp
12
+ {
13
+
14
+ class NGS_DLL_HEADER CompressedFESpace : public FESpace
15
+ {
16
+ protected:
17
+ shared_ptr<FESpace> space;
18
+ Array<DofId> comp2all;
19
+ Array<DofId> all2comp;
20
+ shared_ptr<BitArray> active_dofs = nullptr;
21
+
22
+ //TODO: flag to hide HIDDEN_DOFs
23
+
24
+ public:
25
+ CompressedFESpace (shared_ptr<FESpace> bfes);
26
+ virtual ~CompressedFESpace () {};
27
+ void Update() override;
28
+ shared_ptr<FESpace> GetBaseSpace() const { return space; }
29
+
30
+ void WrapDofs(Array<DofId> & dnums) const
31
+ {
32
+ /*
33
+ // (JS): this is buggy: dnums[i] may be -1
34
+ for (int i : Range(dnums.Size()))
35
+ if (all2comp[dnums[i]] != -1)
36
+ dnums[i] = all2comp[dnums[i]];
37
+ else
38
+ dnums[i] = -1;
39
+ */
40
+ for (DofId & d : dnums)
41
+ if (IsRegularDof (d))
42
+ d = all2comp[d];
43
+ }
44
+
45
+ virtual FiniteElement & GetFE (ElementId ei, Allocator & lh) const override;
46
+
47
+ FlatArray<VorB> GetDualShapeNodes (VorB vb) const override;
48
+
49
+ virtual void GetDofNrs (ElementId ei, Array<DofId> & dnums) const override;
50
+ virtual void GetDofNrs (NodeId ni, Array<DofId> & dnums) const override;
51
+
52
+ virtual SymbolTable<shared_ptr<DifferentialOperator>> GetAdditionalEvaluators () const override
53
+ { return space->GetAdditionalEvaluators (); }
54
+
55
+ /// get dof-nrs of the element of certain coupling type
56
+ virtual void GetElementDofsOfType (ElementId ei, Array<DofId> & dnums, COUPLING_TYPE ctype) const override;
57
+
58
+ virtual void SetActiveDofs(shared_ptr<BitArray> actdof)
59
+ {
60
+ active_dofs = actdof;
61
+ }
62
+
63
+ shared_ptr<BitArray> GetActiveDofs() const { return active_dofs; }
64
+
65
+ // a name for our new fe-space
66
+ virtual string GetClassName () const override
67
+ {
68
+ return "CompressedFESpace(" + space->GetClassName() + ")";
69
+ }
70
+
71
+ /// update element coloring
72
+ void FinalizeUpdate() override
73
+ {
74
+ space->FinalizeUpdate();
75
+ FESpace::FinalizeUpdate();
76
+ }
77
+
78
+ ProxyNode MakeProxyFunction (bool testfunction,
79
+ const function<shared_ptr<ProxyFunction>(shared_ptr<ProxyFunction>)> & addblock) const override;
80
+
81
+ virtual bool DefinedOn (ElementId id) const
82
+ {
83
+ return space->DefinedOn(id);
84
+ }
85
+
86
+ virtual void GetVertexDofNrs (int vnr, Array<DofId> & dnums) const override;
87
+ /// get dofs on edge enr
88
+ virtual void GetEdgeDofNrs (int ednr, Array<DofId> & dnums) const override;
89
+ /// get dofs on face fnr
90
+ virtual void GetFaceDofNrs (int fanr, Array<DofId> & dnums) const override;
91
+ /// get dofs on element (=cell) elnr
92
+ virtual void GetInnerDofNrs (int elnr, Array<DofId> & dnums) const override;
93
+
94
+ virtual void VTransformMR (ElementId ei,
95
+ SliceMatrix<double> mat, TRANSFORM_TYPE tt) const override
96
+ { space-> VTransformMR(ei, mat, tt); }
97
+ virtual void VTransformMC (ElementId ei,
98
+ SliceMatrix<Complex> mat, TRANSFORM_TYPE tt) const override
99
+ { space->VTransformMC (ei, mat, tt); }
100
+ virtual void VTransformVR (ElementId ei,
101
+ SliceVector<double> vec, TRANSFORM_TYPE tt) const override
102
+ { space->VTransformVR(ei, vec, tt); }
103
+ virtual void VTransformVC (ElementId ei,
104
+ SliceVector<Complex> vec, TRANSFORM_TYPE tt) const override
105
+ { space->VTransformVC(ei, vec, tt); }
106
+
107
+
108
+ };
109
+
110
+ }