ngsolve 6.2.2506.post75.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.

Potentially problematic release.


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

Files changed (303) hide show
  1. ngsolve-6.2.2506.post75.dev0.data/data/bin/ngs_nvcc +14 -0
  2. ngsolve-6.2.2506.post75.dev0.data/data/bin/ngs_nvlink +14 -0
  3. ngsolve-6.2.2506.post75.dev0.data/data/bin/ngscxx +15 -0
  4. ngsolve-6.2.2506.post75.dev0.data/data/bin/ngsld +11 -0
  5. ngsolve-6.2.2506.post75.dev0.data/data/bin/ngsolve.tcl +648 -0
  6. ngsolve-6.2.2506.post75.dev0.data/data/bin/ngspy +2 -0
  7. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/analytic_integrals.hpp +10 -0
  8. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/arnoldi.hpp +55 -0
  9. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/bandmatrix.hpp +334 -0
  10. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/basematrix.hpp +957 -0
  11. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/basevector.hpp +1268 -0
  12. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/bdbequations.hpp +2805 -0
  13. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/bdbintegrator.hpp +1660 -0
  14. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/bem_diffops.hpp +475 -0
  15. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/bessel.hpp +1064 -0
  16. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/bilinearform.hpp +963 -0
  17. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/bla.hpp +29 -0
  18. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/blockalloc.hpp +95 -0
  19. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/blockjacobi.hpp +328 -0
  20. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/bspline.hpp +116 -0
  21. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/calcinverse.hpp +141 -0
  22. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/cg.hpp +368 -0
  23. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/chebyshev.hpp +44 -0
  24. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/cholesky.hpp +720 -0
  25. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/clapack.h +7254 -0
  26. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/code_generation.hpp +296 -0
  27. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/coefficient.hpp +2033 -0
  28. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/coefficient_impl.hpp +19 -0
  29. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/coefficient_stdmath.hpp +167 -0
  30. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/commutingAMG.hpp +106 -0
  31. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/comp.hpp +79 -0
  32. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/compatibility.hpp +41 -0
  33. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/complex_wrapper.hpp +73 -0
  34. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/compressedfespace.hpp +110 -0
  35. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/contact.hpp +235 -0
  36. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/cuda_linalg.hpp +175 -0
  37. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/cuda_ngbla.hpp +226 -0
  38. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/cuda_ngstd.hpp +527 -0
  39. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/cuda_profiler.hpp +240 -0
  40. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/diagonalmatrix.hpp +154 -0
  41. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/differentialoperator.hpp +276 -0
  42. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/diffop.hpp +1286 -0
  43. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/diffop_impl.hpp +328 -0
  44. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/diffopwithfactor.hpp +123 -0
  45. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/discontinuous.hpp +84 -0
  46. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/dump.hpp +949 -0
  47. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/ectypes.hpp +121 -0
  48. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/eigen.hpp +60 -0
  49. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/eigensystem.hpp +18 -0
  50. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/elasticity_equations.hpp +595 -0
  51. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/elementbyelement.hpp +195 -0
  52. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/elementtopology.hpp +1760 -0
  53. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/elementtransformation.hpp +339 -0
  54. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/evalfunc.hpp +405 -0
  55. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/expr.hpp +1686 -0
  56. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/facetfe.hpp +175 -0
  57. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/facetfespace.hpp +180 -0
  58. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/facethofe.hpp +111 -0
  59. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/facetsurffespace.hpp +112 -0
  60. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/fe_interfaces.hpp +32 -0
  61. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/fem.hpp +87 -0
  62. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/fesconvert.hpp +14 -0
  63. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/fespace.hpp +1449 -0
  64. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/finiteelement.hpp +286 -0
  65. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/globalinterfacespace.hpp +77 -0
  66. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/globalspace.hpp +115 -0
  67. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/gridfunction.hpp +525 -0
  68. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/h1amg.hpp +124 -0
  69. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/h1hofe.hpp +188 -0
  70. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/h1hofe_impl.hpp +1262 -0
  71. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/h1hofefo.hpp +148 -0
  72. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/h1hofefo_impl.hpp +185 -0
  73. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/h1hofespace.hpp +167 -0
  74. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/h1lofe.hpp +1240 -0
  75. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/h1lumping.hpp +41 -0
  76. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurl_equations.hpp +1381 -0
  77. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurlcurlfe.hpp +2241 -0
  78. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurlcurlfespace.hpp +78 -0
  79. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurlfe.hpp +259 -0
  80. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurlfe_utils.hpp +107 -0
  81. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurlhdiv_dshape.hpp +857 -0
  82. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurlhdivfes.hpp +308 -0
  83. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurlhofe.hpp +175 -0
  84. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurlhofe_impl.hpp +1871 -0
  85. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurlhofespace.hpp +193 -0
  86. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurllofe.hpp +1146 -0
  87. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdiv_equations.hpp +880 -0
  88. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivdivfe.hpp +2923 -0
  89. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivdivsurfacespace.hpp +76 -0
  90. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivfe.hpp +206 -0
  91. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivfe_utils.hpp +717 -0
  92. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivfes.hpp +75 -0
  93. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivhofe.hpp +447 -0
  94. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivhofe_impl.hpp +1107 -0
  95. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivhofefo.hpp +229 -0
  96. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivhofespace.hpp +177 -0
  97. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivhosurfacefespace.hpp +106 -0
  98. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivlofe.hpp +773 -0
  99. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hidden.hpp +74 -0
  100. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/householder.hpp +181 -0
  101. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hypre_ams_precond.hpp +123 -0
  102. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hypre_precond.hpp +73 -0
  103. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/integrator.hpp +2012 -0
  104. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/integratorcf.hpp +253 -0
  105. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/interpolate.hpp +49 -0
  106. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/intrule.hpp +2542 -0
  107. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/intrules_SauterSchwab.hpp +25 -0
  108. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/irspace.hpp +49 -0
  109. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/jacobi.hpp +153 -0
  110. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/kernels.hpp +762 -0
  111. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/l2hofe.hpp +194 -0
  112. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/l2hofe_impl.hpp +564 -0
  113. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/l2hofefo.hpp +542 -0
  114. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/l2hofespace.hpp +344 -0
  115. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/la.hpp +38 -0
  116. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/linalg_kernels.hpp +102 -0
  117. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/linearform.hpp +266 -0
  118. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/matrix.hpp +2140 -0
  119. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/memusage.hpp +41 -0
  120. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/meshaccess.hpp +1359 -0
  121. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/mgpre.hpp +204 -0
  122. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/mp_coefficient.hpp +145 -0
  123. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/mptools.hpp +2281 -0
  124. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/multigrid.hpp +42 -0
  125. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/multivector.hpp +447 -0
  126. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/mumpsinverse.hpp +187 -0
  127. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/mycomplex.hpp +361 -0
  128. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/ng_lapack.hpp +1661 -0
  129. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/ngblas.hpp +1232 -0
  130. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/ngs_defines.hpp +30 -0
  131. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/ngs_stdcpp_include.hpp +106 -0
  132. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/ngs_utils.hpp +121 -0
  133. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/ngsobject.hpp +1019 -0
  134. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/ngsstream.hpp +113 -0
  135. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/ngstd.hpp +72 -0
  136. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/nodalhofe.hpp +96 -0
  137. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/nodalhofe_impl.hpp +141 -0
  138. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/normalfacetfe.hpp +223 -0
  139. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/normalfacetfespace.hpp +98 -0
  140. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/normalfacetsurfacefespace.hpp +84 -0
  141. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/order.hpp +251 -0
  142. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/parallel_matrices.hpp +222 -0
  143. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/paralleldofs.hpp +340 -0
  144. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/parallelngs.hpp +23 -0
  145. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/parallelvector.hpp +269 -0
  146. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/pardisoinverse.hpp +200 -0
  147. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/periodic.hpp +129 -0
  148. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/plateaufespace.hpp +25 -0
  149. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/pml.hpp +275 -0
  150. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/pmltrafo.hpp +631 -0
  151. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/postproc.hpp +142 -0
  152. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/potentialtools.hpp +22 -0
  153. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/precomp.hpp +60 -0
  154. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/preconditioner.hpp +602 -0
  155. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/prolongation.hpp +377 -0
  156. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/python_comp.hpp +107 -0
  157. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/python_fem.hpp +89 -0
  158. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/python_linalg.hpp +58 -0
  159. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/python_ngstd.hpp +386 -0
  160. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/recursive_pol.hpp +4896 -0
  161. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/recursive_pol_tet.hpp +395 -0
  162. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/recursive_pol_trig.hpp +492 -0
  163. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/reorderedfespace.hpp +81 -0
  164. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/sample_sort.hpp +105 -0
  165. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/scalarfe.hpp +335 -0
  166. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/shapefunction_utils.hpp +113 -0
  167. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/simd_complex.hpp +329 -0
  168. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/smoother.hpp +253 -0
  169. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/solve.hpp +89 -0
  170. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/sparsecholesky.hpp +313 -0
  171. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/sparsematrix.hpp +1038 -0
  172. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/sparsematrix_dyn.hpp +90 -0
  173. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/sparsematrix_impl.hpp +1013 -0
  174. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/special_matrix.hpp +463 -0
  175. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/specialelement.hpp +125 -0
  176. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/statushandler.hpp +33 -0
  177. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/stringops.hpp +12 -0
  178. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/superluinverse.hpp +136 -0
  179. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/symbolicintegrator.hpp +850 -0
  180. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/symmetricmatrix.hpp +144 -0
  181. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tangentialfacetfe.hpp +224 -0
  182. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tangentialfacetfespace.hpp +91 -0
  183. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tensor.hpp +522 -0
  184. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tensorcoefficient.hpp +446 -0
  185. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tensorproductintegrator.hpp +113 -0
  186. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/thcurlfe.hpp +128 -0
  187. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/thcurlfe_impl.hpp +380 -0
  188. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/thdivfe.hpp +80 -0
  189. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/thdivfe_impl.hpp +492 -0
  190. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tpdiffop.hpp +461 -0
  191. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tpfes.hpp +133 -0
  192. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tpintrule.hpp +224 -0
  193. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/triangular.hpp +465 -0
  194. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tscalarfe.hpp +245 -0
  195. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tscalarfe_impl.hpp +1029 -0
  196. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/umfpackinverse.hpp +148 -0
  197. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/unifiedvector.hpp +103 -0
  198. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/vector.hpp +1273 -0
  199. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/voxelcoefficientfunction.hpp +41 -0
  200. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/vtkoutput.hpp +198 -0
  201. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/vvector.hpp +208 -0
  202. ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/webgui.hpp +92 -0
  203. ngsolve-6.2.2506.post75.dev0.data/data/lib/cmake/ngsolve/NGSolveConfig.cmake +102 -0
  204. ngsolve-6.2.2506.post75.dev0.data/data/lib/cmake/ngsolve/ngsolve-targets-release.cmake +89 -0
  205. ngsolve-6.2.2506.post75.dev0.data/data/lib/cmake/ngsolve/ngsolve-targets.cmake +173 -0
  206. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngbla.so +0 -0
  207. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngcomp.so +0 -0
  208. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngfem.so +0 -0
  209. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngla.so +0 -0
  210. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngsbem.so +0 -0
  211. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngscudalib.so +0 -0
  212. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngsolve.so +0 -0
  213. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngstd.so +0 -0
  214. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/TensorProductTools.py +210 -0
  215. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/__console.py +94 -0
  216. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/__expr.py +181 -0
  217. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/__init__.py +148 -0
  218. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/_scikit_build_core_dependencies.py +30 -0
  219. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/bvp.py +78 -0
  220. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/config/__init__.py +1 -0
  221. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/config/__main__.py +4 -0
  222. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/config/config.py +60 -0
  223. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/__init__.py +0 -0
  224. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/tp_dg_1d_1d.py +80 -0
  225. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/tp_dg_1d_2d.py +73 -0
  226. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/tp_dg_2d_1d.py +72 -0
  227. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/tp_dg_2d_2d.py +66 -0
  228. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/__init__.py +0 -0
  229. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/__init__.py +0 -0
  230. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/hhj.py +44 -0
  231. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/hybrid_dg.py +53 -0
  232. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/mixed.py +30 -0
  233. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/nonlin.py +29 -0
  234. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/pickling.py +26 -0
  235. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/pml.py +31 -0
  236. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/taskmanager.py +20 -0
  237. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/tdnns.py +47 -0
  238. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/timeDG-skeleton.py +45 -0
  239. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/timeDG.py +38 -0
  240. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/timeDGlap.py +42 -0
  241. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/timeDGwave.py +61 -0
  242. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/__init__.py +0 -0
  243. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/adaptive.py +123 -0
  244. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/cmagnet.py +59 -0
  245. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/elasticity.py +76 -0
  246. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/navierstokes.py +74 -0
  247. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/poisson.ipynb +170 -0
  248. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/poisson.py +41 -0
  249. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/__init__.py +0 -0
  250. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/mpi_cmagnet.py +87 -0
  251. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/mpi_navierstokes.py +117 -0
  252. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/mpi_poisson.py +89 -0
  253. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/mpi_timeDG.py +82 -0
  254. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/directsolvers.py +26 -0
  255. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/eigenvalues.py +364 -0
  256. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/internal.py +89 -0
  257. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/krylovspace.py +1013 -0
  258. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/meshes.py +748 -0
  259. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/ngs2petsc.py +310 -0
  260. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/ngscuda.so +0 -0
  261. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/ngscxx.py +42 -0
  262. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/ngslib.so +0 -0
  263. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/nonlinearsolvers.py +203 -0
  264. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/preconditioners.py +11 -0
  265. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/solve_implementation.py +168 -0
  266. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/solvers.py +7 -0
  267. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/timestepping.py +185 -0
  268. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/timing.py +108 -0
  269. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/utils.py +167 -0
  270. ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/webgui.py +670 -0
  271. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/beam.geo +17 -0
  272. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/beam.vol +240 -0
  273. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/chip.in2d +41 -0
  274. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/chip.vol +614 -0
  275. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/coil.geo +12 -0
  276. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/coil.vol +2560 -0
  277. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/coilshield.geo +24 -0
  278. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/coilshield.vol +3179 -0
  279. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/cube.geo +19 -0
  280. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/cube.vol +1832 -0
  281. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d10_DGdoubleglazing.pde +50 -0
  282. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d11_chip_nitsche.pde +40 -0
  283. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d1_square.pde +43 -0
  284. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d2_chip.pde +35 -0
  285. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d3_helmholtz.pde +22 -0
  286. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d4_cube.pde +46 -0
  287. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d5_beam.pde +74 -0
  288. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d6_shaft.pde +73 -0
  289. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d7_coil.pde +50 -0
  290. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d8_coilshield.pde +49 -0
  291. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d9_hybridDG.pde +72 -0
  292. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/doubleglazing.in2d +27 -0
  293. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/doubleglazing.vol +737 -0
  294. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  295. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/shaft.geo +73 -0
  296. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/shaft.vol +4291 -0
  297. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/square.in2d +17 -0
  298. ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/square.vol +149 -0
  299. ngsolve-6.2.2506.post75.dev0.dist-info/METADATA +14 -0
  300. ngsolve-6.2.2506.post75.dev0.dist-info/RECORD +303 -0
  301. ngsolve-6.2.2506.post75.dev0.dist-info/WHEEL +5 -0
  302. ngsolve-6.2.2506.post75.dev0.dist-info/licenses/LICENSE +504 -0
  303. ngsolve-6.2.2506.post75.dev0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,200 @@
