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,72 @@
1
+ from ngsolve.TensorProductTools import *
2
+ from ngsolve.comp import *
3
+ from ngsolve import *
4
+ from netgen.geom2d import unit_square
5
+ import netgen.gui
6
+
7
+ mesh1 = Mesh(unit_square.GenerateMesh(maxh=0.15))
8
+ mesh2 = Mesh(SegMesh(20,0,1))
9
+
10
+ tpmesh = Mesh(MakeTensorProductMesh(mesh1,mesh2))
11
+ Draw(tpmesh)
12
+
13
+ n=3
14
+ m=3
15
+
16
+ fesx = L2(mesh1,order=n)
17
+ fesy = L2(mesh2,order=m)
18
+ tpfes = TensorProductFESpace([fesx,fesy])
19
+
20
+ fes = L2(tpmesh,order=n)
21
+
22
+ u = tpfes.TrialFunction()
23
+ v = tpfes.TestFunction()
24
+
25
+ vx = v.Operator("gradx")
26
+ vy = v.Operator("grady")
27
+
28
+ b = CoefficientFunction( (0,0,1) )
29
+
30
+ uin = CoefficientFunction(0.0)
31
+
32
+ gradv = CoefficientFunction((vx,vy))
33
+
34
+ a = BilinearForm(tpfes)
35
+
36
+ n = CoefficientFunction((ProlongateCoefficientFunction(specialcf.normal(2)[0],1,tpfes),ProlongateCoefficientFunction(specialcf.normal(2)[1],1,tpfes),ProlongateCoefficientFunction(specialcf.normal(1)[0],0,tpfes)))
37
+ bn = b*n
38
+
39
+ a += SymbolicTPBFI ( -u * b*gradv )
40
+ a += SymbolicTPBFI ( (bn) *IfPos(bn, u, u.Other(bnd = uin )) * (v-v.Other(bnd = 0.0)), VOL, skeleton=True)
41
+ a += SymbolicTPBFI ( (bn) *IfPos(bn, u, u.Other(bnd = uin )) * (v), BND, skeleton=True)
42
+
43
+
44
+ u = GridFunction(tpfes)
45
+ v = GridFunction(tpfes)
46
+
47
+
48
+ uu = GridFunction(fes)
49
+
50
+ u.Set(exp(ProlongateCoefficientFunction(-70*(x-0.125)*(x-0.125)-70*(y-0.125)*(y-0.125),1,tpfes)+ProlongateCoefficientFunction(-70*(x-0.75)*(x-0.75),0,tpfes) ))
51
+ Transfer2StdMesh(u,uu)
52
+ Draw(uu,sd=3,autoscale=False)
53
+
54
+ h = u.vec.CreateVector()
55
+ print('To start the simulation type Run(n_steps)!')
56
+ def Step():
57
+ a.Apply(u.vec,v.vec)
58
+ h.data = 0.001*v.vec.data
59
+ tpfes.SolveM(rho=CoefficientFunction(1), vec = h)
60
+ u.vec.data-=h.data
61
+ Transfer2StdMesh(u,uu)
62
+ Redraw()
63
+
64
+ def Run(nsteps):
65
+ with TaskManager():
66
+ for i in range(nsteps):
67
+ print("Step ",i+1, "/",nsteps)
68
+ Step()
69
+
70
+ Run(100)
71
+ for t in Timers():
72
+ print(t["counts"], t["time"], t["name"])
@@ -0,0 +1,66 @@
1
+ from ngsolve.TensorProductTools import *
2
+ from ngsolve.comp import *
3
+ from ngsolve import *
4
+ from netgen.geom2d import unit_square
5
+ import netgen.gui
6
+
7
+ mesh1 = Mesh(unit_square.GenerateMesh(maxh=0.15))
8
+ mesh2 = Mesh(MakeHexagonalMesh2D(maxh=0.2))
9
+ n=4
10
+ m=4
11
+ SetHeapSize(1000000000)
12
+
13
+ fesx = L2(mesh1,order=n)
14
+ fesy = L2(mesh2,order=m)
15
+ tpfes = TensorProductFESpace([fesx,fesy])
16
+
17
+ u = tpfes.TrialFunction()
18
+ v = tpfes.TestFunction()
19
+
20
+ vx = v.Operator("gradx")
21
+ vy = v.Operator("grady")
22
+
23
+ b = CoefficientFunction( ( ProlongateCoefficientFunction(y-0.5,1,tpfes),ProlongateCoefficientFunction(0.5-x,1,tpfes),1,1 ) )
24
+
25
+ uin = CoefficientFunction(0.0)
26
+
27
+ gradv = CoefficientFunction((vx,vy))
28
+
29
+ a = BilinearForm(tpfes)
30
+
31
+ n = CoefficientFunction((ProlongateCoefficientFunction(specialcf.normal(2)[0],1,tpfes),ProlongateCoefficientFunction(specialcf.normal(2)[1],1,tpfes),ProlongateCoefficientFunction(specialcf.normal(2)[0],0,tpfes),ProlongateCoefficientFunction(specialcf.normal(2)[1],0,tpfes)))
32
+ bn = b*n
33
+
34
+ a += SymbolicTPBFI ( -u * b*gradv )
35
+ a += SymbolicTPBFI ( (bn) *IfPos(bn, u, u.Other(bnd = uin )) * (v-v.Other(bnd = 0.0)), VOL, skeleton=True)
36
+ a += SymbolicTPBFI ( (bn) *IfPos(bn, u, u.Other(bnd = uin )) * (v), BND, skeleton=True)
37
+
38
+
39
+ u = GridFunction(tpfes)
40
+ v = GridFunction(tpfes)
41
+ print(1)
42
+ with TaskManager():
43
+ u.Set(exp(ProlongateCoefficientFunction(-90*(x-0.25)*(x-0.25)-90*(y-0.5)*(y-0.5),1,tpfes)+ProlongateCoefficientFunction(-70*(x-0.75)*(x-0.75)-70*(y-0.75)*(y-0.75),0,tpfes) ))
44
+ print(2)
45
+ rho = GridFunction(fesx,name="rho")
46
+ Draw(rho)
47
+ h = u.vec.CreateVector()
48
+ print('To start the simulation type Run(n_steps)!')
49
+
50
+ def Step():
51
+ a.Apply(u.vec,v.vec)
52
+ h.data = 0.005*v.vec.data
53
+ tpfes.SolveM(rho=CoefficientFunction(1), vec = h)
54
+ u.vec.data-=h.data
55
+ TensorProductIntegrate(u,rho)
56
+ Redraw()
57
+
58
+ def Run(nsteps):
59
+ with TaskManager():
60
+ for i in range(nsteps):
61
+ print("Step ",i+1, "/",nsteps)
62
+ Step()
63
+
64
+ Run(1000)
65
+ for t in Timers():
66
+ print(t["counts"], t["time"], t["name"])
@@ -0,0 +1,44 @@
1
+ #
2
+ # The Hellan-Herrmann-Johnson method for a Kirchhoff plate
3
+ #
4
+ # M. I. Comodi: The Hellan–Herrmann-Johnson Method
5
+ # Some error estimates and postprocessing. Math. Comp. 52, 17–39, 1989
6
+ #
7
+
8
+ from ngsolve import *
9
+ from netgen.geom2d import unit_square
10
+
11
+ mesh = Mesh (unit_square.GenerateMesh(maxh=0.05))
12
+ order = 3
13
+
14
+ V = HDivDiv(mesh, order=order-1)
15
+ Q = H1(mesh, order=order, dirichlet="left|right|top|bottom")
16
+ X = V*Q
17
+
18
+ print ("ndof-V:", V.ndof, ", ndof-Q:", Q.ndof)
19
+
20
+ sigma, u = X.TrialFunction()
21
+ tau, v = X.TestFunction()
22
+
23
+ n = specialcf.normal(2)
24
+
25
+ def tang(u): return u-(u*n)*n
26
+
27
+ a = BilinearForm(X, symmetric=True)
28
+ a += (InnerProduct (sigma, tau) + div(sigma)*grad(v) + div(tau)*grad(u) - 1e-10*u*v)*dx
29
+ a += (-(sigma*n) * tang(grad(v)) - (tau*n)*tang(grad(u)))*dx(element_boundary=True)
30
+ a.Assemble()
31
+
32
+ f = LinearForm(X)
33
+ f += 1 * v * dx
34
+ # f += Trace(tau.Trace()) * ds("bottom")
35
+ f.Assemble()
36
+
37
+ u = GridFunction(X)
38
+ u.vec.data = a.mat.Inverse(X.FreeDofs()) * f.vec
39
+
40
+ Draw (u.components[0], mesh, name="sigma")
41
+ Draw (u.components[1], mesh, name="disp")
42
+
43
+
44
+
@@ -0,0 +1,53 @@
1
+ from netgen.geom2d import unit_square
2
+ from ngsolve import *
3
+
4
+
5
+ ngsglobals.msg_level = 1
6
+ mesh = Mesh(unit_square.GenerateMesh(maxh=0.4))
7
+ for k in range(5):
8
+ mesh.Refine()
9
+
10
+
11
+ order = 3
12
+ fes1 = L2(mesh, order=order)
13
+ fes2 = FacetFESpace(mesh, order=order, dirichlet="bottom|right|top")
14
+
15
+ print ("element dofs: ", fes1.ndof)
16
+ print ("facet dofs: ", fes2.ndof)
17
+
18
+ fes = fes1*fes2
19
+
20
+ u,uhat = fes.TrialFunction()
21
+ v,vhat = fes.TestFunction()
22
+
23
+ n = specialcf.normal(mesh.dim)
24
+ h = specialcf.mesh_size
25
+
26
+ a = BilinearForm(fes, symmetric=True, condense = True)
27
+ a += grad(u) * grad(v) * dx
28
+ a += (grad(u)*n*(vhat-v)+grad(v)*n*(uhat-u)+10*order*order/h*(u-uhat)*(v-vhat))*dx(element_boundary=True)
29
+
30
+ c = Preconditioner(type="direct", bf=a, inverse = "sparsecholesky")
31
+ # c = Preconditioner(type="bddc", bf=a)
32
+
33
+ with TaskManager():
34
+ a.Assemble()
35
+ ainv = CGSolver(a.mat, c.mat)
36
+
37
+ f = LinearForm(fes)
38
+ f += 1*v*dx
39
+ f.Assemble()
40
+
41
+ u = GridFunction(fes)
42
+
43
+
44
+ f.vec.data += a.harmonic_extension_trans * f.vec
45
+
46
+ u.vec.data = ainv * f.vec
47
+
48
+ u.vec.data += a.harmonic_extension * u.vec
49
+ u.vec.data += a.inner_solve * f.vec
50
+
51
+ Draw (u.components[0], mesh, "sol")
52
+
53
+
@@ -0,0 +1,30 @@
1
+ from netgen.geom2d import unit_square
2
+ from ngsolve import *
3
+
4
+ ngsglobals.msg_level = 1
5
+
6
+ mesh = Mesh(unit_square.GenerateMesh(maxh=0.1))
7
+
8
+ order = 2
9
+ fes1 = HDiv(mesh, order=order)
10
+ fes2 = L2(mesh, order=order-1)
11
+
12
+ fes = fes1*fes2
13
+
14
+ sigma,u = fes.TrialFunction()
15
+ tau,v = fes.TestFunction()
16
+
17
+ a = BilinearForm(fes)
18
+ a += (sigma*tau + div(sigma)*v + div(tau)*u - 1e-10*u*v)*dx
19
+ # (regularization needed for direct solver)
20
+ a.Assemble()
21
+
22
+ f = LinearForm(fes)
23
+ f += -v*dx
24
+ f.Assemble()
25
+
26
+ u = GridFunction(fes)
27
+ u.vec.data = a.mat.Inverse(fes.FreeDofs()) * f.vec
28
+
29
+ Draw (u.components[0], mesh, "flux")
30
+ Draw (u.components[1], mesh, "sol")
@@ -0,0 +1,29 @@
1
+ from netgen.geom2d import unit_square
2
+ from ngsolve import *
3
+
4
+ m = Mesh (unit_square.GenerateMesh(maxh=0.3))
5
+
6
+ V = H1(m, order=3, dirichlet="left|right|top|bottom")
7
+ u = V.TrialFunction()
8
+ v = V.TestFunction()
9
+
10
+ a = BilinearForm(V)
11
+ a += ( grad(u) * grad(v) + 5*u*u*v- 1 * v)*dx
12
+
13
+ u = GridFunction(V)
14
+ r = u.vec.CreateVector()
15
+ w = u.vec.CreateVector()
16
+
17
+ for it in range(5):
18
+ print ("Iteration",it)
19
+ a.Apply(u.vec, r)
20
+ a.AssembleLinearization(u.vec)
21
+
22
+ w.data = a.mat.Inverse(V.FreeDofs()) * r.data
23
+ print ("|w| =", w.Norm())
24
+ u.vec.data -= w
25
+
26
+ Draw(u)
27
+ input("<press a key>")
28
+
29
+
@@ -0,0 +1,26 @@
1
+ from ngsolve import *
2
+ import netgen.geom2d
3
+
4
+ mesh = Mesh (netgen.geom2d.unit_square.GenerateMesh(maxh=0.1))
5
+
6
+ v = FESpace ("h1ho", mesh, order=4, dirichlet=[1])
7
+ v2 = L2(mesh,order=2)
8
+ u = GridFunction (v)
9
+ u2 = GridFunction(v)
10
+ vec = u.vec
11
+ data = [v,v2,u,u2,u.vec]
12
+
13
+ import pickle
14
+ pickler = pickle.Pickler(open ("1.dat", "wb"))
15
+ pickler.dump (data)
16
+ del pickler
17
+
18
+ unpickler = pickle.Unpickler(open("1.dat","rb"))
19
+ fes,fes2,w,w2,z = unpickler.load()
20
+
21
+ assert fes.mesh is fes2.mesh
22
+ assert w.space is w2.space
23
+
24
+ assert len(z) == len(u.vec)
25
+ for i in range(len(u.vec)):
26
+ assert u.vec[i] == z[i]
@@ -0,0 +1,31 @@
1
+ from netgen.geom2d import SplineGeometry
2
+ from ngsolve import *
3
+
4
+ geo = SplineGeometry()
5
+ geo.AddCircle( (0,0), 1.4, leftdomain=2)
6
+ geo.AddCircle( (0,0), 1, leftdomain=1, rightdomain=2)
7
+ geo.SetMaterial(1, "inner")
8
+ geo.SetMaterial(2, "pml")
9
+ mesh = Mesh(geo.GenerateMesh (maxh=0.1))
10
+
11
+ mesh.SetPML(pml.Radial(rad=1,alpha=1j,origin=(0,0)), "pml")
12
+
13
+ fes = H1(mesh, order=4, complex=True)
14
+ u = fes.TrialFunction()
15
+ v = fes.TestFunction()
16
+
17
+ omega = 10
18
+
19
+ a = BilinearForm(fes)
20
+ a += (grad(u)*grad(v)-omega*omega*u*v)*dx
21
+
22
+ f = LinearForm(fes)
23
+ f += exp(-20**2*((x-0.3)*(x-0.3)+y*y))*v*dx
24
+
25
+ a.Assemble()
26
+ f.Assemble()
27
+
28
+ gfu = GridFunction(fes)
29
+ gfu.vec.data = a.mat.Inverse() * f.vec
30
+
31
+ Draw(gfu)
@@ -0,0 +1,20 @@
1
+ from netgen.csg import unit_cube
2
+ from ngsolve import *
3
+
4
+ mesh = Mesh (unit_cube.GenerateMesh(maxh=0.4))
5
+ for l in range(3):
6
+ mesh.Refine()
7
+
8
+ fes = H1(mesh, order=3)
9
+ u,v = fes.TnT()
10
+ a = BilinearForm(fes)
11
+ a += grad(u) * grad(v) * dx
12
+
13
+
14
+ print('sequential assembly...')
15
+ a.Assemble()
16
+
17
+ print('parallel assembly...')
18
+ with TaskManager():
19
+ a.Assemble()
20
+
@@ -0,0 +1,47 @@
1
+ #
2
+ # The tangential-displacement normal-normal-stress continuous method for elasticity
3
+ #
4
+ # A.S. Pechstein and J. Schoeberl:
5
+ # Tangential-displacement and normal-normal-stress continuous mixed finite elements for elasticity.
6
+ # Mathematical Models and Methods in Applied Sciences 21(8), 1761–1782, 2011.
7
+ #
8
+
9
+ from ngsolve import *
10
+ from netgen.geom2d import SplineGeometry
11
+
12
+ geo = SplineGeometry()
13
+ geo.AddRectangle( (0, 0), (10, 1), bcs = ("bottom", "right", "top", "left"))
14
+ mesh = Mesh( geo.GenerateMesh(maxh=0.5))
15
+
16
+ order = 3
17
+ V = HDivDiv(mesh, order=order-1, dirichlet="bottom|right|top", plus = True)
18
+ Q = HCurl(mesh, order=order, dirichlet="left", type1 = True)
19
+ X = V*Q
20
+
21
+ print ("ndof-V:", V.ndof, ", ndof-Q:", Q.ndof)
22
+
23
+ sigma, u = X.TrialFunction()
24
+ tau, v = X.TestFunction()
25
+
26
+ n = specialcf.normal(2)
27
+
28
+ def tang(u): return u-(u*n)*n
29
+
30
+ a = BilinearForm(X, symmetric=True)
31
+ a += (InnerProduct (sigma, tau) + div(sigma)*v + div(tau)*u - 1e-10 * u*v)*dx
32
+ a += (-(sigma*n) * tang(v) - (tau*n)*tang(u))*dx(element_boundary=True)
33
+ a.Assemble()
34
+
35
+ f = LinearForm(X)
36
+ f += 1 * v[1] * dx
37
+ f.Assemble()
38
+
39
+ u = GridFunction(X)
40
+ u.vec.data = a.mat.Inverse(X.FreeDofs(), inverse="sparsecholesky") * f.vec
41
+
42
+ Draw (u.components[0], mesh, name="sigma")
43
+ Draw (u.components[1], mesh, name="disp")
44
+
45
+ Draw (u.components[0][0], mesh, name="s11")
46
+
47
+
@@ -0,0 +1,45 @@
1
+ from netgen.geom2d import unit_square
2
+ from ngsolve import *
3
+
4
+ mesh = Mesh (unit_square.GenerateMesh(maxh=0.1))
5
+
6
+ fes = L2(mesh, order=4)
7
+
8
+ u = fes.TrialFunction()
9
+ v = fes.TestFunction()
10
+
11
+ b = CoefficientFunction( (y-0.5,0.5-x) )
12
+ bn = b*specialcf.normal(2)
13
+
14
+ ubnd = CoefficientFunction(0)
15
+
16
+ a = BilinearForm(fes)
17
+ a += (-u * b*grad(v)) .Compile()*dx
18
+
19
+ # the skeleton-formulation, sum over edges:
20
+ a += bn*IfPos(bn, u, u.Other()) * (v-v.Other()) * dx(skeleton=True)
21
+ a += bn*IfPos(bn, u, ubnd) * v * ds(skeleton=True)
22
+
23
+ # or the element-boundary formulation
24
+ # note the bnd-value in the .Other operator
25
+ # a += bn*IfPos(bn, u, u.Other(bnd=ubnd)) * v * dx(element_boundary=True)
26
+
27
+ u = GridFunction(fes)
28
+ u.Set(exp (-40 * ( (x-0.7)*(x-0.7) + (y-0.7)*(y-0.7) )))
29
+
30
+ w = u.vec.CreateVector()
31
+
32
+ Draw (u, autoscale=False, sd=2)
33
+
34
+ t = 0
35
+ tau = 1e-3
36
+ tend = 10
37
+
38
+ with TaskManager():
39
+ while t < tend:
40
+ a.Apply (u.vec, w)
41
+ fes.SolveM (rho=CoefficientFunction(1), vec=w)
42
+ u.vec.data -= tau * w
43
+ t += tau
44
+ Redraw()
45
+
@@ -0,0 +1,38 @@
1
+ from netgen.geom2d import unit_square
2
+ from ngsolve import *
3
+
4
+ mesh = Mesh (unit_square.GenerateMesh(maxh=0.1))
5
+
6
+ fes = L2(mesh, order=4)
7
+
8
+ u = fes.TrialFunction()
9
+ v = fes.TestFunction()
10
+
11
+ b = CoefficientFunction( (y-0.5,0.5-x) )
12
+ bn = b*specialcf.normal(2)
13
+
14
+ ubnd = CoefficientFunction(0)
15
+
16
+ a = BilinearForm(fes)
17
+ a += -u * b*grad(v) * dx
18
+ a += bn*IfPos(bn, u, u.Other(bnd=ubnd)) * v * dx(element_boundary=True)
19
+
20
+ u = GridFunction(fes)
21
+ u.Set(exp (-40 * ( (x-0.7)*(x-0.7) + (y-0.7)*(y-0.7) )))
22
+
23
+ w = u.vec.CreateVector()
24
+
25
+ Draw (u, autoscale=False, sd=2)
26
+
27
+ t = 0
28
+ tau = 1e-3
29
+ tend = 10
30
+
31
+ with TaskManager():
32
+ while t < tend:
33
+ a.Apply (u.vec, w)
34
+ fes.SolveM (rho=CoefficientFunction(1), vec=w)
35
+ u.vec.data -= tau * w
36
+ t += tau
37
+ Redraw()
38
+
@@ -0,0 +1,42 @@
1
+ from netgen.geom2d import unit_square
2
+ from ngsolve import *
3
+
4
+ mesh = Mesh (unit_square.GenerateMesh(maxh=0.05))
5
+
6
+ order=2
7
+ fes = L2(mesh, order=order)
8
+
9
+ u = fes.TrialFunction()
10
+ v = fes.TestFunction()
11
+
12
+ u0 = exp (-40 * ( (x-0.5)*(x-0.5) + (y-0.5)*(y-0.5) ))
13
+
14
+ n = specialcf.normal(2)
15
+ h = specialcf.mesh_size
16
+
17
+ a = BilinearForm(fes)
18
+ a += grad(u) * grad(v) * dx
19
+ cf1 = -0.5 * InnerProduct(grad(u), n)*(v-v.Other(bnd=0))
20
+ cf2 = -0.5 * InnerProduct(grad(v), n)*(u-u.Other(bnd=u0))
21
+ cf3 = 2*( (order+1)**2)/h * (u-u.Other(bnd=u0)) * v
22
+ a += (cf1+cf2+cf3)*dx(element_boundary=True)
23
+
24
+ u = GridFunction(fes)
25
+ u.Set(u0)
26
+
27
+ w = u.vec.CreateVector()
28
+
29
+ Draw (u, mesh, "u")
30
+
31
+ tau = 2e-6
32
+ tend = 0.5
33
+
34
+ t = 0
35
+ with TaskManager():
36
+ while t < tend:
37
+ a.Apply (u.vec, w)
38
+ fes.SolveM (rho=CoefficientFunction(1), vec=w)
39
+ u.vec.data -= tau * w
40
+ t += tau
41
+ Redraw()
42
+
@@ -0,0 +1,61 @@
1
+ from netgen.geom2d import unit_square
2
+ from ngsolve import *
3
+
4
+ mesh = Mesh (unit_square.GenerateMesh(maxh=0.05))
5
+
6
+ order=4
7
+ fes1 = L2(mesh, order=order)
8
+ fes = fes1*fes1*fes1
9
+
10
+ p,ux,uy = fes.TrialFunction()
11
+ q,vx,vy = fes.TestFunction()
12
+
13
+ u0 = exp (-400 * ( (x-0.5)*(x-0.5) + (y-0.5)*(y-0.5) ))
14
+
15
+ n = specialcf.normal(2)
16
+
17
+ v = CoefficientFunction( (vx, vy) )
18
+ u = CoefficientFunction( (ux, uy) )
19
+
20
+ a1 = BilinearForm(fes)
21
+ a1 += grad(p) * v * dx
22
+ a1 += -0.5 * (p - p.Other()) * (v*n) * dx(element_boundary = True)
23
+
24
+ a2 = BilinearForm(fes)
25
+ a2 += -grad(q) * u * dx
26
+ a2 += 0.5 * (q - q.Other()) * (u*n) * dx(element_boundary = True)
27
+
28
+
29
+ u = GridFunction(fes)
30
+ u.components[0].Set(u0)
31
+
32
+ res = u.vec.CreateVector()
33
+ w = u.vec.CreateVector()
34
+
35
+ Draw (u.components[1], mesh, "ux")
36
+ Draw (u.components[2], mesh, "uy")
37
+ Draw (u.components[0], mesh, "p")
38
+ SetVisualization(min=-0.1, max=0.1, deformation=True)
39
+
40
+ tau = 1e-3
41
+ tend = 3
42
+
43
+ t = 0
44
+ nd = fes1.ndof
45
+
46
+ input ("<press enter>")
47
+
48
+ with TaskManager():
49
+ while t < tend:
50
+ a1.Apply (u.vec, w)
51
+ fes1.SolveM (rho=CoefficientFunction(1), vec=w.Range(nd,2*nd))
52
+ fes1.SolveM (rho=CoefficientFunction(1), vec=w.Range(2*nd,3*nd))
53
+ u.vec.data -= tau * w
54
+
55
+ a2.Apply (u.vec, w)
56
+ fes1.SolveM (rho=CoefficientFunction(1), vec=w.Range(0,nd))
57
+ u.vec.data -= tau * w
58
+
59
+ t += tau
60
+ Redraw()
61
+