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,461 @@
1
+ #ifndef TPDIFFOP_HPP
2
+ #define TPDIFFOP_HPP
3
+
4
+ #include "diffop.hpp"
5
+
6
+
7
+ namespace ngfem
8
+ {
9
+ class TPDifferentialOperator : public DifferentialOperator
10
+ {
11
+ ArrayMem<shared_ptr<DifferentialOperator>,2> evaluators;
12
+ public:
13
+ NGS_DLL_HEADER TPDifferentialOperator() : DifferentialOperator(1,1,VOL,1) { ; }
14
+ NGS_DLL_HEADER TPDifferentialOperator(FlatArray<shared_ptr<DifferentialOperator> > aevaluators,int adim,int ablockdim,bool abnd,int adifforder) : DifferentialOperator(adim,ablockdim,abnd ? BND : VOL,adifforder)
15
+ {
16
+ evaluators.SetSize( aevaluators.Size() );
17
+ evaluators = aevaluators;
18
+ }
19
+ /// destructor
20
+ NGS_DLL_HEADER virtual ~TPDifferentialOperator () {}
21
+
22
+ virtual shared_ptr<DifferentialOperator> GetTrace() const override { return nullptr; }
23
+
24
+
25
+ virtual IntRange UsedDofs(const FiniteElement & fel) const override { return IntRange(0, fel.GetNDof()); }
26
+
27
+ virtual bool operator== (const TPDifferentialOperator & diffop2) const { return false; }
28
+ virtual bool operator== (const DifferentialOperator & diffop2) const override { return false; }
29
+
30
+ shared_ptr<DifferentialOperator> & GetEvaluators( int num)
31
+ {
32
+ return evaluators[num];
33
+ }
34
+ using DifferentialOperator::Apply;
35
+ NGS_DLL_HEADER virtual void
36
+ Apply (const FiniteElement & fel,
37
+ const BaseMappedIntegrationRule & mir,
38
+ BareSliceVector<double> x,
39
+ BareSliceMatrix<double> flux,
40
+ LocalHeap & lh) const override;
41
+
42
+ NGS_DLL_HEADER virtual void
43
+ ApplyTrans (const FiniteElement & fel,
44
+ const BaseMappedIntegrationRule & mir,
45
+ FlatMatrix<double> flux,
46
+ BareSliceVector<double> x,
47
+ LocalHeap & lh) const override;
48
+
49
+ NGS_DLL_HEADER virtual void
50
+ ApplyY(const FiniteElement &fel,
51
+ const BaseMappedIntegrationRule & miry,
52
+ FlatMatrix<double> flux,
53
+ SliceMatrix<double> x,
54
+ LocalHeap & lh) const;
55
+
56
+ NGS_DLL_HEADER virtual void
57
+ ApplyYTrans(const FiniteElement &fel,
58
+ const BaseMappedIntegrationRule & miry,
59
+ FlatMatrix<double> flux,
60
+ SliceMatrix<double> x,
61
+ LocalHeap & lh) const;
62
+
63
+ NGS_DLL_HEADER virtual void
64
+ ApplyX(const FiniteElement &fel,
65
+ const BaseMappedIntegrationRule & mirx,
66
+ FlatMatrix<double> flux,
67
+ SliceMatrix<double> x,
68
+ LocalHeap & lh) const;
69
+
70
+ NGS_DLL_HEADER virtual void
71
+ ApplyXTrans(const FiniteElement &fel,
72
+ const BaseMappedIntegrationRule & mirx,
73
+ FlatMatrix<double> flux,
74
+ SliceMatrix<double> x,
75
+ LocalHeap & lh) const;
76
+
77
+ /// calculates the matrix
78
+ NGS_DLL_HEADER virtual void
79
+ CalcMatrix (const FiniteElement & fel,
80
+ const BaseMappedIntegrationPoint & mip,
81
+ BareSliceMatrix<double,ColMajor> mat,
82
+ LocalHeap & lh) const override { throw Exception("2 not implemented"); }
83
+
84
+ NGS_DLL_HEADER virtual void
85
+ CalcMatrix (const FiniteElement & bfel,
86
+ const BaseMappedIntegrationPoint & bmip,
87
+ BareSliceMatrix<Complex,ColMajor> mat,
88
+ LocalHeap & lh) const override{ throw Exception("3 not implemented"); }
89
+
90
+ NGS_DLL_HEADER virtual void
91
+ CalcMatrix (const FiniteElement & fel,
92
+ const BaseMappedIntegrationRule & mir,
93
+ BareSliceMatrix<double,ColMajor> mat,
94
+ LocalHeap & lh) const override { throw Exception("4 not implemented"); }
95
+
96
+ NGS_DLL_HEADER virtual void
97
+ CalcMatrix (const FiniteElement & fel,
98
+ const BaseMappedIntegrationRule & mir,
99
+ BareSliceMatrix<Complex,ColMajor> mat,
100
+ LocalHeap & lh) const override { throw Exception("5 not implemented"); }
101
+
102
+ NGS_DLL_HEADER virtual void
103
+ Apply (const FiniteElement & fel,
104
+ const BaseMappedIntegrationPoint & mip,
105
+ BareSliceVector<double> x,
106
+ FlatVector<double> flux,
107
+ LocalHeap & lh) const override { throw Exception("6 not implemented"); }
108
+
109
+ NGS_DLL_HEADER virtual void
110
+ Apply (const FiniteElement & fel,
111
+ const BaseMappedIntegrationPoint & mip,
112
+ BareSliceVector<Complex> x,
113
+ FlatVector<Complex> flux,
114
+ LocalHeap & lh) const override { throw Exception("8 not implemented"); }
115
+
116
+ NGS_DLL_HEADER virtual void
117
+ Apply (const FiniteElement & fel,
118
+ const BaseMappedIntegrationRule & mir,
119
+ BareSliceVector<Complex> x,
120
+ BareSliceMatrix<Complex> flux,
121
+ LocalHeap & lh) const override { throw Exception("9 not implemented"); }
122
+
123
+ NGS_DLL_HEADER virtual void
124
+ Apply (const FiniteElement & bfel,
125
+ const SIMD_BaseMappedIntegrationRule & bmir,
126
+ BareSliceVector<double> x,
127
+ BareSliceMatrix<SIMD<double>> flux) const override { throw ExceptionNOSIMD("nosimd"); }
128
+ // LocalHeap & lh) const { throw Exception("not implemented"); }
129
+
130
+ NGS_DLL_HEADER virtual void
131
+ ApplyTrans (const FiniteElement & fel,
132
+ const BaseMappedIntegrationPoint & mip,
133
+ FlatVector<double> flux,
134
+ BareSliceVector<double> x,
135
+ LocalHeap & lh) const override { throw Exception("11 not implemented"); }
136
+
137
+ NGS_DLL_HEADER virtual void
138
+ ApplyTrans (const FiniteElement & fel,
139
+ const BaseMappedIntegrationPoint & mip,
140
+ FlatVector<Complex> flux,
141
+ BareSliceVector<Complex> x,
142
+ LocalHeap & lh) const override { throw Exception("12 not implemented"); }
143
+
144
+ NGS_DLL_HEADER virtual void
145
+ ApplyTrans (const FiniteElement & fel,
146
+ const BaseMappedIntegrationRule & mir,
147
+ FlatMatrix<Complex> flux,
148
+ BareSliceVector<Complex> x,
149
+ LocalHeap & lh) const override { throw Exception("13 not implemented"); }
150
+
151
+ NGS_DLL_HEADER virtual void
152
+ AddTrans (const FiniteElement & bfel,
153
+ const SIMD_BaseMappedIntegrationRule & bmir,
154
+ BareSliceMatrix<SIMD<double>> flux,
155
+ BareSliceVector<double> x) const override { throw ExceptionNOSIMD("nosimd"); }
156
+ // LocalHeap & lh) const;
157
+ };
158
+
159
+
160
+ class TPBlockDifferentialOperator : public BlockDifferentialOperator
161
+ {
162
+ //ArrayMem<shared_ptr<DifferentialOperator>,2> evaluators;
163
+ //shared_ptr<DifferentialOperator> diffop;
164
+ //int blockdim;
165
+ public:
166
+ //NGS_DLL_HEADER TPBlockDifferentialOperator() : DifferentialOperator(1,1,VOL,1) { ; }
167
+ NGS_DLL_HEADER TPBlockDifferentialOperator(shared_ptr<DifferentialOperator> adiffop,int ablockdim) : /*diffop(adiffop), blockdim(ablockdim),*/ BlockDifferentialOperator(adiffop,ablockdim)
168
+ { ; }
169
+ /// destructor
170
+ NGS_DLL_HEADER virtual ~TPBlockDifferentialOperator () {}
171
+
172
+ virtual IntRange UsedDofs(const FiniteElement & fel) const override { return IntRange(0, fel.GetNDof()); }
173
+
174
+ virtual bool operator== (const DifferentialOperator & diffop2) const override { return false; }
175
+
176
+ //int BlockDim() const { return blockdim; }
177
+
178
+ shared_ptr<DifferentialOperator> & GetEvaluators( int num)
179
+ {
180
+ return dynamic_cast<TPDifferentialOperator*>(diffop.get())->GetEvaluators(num);
181
+ }
182
+
183
+ NGS_DLL_HEADER virtual void
184
+ Apply (const FiniteElement & fel,
185
+ const BaseMappedIntegrationRule & mir,
186
+ BareSliceVector<double> x,
187
+ BareSliceMatrix<double> flux,
188
+ LocalHeap & lh) const override;
189
+
190
+ NGS_DLL_HEADER virtual void
191
+ ApplyTrans (const FiniteElement & fel,
192
+ const BaseMappedIntegrationRule & mir,
193
+ FlatMatrix<double> flux,
194
+ BareSliceVector<double> x,
195
+ LocalHeap & lh) const override;
196
+
197
+ NGS_DLL_HEADER virtual void
198
+ ApplyY(const FiniteElement &fel,
199
+ const BaseMappedIntegrationRule & miry,
200
+ FlatMatrix<double> flux,
201
+ SliceMatrix<double> x,
202
+ LocalHeap & lh) const;
203
+
204
+ NGS_DLL_HEADER virtual void
205
+ ApplyYTrans(const FiniteElement &fel,
206
+ const BaseMappedIntegrationRule & miry,
207
+ FlatMatrix<double> flux,
208
+ SliceMatrix<double> x,
209
+ LocalHeap & lh) const;
210
+
211
+ NGS_DLL_HEADER virtual void
212
+ ApplyX(const FiniteElement &fel,
213
+ const BaseMappedIntegrationRule & mirx,
214
+ FlatMatrix<double> flux,
215
+ SliceMatrix<double> x,
216
+ LocalHeap & lh) const;
217
+
218
+ NGS_DLL_HEADER virtual void
219
+ ApplyXTrans(const FiniteElement &fel,
220
+ const BaseMappedIntegrationRule & mirx,
221
+ FlatMatrix<double> flux,
222
+ SliceMatrix<double> x,
223
+ LocalHeap & lh) const;
224
+
225
+ /// calculates the matrix
226
+ NGS_DLL_HEADER virtual void
227
+ CalcMatrix (const FiniteElement & fel,
228
+ const BaseMappedIntegrationPoint & mip,
229
+ BareSliceMatrix<double,ColMajor> mat,
230
+ LocalHeap & lh) const override { throw Exception("2 not implemented"); }
231
+
232
+ using BlockDifferentialOperator::CalcMatrix;
233
+ NGS_DLL_HEADER virtual void
234
+ CalcMatrix (const FiniteElement & bfel,
235
+ const BaseMappedIntegrationPoint & bmip,
236
+ BareSliceMatrix<Complex,ColMajor> mat,
237
+ LocalHeap & lh) const override { throw Exception("3 not implemented"); }
238
+
239
+ NGS_DLL_HEADER virtual void
240
+ CalcMatrix (const FiniteElement & fel,
241
+ const BaseMappedIntegrationRule & mir,
242
+ BareSliceMatrix<double,ColMajor> mat,
243
+ LocalHeap & lh) const override { throw Exception("4 not implemented"); }
244
+
245
+ NGS_DLL_HEADER virtual void
246
+ CalcMatrix (const FiniteElement & fel,
247
+ const BaseMappedIntegrationRule & mir,
248
+ BareSliceMatrix<Complex,ColMajor> mat,
249
+ LocalHeap & lh) const override { throw Exception("5 not implemented"); }
250
+
251
+ NGS_DLL_HEADER virtual void
252
+ Apply (const FiniteElement & fel,
253
+ const BaseMappedIntegrationPoint & mip,
254
+ BareSliceVector<double> x,
255
+ FlatVector<double> flux,
256
+ LocalHeap & lh) const override { throw Exception("6 not implemented"); }
257
+
258
+ NGS_DLL_HEADER virtual void
259
+ Apply (const FiniteElement & fel,
260
+ const BaseMappedIntegrationPoint & mip,
261
+ BareSliceVector<Complex> x,
262
+ FlatVector<Complex> flux,
263
+ LocalHeap & lh) const override { throw Exception("8 not implemented"); }
264
+
265
+ NGS_DLL_HEADER virtual void
266
+ Apply (const FiniteElement & fel,
267
+ const BaseMappedIntegrationRule & mir,
268
+ BareSliceVector<Complex> x,
269
+ BareSliceMatrix<Complex> flux,
270
+ LocalHeap & lh) const override { throw Exception("9 not implemented"); }
271
+
272
+ NGS_DLL_HEADER virtual void
273
+ Apply (const FiniteElement & bfel,
274
+ const SIMD_BaseMappedIntegrationRule & bmir,
275
+ BareSliceVector<double> x,
276
+ BareSliceMatrix<SIMD<double>> flux) const override { throw ExceptionNOSIMD("nosimd"); }
277
+ // LocalHeap & lh) const { throw Exception("not implemented"); }
278
+
279
+ NGS_DLL_HEADER virtual void
280
+ ApplyTrans (const FiniteElement & fel,
281
+ const BaseMappedIntegrationPoint & mip,
282
+ FlatVector<double> flux,
283
+ BareSliceVector<double> x,
284
+ LocalHeap & lh) const override { throw Exception("11 not implemented"); }
285
+
286
+ NGS_DLL_HEADER virtual void
287
+ ApplyTrans (const FiniteElement & fel,
288
+ const BaseMappedIntegrationPoint & mip,
289
+ FlatVector<Complex> flux,
290
+ BareSliceVector<Complex> x,
291
+ LocalHeap & lh) const override { throw Exception("12 not implemented"); }
292
+
293
+ NGS_DLL_HEADER virtual void
294
+ ApplyTrans (const FiniteElement & fel,
295
+ const BaseMappedIntegrationRule & mir,
296
+ FlatMatrix<Complex> flux,
297
+ BareSliceVector<Complex> x,
298
+ LocalHeap & lh) const override { throw Exception("13 not implemented"); }
299
+
300
+ NGS_DLL_HEADER virtual void
301
+ AddTrans (const FiniteElement & bfel,
302
+ const SIMD_BaseMappedIntegrationRule & bmir,
303
+ BareSliceMatrix<SIMD<double>> flux,
304
+ BareSliceVector<double> x) const override { throw ExceptionNOSIMD("nosimd"); }
305
+ // LocalHeap & lh) const;
306
+ };
307
+
308
+
309
+
310
+
311
+
312
+
313
+ class TPBlockDifferentialOperator2 : public BlockDifferentialOperator
314
+ {
315
+ //ArrayMem<shared_ptr<DifferentialOperator>,2> evaluators;
316
+ //shared_ptr<DifferentialOperator> diffop;
317
+ //int blockdim;
318
+ public:
319
+ //NGS_DLL_HEADER TPBlockDifferentialOperator() : DifferentialOperator(1,1,VOL,1) { ; }
320
+ NGS_DLL_HEADER TPBlockDifferentialOperator2(shared_ptr<DifferentialOperator> adiffop,int ablockdim) : /*diffop(adiffop), blockdim(ablockdim),*/ BlockDifferentialOperator(adiffop,ablockdim)
321
+ { ; }
322
+ /// destructor
323
+ NGS_DLL_HEADER virtual ~TPBlockDifferentialOperator2 () {}
324
+
325
+ virtual IntRange UsedDofs(const FiniteElement & fel) const override { return IntRange(0, fel.GetNDof()); }
326
+
327
+ virtual bool operator== (const DifferentialOperator & diffop2) const override { return false; }
328
+
329
+ //int BlockDim() const { return blockdim; }
330
+
331
+ shared_ptr<DifferentialOperator> & GetEvaluators( int num)
332
+ {
333
+ return dynamic_cast<TPDifferentialOperator*>(diffop.get())->GetEvaluators(num);
334
+ }
335
+
336
+ NGS_DLL_HEADER virtual void
337
+ Apply (const FiniteElement & fel,
338
+ const BaseMappedIntegrationRule & mir,
339
+ BareSliceVector<double> x,
340
+ BareSliceMatrix<double> flux,
341
+ LocalHeap & lh) const override;
342
+
343
+ NGS_DLL_HEADER virtual void
344
+ ApplyTrans (const FiniteElement & fel,
345
+ const BaseMappedIntegrationRule & mir,
346
+ FlatMatrix<double> flux,
347
+ BareSliceVector<double> x,
348
+ LocalHeap & lh) const override;
349
+
350
+ NGS_DLL_HEADER virtual void
351
+ ApplyY(const FiniteElement &fel,
352
+ const BaseMappedIntegrationRule & miry,
353
+ FlatMatrix<double> flux,
354
+ SliceMatrix<double> x,
355
+ LocalHeap & lh) const;
356
+
357
+ NGS_DLL_HEADER virtual void
358
+ ApplyYTrans(const FiniteElement &fel,
359
+ const BaseMappedIntegrationRule & miry,
360
+ FlatMatrix<double> flux,
361
+ SliceMatrix<double> x,
362
+ LocalHeap & lh) const;
363
+
364
+ NGS_DLL_HEADER virtual void
365
+ ApplyX(const FiniteElement &fel,
366
+ const BaseMappedIntegrationRule & mirx,
367
+ FlatMatrix<double> flux,
368
+ SliceMatrix<double> x,
369
+ LocalHeap & lh) const;
370
+
371
+ NGS_DLL_HEADER virtual void
372
+ ApplyXTrans(const FiniteElement &fel,
373
+ const BaseMappedIntegrationRule & mirx,
374
+ FlatMatrix<double> flux,
375
+ SliceMatrix<double> x,
376
+ LocalHeap & lh) const;
377
+
378
+ /// calculates the matrix
379
+ using BlockDifferentialOperator::CalcMatrix;
380
+ NGS_DLL_HEADER virtual void
381
+ CalcMatrix (const FiniteElement & fel,
382
+ const BaseMappedIntegrationPoint & mip,
383
+ BareSliceMatrix<double,ColMajor> mat,
384
+ LocalHeap & lh) const override { throw Exception("2 not implemented"); }
385
+
386
+ NGS_DLL_HEADER virtual void
387
+ CalcMatrix (const FiniteElement & bfel,
388
+ const BaseMappedIntegrationPoint & bmip,
389
+ BareSliceMatrix<Complex,ColMajor> mat,
390
+ LocalHeap & lh) const override { throw Exception("3 not implemented"); }
391
+
392
+ NGS_DLL_HEADER virtual void
393
+ CalcMatrix (const FiniteElement & fel,
394
+ const BaseMappedIntegrationRule & mir,
395
+ BareSliceMatrix<double,ColMajor> mat,
396
+ LocalHeap & lh) const override { throw Exception("4 not implemented"); }
397
+
398
+ NGS_DLL_HEADER virtual void
399
+ CalcMatrix (const FiniteElement & fel,
400
+ const BaseMappedIntegrationRule & mir,
401
+ BareSliceMatrix<Complex,ColMajor> mat,
402
+ LocalHeap & lh) const override { throw Exception("5 not implemented"); }
403
+
404
+ NGS_DLL_HEADER virtual void
405
+ Apply (const FiniteElement & fel,
406
+ const BaseMappedIntegrationPoint & mip,
407
+ BareSliceVector<double> x,
408
+ FlatVector<double> flux,
409
+ LocalHeap & lh) const override { throw Exception("6 not implemented"); }
410
+
411
+ NGS_DLL_HEADER virtual void
412
+ Apply (const FiniteElement & fel,
413
+ const BaseMappedIntegrationPoint & mip,
414
+ BareSliceVector<Complex> x,
415
+ FlatVector<Complex> flux,
416
+ LocalHeap & lh) const override { throw Exception("8 not implemented"); }
417
+
418
+ NGS_DLL_HEADER virtual void
419
+ Apply (const FiniteElement & fel,
420
+ const BaseMappedIntegrationRule & mir,
421
+ BareSliceVector<Complex> x,
422
+ BareSliceMatrix<Complex> flux,
423
+ LocalHeap & lh) const override{ throw Exception("9 not implemented"); }
424
+
425
+ NGS_DLL_HEADER virtual void
426
+ Apply (const FiniteElement & bfel,
427
+ const SIMD_BaseMappedIntegrationRule & bmir,
428
+ BareSliceVector<double> x,
429
+ BareSliceMatrix<SIMD<double>> flux) const override { throw ExceptionNOSIMD("nosimd"); }
430
+ // LocalHeap & lh) const { throw Exception("not implemented"); }
431
+
432
+ NGS_DLL_HEADER virtual void
433
+ ApplyTrans (const FiniteElement & fel,
434
+ const BaseMappedIntegrationPoint & mip,
435
+ FlatVector<double> flux,
436
+ BareSliceVector<double> x,
437
+ LocalHeap & lh) const override { throw Exception("11 not implemented"); }
438
+
439
+ NGS_DLL_HEADER virtual void
440
+ ApplyTrans (const FiniteElement & fel,
441
+ const BaseMappedIntegrationPoint & mip,
442
+ FlatVector<Complex> flux,
443
+ BareSliceVector<Complex> x,
444
+ LocalHeap & lh) const override { throw Exception("12 not implemented"); }
445
+
446
+ NGS_DLL_HEADER virtual void
447
+ ApplyTrans (const FiniteElement & fel,
448
+ const BaseMappedIntegrationRule & mir,
449
+ FlatMatrix<Complex> flux,
450
+ BareSliceVector<Complex> x,
451
+ LocalHeap & lh) const override { throw Exception("13 not implemented"); }
452
+
453
+ NGS_DLL_HEADER virtual void
454
+ AddTrans (const FiniteElement & bfel,
455
+ const SIMD_BaseMappedIntegrationRule & bmir,
456
+ BareSliceMatrix<SIMD<double>> flux,
457
+ BareSliceVector<double> x) const override { throw ExceptionNOSIMD("nosimd"); }
458
+ // LocalHeap & lh) const;
459
+ };
460
+ }
461
+ #endif // TPDIFFOP_HPP
@@ -0,0 +1,133 @@
1
+ #ifndef FILE_TPFES
2
+ #define FILE_TPFES
3
+
4
+
5
+ #include "fespace.hpp"
6
+
7
+
8
+ namespace ngcomp
9
+ {
10
+ ///////////////////////////////////////////////////////////////////////////////////////
11
+ class NGS_DLL_HEADER TPHighOrderFESpace : public FESpace
12
+ {
13
+ // Number of Elements
14
+ int nel;
15
+ //int nsel,nselx,nsely;
16
+ // Total number of degrees of Freedom
17
+ int ndof;
18
+ // Number of meshes (supports only 2 at the moment)
19
+ int nmeshes;
20
+ // ndofs in each space
21
+ Array<int> ndofs;
22
+ Array<int> nels;
23
+ Array<int> nfacets;
24
+ Array<int> first_element_dof;
25
+ Array<shared_ptr<FESpace>> fespaces;
26
+ Array<shared_ptr<FESpace>> spaces_y;
27
+ shared_ptr<FESpace> space_x;
28
+ Array<shared_ptr<MeshAccess>> meshes;
29
+ bool element_wise;
30
+ double nelsyinverse;
31
+ public:
32
+ INLINE int GetIndex( FlatArray<int> indices) const
33
+ {
34
+ return indices[0]*nels[1] + indices[1];
35
+ }
36
+ INLINE int GetIndex( int index0,int index1) const
37
+ {
38
+ return index0*nels[1] + index1;
39
+ }
40
+ INLINE void GetIndices( int index, FlatArray<int> indices) const
41
+ {
42
+ indices[0] = int(index*nelsyinverse);
43
+ indices[1] = index-nels[1]*indices[0];
44
+ }
45
+ INLINE const shared_ptr<FESpace> & Space(int i) const {
46
+ if(i == -1)
47
+ return space_x;
48
+ else
49
+ if (spaces_y.Size() == 1)
50
+ return spaces_y[0];
51
+ else
52
+ return spaces_y[i];
53
+ }
54
+ INLINE const Array<shared_ptr<FESpace> > & Spaces(int i) const
55
+ {
56
+ fespaces[0] = space_x;
57
+ if(spaces_y.Size() == 1)
58
+ fespaces[1] = spaces_y[0];
59
+ else
60
+ fespaces[1] = spaces_y[i];
61
+ return fespaces;
62
+ }
63
+ int GetNMeshes() {return nmeshes;}
64
+ TPHighOrderFESpace (FlatArray<shared_ptr<FESpace>> spaces, const Flags & flags, bool parseflags=false, Array<int> * el_counts = nullptr);
65
+
66
+ TPHighOrderFESpace (shared_ptr<FESpace> space_x,FlatArray<shared_ptr<FESpace>> spaces_y, const Flags & flags, bool parseflags=false);
67
+
68
+ virtual SymbolTable<shared_ptr<DifferentialOperator>> GetAdditionalEvaluators () const override;
69
+ ///
70
+ virtual ~TPHighOrderFESpace ();
71
+
72
+ virtual string GetClassName () const override
73
+ {
74
+ return "TPHighOrderFESpace";
75
+ }
76
+ const Array<int> & GetNels() const
77
+ {
78
+ return nels;
79
+ }
80
+ const Array<int> & GetNFacets() const
81
+ {
82
+ return nfacets;
83
+ }
84
+ ///
85
+ void FinalizeUpdate() override;
86
+ void Update() override;
87
+ ///
88
+ virtual void UpdateDofTables() override;
89
+ ///
90
+ virtual void UpdateCouplingDofArray() override;
91
+ ///
92
+ virtual size_t GetNDof () const throw() override;
93
+ ///
94
+ virtual size_t GetNDofLevel (int level) const override;
95
+ ///
96
+ virtual FiniteElement & GetFE (ElementId ei, Allocator & alloc) const override;
97
+
98
+ ngfem::ElementTransformation & GetTrafo (ElementId ei, Allocator & lh) const;
99
+
100
+ using FESpace::GetFE;
101
+ // virtual const FiniteElement & GetFE (ElementId ei, LocalHeap & lh) const;
102
+ template <ELEMENT_TYPE ET>
103
+ FiniteElement & T_GetFE (int elnr, Allocator & alloc) const;
104
+
105
+ void GetSliceDofNrs(ngfem::ElementId ei, int direction, ngstd::Array<int>& dnums ,LocalHeap & lh) const;
106
+ ///
107
+ virtual int GetSpatialDimension() const override { return space_x->GetSpatialDimension() + spaces_y[0]->GetSpatialDimension();}
108
+ ///
109
+ virtual void GetDofRanges (ElementId ei, Array<IntRange> & dranges) const;
110
+
111
+ virtual void GetDofNrs(ngfem::ElementId ei, ngstd::Array<int>& dnums) const override;
112
+ ///
113
+ virtual shared_ptr<Table<int>> CreateSmoothingBlocks (const Flags & precflags) const override;
114
+ ///
115
+ void ReduceToXSpace(shared_ptr<GridFunction> gf_in, shared_ptr<GridFunction> gf_out,LocalHeap & lh,const function<void(shared_ptr<FESpace>,const FiniteElement &, const ElementTransformation & ,FlatVector<>,FlatVector<>,LocalHeap&)> & func);
116
+ void ProlongateFromXSpace(shared_ptr<GridFunction> gf_in, shared_ptr<GridFunction> gf_out, LocalHeap & lh);
117
+
118
+ virtual void SolveM (CoefficientFunction * rho, BaseVector & vec, Region * region,
119
+ LocalHeap & lh) const override;
120
+ };
121
+
122
+ extern void IterateElementsTP (const FESpace & fes,
123
+ VorB vb,
124
+ LocalHeap & clh,
125
+ const function<void(ElementId,ElementId,LocalHeap&)> & func);
126
+ extern void Transfer2StdMesh(const GridFunction * gfutp, GridFunction* gfustd,LocalHeap & lh);
127
+ extern void Transfer2TPMesh(const CoefficientFunction * cfstd, GridFunction* gfutp,LocalHeap & lh);
128
+
129
+
130
+ }
131
+
132
+
133
+ #endif