ngsolve 6.2.2501.post21.dev1__cp313-cp313-macosx_10_15_universal2.whl → 6.2.2501.post34.dev1__cp313-cp313-macosx_10_15_universal2.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (286) hide show
  1. ngsolve/webgui.py +1 -1
  2. {ngsolve-6.2.2501.post21.dev1.dist-info → ngsolve-6.2.2501.post34.dev1.dist-info}/METADATA +2 -2
  3. ngsolve-6.2.2501.post34.dev1.dist-info/RECORD +25 -0
  4. netgen/include/arnoldi.hpp +0 -55
  5. netgen/include/bandmatrix.hpp +0 -334
  6. netgen/include/basematrix.hpp +0 -957
  7. netgen/include/basevector.hpp +0 -1268
  8. netgen/include/bdbequations.hpp +0 -2752
  9. netgen/include/bdbintegrator.hpp +0 -1659
  10. netgen/include/bessel.hpp +0 -1064
  11. netgen/include/bilinearform.hpp +0 -963
  12. netgen/include/bla.hpp +0 -29
  13. netgen/include/blockalloc.hpp +0 -95
  14. netgen/include/blockjacobi.hpp +0 -316
  15. netgen/include/bspline.hpp +0 -114
  16. netgen/include/calcinverse.hpp +0 -141
  17. netgen/include/cg.hpp +0 -368
  18. netgen/include/chebyshev.hpp +0 -44
  19. netgen/include/cholesky.hpp +0 -720
  20. netgen/include/clapack.h +0 -7254
  21. netgen/include/code_generation.hpp +0 -296
  22. netgen/include/coefficient.hpp +0 -2006
  23. netgen/include/coefficient_impl.hpp +0 -18
  24. netgen/include/coefficient_stdmath.hpp +0 -157
  25. netgen/include/commutingAMG.hpp +0 -106
  26. netgen/include/comp.hpp +0 -79
  27. netgen/include/compatibility.hpp +0 -41
  28. netgen/include/complex_wrapper.hpp +0 -73
  29. netgen/include/compressedfespace.hpp +0 -110
  30. netgen/include/contact.hpp +0 -231
  31. netgen/include/diagonalmatrix.hpp +0 -154
  32. netgen/include/differentialoperator.hpp +0 -276
  33. netgen/include/diffop.hpp +0 -1286
  34. netgen/include/diffop_impl.hpp +0 -326
  35. netgen/include/discontinuous.hpp +0 -84
  36. netgen/include/dump.hpp +0 -949
  37. netgen/include/eigen.hpp +0 -60
  38. netgen/include/eigensystem.hpp +0 -18
  39. netgen/include/elasticity_equations.hpp +0 -595
  40. netgen/include/elementbyelement.hpp +0 -195
  41. netgen/include/elementtopology.hpp +0 -1760
  42. netgen/include/elementtransformation.hpp +0 -339
  43. netgen/include/evalfunc.hpp +0 -405
  44. netgen/include/expr.hpp +0 -1655
  45. netgen/include/facetfe.hpp +0 -175
  46. netgen/include/facetfespace.hpp +0 -178
  47. netgen/include/facethofe.hpp +0 -111
  48. netgen/include/facetsurffespace.hpp +0 -112
  49. netgen/include/fe_interfaces.hpp +0 -32
  50. netgen/include/fem.hpp +0 -87
  51. netgen/include/fesconvert.hpp +0 -14
  52. netgen/include/fespace.hpp +0 -1445
  53. netgen/include/finiteelement.hpp +0 -286
  54. netgen/include/globalinterfacespace.hpp +0 -77
  55. netgen/include/globalspace.hpp +0 -115
  56. netgen/include/gridfunction.hpp +0 -525
  57. netgen/include/h1amg.hpp +0 -41
  58. netgen/include/h1hofe.hpp +0 -188
  59. netgen/include/h1hofe_impl.hpp +0 -1262
  60. netgen/include/h1hofefo.hpp +0 -148
  61. netgen/include/h1hofefo_impl.hpp +0 -185
  62. netgen/include/h1hofespace.hpp +0 -167
  63. netgen/include/h1lofe.hpp +0 -1237
  64. netgen/include/h1lumping.hpp +0 -35
  65. netgen/include/hcurl_equations.hpp +0 -1352
  66. netgen/include/hcurlcurlfe.hpp +0 -2221
  67. netgen/include/hcurlcurlfespace.hpp +0 -78
  68. netgen/include/hcurlfe.hpp +0 -259
  69. netgen/include/hcurlfe_utils.hpp +0 -107
  70. netgen/include/hcurlhdiv_dshape.hpp +0 -857
  71. netgen/include/hcurlhdivfes.hpp +0 -308
  72. netgen/include/hcurlhofe.hpp +0 -175
  73. netgen/include/hcurlhofe_impl.hpp +0 -1871
  74. netgen/include/hcurlhofespace.hpp +0 -193
  75. netgen/include/hcurllofe.hpp +0 -1146
  76. netgen/include/hdiv_equations.hpp +0 -865
  77. netgen/include/hdivdivfe.hpp +0 -2923
  78. netgen/include/hdivdivsurfacespace.hpp +0 -76
  79. netgen/include/hdivfe.hpp +0 -206
  80. netgen/include/hdivfe_utils.hpp +0 -716
  81. netgen/include/hdivfes.hpp +0 -75
  82. netgen/include/hdivhofe.hpp +0 -447
  83. netgen/include/hdivhofe_impl.hpp +0 -1107
  84. netgen/include/hdivhofefo.hpp +0 -229
  85. netgen/include/hdivhofespace.hpp +0 -175
  86. netgen/include/hdivhosurfacefespace.hpp +0 -106
  87. netgen/include/hdivlofe.hpp +0 -773
  88. netgen/include/hidden.hpp +0 -74
  89. netgen/include/householder.hpp +0 -181
  90. netgen/include/hypre_ams_precond.hpp +0 -123
  91. netgen/include/hypre_precond.hpp +0 -73
  92. netgen/include/integrator.hpp +0 -2024
  93. netgen/include/integratorcf.hpp +0 -253
  94. netgen/include/interpolate.hpp +0 -49
  95. netgen/include/intrule.hpp +0 -2541
  96. netgen/include/irspace.hpp +0 -49
  97. netgen/include/jacobi.hpp +0 -136
  98. netgen/include/l2hofe.hpp +0 -193
  99. netgen/include/l2hofe_impl.hpp +0 -564
  100. netgen/include/l2hofefo.hpp +0 -542
  101. netgen/include/l2hofespace.hpp +0 -344
  102. netgen/include/la.hpp +0 -38
  103. netgen/include/linearform.hpp +0 -266
  104. netgen/include/matrix.hpp +0 -2140
  105. netgen/include/memusage.hpp +0 -41
  106. netgen/include/meshaccess.hpp +0 -1358
  107. netgen/include/mgpre.hpp +0 -204
  108. netgen/include/mptools.hpp +0 -2145
  109. netgen/include/multigrid.hpp +0 -42
  110. netgen/include/multivector.hpp +0 -447
  111. netgen/include/mumpsinverse.hpp +0 -187
  112. netgen/include/mycomplex.hpp +0 -361
  113. netgen/include/ng_lapack.hpp +0 -1661
  114. netgen/include/ngblas.hpp +0 -1099
  115. netgen/include/ngs_defines.hpp +0 -30
  116. netgen/include/ngs_stdcpp_include.hpp +0 -106
  117. netgen/include/ngs_utils.hpp +0 -121
  118. netgen/include/ngsobject.hpp +0 -1019
  119. netgen/include/ngsstream.hpp +0 -113
  120. netgen/include/ngstd.hpp +0 -72
  121. netgen/include/nodalhofe.hpp +0 -96
  122. netgen/include/nodalhofe_impl.hpp +0 -141
  123. netgen/include/normalfacetfe.hpp +0 -223
  124. netgen/include/normalfacetfespace.hpp +0 -98
  125. netgen/include/normalfacetsurfacefespace.hpp +0 -84
  126. netgen/include/order.hpp +0 -251
  127. netgen/include/parallel_matrices.hpp +0 -222
  128. netgen/include/paralleldofs.hpp +0 -340
  129. netgen/include/parallelngs.hpp +0 -23
  130. netgen/include/parallelvector.hpp +0 -269
  131. netgen/include/pardisoinverse.hpp +0 -200
  132. netgen/include/periodic.hpp +0 -125
  133. netgen/include/plateaufespace.hpp +0 -25
  134. netgen/include/pml.hpp +0 -275
  135. netgen/include/pmltrafo.hpp +0 -631
  136. netgen/include/postproc.hpp +0 -142
  137. netgen/include/precomp.hpp +0 -60
  138. netgen/include/preconditioner.hpp +0 -602
  139. netgen/include/prolongation.hpp +0 -235
  140. netgen/include/python_comp.hpp +0 -107
  141. netgen/include/python_fem.hpp +0 -89
  142. netgen/include/python_linalg.hpp +0 -58
  143. netgen/include/python_ngstd.hpp +0 -385
  144. netgen/include/recursive_pol.hpp +0 -4844
  145. netgen/include/recursive_pol_tet.hpp +0 -395
  146. netgen/include/recursive_pol_trig.hpp +0 -492
  147. netgen/include/reorderedfespace.hpp +0 -81
  148. netgen/include/sample_sort.hpp +0 -105
  149. netgen/include/scalarfe.hpp +0 -335
  150. netgen/include/shapefunction_utils.hpp +0 -113
  151. netgen/include/simd_complex.hpp +0 -284
  152. netgen/include/smoother.hpp +0 -253
  153. netgen/include/solve.hpp +0 -89
  154. netgen/include/sparsecholesky.hpp +0 -313
  155. netgen/include/sparsematrix.hpp +0 -1038
  156. netgen/include/sparsematrix_dyn.hpp +0 -91
  157. netgen/include/sparsematrix_impl.hpp +0 -920
  158. netgen/include/special_matrix.hpp +0 -461
  159. netgen/include/specialelement.hpp +0 -125
  160. netgen/include/statushandler.hpp +0 -33
  161. netgen/include/stringops.hpp +0 -12
  162. netgen/include/superluinverse.hpp +0 -136
  163. netgen/include/symbolicintegrator.hpp +0 -849
  164. netgen/include/symmetricmatrix.hpp +0 -144
  165. netgen/include/tangentialfacetfe.hpp +0 -224
  166. netgen/include/tangentialfacetfespace.hpp +0 -106
  167. netgen/include/tensor.hpp +0 -522
  168. netgen/include/tensorcoefficient.hpp +0 -446
  169. netgen/include/tensorproductintegrator.hpp +0 -113
  170. netgen/include/thcurlfe.hpp +0 -128
  171. netgen/include/thcurlfe_impl.hpp +0 -380
  172. netgen/include/thdivfe.hpp +0 -80
  173. netgen/include/thdivfe_impl.hpp +0 -426
  174. netgen/include/tpdiffop.hpp +0 -461
  175. netgen/include/tpfes.hpp +0 -133
  176. netgen/include/tpintrule.hpp +0 -224
  177. netgen/include/triangular.hpp +0 -465
  178. netgen/include/tscalarfe.hpp +0 -245
  179. netgen/include/tscalarfe_impl.hpp +0 -1029
  180. netgen/include/umfpackinverse.hpp +0 -148
  181. netgen/include/vector.hpp +0 -1219
  182. netgen/include/voxelcoefficientfunction.hpp +0 -41
  183. netgen/include/vtkoutput.hpp +0 -198
  184. netgen/include/vvector.hpp +0 -208
  185. netgen/include/webgui.hpp +0 -92
  186. netgen/libngbla.dylib +0 -0
  187. netgen/libngcomp.dylib +0 -0
  188. netgen/libngfem.dylib +0 -0
  189. netgen/libngla.dylib +0 -0
  190. netgen/libngsolve.dylib +0 -0
  191. netgen/libngstd.dylib +0 -0
  192. ngsolve/__init__.pyi +0 -231
  193. ngsolve/bla.pyi +0 -1139
  194. ngsolve/bvp.pyi +0 -32
  195. ngsolve/cmake/NGSolveConfig.cmake +0 -102
  196. ngsolve/cmake/ngsolve-targets-release.cmake +0 -69
  197. ngsolve/cmake/ngsolve-targets.cmake +0 -163
  198. ngsolve/comp/__init__.pyi +0 -5382
  199. ngsolve/comp/pml.pyi +0 -89
  200. ngsolve/config/__init__.py +0 -1
  201. ngsolve/config/__init__.pyi +0 -43
  202. ngsolve/config/__main__.py +0 -4
  203. ngsolve/config/config.py +0 -60
  204. ngsolve/config/config.pyi +0 -45
  205. ngsolve/demos/TensorProduct/__init__.py +0 -0
  206. ngsolve/demos/TensorProduct/tp_dg_1d_1d.py +0 -80
  207. ngsolve/demos/TensorProduct/tp_dg_1d_2d.py +0 -73
  208. ngsolve/demos/TensorProduct/tp_dg_2d_1d.py +0 -72
  209. ngsolve/demos/TensorProduct/tp_dg_2d_2d.py +0 -66
  210. ngsolve/demos/__init__.py +0 -0
  211. ngsolve/demos/howto/__init__.py +0 -0
  212. ngsolve/demos/howto/hhj.py +0 -44
  213. ngsolve/demos/howto/hybrid_dg.py +0 -53
  214. ngsolve/demos/howto/mixed.py +0 -30
  215. ngsolve/demos/howto/nonlin.py +0 -29
  216. ngsolve/demos/howto/pickling.py +0 -26
  217. ngsolve/demos/howto/pml.py +0 -31
  218. ngsolve/demos/howto/taskmanager.py +0 -20
  219. ngsolve/demos/howto/tdnns.py +0 -47
  220. ngsolve/demos/howto/timeDG-skeleton.py +0 -45
  221. ngsolve/demos/howto/timeDG.py +0 -38
  222. ngsolve/demos/howto/timeDGlap.py +0 -42
  223. ngsolve/demos/howto/timeDGwave.py +0 -61
  224. ngsolve/demos/intro/__init__.py +0 -0
  225. ngsolve/demos/intro/adaptive.py +0 -123
  226. ngsolve/demos/intro/cmagnet.py +0 -62
  227. ngsolve/demos/intro/elasticity.py +0 -76
  228. ngsolve/demos/intro/navierstokes.py +0 -74
  229. ngsolve/demos/intro/poisson.ipynb +0 -170
  230. ngsolve/demos/intro/poisson.py +0 -41
  231. ngsolve/demos/mpi/__init__.py +0 -0
  232. ngsolve/demos/mpi/mpi_cmagnet.py +0 -87
  233. ngsolve/demos/mpi/mpi_navierstokes.py +0 -117
  234. ngsolve/demos/mpi/mpi_poisson.py +0 -89
  235. ngsolve/demos/mpi/mpi_timeDG.py +0 -82
  236. ngsolve/directsolvers.pyi +0 -18
  237. ngsolve/eigenvalues.pyi +0 -30
  238. ngsolve/fem.pyi +0 -1707
  239. ngsolve/krylovspace.pyi +0 -309
  240. ngsolve/la.pyi +0 -1218
  241. ngsolve/ngslib.so +0 -0
  242. ngsolve/ngstd.pyi +0 -58
  243. ngsolve/nonlinearsolvers.pyi +0 -98
  244. ngsolve/preconditioners.pyi +0 -6
  245. ngsolve/solve.pyi +0 -108
  246. ngsolve/solvers.pyi +0 -14
  247. ngsolve/timestepping.pyi +0 -34
  248. ngsolve/timing.pyi +0 -57
  249. ngsolve/utils.pyi +0 -279
  250. ngsolve-6.2.2501.post21.dev1.data/data/Netgen.icns +0 -0
  251. ngsolve-6.2.2501.post21.dev1.data/data/bin/ngscxx +0 -17
  252. ngsolve-6.2.2501.post21.dev1.data/data/bin/ngsld +0 -13
  253. ngsolve-6.2.2501.post21.dev1.data/data/bin/ngsolve.tcl +0 -648
  254. ngsolve-6.2.2501.post21.dev1.data/data/bin/ngspy +0 -2
  255. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/beam.geo +0 -17
  256. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/beam.vol +0 -240
  257. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/chip.in2d +0 -41
  258. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/chip.vol +0 -614
  259. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/coil.geo +0 -12
  260. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/coil.vol +0 -2560
  261. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/coilshield.geo +0 -24
  262. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/coilshield.vol +0 -3179
  263. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/cube.geo +0 -19
  264. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/cube.vol +0 -1832
  265. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -50
  266. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/d11_chip_nitsche.pde +0 -40
  267. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/d1_square.pde +0 -43
  268. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/d2_chip.pde +0 -35
  269. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/d3_helmholtz.pde +0 -22
  270. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/d4_cube.pde +0 -46
  271. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/d5_beam.pde +0 -74
  272. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/d6_shaft.pde +0 -73
  273. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/d7_coil.pde +0 -50
  274. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/d8_coilshield.pde +0 -49
  275. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/d9_hybridDG.pde +0 -72
  276. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/doubleglazing.in2d +0 -27
  277. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/doubleglazing.vol +0 -737
  278. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  279. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/shaft.geo +0 -73
  280. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/shaft.vol +0 -4291
  281. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/square.in2d +0 -17
  282. ngsolve-6.2.2501.post21.dev1.data/data/share/ngsolve/square.vol +0 -149
  283. ngsolve-6.2.2501.post21.dev1.dist-info/RECORD +0 -304
  284. {ngsolve-6.2.2501.post21.dev1.dist-info → ngsolve-6.2.2501.post34.dev1.dist-info}/LICENSE +0 -0
  285. {ngsolve-6.2.2501.post21.dev1.dist-info → ngsolve-6.2.2501.post34.dev1.dist-info}/WHEEL +0 -0
  286. {ngsolve-6.2.2501.post21.dev1.dist-info → ngsolve-6.2.2501.post34.dev1.dist-info}/top_level.txt +0 -0