1
+ #ifndef FILE_PARDISOINVERSE
2
+ #define FILE_PARDISOINVERSE
3
+
4
+ /* *************************************************************************/
5
+ /* File: pardisoinverse.hpp */
6
+ /* Author: Florian Bachinger */
7
+ /* Date: Feb. 04 */
8
+ /* *************************************************************************/
9
+
10
+ /*
11
+ interface to the PARDISO - package
12
+ */
13
+
14
+
15
+
16
+ ////////////////////////////////////////////////////////////////////////////////
17
+
18
+ #include "sparsecholesky.hpp" // for SparseFactorization
19
+
20
+ namespace ngla
21
+ {
22
+ using ngbla::integer;
23
+ extern bool is_pardiso_available;
24
+
25
+
26
+ /*
27
+ template<class TM,
28
+ class TV_ROW = typename mat_traits<TM>::TV_ROW,
29
+ class TV_COL = typename mat_traits<TM>::TV_COL>
30
+ class PardisoInverse : public SparseFactorization
31
+ {
32
+ integer height; // matrix size in scalars
33
+ integer compressed_height; // matrix size after compression in scalars
34
+ integer nze, entrysize;
35
+ bool print;
36
+
37
+ integer pt[128];
38
+ integer hparams[64];
39
+
40
+ Array<integer,size_t> rowstart, indices;
41
+ Array<typename mat_traits<TM>::TSCAL,size_t> matrix;
42
+
43
+ integer matrixtype;
44
+ bool symmetric, spd;
45
+
46
+ void SetMatrixType();
47
+
48
+ bool compressed;
49
+ Array<int> compress;
50
+
51
+ public:
52
+ typedef TV_COL TV;
53
+ typedef TV_ROW TVX;
54
+ typedef typename mat_traits<TM>::TSCAL TSCAL;
55
+
56
+ ///
57
+ PardisoInverse (const SparseMatrix<TM,TV_ROW,TV_COL> & a,
58
+ const BitArray * ainner = NULL,
59
+ const Array<int> * acluster = NULL,
60
+ int symmetric = 0);
61
+ ///
62
+
63
+ template <typename TSUBSET>
64
+ void GetPardisoMatrix (const SparseMatrix<TM,TV_ROW,TV_COL> & a, TSUBSET subset);
65
+
66
+ virtual ~PardisoInverse ();
67
+ ///
68
+ int VHeight() const { return height/entrysize; }
69
+ ///
70
+ int VWidth() const { return height/entrysize; }
71
+ ///
72
+ virtual void Mult (const BaseVector & x, BaseVector & y) const;
73
+
74
+
75
+ ///
76
+ virtual ostream & Print (ostream & ost) const;
77
+
78
+ virtual void MemoryUsage (Array<MemoryUsageStruct*> & mu) const
79
+ {
80
+ mu.Append (new MemoryUsageStruct ("SparseChol", nze*sizeof(TM), 1));
81
+ }
82
+ virtual BaseVector * CreateVector () const
83
+ {
84
+ return new VVector<TV> (height/entrysize);
85
+ }
86
+ };
87
+ */
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ template<class TM>
98
+ class PardisoInverseTM : public SparseFactorization
99
+ {
100
+ protected:
101
+ integer height; // matrix size in scalars
102
+ integer compressed_height; // matrix size after compression in scalars
103
+ integer nze, entrysize;
104
+ bool print;
105
+
106
+ integer pt[128];
107
+ integer hparams[64];
108
+
109
+ Array<integer> rowstart, indices;
110
+ Array<typename mat_traits<TM>::TSCAL> matrix;
111
+
112
+ integer matrixtype;
113
+ bool symmetric, spd;
114
+
115
+ void SetMatrixType();
116
+
117
+ bool compressed;
118
+ Array<int> compress;
119
+ size_t memory_allocated_in_pardiso_lib = 0;
120
+
121
+ public:
122
+ typedef typename mat_traits<TM>::TSCAL TSCAL;
123
+
124
+ ///
125
+ PardisoInverseTM (shared_ptr<const SparseMatrixTM<TM>> a,
126
+ shared_ptr<BitArray> ainner = nullptr,
127
+ shared_ptr<const Array<int>> acluster = nullptr,
128
+ int symmetric = 0);
129
+ ///
130
+
131
+ template <typename TSUBSET>
132
+ void GetPardisoMatrix (const SparseMatrixTM<TM> & a, TSUBSET subset);
133
+
134
+ virtual ~PardisoInverseTM ();
135
+ ///
136
+ int VHeight() const { return height/entrysize; }
137
+ ///
138
+ int VWidth() const { return height/entrysize; }
139
+ ///
140
+ virtual ostream & Print (ostream & ost) const;
141
+
142
+ virtual Array<MemoryUsage> GetMemoryUsage () const
143
+ {
144
+ return { MemoryUsage ("Pardiso", nze*sizeof(TM), 1) };
145
+ }
146
+ };
147
+
148
+
149
+ template<class TM,
150
+ class TV_ROW = typename mat_traits<TM>::TV_ROW,
151
+ class TV_COL = typename mat_traits<TM>::TV_COL>
152
+ class PardisoInverse : public PardisoInverseTM<TM>
153
+ {
154
+ using PardisoInverseTM<TM>::height;
155
+ using PardisoInverseTM<TM>::compressed_height;
156
+ using PardisoInverseTM<TM>::entrysize;
157
+ using PardisoInverseTM<TM>::pt;
158
+ using PardisoInverseTM<TM>::hparams;
159
+ using PardisoInverseTM<TM>::matrixtype;
160
+ using PardisoInverseTM<TM>::rowstart;
161
+ using PardisoInverseTM<TM>::indices;
162
+ using PardisoInverseTM<TM>::matrix;
163
+ using PardisoInverseTM<TM>::compressed;
164
+ using PardisoInverseTM<TM>::compress;
165
+
166
+ public:
167
+ typedef TV_COL TV;
168
+ typedef TV_ROW TVX;
169
+ typedef typename mat_traits<TM>::TSCAL TSCAL;
170
+
171
+ ///
172
+ PardisoInverse (shared_ptr<const SparseMatrix<TM,TV_ROW,TV_COL>> a,
173
+ shared_ptr<BitArray> ainner = nullptr,
174
+ shared_ptr<const Array<int>> acluster = nullptr,
175
+ int symmetric = 0)
176
+ : PardisoInverseTM<TM> (a, ainner, acluster, symmetric) { ; }
177
+
178
+ virtual ~PardisoInverse () { ; }
179
+ ///
180
+ void Mult (const BaseVector & x, BaseVector & y) const override;
181
+ void MultTrans (const BaseVector & x, BaseVector & y) const override;
182
+ ///
183
+
184
+ AutoVector CreateRowVector() const override
185
+ {
186
+ return make_unique<VVector<TV>> (height/entrysize);
187
+ }
188
+ AutoVector CreateColVector () const override
189
+ {
190
+ return make_unique<VVector<TV>> (height/entrysize);
191
+ }
192
+ };
193
+
194
+
195
+
196
+
197
+
198
+ }
199
+
200
+ #endif
@@ -0,0 +1,129 @@
1
+ #ifndef FILE_PERIODIC_
2
+ #define FILE_PERIODIC_
3
+
4
+ /*********************************************************************/
5
+ /* File: periodic.hpp */
6
+ /* Author: Christopher Lackner */
7
+ /* Date: Feb. 2017 */
8
+ /*********************************************************************/
9
+
10
+ #include <set>
11
+ #include "fespace.hpp"
12
+
13
+ namespace ngcomp
14
+ {
15
+
16
+ // A periodic wrapper class for fespaces
17
+
18
+ class NGS_DLL_HEADER PeriodicFESpace : public FESpace
19
+ {
20
+ protected:
21
+ Array<int> dofmap; // mapping of dofs
22
+ Array<int> vertex_map; // mapping of vertices
23
+ shared_ptr<FESpace> space;
24
+ shared_ptr<Array<int>> used_idnrs;
25
+
26
+ public:
27
+ PeriodicFESpace (shared_ptr<FESpace> space, const Flags & flags, shared_ptr<Array<int>> aused_idnrs);
28
+
29
+ virtual ~PeriodicFESpace () { ; }
30
+ void Update() override;
31
+ void DoArchive (Archive & archive) override;
32
+ auto GetCArgs () { return std::make_tuple(Shallow(space), GetFlags(), used_idnrs); }
33
+
34
+ void FinalizeUpdate() override
35
+ {
36
+ space->FinalizeUpdate();
37
+ FESpace::FinalizeUpdate();
38
+ }
39
+
40
+ ProxyNode MakeProxyFunction (bool testfunction,
41
+ const function<shared_ptr<ProxyFunction>(shared_ptr<ProxyFunction>)> & addblock) const override;
42
+
43
+ shared_ptr<Array<int>> GetUsedIdnrs() const { return used_idnrs; }
44
+ virtual string GetClassName() const override { return "Periodic" + space->GetClassName(); }
45
+ shared_ptr<FESpace> GetBaseSpace() const { return space; }
46
+
47
+ virtual FiniteElement & GetFE (ElementId ei, Allocator & alloc) const override;
48
+
49
+ virtual size_t GetNDof () const override { return space->GetNDof(); }
50
+ virtual size_t GetNDofLevel (int level) const override { return space->GetNDofLevel(level); }
51
+
52
+ virtual void GetDofNrs (ElementId ei, Array<DofId> & dnums) const override;
53
+ virtual void GetDofNrs (NodeId ni, Array<DofId> & dnums) const override;
54
+
55
+ virtual SymbolTable<shared_ptr<DifferentialOperator>> GetAdditionalEvaluators () const override
56
+ { return space->GetAdditionalEvaluators (); }
57
+
58
+ [[deprecated("Use GetDofNrs(NODE_TYPE(NT_VERTEX,nr) instead")]]
59
+ virtual void GetVertexDofNrs (int vnr, Array<DofId> & dnums) const override;
60
+
61
+ [[deprecated("Use GetDofNrs(NODE_TYPE(NT_EDGE,nr) instead")]]
62
+ virtual void GetEdgeDofNrs (int ednr, Array<DofId> & dnums) const override;
63
+
64
+ virtual void GetFaceDofNrs (int fanr, Array<DofId> & dnums) const override;
65
+
66
+ virtual void GetInnerDofNrs (int elnr, Array<DofId> & dnums) const override
67
+ { space->GetInnerDofNrs(elnr, dnums); }
68
+
69
+ virtual void VTransformMR (ElementId ei,
70
+ SliceMatrix<double> mat, TRANSFORM_TYPE tt) const override
71
+ { space-> VTransformMR(ei, mat, tt); }
72
+ virtual void VTransformMC (ElementId ei,
73
+ SliceMatrix<Complex> mat, TRANSFORM_TYPE tt) const override
74
+ { space->VTransformMC (ei, mat, tt); }
75
+ virtual void VTransformVR (ElementId ei,
76
+ SliceVector<double> vec, TRANSFORM_TYPE tt) const override
77
+ { space->VTransformVR(ei, vec, tt); }
78
+ virtual void VTransformVC (ElementId ei,
79
+ SliceVector<Complex> vec, TRANSFORM_TYPE tt) const override
80
+ { space->VTransformVC(ei, vec, tt); }
81
+
82
+ auto & GetVertexMap() const { return vertex_map; }
83
+ auto & GetDofMap() const { return dofmap; }
84
+ FlatArray<VorB> GetDualShapeNodes (VorB vb) const override
85
+ {
86
+ return space->GetDualShapeNodes(vb);
87
+ }
88
+ protected:
89
+ // overload in quasiperiodic space
90
+ virtual void DofMapped(size_t from, size_t to, size_t idnr) { ; }
91
+ };
92
+
93
+ template<typename TSCAL>
94
+ class QuasiPeriodicFESpace : public PeriodicFESpace
95
+ {
96
+ shared_ptr<Array<TSCAL>> factors;
97
+ Array<TSCAL> dof_factors;
98
+ Array<set<size_t>> master_dofs;
99
+
100
+ public:
101
+ QuasiPeriodicFESpace (shared_ptr<FESpace> fespace, const Flags & flag, shared_ptr<Array<int>> aused_idnrs, shared_ptr<Array<TSCAL>> afactors);
102
+
103
+ void Update() override;
104
+ void DoArchive (Archive & archive) override {
105
+ PeriodicFESpace::DoArchive(archive);
106
+ archive & factors & dof_factors & master_dofs;
107
+ }
108
+ auto GetCArgs () {
109
+ return std::make_tuple(Shallow(GetBaseSpace()), GetFlags(), used_idnrs, factors);
110
+ }
111
+
112
+ shared_ptr<Array<TSCAL>> GetFactors() const { return factors; }
113
+
114
+ virtual void VTransformMR (ElementId ei, SliceMatrix<double> mat, TRANSFORM_TYPE tt) const override;
115
+ virtual void VTransformMC (ElementId ei, SliceMatrix<Complex> mat, TRANSFORM_TYPE tt) const override;
116
+ virtual void VTransformVR (ElementId ei, SliceVector<double> vec, TRANSFORM_TYPE tt) const override;
117
+ virtual void VTransformVC (ElementId ei, SliceVector<Complex> vec, TRANSFORM_TYPE tt) const override;
118
+
119
+
120
+
121
+ protected:
122
+ virtual void DofMapped(size_t from, size_t to, size_t idnr) override;
123
+ };
124
+
125
+
126
+ }
127
+
128
+
129
+ #endif // FILE_PERIODIC_
@@ -0,0 +1,25 @@
1
+ #ifndef PLATEAUFESPACE_HPP
2
+ #define PLATEAUFESPACE_HPP
3
+
4
+ /*********************************************************************/
5
+ /* File: plateaufespace.hpp */
6
+ /* Author: Joachim Schoeberl */
7
+ /* Date: 23 Oct 2023 */
8
+ /*********************************************************************/
9
+
10
+ #include "fespace.hpp"
11
+
12
+ namespace ngcomp
13
+ {
14
+
15
+ class PlateauFESpace : public CompressedFESpace
16
+ {
17
+ protected:
18
+ Array<Region> plateaus;
19
+ public:
20
+ PlateauFESpace (shared_ptr<FESpace> afes, Array<Region> aplateaus);
21
+ void Update() override;
22
+ };
23
+
24
+ }
25
+ #endif
@@ -0,0 +1,275 @@
1
+ #ifndef FILE_PML
2
+ #define FILE_PML
3
+
4
+ /*********************************************************************/
5
+ /* File: pml.hpp */
6
+ /* Author: Joachim Schoeberl */
7
+ /* Date: 1. Jul. 2004 */
8
+ /*********************************************************************/
9
+
10
+
11
+ #include "bdbintegrator.hpp"
12
+
13
+
14
+ namespace ngfem
15
+ {
16
+ extern Complex alpha;
17
+ extern double pml_r;
18
+ extern double pml_x;
19
+
20
+ extern double pml_xmin[3];
21
+ extern double pml_xmax[3];
22
+
23
+ /*
24
+ rect_pml = 0 .... circular pml with radius pml_r
25
+ rect_pml = 1 .... square pml on square (-pml_x, pml_x)^d
26
+ rect_pml = 2 .... rectangular pml on (pml_xmin, pml_xmax) x (pml_ymin, pml_ymax) x (pml_zmin, pml_zmax)
27
+ */
28
+ extern int rect_pml;
29
+
30
+ // extern bool apply_deriv_alpha;
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+ template <>
39
+ MappedIntegrationPoint<2,2,Complex> ::
40
+ MappedIntegrationPoint (const IntegrationPoint & aip,
41
+ const ElementTransformation & aeltrans);
42
+ // LocalHeap & lh);
43
+
44
+
45
+ template <>
46
+ MappedIntegrationPoint<2,2,AutoDiff<1,Complex> > ::
47
+ MappedIntegrationPoint (const IntegrationPoint & aip,
48
+ const ElementTransformation & aeltrans);
49
+ // LocalHeap & lh);
50
+
51
+
52
+
53
+ extern void SetPMLParameters();
54
+
55
+
56
+ template <class DIFFOP, class DMATOP, class FEL = FiniteElement>
57
+ class PML_BDBIntegrator : public T_BDBIntegrator<DIFFOP,DMATOP,FEL>
58
+ {
59
+ public:
60
+
61
+ enum { DIM_SPACE = DIFFOP::DIM_SPACE };
62
+ enum { DIM_ELEMENT = DIFFOP::DIM_ELEMENT };
63
+ enum { DIM_DMAT = DIFFOP::DIM_DMAT };
64
+ enum { DIM = DIFFOP::DIM };
65
+
66
+ ///
67
+
68
+ PML_BDBIntegrator (const Array<shared_ptr<CoefficientFunction>> & coeffs)
69
+ : T_BDBIntegrator<DIFFOP,DMATOP,FEL> (coeffs)
70
+ {
71
+ SetPMLParameters();
72
+ }
73
+
74
+
75
+ PML_BDBIntegrator (const DMATOP & admat)
76
+ : T_BDBIntegrator<DIFFOP,DMATOP,FEL> (admat)
77
+ {
78
+ SetPMLParameters();
79
+ }
80
+
81
+ ///
82
+ virtual ~PML_BDBIntegrator ()
83
+ { ; }
84
+
85
+
86
+ ///
87
+ virtual void
88
+ CalcElementMatrix (const FiniteElement & bfel,
89
+ const ElementTransformation & eltrans,
90
+ FlatMatrix<double> elmat,
91
+ LocalHeap & locheap) const override
92
+ {
93
+ throw Exception ("PML cannot generate real matrices");
94
+ }
95
+
96
+ ///
97
+ virtual void
98
+ CalcElementMatrix (const FiniteElement & bfel,
99
+ const ElementTransformation & eltrans,
100
+ FlatMatrix<Complex> elmat,
101
+ LocalHeap & locheap) const override
102
+ {
103
+ try
104
+ {
105
+ const FEL & fel = static_cast<const FEL&> (bfel);
106
+ int ndof = fel.GetNDof();
107
+
108
+ elmat = 0;
109
+
110
+ FlatMatrixFixHeight<DIM_DMAT, Complex> bmat (ndof * DIM, locheap);
111
+ FlatMatrixFixHeight<DIM_DMAT, Complex> dbmat (ndof * DIM, locheap);
112
+
113
+ Mat<DIM_DMAT,DIM_DMAT, Complex> dmat;
114
+
115
+ const IntegrationRule & ir = this->GetIntegrationRule (fel);
116
+
117
+ for (int i = 0; i < ir.GetNIP(); i++)
118
+ {
119
+ HeapReset hr (locheap);
120
+
121
+ MappedIntegrationPoint<DIM_ELEMENT,DIM_SPACE,Complex>
122
+ sip(ir[i], eltrans);
123
+ MappedIntegrationPoint<DIM_ELEMENT,DIM_SPACE,double>
124
+ sip_real(ir[i], eltrans);
125
+
126
+ DIFFOP::GenerateMatrix (fel, sip, bmat, locheap);
127
+ this->dmatop.GenerateMatrix (fel, sip_real, dmat, locheap);
128
+
129
+ Complex fac = sip.GetJacobiDet() * sip.IP().Weight();
130
+
131
+ dmat *= fac;
132
+ dbmat = dmat * bmat;
133
+ // elmat += Trans (bmat) * dbmat;
134
+ /*
135
+ if (DMATOP::SYMMETRIC)
136
+ // FastMat<DIM_DMAT> (elmat.Height(), &dbmat(0,0), &bmat(0,0), &elmat(0,0));
137
+ FastMat<DIM_DMAT> (dbmat, bmat, elmat);
138
+ else
139
+ */
140
+ elmat += Trans (bmat) * dbmat;
141
+ }
142
+ }
143
+
144
+ catch (Exception & e)
145
+ {
146
+ e.Append ("in CalcElementMatrix, type = ");
147
+ e.Append (typeid(*this).name());
148
+ e.Append ("\n");
149
+ throw;
150
+ }
151
+ catch (exception & e)
152
+ {
153
+ Exception e2(e.what());
154
+ e2.Append ("\nin CalcElementMatrix, type = ");
155
+ e2.Append (typeid(*this).name());
156
+ e2.Append ("\n");
157
+ throw e2;
158
+ }
159
+ }
160
+
161
+ virtual void
162
+ CalcFlux (const FiniteElement & fel,
163
+ const BaseMappedIntegrationPoint & bmip,
164
+ BareSliceVector<Complex> elx,
165
+ FlatVector<Complex> flux,
166
+ bool applyd,
167
+ LocalHeap & lh) const override
168
+ {
169
+ HeapReset hr(lh);
170
+ MappedIntegrationPoint<DIM_ELEMENT,DIM_SPACE,Complex>
171
+ mip(bmip.IP(), bmip.GetTransformation());
172
+ // cout << "bmip.jacobi = " << static_cast<const MappedIntegrationPoint<3,3>&> (bmip).GetJacobiDet() << endl;
173
+ // cout << "mip.jacobi = " << mip.GetJacobiDet() << endl;
174
+
175
+ DIFFOP::Apply (fel, mip, elx, flux, lh);
176
+
177
+ FlatVec<DMATOP::DIM_DMAT,Complex> hflux(&flux(0));
178
+ if (applyd)
179
+ this->dmatop.Apply1 (fel, mip, hflux, lh);
180
+ }
181
+
182
+
183
+ virtual void
184
+ ApplyElementMatrix (const FiniteElement & bfel,
185
+ const ElementTransformation & eltrans,
186
+ const FlatVector<double> elx,
187
+ FlatVector<double> ely,
188
+ void * precomputed,
189
+ LocalHeap & locheap) const override
190
+ { ; }
191
+
192
+
193
+ virtual void
194
+ ApplyElementMatrix (const FiniteElement & bfel,
195
+ const ElementTransformation & eltrans,
196
+ const FlatVector<Complex> elx,
197
+ FlatVector<Complex> ely,
198
+ void * precomputed,
199
+ LocalHeap & locheap) const override
200
+ {
201
+ const FEL & fel = static_cast<const FEL&> (bfel);
202
+ int ndof = fel.GetNDof ();
203
+
204
+ ely = 0;
205
+
206
+
207
+ // if (!apply_deriv_alpha)
208
+ {
209
+ Vec<DIM_DMAT,Complex> hv1;
210
+ Vec<DIM_DMAT,Complex> hv2;
211
+
212
+ FlatVector<Complex> hely (ndof*DIM, locheap);
213
+ const IntegrationRule & ir = this->GetIntegrationRule (fel);
214
+
215
+
216
+ for (int i = 0; i < ir.GetNIP(); i++)
217
+ {
218
+ MappedIntegrationPoint<DIM_ELEMENT,DIM_SPACE,Complex>
219
+ sip(ir[i], eltrans);
220
+
221
+ MappedIntegrationPoint<DIM_ELEMENT,DIM_SPACE,double>
222
+ sip_real (ir[i], eltrans);
223
+
224
+ DIFFOP::Apply (fel, sip, elx, hv1, locheap);
225
+ this -> dmatop.Apply (fel, sip_real, hv1, hv2, locheap);
226
+ DIFFOP::ApplyTrans (fel, sip, hv2, hely, locheap);
227
+
228
+ Complex fac = sip.GetJacobiDet() * sip.IP().Weight();
229
+ ely += fac * hely;
230
+ }
231
+ }
232
+ /*
233
+ else
234
+ {
235
+ Vec<DIM_DMAT, AutoDiff<1,Complex> > hv1;
236
+ Vec<DIM_DMAT, AutoDiff<1,Complex> > hv2;
237
+
238
+ FlatVector<AutoDiff<1,Complex> > hely (ndof*DIM, locheap);
239
+ FlatVector<AutoDiff<1,Complex> > helx (ndof*DIM, locheap);
240
+ const IntegrationRule & ir = this->GetIntegrationRule (fel);
241
+
242
+ for (int j = 0; j < helx.Size(); j++)
243
+ helx(j) = elx(j);
244
+
245
+ for (int i = 0; i < ir.GetNIP(); i++)
246
+ {
247
+ MappedIntegrationPoint<DIM_ELEMENT,DIM_SPACE,AutoDiff<1,Complex> >
248
+ sip(ir[i], eltrans);
249
+
250
+ MappedIntegrationPoint<DIM_ELEMENT,DIM_SPACE,double>
251
+ sip_real (ir[i], eltrans);
252
+
253
+ DIFFOP::Apply (fel, sip, helx, hv1, locheap);
254
+ this -> dmatop.Apply (fel, sip_real, hv1, hv2, locheap);
255
+ DIFFOP::ApplyTrans (fel, sip, hv2, hely, locheap);
256
+
257
+ AutoDiff<1,Complex> fac = sip.GetJacobiDet() * sip.IP().Weight();
258
+
259
+ for (int j = 0; j < hely.Size(); j++)
260
+ ely(j) += (fac * hely(j)).DValue(0);
261
+ }
262
+ }
263
+ */
264
+ }
265
+
266
+
267
+ ///
268
+ virtual int GetDimension () const override { return DIM; }
269
+ ///
270
+ virtual string Name () const override { return "PML-BDB integrator"; }
271
+ };
272
+
273
+ }
274
+
275
+ #endif