@@ -1,525 +0,0 @@
1
- #ifndef FILE_GRIDFUNCTION
2
- #define FILE_GRIDFUNCTION
3
-
4
- /*********************************************************************/
5
- /* File: gridfunction.hpp */
6
- /* Author: Joachim Schoeberl */
7
- /* Date: 10. Jul. 2000 */
8
- /*********************************************************************/
9
-
10
-
11
- #include <meshing/soldata.hpp> // netgen visualization
12
- #include "fespace.hpp"
13
-
14
- namespace ngcomp
15
- {
16
-
17
-
18
- class GridFunction;
19
-
20
- class NGS_DLL_HEADER GridFunctionCoefficientFunction : public CoefficientFunctionNoDerivative
21
- {
22
- protected:
23
- shared_ptr<GridFunction> gf_shared_ptr;
24
- GridFunction* gf;
25
- shared_ptr<FESpace> fes;
26
- shared_ptr<DifferentialOperator> diffop[4];
27
- int comp;
28
- GridFunctionCoefficientFunction (shared_ptr<DifferentialOperator> adiffop,
29
- shared_ptr<DifferentialOperator> atrace_diffop = nullptr,
30
- shared_ptr<DifferentialOperator> attrace_diffop = nullptr,
31
- shared_ptr<DifferentialOperator> atttrace_diffop = nullptr,
32
- int acomp = 0);
33
- public:
34
- GridFunctionCoefficientFunction () = default;
35
- GridFunctionCoefficientFunction (shared_ptr<GridFunction> agf, int acomp = 0);
36
- GridFunctionCoefficientFunction (shared_ptr<GridFunction> agf,
37
- shared_ptr<DifferentialOperator> adiffop,
38
- shared_ptr<DifferentialOperator> atrace_diffop = nullptr,
39
- shared_ptr<DifferentialOperator> attrace_diffop = nullptr,
40
- shared_ptr<DifferentialOperator> atttrace_diffop = nullptr,
41
- int acomp = 0);
42
- GridFunctionCoefficientFunction (shared_ptr<GridFunction> agf,
43
- shared_ptr<BilinearFormIntegrator> abfi, int acomp = 0);
44
- GridFunctionCoefficientFunction (shared_ptr<GridFunction> agf, shared_ptr<ProxyFunction> proxy);
45
-
46
- virtual ~GridFunctionCoefficientFunction ();
47
- void DoArchive(Archive& ar) override;
48
- /// scalar valued or vector valued
49
- virtual bool IsComplex() const;
50
- virtual int Dimension() const;
51
- virtual Array<int> Dimensions() const;
52
- virtual bool DefinedOn (const ElementTransformation & trafo) override;
53
- void SelectComponent (int acomp) { comp = acomp; }
54
- const GridFunction & GetGridFunction() const { return *gf; }
55
- using CoefficientFunction::Evaluate;
56
- using CoefficientFunctionNoDerivative::Evaluate;
57
- virtual double Evaluate (const BaseMappedIntegrationPoint & ip) const override;
58
- virtual Complex EvaluateComplex (const BaseMappedIntegrationPoint & ip) const override;
59
-
60
- virtual void Evaluate(const BaseMappedIntegrationPoint & ip,
61
- FlatVector<> result) const override;
62
- virtual void Evaluate(const BaseMappedIntegrationPoint & ip,
63
- FlatVector<Complex> result) const override;
64
-
65
- virtual void Evaluate (const BaseMappedIntegrationRule & ir,
66
- BareSliceMatrix<double> values) const override;
67
- virtual void Evaluate (const BaseMappedIntegrationRule & ir,
68
- BareSliceMatrix<Complex> values) const override;
69
- virtual void Evaluate (const SIMD_BaseMappedIntegrationRule & ir, BareSliceMatrix<SIMD<double>> values) const override;
70
- virtual void Evaluate (const SIMD_BaseMappedIntegrationRule & ir, BareSliceMatrix<SIMD<Complex>> values) const override;
71
-
72
- virtual bool StoreUserData() const override { return true; }
73
-
74
- virtual void NonZeroPattern (const class ProxyUserData & ud, FlatVector<AutoDiffDiff<1,NonZero>> nonzero) const override
75
- {
76
- nonzero = AutoDiffDiff<1,NonZero> (true);
77
- }
78
-
79
- // generation information for pickling:
80
- bool generated_from_deriv = false;
81
- string generated_from_operator;
82
- shared_ptr<GridFunction> GetGridFunctionPtr() const { return gf_shared_ptr; }
83
- const auto & GetDifferentialOperator (VorB vb) const { return diffop[vb]; }
84
-
85
- virtual shared_ptr<CoefficientFunction>
86
- Diff (const CoefficientFunction * var, shared_ptr<CoefficientFunction> dir) const override;
87
-
88
- shared_ptr<CoefficientFunction> Primary() const override;
89
- shared_ptr<GridFunctionCoefficientFunction> GetTrace() const;
90
- };
91
-
92
-
93
-
94
-
95
-
96
-
97
- /**
98
- Grid-functions
99
- */
100
- class NGS_DLL_HEADER GridFunction
101
- : public GridFunctionCoefficientFunction // , public NGS_Object
102
- {
103
- protected:
104
- string name;
105
- Flags flags;
106
- Flags flaglist;
107
- /// the finite element space
108
- shared_ptr<FESpace> fespace;
109
- /// should we do a prolongation from one multigrid-level to the next ?
110
- bool nested;
111
- /// should the GF be updated automatically on an update of the underliying space?
112
- bool autoupdate;
113
- /// should we visualize the gridfunction ?
114
- bool visual;
115
- /// how many functions
116
- int multidim;
117
- /// highest multigrid-level for which Update was called (memory allocation)
118
- int level_updated = -1;
119
-
120
- /// used for many right-hand-sides
121
- int cacheblocksize = 1;
122
- /// Component gridfunctions living somewhere - need to call update on them
123
- Array<weak_ptr<GridFunction>> compgfs;
124
- /// the actual data, array for multi-dim
125
- Array<shared_ptr<BaseVector>> vec;
126
- /// component GridFunctions if fespace is a CompoundFESpace
127
- weak_ptr<GridFunctionCoefficientFunction> derivcf;
128
- public:
129
- ///
130
- explicit GridFunction () = default;
131
- GridFunction (shared_ptr<FESpace> afespace,
132
- const string & name = "gfu",
133
- const Flags & flags = Flags());
134
- ///
135
- virtual ~GridFunction ();
136
- ///
137
- virtual void Update ();
138
- ///
139
- bool DoesAutoUpdate () const { return autoupdate; }
140
- void ConnectAutoUpdate();
141
-
142
- ///
143
- virtual void DoArchive (Archive & archive) override;
144
- ///
145
- virtual BaseVector & GetVector (int comp = 0) { return *vec[comp]; }
146
- virtual const BaseVector & GetVector (int comp = 0) const { return *vec[comp]; }
147
- ///
148
- virtual shared_ptr<BaseVector> GetVectorPtr (int comp = 0) const { return vec[comp]; }
149
- auto GetVectors() const { return MultiVector(vec); }
150
- ///
151
- void SetNested (int anested = 1) { nested = anested; }
152
- ///
153
- bool GetVisual () const { return visual; }
154
- ///
155
- void SetVisual (bool avisual = 1) { visual = avisual; }
156
-
157
- int GetMultiDim () const { return multidim; }
158
-
159
- /// increase multidim and copy vec to new component
160
- void AddMultiDimComponent (BaseVector & vec);
161
-
162
- int GetLevelUpdated() const { return level_updated; }
163
- ///
164
-
165
- // const FESpace & GetFESpace() const { return *fespace; }
166
- ///
167
- shared_ptr<FESpace> GetFESpace() const { return fespace; }
168
- ///
169
- shared_ptr<MeshAccess> GetMeshAccess() const { return fespace->GetMeshAccess(); }
170
- ///
171
- virtual string GetClassName () const
172
- {
173
- return "GridFunction";
174
- }
175
-
176
- void SetName(const string & aname) { name = aname; }
177
- string GetName () const { return name; }
178
-
179
- const Flags& GetFlags() const { return flags; }
180
- Flags& GetFlags() { return flags; }
181
-
182
- virtual void Interpolate (const CoefficientFunction & cf,
183
- const Region * reg, int mdcomp, LocalHeap & lh);
184
-
185
- ///
186
- virtual void PrintReport (ostream & ost) const override;
187
- ///
188
- virtual Array<MemoryUsage> GetMemoryUsage () const;
189
-
190
- // void Visualize(const string & name);
191
-
192
- ///
193
- virtual void SetCacheBlockSize (const int size) {cacheblocksize = size;}
194
- ///
195
- virtual int GetCacheBlockSize (void) const { return cacheblocksize;}
196
- ///
197
- virtual bool IsUpdated () const;
198
-
199
-
200
- int GetNComponents () const
201
- {
202
- auto compfes = dynamic_pointer_cast<CompoundFESpace>(fespace);
203
- if(compfes)
204
- return compfes->GetNSpaces();
205
- return 0;
206
- }
207
- shared_ptr<GridFunction> GetComponent (int compound_comp);
208
-
209
- [[deprecated("Use GridFunction.Deriv instead!")]]
210
- shared_ptr<GridFunctionCoefficientFunction> GetDeriv()
211
- {
212
- return Deriv();
213
- }
214
-
215
- shared_ptr<GridFunctionCoefficientFunction> Deriv()
216
- {
217
- auto res = derivcf.lock();
218
- if(res) return res;
219
-
220
- // derivcf is not set -> initialize it
221
- res =
222
- make_shared<GridFunctionCoefficientFunction> (dynamic_pointer_cast<GridFunction> (shared_from_this()),
223
- GetFESpace()->GetFluxEvaluator(),
224
- GetFESpace()->GetFluxEvaluator(BND),
225
- GetFESpace()->GetFluxEvaluator(BBND));
226
- res -> generated_from_deriv = true;
227
- derivcf = res;
228
- return res;
229
- }
230
-
231
- shared_ptr<CoefficientFunction> Operator (shared_ptr<DifferentialOperator> diffop) const override;
232
- shared_ptr<CoefficientFunction> Operator (const string& name) const override;
233
-
234
-
235
- ///
236
- virtual void GetElementVector (FlatArray<int> dnums,
237
- FlatVector<double> elvec) const
238
- { vec[0] -> GetIndirect (dnums, elvec); }
239
-
240
- ///
241
- virtual void SetElementVector (FlatArray<int> dnums,
242
- FlatVector<double> elvec)
243
- { vec[0] -> SetIndirect (dnums, elvec); }
244
-
245
-
246
- ///
247
- virtual void GetElementVector (int comp,
248
- FlatArray<int> dnums,
249
- FlatVector<double> elvec) const
250
- { vec[comp] -> GetIndirect (dnums, elvec); }
251
-
252
-
253
- ///
254
- virtual void SetElementVector (int comp,
255
- FlatArray<int> dnums,
256
- FlatVector<double> elvec)
257
- { vec[comp] -> SetIndirect (dnums, elvec); }
258
-
259
- ///
260
- virtual void GetElementVector (FlatArray<int> dnums,
261
- FlatVector<Complex> elvec) const
262
- { vec[0] -> GetIndirect (dnums, elvec); }
263
-
264
- ///
265
- virtual void SetElementVector (FlatArray<int> dnums,
266
- FlatVector<Complex> elvec)
267
- { vec[0] -> SetIndirect (dnums, elvec); }
268
-
269
-
270
- ///
271
- virtual void GetElementVector (int comp,
272
- FlatArray<int> dnums,
273
- FlatVector<Complex> elvec) const
274
- { vec[comp] -> GetIndirect (dnums, elvec); }
275
-
276
-
277
- ///
278
- virtual void SetElementVector (int comp,
279
- FlatArray<int> dnums,
280
- FlatVector<Complex> elvec)
281
- { vec[comp] -> SetIndirect (dnums, elvec); }
282
-
283
-
284
- // multidim component, if -1 then all components are loaded/saved
285
- virtual void Load (istream & ist, int mdcomp = -1) = 0;
286
- virtual void Save (ostream & ost, int mdcomp = -1) const = 0;
287
- };
288
-
289
-
290
- inline ostream & operator<< (ostream & ost, const GridFunction & gf)
291
- {
292
- gf.PrintReport (ost);
293
- return ost;
294
- }
295
-
296
-
297
- extern NGS_DLL_HEADER void Visualize(shared_ptr<GridFunction> gf, const string & name);
298
-
299
- template <class SCAL>
300
- class NGS_DLL_HEADER S_GridFunction : public GridFunction
301
- {
302
- public:
303
- S_GridFunction () = default;
304
- S_GridFunction (shared_ptr<FESpace> afespace,
305
- const string & aname = "gfu",
306
- const Flags & flags = Flags());
307
-
308
- // parallel Load/Save by Martin Huber and Lothar Nannen
309
- virtual void Load (istream & ist, int mdcomp);
310
- virtual void Save (ostream & ost, int mdcomp) const;
311
-
312
- virtual void Update ();
313
-
314
- private:
315
- template <int N, NODE_TYPE NT> void LoadNodeType (istream & ist, int mdcomp);
316
- template <int N, NODE_TYPE NT> void SaveNodeType (ostream & ost, int mdcomp) const;
317
- };
318
-
319
-
320
-
321
- template <class TV>
322
- class NGS_DLL_HEADER T_GridFunction : public S_GridFunction<typename mat_traits<TV>::TSCAL>
323
- {
324
- public:
325
- typedef typename mat_traits<TV>::TSCAL TSCAL;
326
-
327
- [[deprecated("Use T_GridFunction(shared_ptr<FESpace> ... instead!")]]
328
- T_GridFunction (const FESpace & afespace,
329
- const string & aname = "gfu",
330
- const Flags & flags = Flags())
331
- : T_GridFunction(shared_ptr<FESpace> (const_cast<FESpace*>(&afespace),NOOP_Deleter), aname, flags)
332
- { ; }
333
-
334
- T_GridFunction (shared_ptr<FESpace> afespace,
335
- const string & aname = "gfu",
336
- const Flags & flags = Flags())
337
- : S_GridFunction<TSCAL> (afespace, aname, flags)
338
- { ; }
339
-
340
- virtual ~T_GridFunction () { ; }
341
- };
342
-
343
-
344
-
345
-
346
- extern NGS_DLL_HEADER
347
- shared_ptr<GridFunction> CreateGridFunction (shared_ptr<FESpace> space,
348
- const string & name, const Flags & flags);
349
-
350
- [[deprecated("Use CreateGridFunction(shared_ptr<FESpace> ... instead!")]]
351
- inline
352
- shared_ptr<GridFunction> CreateGridFunction (const FESpace * space,
353
- const string & name, const Flags & flags)
354
- {
355
- return
356
- CreateGridFunction (shared_ptr<FESpace> (const_cast<FESpace*>(space), NOOP_Deleter),
357
- name, flags);
358
- }
359
-
360
-
361
-
362
- class NGS_DLL_HEADER ComponentGridFunction : public GridFunction
363
- {
364
- shared_ptr<GridFunction> gf_parent;
365
- int comp;
366
- public:
367
- ComponentGridFunction (shared_ptr<GridFunction> agf_parent, int acomp);
368
- ~ComponentGridFunction () override;
369
- void Update () override;
370
- void Load(istream& ist, int mdcomp) override { throw Exception("Load not implemented for ComponentGF"); }
371
- void Save(ostream& ost, int mdcomp) const override { throw Exception("Save not implemented for ComponentGF"); }
372
- shared_ptr<GridFunction> GetParent() const { return gf_parent; }
373
- int GetComponent() const { return comp; }
374
- };
375
-
376
-
377
-
378
-
379
-
380
-
381
- template <class SCAL>
382
- class NGS_DLL_HEADER VisualizeGridFunction : public netgen::SolutionData
383
- {
384
- shared_ptr<MeshAccess> ma;
385
- shared_ptr<GridFunction> gf;
386
- Array<shared_ptr<BilinearFormIntegrator>> bfi2d;
387
- Array<shared_ptr<BilinearFormIntegrator>> bfi3d;
388
- bool applyd;
389
-
390
- public:
391
- VisualizeGridFunction (shared_ptr<MeshAccess> ama,
392
- shared_ptr<GridFunction> agf,
393
- const shared_ptr<BilinearFormIntegrator> abfi2d,
394
- const shared_ptr<BilinearFormIntegrator> abfi3d,
395
- bool aapplyd);
396
- VisualizeGridFunction (shared_ptr<MeshAccess> ama,
397
- shared_ptr<GridFunction> agf,
398
- const Array<shared_ptr<BilinearFormIntegrator>> & abfi2d,
399
- const Array<shared_ptr<BilinearFormIntegrator>> & abfi3d,
400
- bool aapplyd);
401
-
402
- virtual ~VisualizeGridFunction ();
403
-
404
- virtual bool GetValue (int elnr,
405
- double lam1, double lam2, double lam3,
406
- double * values) ;
407
-
408
- virtual bool GetValue (int elnr,
409
- const double xref[], const double x[], const double dxdxref[],
410
- double * values) ;
411
-
412
- virtual bool GetMultiValue (int elnr, int facetnr, int npts,
413
- const double * xref, int sxref,
414
- const double * x, int sx,
415
- const double * dxdxref, int sdxdxref,
416
- double * values, int svalues);
417
-
418
- virtual bool GetSurfValue (int elnr, int facetnr,
419
- double lam1, double lam2,
420
- double * values) ;
421
-
422
- virtual bool GetSurfValue (int selnr, int facetnr,
423
- const double xref[], const double x[], const double dxdxref[],
424
- double * values);
425
-
426
- virtual bool GetMultiSurfValue (int selnr, int facetnr, int npts,
427
- const double * xref, int sxref,
428
- const double * x, int sx,
429
- const double * dxdxref, int sdxdxref,
430
- double * values, int svalues);
431
-
432
- virtual bool GetMultiSurfValue (size_t selnr, size_t facetnr, size_t npts,
433
- const SIMD<double> * xref,
434
- const SIMD<double> * x,
435
- const SIMD<double> * dxdxref,
436
- SIMD<double> * values);
437
-
438
- virtual bool GetSegmentValue (int segnr, double xref, double * values);
439
-
440
- virtual int GetNumMultiDimComponents ()
441
- {
442
- return gf->GetMultiDim();
443
- }
444
-
445
-
446
- void Analyze(Array<double> & minima, Array<double> & maxima, Array<double> & averages, int component = -1);
447
- void Analyze(Array<double> & minima, Array<double> & maxima, Array<double> & averages_times_volumes, Array<double> & volumes, int component = -1);
448
-
449
-
450
- };
451
-
452
-
453
-
454
-
455
-
456
-
457
-
458
-
459
-
460
-
461
-
462
-
463
-
464
- class NGS_DLL_HEADER VisualizeCoefficientFunction : public netgen::SolutionData
465
- {
466
- shared_ptr<MeshAccess> ma;
467
- shared_ptr<CoefficientFunction> cf;
468
- // LocalHeap lh;
469
- public:
470
- VisualizeCoefficientFunction (shared_ptr<MeshAccess> ama,
471
- shared_ptr<CoefficientFunction> acf);
472
-
473
- virtual ~VisualizeCoefficientFunction ();
474
-
475
- virtual bool GetValue (int elnr,
476
- double lam1, double lam2, double lam3,
477
- double * values) ;
478
-
479
- virtual bool GetValue (int elnr,
480
- const double xref[], const double x[], const double dxdxref[],
481
- double * values) ;
482
-
483
- virtual bool GetMultiValue (int elnr, int facetnr, int npts,
484
- const double * xref, int sxref,
485
- const double * x, int sx,
486
- const double * dxdxref, int sdxdxref,
487
- double * values, int svalues);
488
-
489
- virtual bool GetSurfValue (int elnr, int facetnr,
490
- double lam1, double lam2,
491
- double * values) ;
492
-
493
- virtual bool GetSurfValue (int selnr, int facetnr,
494
- const double xref[], const double x[], const double dxdxref[],
495
- double * values);
496
-
497
- virtual bool GetMultiSurfValue (int selnr, int facetnr, int npts,
498
- const double * xref, int sxref,
499
- const double * x, int sx,
500
- const double * dxdxref, int sdxdxref,
501
- double * values, int svalues);
502
-
503
- virtual bool GetMultiSurfValue (size_t selnr, size_t facetnr, size_t npts,
504
- const SIMD<double> * xref,
505
- const SIMD<double> * x,
506
- const SIMD<double> * dxdxref,
507
- SIMD<double> * values);
508
-
509
- virtual bool GetSegmentValue (int segnr, double xref, double * values);
510
-
511
- void Analyze(Array<double> & minima, Array<double> & maxima, Array<double> & averages, int component = -1);
512
- void Analyze(Array<double> & minima, Array<double> & maxima, Array<double> & averages_times_volumes, Array<double> & volumes, int component = -1);
513
-
514
-
515
- virtual int GetNumMultiDimComponents ();
516
- virtual void SetMultiDimComponent (int mc);
517
- };
518
-
519
-
520
-
521
- }
522
-
523
-
524
-
525
- #endif
netgen/include/h1amg.hpp DELETED
@@ -1,41 +0,0 @@
1
- #ifndef H1AMG_HPP_
2
- #define H1AMG_HPP_
3
-
4
- // #include <la.hpp>
5
- #include <basematrix.hpp>
6
- #include <sparsematrix.hpp>
7
-
8
- namespace ngcomp
9
- {
10
- using namespace ngla;
11
-
12
- template <class SCAL>
13
- class NGS_DLL_HEADER H1AMG_Matrix : public ngla::BaseMatrix
14
- {
15
- size_t size;
16
- std::shared_ptr<ngla::SparseMatrixTM<SCAL>> mat;
17
- std::shared_ptr<ngla::BaseBlockJacobiPrecond> smoother;
18
- std::shared_ptr<ngla::SparseMatrixTM<double>> prolongation, restriction;
19
- std::shared_ptr<ngla::BaseMatrix> coarse_precond;
20
- int smoothing_steps = 1;
21
-
22
- public:
23
- H1AMG_Matrix (std::shared_ptr<ngla::SparseMatrixTM<SCAL>> amat,
24
- std::shared_ptr<ngcore::BitArray> freedofs,
25
- ngcore::FlatArray<ngcore::IVec<2>> e2v,
26
- ngcore::FlatArray<double> edge_weights,
27
- ngcore::FlatArray<double> vertex_weights,
28
- size_t level);
29
-
30
- virtual int VHeight() const override { return size; }
31
- virtual int VWidth() const override { return size; }
32
- virtual bool IsComplex() const override { return is_same<SCAL,Complex>(); }
33
-
34
- virtual AutoVector CreateRowVector () const override { return mat->CreateColVector(); }
35
- virtual AutoVector CreateColVector () const override { return mat->CreateRowVector(); }
36
-
37
- virtual void Mult (const ngla::BaseVector & b, ngla::BaseVector & x) const override;
38
- };
39
- }
40
-
41
- #endif // H1AMG_HPP_