ngsolve 6.2.2506.post74.dev0__cp311-cp311-win_amd64.whl → 6.2.2506.post85.dev0__cp311-cp311-win_amd64.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 (45) hide show
  1. netgen/include/sparsefactorization_interface.hpp +153 -0
  2. netgen/include/statushandler.hpp +8 -8
  3. netgen/lib/libngsolve.lib +0 -0
  4. netgen/libngsolve.dll +0 -0
  5. ngsolve/cmake/NGSolveConfig.cmake +1 -1
  6. ngsolve/cmake/ngsolve-targets.cmake +15 -8
  7. ngsolve/config/config.py +5 -5
  8. ngsolve/directsolvers.py +9 -21
  9. ngsolve/ngslib.pyd +0 -0
  10. ngsolve/solvers/cudss.py +74 -0
  11. {ngsolve-6.2.2506.post74.dev0.dist-info → ngsolve-6.2.2506.post85.dev0.dist-info}/METADATA +2 -2
  12. {ngsolve-6.2.2506.post74.dev0.dist-info → ngsolve-6.2.2506.post85.dev0.dist-info}/RECORD +45 -43
  13. /ngsolve/{solvers.py → solvers/__init__.py} +0 -0
  14. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/Scripts/ngsolve.tcl +0 -0
  15. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/beam.geo +0 -0
  16. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/beam.vol +0 -0
  17. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/chip.in2d +0 -0
  18. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/chip.vol +0 -0
  19. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/coil.geo +0 -0
  20. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/coil.vol +0 -0
  21. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/coilshield.geo +0 -0
  22. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/coilshield.vol +0 -0
  23. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/cube.geo +0 -0
  24. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/cube.vol +0 -0
  25. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
  26. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
  27. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/d1_square.pde +0 -0
  28. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/d2_chip.pde +0 -0
  29. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
  30. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/d4_cube.pde +0 -0
  31. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/d5_beam.pde +0 -0
  32. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/d6_shaft.pde +0 -0
  33. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/d7_coil.pde +0 -0
  34. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
  35. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
  36. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
  37. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/doubleglazing.vol +0 -0
  38. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  39. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/shaft.geo +0 -0
  40. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/shaft.vol +0 -0
  41. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/square.in2d +0 -0
  42. {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post85.dev0.data}/data/share/ngsolve/square.vol +0 -0
  43. {ngsolve-6.2.2506.post74.dev0.dist-info → ngsolve-6.2.2506.post85.dev0.dist-info}/LICENSE +0 -0
  44. {ngsolve-6.2.2506.post74.dev0.dist-info → ngsolve-6.2.2506.post85.dev0.dist-info}/WHEEL +0 -0
  45. {ngsolve-6.2.2506.post74.dev0.dist-info → ngsolve-6.2.2506.post85.dev0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,153 @@
1
+ #ifndef SPARSEFACTORIZATION_INTERFACE_HPP
2
+ #define SPARSEFACTORIZATION_INTERFACE_HPP
3
+
4
+ #include "basevector.hpp"
5
+ #include "sparsecholesky.hpp"
6
+ #include "sparsematrix.hpp"
7
+ #include "../ngstd/python_ngstd.hpp"
8
+
9
+ namespace ngla {
10
+
11
+ void ExportSparseFactorizationInterface(py::module &m);
12
+
13
+ struct MapInnerDofs {
14
+ shared_ptr<BitArray> inner;
15
+ shared_ptr<const Array<int>> cluster;
16
+ Array<int> project;
17
+ Array<int> embed;
18
+ size_t size = 0;
19
+
20
+ MapInnerDofs(shared_ptr<BitArray> ainner,
21
+ shared_ptr<const Array<int>> acluster = nullptr)
22
+ : inner(ainner), cluster(acluster) {
23
+ if (!inner && !cluster) {
24
+ size = 0;
25
+ return;
26
+ }
27
+ if (inner) {
28
+ size = inner->NumSet();
29
+ project.SetSize(size);
30
+ embed.SetSize(inner->Size());
31
+ int j = 0;
32
+ for (int i = 0; i < inner->Size(); i++) {
33
+ if ((*inner)[i]) {
34
+ project[j] = i;
35
+ embed[i] = j++;
36
+ } else
37
+ embed[i] = -1;
38
+ }
39
+ return;
40
+ }
41
+
42
+ int j = 0;
43
+ for (int i = 0; i < cluster->Size(); i++) {
44
+ if ((*cluster)[i]) {
45
+ project.Append(i);
46
+ embed.Append(j++);
47
+ } else {
48
+ embed.Append(-1);
49
+ }
50
+ }
51
+ size = project.Size();
52
+ }
53
+
54
+ operator bool() const { return inner || cluster; }
55
+
56
+ template <typename T>
57
+ void Project(FlatVector<T> dst, FlatVector<T> src) const {
58
+ for (size_t i = 0; i < project.Size(); i++)
59
+ dst[i] = src[project[i]];
60
+ }
61
+
62
+ template <typename T> void Embed(T &dst, const T &src) const {
63
+ for (size_t i : Range(embed)) {
64
+ if (embed[i] >= 0)
65
+ dst[i] = src[embed[i]];
66
+ else
67
+ dst[i] = 0.0;
68
+ }
69
+ }
70
+
71
+ template <typename T>
72
+ void EmbedAdd(FlatVector<T> dst, FlatVector<T> src, T scale) const {
73
+ for (size_t i : Range(embed))
74
+ if (embed[i] >= 0)
75
+ dst[i] += scale * src[embed[i]];
76
+ }
77
+
78
+ template <typename T>
79
+ shared_ptr<SparseMatrixTM<T>>
80
+ ProjectMatrix(shared_ptr<const SparseMatrixTM<T>> m) {
81
+ Array<int> rowi, coli;
82
+ Array<T> vals;
83
+ auto &dofs = *inner;
84
+
85
+ auto vals_ori = m->GetValues();
86
+
87
+ auto &cluster_array = *cluster;
88
+ auto &inner_bitarray = *inner;
89
+ auto is_used = [this, &inner_bitarray, &cluster_array](int i, int j) {
90
+ if (inner)
91
+ return inner_bitarray[i] && inner_bitarray[j];
92
+ return cluster_array[i] == cluster_array[j];
93
+ };
94
+
95
+ for (auto i : project)
96
+ for (auto j : m->GetRowIndices(i))
97
+ if (is_used(i, j)) {
98
+ rowi.Append(embed[i]);
99
+ coli.Append(embed[j]);
100
+ vals.Append(vals_ori[m->GetPosition(i, j)]);
101
+ }
102
+
103
+ auto res = SparseMatrixTM<T>::CreateFromCOO(rowi, coli, vals,
104
+ project.Size(), project.Size());
105
+ res->SetSPD(m->IsSPD());
106
+ return res;
107
+ }
108
+ };
109
+
110
+ class SparseFactorizationInterface : public SparseFactorization {
111
+ protected:
112
+ shared_ptr<const BaseSparseMatrix> inner_mat;
113
+ shared_ptr<BaseVector> inner_rhs, inner_solution;
114
+ MapInnerDofs map_inner_dofs;
115
+ bool is_complex = false;
116
+ bool is_symmetric = false;
117
+ bool is_symmetric_storage = false;
118
+ bool is_analyzed = false;
119
+ int width, height, inner_width, inner_height;
120
+
121
+ public:
122
+ SparseFactorizationInterface() = delete;
123
+ SparseFactorizationInterface(shared_ptr<const BaseMatrix> m,
124
+ shared_ptr<BitArray> ainner = nullptr,
125
+ shared_ptr<const Array<int>> acluster = nullptr);
126
+
127
+ virtual ~SparseFactorizationInterface() {}
128
+
129
+ AutoVector CreateRowVector() const override {
130
+ return make_unique<VVector<double>>(Width());
131
+ }
132
+
133
+ AutoVector CreateColVector() const override {
134
+ return make_unique<VVector<double>>(Height());
135
+ }
136
+
137
+ shared_ptr<const BaseSparseMatrix> GetInnerMatrix() const {
138
+ return inner_mat;
139
+ }
140
+
141
+ void MultAdd(double s, const BaseVector &x, BaseVector &y) const override;
142
+ void MultAdd(Complex s, const BaseVector &x, BaseVector &y) const override;
143
+
144
+ virtual void Update() override;
145
+
146
+ virtual void Analyze() {}
147
+ virtual void Factor() {}
148
+ virtual void Solve(const BaseVector &rhs, BaseVector &solution) const = 0;
149
+ };
150
+
151
+ } // namespace ngla
152
+
153
+ #endif // SPARSEFACTORIZATION_INTERFACE_HPP
@@ -3,27 +3,27 @@
3
3
 
4
4
  namespace ngstd
5
5
  {
6
-
6
+
7
7
  /** Access to statusbar. (and more)
8
8
  */
9
9
 
10
10
  class NGS_DLL_HEADER BaseStatusHandler
11
- {
12
- public:
13
- static void PushStatus (const char * str);
11
+ {
12
+ public:
13
+ static void PushStatus (const std::string& str);
14
14
  static void PopStatus ();
15
15
  static void SetThreadPercentage (double percent);
16
-
16
+
17
17
  static void GetStatus (string & str, double & percent);
18
-
18
+
19
19
  static void SetTerminate(void);
20
20
  static void UnSetTerminate(void);
21
21
  static bool ShouldTerminate(void);
22
-
22
+
23
23
  class Region
24
24
  {
25
25
  public:
26
- Region(const char * str) { PushStatus(str); }
26
+ Region(const string& str) { PushStatus(str); }
27
27
  ~Region() { PopStatus(); }
28
28
  };
29
29
  };
netgen/lib/libngsolve.lib CHANGED
Binary file
netgen/libngsolve.dll CHANGED
Binary file
@@ -1,4 +1,4 @@
1
- set(PACKAGE_VERSION "6.2.2506-74-gd430159c1")
1
+ set(PACKAGE_VERSION "6.2.2506-85-g5e4fc20dd")
2
2
  find_package(Netgen CONFIG REQUIRED HINTS
3
3
  ${CMAKE_CURRENT_LIST_DIR}
4
4
  ${CMAKE_CURRENT_LIST_DIR}/..
@@ -19,7 +19,7 @@ set(CMAKE_IMPORT_FILE_VERSION 1)
19
19
  set(_cmake_targets_defined "")
20
20
  set(_cmake_targets_not_defined "")
21
21
  set(_cmake_expected_targets "")
22
- foreach(_cmake_expected_target IN ITEMS netgen_libs ngs_lapack ngstd ngbla ngla ngfem ngsbem ngcomp ngsolve)
22
+ foreach(_cmake_expected_target IN ITEMS netgen_lib netgen_core_lib ngs_lapack ngstd ngbla ngla ngfem ngsbem ngcomp ngsolve)
23
23
  list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
24
24
  if(TARGET "${_cmake_expected_target}")
25
25
  list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
@@ -54,11 +54,18 @@ if(_IMPORT_PREFIX STREQUAL "/")
54
54
  set(_IMPORT_PREFIX "")
55
55
  endif()
56
56
 
57
- # Create imported target netgen_libs
58
- add_library(netgen_libs INTERFACE IMPORTED)
57
+ # Create imported target netgen_lib
58
+ add_library(netgen_lib INTERFACE IMPORTED)
59
59
 
60
- set_target_properties(netgen_libs PROPERTIES
61
- INTERFACE_LINK_LIBRARIES "nglib;ngcore"
60
+ set_target_properties(netgen_lib PROPERTIES
61
+ INTERFACE_LINK_LIBRARIES "nglib"
62
+ )
63
+
64
+ # Create imported target netgen_core_lib
65
+ add_library(netgen_core_lib INTERFACE IMPORTED)
66
+
67
+ set_target_properties(netgen_core_lib PROPERTIES
68
+ INTERFACE_LINK_LIBRARIES "ngcore"
62
69
  )
63
70
 
64
71
  # Create imported target ngs_lapack
@@ -75,7 +82,7 @@ add_library(ngstd INTERFACE IMPORTED)
75
82
  set_target_properties(ngstd PROPERTIES
76
83
  INTERFACE_COMPILE_DEFINITIONS "HAVE_NETGEN_SOURCES;USE_TIMEOFDAY;TCL;LAPACK;USE_PARDISO;NGS_PYTHON"
77
84
  INTERFACE_COMPILE_OPTIONS "/std:c++17;/bigobj;/wd4068;-DMAX_SYS_DIM=3"
78
- INTERFACE_LINK_LIBRARIES "netgen_libs;\$<LINK_ONLY:>"
85
+ INTERFACE_LINK_LIBRARIES "netgen_core_lib;\$<LINK_ONLY:>"
79
86
  )
80
87
 
81
88
  # Create imported target ngbla
@@ -110,14 +117,14 @@ set_target_properties(ngsbem PROPERTIES
110
117
  add_library(ngcomp INTERFACE IMPORTED)
111
118
 
112
119
  set_target_properties(ngcomp PROPERTIES
113
- INTERFACE_LINK_LIBRARIES "ngfem;ngla;ngbla;ngstd;\$<LINK_ONLY:>"
120
+ INTERFACE_LINK_LIBRARIES "ngfem;ngla;ngbla;ngstd;\$<LINK_ONLY:>;netgen_lib"
114
121
  )
115
122
 
116
123
  # Create imported target ngsolve
117
124
  add_library(ngsolve SHARED IMPORTED)
118
125
 
119
126
  set_target_properties(ngsolve PROPERTIES
120
- INTERFACE_LINK_LIBRARIES "netgen_libs;ngsolve;ngcomp;ngfem;ngsbem;ngbla;ngla;ngstd"
127
+ INTERFACE_LINK_LIBRARIES "netgen_lib;netgen_core_lib;ngsolve;ngcomp;ngfem;ngsbem;ngbla;ngla;ngstd"
121
128
  )
122
129
 
123
130
  if(CMAKE_VERSION VERSION_LESS 3.0.0)
ngsolve/config/config.py CHANGED
@@ -29,15 +29,15 @@ NGSOLVE_INSTALL_DIR_INCLUDE = "netgen/include"
29
29
  NGSOLVE_INSTALL_DIR_CMAKE = "ngsolve/cmake"
30
30
  NGSOLVE_INSTALL_DIR_RES = "share"
31
31
 
32
- NGSOLVE_VERSION = "6.2.2506-74-gd430159c1"
33
- NGSOLVE_VERSION_GIT = "v6.2.2506-74-gd430159c1"
34
- NGSOLVE_VERSION_PYTHON = "6.2.2506.post74.dev0"
32
+ NGSOLVE_VERSION = "6.2.2506-85-g5e4fc20dd"
33
+ NGSOLVE_VERSION_GIT = "v6.2.2506-85-g5e4fc20dd"
34
+ NGSOLVE_VERSION_PYTHON = "6.2.2506.post85.dev0"
35
35
 
36
36
  NGSOLVE_VERSION_MAJOR = "6"
37
37
  NGSOLVE_VERSION_MINOR = "2"
38
- NGSOLVE_VERSION_TWEAK = "74"
38
+ NGSOLVE_VERSION_TWEAK = "85"
39
39
  NGSOLVE_VERSION_PATCH = "2506"
40
- NGSOLVE_VERSION_HASH = "gd430159c1"
40
+ NGSOLVE_VERSION_HASH = "g5e4fc20dd"
41
41
 
42
42
  CMAKE_CXX_COMPILER = "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.44.35207/bin/Hostx64/x64/cl.exe"
43
43
  CMAKE_CUDA_COMPILER = ""
ngsolve/directsolvers.py CHANGED
@@ -1,26 +1,14 @@
1
1
  from ngsolve import BaseMatrix, BitArray, BilinearForm, BaseVector
2
+ import ngsolve
2
3
 
3
- class SuperLU(BaseMatrix):
4
- # def __init__(self, a: BaseMatrix | BilinearForm, freedofs: BitArray = None):
5
- def __init__(self, a, freedofs: BitArray = None):
6
- super().__init__()
7
- self.a = a
8
- self.freedofs = freedofs
9
-
10
- def Update(self):
4
+ class SuperLU(ngsolve.la.SparseFactorizationInterface):
5
+ def Factor(self):
11
6
  import scipy.sparse as sp
12
7
  import scipy.sparse.linalg as spla
13
- a = self.a if isinstance(self.a, BaseMatrix) else self.a.mat
14
- mat = sp.csr_matrix(a.CSR())
15
- if self.freedofs is not None:
16
- self.fd = list(self.freedofs)
17
- mat = mat[self.fd,:][:,self.fd]
18
- self.lu = spla.factorized(sp.csc_matrix(mat))
8
+ vals, rows, cols = self.GetInnerMatrix().CSR()
9
+ self.inv_mat = spla.factorized(sp.csr_matrix((vals, rows, cols)))
10
+
11
+ def Solve(self, rhs, sol):
12
+ sol.FV().NumPy()[:] = self.inv_mat(rhs.FV().NumPy())
19
13
 
20
- def Mult(self, x: BaseVector, y: BaseVector):
21
- if not hasattr(self, "lu"):
22
- self.Update()
23
- if self.freedofs is not None:
24
- y.FV().NumPy()[self.fd] = self.lu(x.FV().NumPy()[self.fd])
25
- else:
26
- y.FV().NumPy()[:] = self.lu(x.FV().NumPy())
14
+ ngsolve.la.RegisterInverseType("superlu", SuperLU)
ngsolve/ngslib.pyd CHANGED
Binary file
@@ -0,0 +1,74 @@
1
+
2
+ try:
3
+ import nvmath
4
+ import nvmath.sparse.advanced as nvs
5
+ except ImportError:
6
+ raise ImportError("CUDSS solver requires nvmath-python module.")
7
+ import ngsolve.la as ngla
8
+ import scipy.sparse as sp
9
+ import numpy as np
10
+
11
+
12
+ class CudssSolver(ngla.SparseFactorizationInterface):
13
+ def Analyze(self):
14
+ self._mat = self.GetInnerMatrix()
15
+ csr = sp.csr_matrix(self._mat.CSR())
16
+ self._tmp = np.empty(csr.shape[1], dtype=csr.dtype)
17
+ options = make_directsolver_options()
18
+ self.solver = nvs.DirectSolver(csr, self._tmp, options=options)
19
+ self.solver.plan()
20
+
21
+ def Factor(self):
22
+ self.solver.factorize()
23
+
24
+ def Solve(self, b, sol):
25
+ self.solver.reset_operands(b=b.FV().NumPy())
26
+ sol.FV().NumPy()[:] = self.solver.solve()
27
+
28
+
29
+ ngla.RegisterInverseType("cudss", CudssSolver)
30
+
31
+
32
+ # find cudss multithreading lib from installed distribution
33
+
34
+ import os, pathlib
35
+ from importlib import util as importlib_util
36
+ from importlib import metadata as importlib_metadata
37
+
38
+ def _from_dist_files():
39
+ # Use the wheel’s file manifest (most reliable)
40
+ candidates = []
41
+ for dist_name in ("nvidia-cudss-cu12", "nvidia_cudss_cu12", "nvidia-cudss"): # try common variants
42
+ try:
43
+ dist = importlib_metadata.distribution(dist_name)
44
+ except importlib_metadata.PackageNotFoundError:
45
+ continue
46
+ for f in dist.files or []:
47
+ name = f.name.lower()
48
+ # check for name ends in .so or .so.*
49
+ endwith_so = name.endswith(".so") or (".so." in name and name.rsplit(".so.", 1)[1].replace(".", "").isdigit())
50
+ if name.startswith("libcudss_mtlayer_") and endwith_so:
51
+ candidates.append(dist.locate_file(f))
52
+ if name.startswith("cudss_mtlayer_") and name.endswith(".dll"):
53
+ candidates.append(dist.locate_file(f))
54
+ if candidates:
55
+ # Prefer anything in bin/ or lib/ if multiple
56
+ candidates.sort(key=lambda p: ("bin" not in str(p) and "lib" not in str(p), str(p)))
57
+ return str(candidates[0])
58
+ return None
59
+
60
+
61
+ def make_directsolver_options():
62
+ # Helpful on Windows (Python 3.8+): ensure DLL deps can be found
63
+ if os.name == "nt":
64
+ for var in ("CUDA_PATH", "CUDSS_PATH", "CONDA_PREFIX"):
65
+ base = os.environ.get(var)
66
+ if base:
67
+ p = pathlib.Path(base) / "bin"
68
+ if p.exists():
69
+ try:
70
+ os.add_dll_directory(str(p))
71
+ except Exception:
72
+ pass
73
+ mtlib = _from_dist_files()
74
+ return nvs.DirectSolverOptions(multithreading_lib=mtlib)
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ngsolve
3
- Version: 6.2.2506.post74.dev0
3
+ Version: 6.2.2506.post85.dev0
4
4
  Summary: NGSolve
5
5
  Author: The NGSolve team
6
6
  License: LGPL2.1
7
7
  License-File: LICENSE
8
- Requires-Dist: netgen-mesher==6.2.2506.post11.dev0
8
+ Requires-Dist: netgen-mesher==6.2.2506.post14.dev0
9
9
  Requires-Dist: mkl
10
10
 
@@ -1,4 +1,4 @@
1
- netgen/libngsolve.dll,sha256=dgDi70sxuMWEO0DHmA3wmabWcfLrSXJzlHFpEK6ee5U,38053888
1
+ netgen/libngsolve.dll,sha256=FF9I4s8jcgdGpH2in1wwprMjz8yNwhtXEoQAZzKDjOk,38097920
2
2
  netgen/ngscxx.bat,sha256=VoM77lA1caaCxceVKRtN_SRBB3U1Duofhz1B-LtAGsg,698
3
3
  netgen/ngsld.bat,sha256=YD1I1rK70K_YvLev7aYQMD9mCcwF55k1B_8pRWPpob0,428
4
4
  netgen/ngspy,sha256=3e0duHqv6lx2t8qE3kj2nTLz76Pd-RwjY7L7J-94UP4,70
@@ -161,12 +161,13 @@ netgen/include/simd_complex.hpp,sha256=JOmBhwEPK-LtuXmofWR01ziUWXGTcmzRtoFl34Zp0
161
161
  netgen/include/smoother.hpp,sha256=SoVZvhFynyPSIAe-x8EloVluIHUE0k78Dp3sQFu-Yfo,6896
162
162
  netgen/include/solve.hpp,sha256=lzCGHU1QOj9VXG43Q8MzvDi48-BfVH_fG8R0ttU8Xfg,2123
163
163
  netgen/include/sparsecholesky.hpp,sha256=hOzFoXMEelAdJROF1q4zkYv0yfZgSDhjwaYvRRmiMcE,9201
164
+ netgen/include/sparsefactorization_interface.hpp,sha256=Hbs7OEs8Q7HS9MVC4X5kKA0vS6HI13In_7g4TqKUsRE,4296
164
165
  netgen/include/sparsematrix.hpp,sha256=c_FdF060SJ0_qQK3WRQg5Gu042neowQHQ31n8cj3r1E,33779
165
166
  netgen/include/sparsematrix_dyn.hpp,sha256=1azpAkASyjwRKiDZ_FVVyBPiLpiZocsW0S9bEMTjprI,2746
166
167
  netgen/include/sparsematrix_impl.hpp,sha256=WpqmiecTQpbvE6LSfoouvKBCY6T2Y4FetCclHPa8RTI,31232
167
168
  netgen/include/special_matrix.hpp,sha256=j_9NSuEudoEzX3hx6TAdSwOEka5MiQgqJ1lAOwno4ng,16989
168
169
  netgen/include/specialelement.hpp,sha256=ovP0KuLWkBRnoc72hfzGgrrigzNQBdJexVAgSUj63vg,3351
169
- netgen/include/statushandler.hpp,sha256=IJPw19bARTth8D8wc6kHTBkxE4o3QTWB-cGDGz1Q2oE,679
170
+ netgen/include/statushandler.hpp,sha256=NWSeGEz-aB7fNs6WZgObmO66BB9OJ4R4w3v7WSeL4fk,704
170
171
  netgen/include/stringops.hpp,sha256=vN_DL7f2M5e9dLpZOHIVDXzwoSovbqtuqClZdYMVDrA,274
171
172
  netgen/include/superluinverse.hpp,sha256=A5YmUv_5R0qAzcD4zIxpUPAB6HqLcXuFU6J91Ygmnio,3301
172
173
  netgen/include/symbolicintegrator.hpp,sha256=wqNooITNcQVDUiPbs3LIAaV7vpFBLhq1TvupEoDGs2A,36897
@@ -192,14 +193,14 @@ netgen/include/voxelcoefficientfunction.hpp,sha256=zPlatX_nf2ODK2X979wvpm1HXHEzn
192
193
  netgen/include/vtkoutput.hpp,sha256=GwPaFtOVY27_1hKwSqpNHV4ppOk3CVsLdMpocm27odQ,6628
193
194
  netgen/include/vvector.hpp,sha256=vpnwWlNWsEJB26ve8cKADbUMGVBTTVCFvrBC4r_LDDQ,4785
194
195
  netgen/include/webgui.hpp,sha256=xm1S5KHockrzf_R4zHzQ9fzwfQ4H5aZaZm9ItCaR41s,2199
195
- netgen/lib/libngsolve.lib,sha256=dWT0Y4EJA8sO_NCSLMmEb3YRkdzq1_LwULwOUF2zXa4,13927164
196
+ netgen/lib/libngsolve.lib,sha256=CDwp2TklxfEeckWNDxQq_D4LOQ85tpJU7N2SrHJe_jU,13927470
196
197
  ngsolve/TensorProductTools.py,sha256=jD4LtJdEiLt2dDsU6STMXb10yrau_i20gatwGlqbiFQ,8562
197
198
  ngsolve/__console.py,sha256=QLnfw1ONU9eVPQZ_LjzY-7b_gfZpRRRdI7imHR1lJR8,2983
198
199
  ngsolve/__expr.py,sha256=ZAtv94PVtAdvWWKFIvQGJC55aIEY6ajo-l5Hp-1V-6s,4396
199
200
  ngsolve/__init__.py,sha256=_pRJLhaBNqv2q1vigj9p-2YqRbiROROrnl3iVM9G2ow,5620
200
201
  ngsolve/_scikit_build_core_dependencies.py,sha256=usioLq44m3uusEH205dW0czyzGmzy87PZgizZKUoPs0,765
201
202
  ngsolve/bvp.py,sha256=STQCDhEphVgEK3hfWGJyVkS1vi_ubTTKHq7fnuR-POo,2065
202
- ngsolve/directsolvers.py,sha256=lVfEluGDFd_u6Y-vyQ08VjHA02xQuklIQ91hMopj-40,1021
203
+ ngsolve/directsolvers.py,sha256=oP6hzWSlmNuobu5tFoMJRRX3Zh-_dib-S_rQ2Z9LEio,526
203
204
  ngsolve/eigenvalues.py,sha256=7PRftYxyoBwu0C_kD1lrDI0gjgJOyJWZzAhVQVfTAkI,9673
204
205
  ngsolve/internal.py,sha256=IgPpdMN7bdaCrafmJcNLha4CYae06A52AHobPjGrkdw,5202
205
206
  ngsolve/krylovspace.py,sha256=uBV8zrTP9RaqlTjYqowFNqVOMfK7ECTg99J8AbeJTWY,32876
@@ -207,21 +208,20 @@ ngsolve/meshes.py,sha256=nz95LP1EEIVAEJ0jyQGqq0E-62uuy2tvIRgqIrEqDHQ,27534
207
208
  ngsolve/ngs2petsc.py,sha256=PLAkvu4H-ZEXd0-bM2v0OJX7gga-OJ9d-NB7g322-wQ,12809
208
209
  ngsolve/ngscxx.py,sha256=r9TV49w0MKIxE6fgJYO4FNv-5wcM9eAFYIG9GspUy_A,1335
209
210
  ngsolve/ngslib.lib,sha256=PMhmZBaGh5nKKYoOl2fg3yeDwwLKpe7a5XttqXXc5xc,1716
210
- ngsolve/ngslib.pyd,sha256=qDKA7rs5z3Vf_OpXtQWec4vXqXB_amebnMeiVEtHqhk,138240
211
+ ngsolve/ngslib.pyd,sha256=ry8pfvmlNgTt91DxyRKl3GmlTaPS6Fu4z8NWXqRmRvE,138240
211
212
  ngsolve/nonlinearsolvers.py,sha256=nKd-SVJseTWztHZPEPKsbv0mLwQjFILZtOh7Ggft0xs,8419
212
213
  ngsolve/preconditioners.py,sha256=vsbO1lQG-ibmk88AHsiizDZcBYsfHEL-13_E_l-tYuw,250
213
214
  ngsolve/solve_implementation.py,sha256=F2es3RvCb2OWNs1Lxl1jexZXCgmfH6cct8cJapftlEg,5708
214
- ngsolve/solvers.py,sha256=Vbm5RfIJ83nMtQ1pYJL0uBBuys4-mcY6b63MNkyiqxU,311
215
215
  ngsolve/timestepping.py,sha256=SuKsFS7cDXRixKWdMMIWW4flet12HLeqWTBC0DFhPwg,8535
216
216
  ngsolve/timing.py,sha256=j_Plbbh51pS9QwMq93hyvFDSrbywmdKZ6Z6OOZmZoe4,4093
217
217
  ngsolve/utils.py,sha256=jg6smLuKF6G9Rvg-EXjyYwjFJGyyiqSRknevdjp-9J4,4724
218
218
  ngsolve/webgui.py,sha256=HVJnfG96eGuO6ZRfqiWQlRaKbK_Yv5y0QbicfNFAf6A,24983
219
- ngsolve/cmake/NGSolveConfig.cmake,sha256=B-9MUyyWpkBT-ICCREnQ5Xs4Z7sNxhiExgKU8Nu9E3E,5182
219
+ ngsolve/cmake/NGSolveConfig.cmake,sha256=-_L0bYC8IRVFIIFM-mPUj3nqYLCJMkWfHgVB2IUMYmY,5182
220
220
  ngsolve/cmake/ngsolve-targets-release.cmake,sha256=knQjCmz6J-x_Egg5DosY5hU_CZdZlSQxQ4Za7pS07fA,907
221
- ngsolve/cmake/ngsolve-targets.cmake,sha256=CDY3Uo0eZa6NGJVRTLZDkbgSrLqTnub8olMieARMi48,5905
221
+ ngsolve/cmake/ngsolve-targets.cmake,sha256=0b9ik_4jQ2mNfqq1oZxhFZq3faLxzmvtR4G8ubzHidQ,6125
222
222
  ngsolve/config/__init__.py,sha256=IjGKWBHvRx572Z6m-5z0q82xuQaWlBABy1whwy2Uxak,23
223
223
  ngsolve/config/__main__.py,sha256=anI_XpgrpEnVnMyrFiH3Yon_tpQZkehnqRTNC02NiBI,93
224
- ngsolve/config/config.py,sha256=mCctlNlPVIxnNkqafHpkzmPl7qYzjMot05R-F0jpG4w,2549
224
+ ngsolve/config/config.py,sha256=QTCZ56_-WHc2yZW0rr84dIeGjM98TLmfgj5dEARkAcY,2549
225
225
  ngsolve/demos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
226
226
  ngsolve/demos/TensorProduct/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
227
227
  ngsolve/demos/TensorProduct/tp_dg_1d_1d.py,sha256=3Q9ntmVJGIKQ-JLdGWgECR_kDjTG8FPVCSiTJkxyi40,2188
@@ -253,37 +253,39 @@ ngsolve/demos/mpi/mpi_cmagnet.py,sha256=59TuQvIIGoDStyJneH47NG131nppBoQpZQ9rfvG_
253
253
  ngsolve/demos/mpi/mpi_navierstokes.py,sha256=ieAWMDd9LoH99L14iBgF_YmX_xk7gltZ9MruTFN6xAY,3028
254
254
  ngsolve/demos/mpi/mpi_poisson.py,sha256=_-H0HFqlwlpasiVD9OQjUvJbWJcQ34-4y-va1WOSOzE,2557
255
255
  ngsolve/demos/mpi/mpi_timeDG.py,sha256=FUOh_1dzOGUU-uAsD4iyz0RVT382jMiMiuYkZjarhAE,1963
256
- ngsolve-6.2.2506.post74.dev0.data/data/Scripts/ngsolve.tcl,sha256=8KBOXZKYU_qx8785PIjdmVjcUbCxR5aYrod0BZ4UgGc,21637
257
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/beam.geo,sha256=HTv0A6IUoVuavifolhGKY6U44z0hni07Htonqe6rw_A,404
258
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/beam.vol,sha256=QZbM9JE4rBs5nVXaw7ZAbDf60yXbX19bm1OnOScF57M,13834
259
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/chip.in2d,sha256=561AjEIPnlzMZHIzep5lRjocQDm8w7o7IDna5u8s9JQ,592
260
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/chip.vol,sha256=gkEmBWlQh8BkSFNTf-XISfmuGzHXDKANV4Uoww_BwJI,28511
261
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/coil.geo,sha256=ylB2OiWEZztFXPx99qTNRJKmZFIDPEezEgQt4EPtZRA,376
262
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/coil.vol,sha256=t8cWP_YX38FMw0S-7vEVUOcSH0VK6DlaqVWG_zmBo-4,147284
263
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/coilshield.geo,sha256=Sq8w7i22WQ0viaiM3bU_63lZGFWp8JgyDqs3RdjeTe0,629
264
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/coilshield.vol,sha256=JiZOM9A529-hikvv1kyLwffTRpeatLtaVTNcu42o1fo,165576
265
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/cube.geo,sha256=Wd9AnPdoQgjQ-JK6zmoXjsNxPR9B8ED4pdHVwmRoe1M,405
266
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/cube.vol,sha256=RS8bay_KlF6IZM0QDDr7_dGaFLqoxszQU_w8TYutMKY,92127
267
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d10_DGdoubleglazing.pde,sha256=lK3sXmK74eFEMk8F6hwFHe_tBYnOdRq3F-RbzKpDK0c,1354
268
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d11_chip_nitsche.pde,sha256=VuEQtkZaIJA9yuvjG_jcx1UB9UtAaZSoeJYFHcHeYxk,1141
269
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d1_square.pde,sha256=24ZZ0nlbr5LKl_mPyeZZMSkiCBiBk1fzNElo3yITX2A,1072
270
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d2_chip.pde,sha256=yGIbzuTdCEjdoC9Ig_hbcy5qz69_wxgPZeYmhY1rN7k,985
271
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d3_helmholtz.pde,sha256=gWqQTh1M9NiKGohlu5JxDJuvRz-T28WlNSVbwmMvM-0,590
272
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d4_cube.pde,sha256=6kL43ehAh1PdwnFlLjadg325bFjpz02p2PpAOxlDFuc,1079
273
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d5_beam.pde,sha256=VQt9WbqAVWObFH9Jy1YieE9WHnVZ_hnsKVTz6ysEBxI,2059
274
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d6_shaft.pde,sha256=y10nLFA2-GwEwnAs5R-8wppRq-09vYJ_C9LJ3DSvlS0,1974
275
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d7_coil.pde,sha256=KFkqtZiPD4LQsGnghwwdq1qmpWf0T5xQR4HwbRL9ZZA,1250
276
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d8_coilshield.pde,sha256=9XG0TcgZ7mComh_pVntnuzDldEx5PD-C7gqK05PTWus,1190
277
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d9_hybridDG.pde,sha256=vYschVRu5vC91YpyVZFCBFuno-ZlOcRznPD-OvJTLtQ,1551
278
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/doubleglazing.in2d,sha256=lDCukUh9iTpkiH-qJAVdeAlMpiYF0AibAA6g3jOeWDY,533
279
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/doubleglazing.vol,sha256=IUOhUrZi8WMnvrIJe--A8cYPN6mscslA8_4yxvKShb0,35724
280
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/piezo2d40round4.vol.gz,sha256=RuxM0vtYljoAImOH6U6avt0LmWaUbGNao37n8p_Yd1w,496477
281
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/shaft.geo,sha256=Y3OVQlWjgICe2Dwz6-Qs8r0tLanjwtWP0xFx5AwNRJk,2507
282
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/shaft.vol,sha256=IqViJ4hJKk3Uf66PkVJ-kHpBQ_ZpkigRuh5g1Po4euY,274741
283
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/square.in2d,sha256=5dewiEjTsRFiNkBlmaTjBAZejq55TTlusp8ALfTMc2M,209
284
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/square.vol,sha256=tWdPeQ52deUNgWOsWKhqgNVsJKhkJmEAVp5-xjhzEwg,9311
285
- ngsolve-6.2.2506.post74.dev0.dist-info/LICENSE,sha256=iFoD9UsVeWEjb0aEPnmXKr_NaJC2y7NovH7KMo_5WhI,26934
286
- ngsolve-6.2.2506.post74.dev0.dist-info/METADATA,sha256=qeZw7A6tmhcYaTNIGnq9DLzs2i4Tx0Ds13ZIbLFpNpE,228
287
- ngsolve-6.2.2506.post74.dev0.dist-info/WHEEL,sha256=m80YfzNz3jW1qC3l3wcIVYwAZZ7BsFPRWWkkti4tjCc,96
288
- ngsolve-6.2.2506.post74.dev0.dist-info/top_level.txt,sha256=1llU44DxNIP85uPT4RChsIuV3h2d0_5j0Ui_Df5vV8E,15
289
- ngsolve-6.2.2506.post74.dev0.dist-info/RECORD,,
256
+ ngsolve/solvers/__init__.py,sha256=Vbm5RfIJ83nMtQ1pYJL0uBBuys4-mcY6b63MNkyiqxU,311
257
+ ngsolve/solvers/cudss.py,sha256=-1wiJhjW5ddtF2FyPzNXsm-e10jkc0f5VKtqXwsA0S0,2737
258
+ ngsolve-6.2.2506.post85.dev0.data/data/Scripts/ngsolve.tcl,sha256=8KBOXZKYU_qx8785PIjdmVjcUbCxR5aYrod0BZ4UgGc,21637
259
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/beam.geo,sha256=HTv0A6IUoVuavifolhGKY6U44z0hni07Htonqe6rw_A,404
260
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/beam.vol,sha256=QZbM9JE4rBs5nVXaw7ZAbDf60yXbX19bm1OnOScF57M,13834
261
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/chip.in2d,sha256=561AjEIPnlzMZHIzep5lRjocQDm8w7o7IDna5u8s9JQ,592
262
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/chip.vol,sha256=gkEmBWlQh8BkSFNTf-XISfmuGzHXDKANV4Uoww_BwJI,28511
263
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/coil.geo,sha256=ylB2OiWEZztFXPx99qTNRJKmZFIDPEezEgQt4EPtZRA,376
264
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/coil.vol,sha256=t8cWP_YX38FMw0S-7vEVUOcSH0VK6DlaqVWG_zmBo-4,147284
265
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/coilshield.geo,sha256=Sq8w7i22WQ0viaiM3bU_63lZGFWp8JgyDqs3RdjeTe0,629
266
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/coilshield.vol,sha256=JiZOM9A529-hikvv1kyLwffTRpeatLtaVTNcu42o1fo,165576
267
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/cube.geo,sha256=Wd9AnPdoQgjQ-JK6zmoXjsNxPR9B8ED4pdHVwmRoe1M,405
268
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/cube.vol,sha256=RS8bay_KlF6IZM0QDDr7_dGaFLqoxszQU_w8TYutMKY,92127
269
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/d10_DGdoubleglazing.pde,sha256=lK3sXmK74eFEMk8F6hwFHe_tBYnOdRq3F-RbzKpDK0c,1354
270
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/d11_chip_nitsche.pde,sha256=VuEQtkZaIJA9yuvjG_jcx1UB9UtAaZSoeJYFHcHeYxk,1141
271
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/d1_square.pde,sha256=24ZZ0nlbr5LKl_mPyeZZMSkiCBiBk1fzNElo3yITX2A,1072
272
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/d2_chip.pde,sha256=yGIbzuTdCEjdoC9Ig_hbcy5qz69_wxgPZeYmhY1rN7k,985
273
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/d3_helmholtz.pde,sha256=gWqQTh1M9NiKGohlu5JxDJuvRz-T28WlNSVbwmMvM-0,590
274
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/d4_cube.pde,sha256=6kL43ehAh1PdwnFlLjadg325bFjpz02p2PpAOxlDFuc,1079
275
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/d5_beam.pde,sha256=VQt9WbqAVWObFH9Jy1YieE9WHnVZ_hnsKVTz6ysEBxI,2059
276
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/d6_shaft.pde,sha256=y10nLFA2-GwEwnAs5R-8wppRq-09vYJ_C9LJ3DSvlS0,1974
277
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/d7_coil.pde,sha256=KFkqtZiPD4LQsGnghwwdq1qmpWf0T5xQR4HwbRL9ZZA,1250
278
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/d8_coilshield.pde,sha256=9XG0TcgZ7mComh_pVntnuzDldEx5PD-C7gqK05PTWus,1190
279
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/d9_hybridDG.pde,sha256=vYschVRu5vC91YpyVZFCBFuno-ZlOcRznPD-OvJTLtQ,1551
280
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/doubleglazing.in2d,sha256=lDCukUh9iTpkiH-qJAVdeAlMpiYF0AibAA6g3jOeWDY,533
281
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/doubleglazing.vol,sha256=IUOhUrZi8WMnvrIJe--A8cYPN6mscslA8_4yxvKShb0,35724
282
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/piezo2d40round4.vol.gz,sha256=RuxM0vtYljoAImOH6U6avt0LmWaUbGNao37n8p_Yd1w,496477
283
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/shaft.geo,sha256=Y3OVQlWjgICe2Dwz6-Qs8r0tLanjwtWP0xFx5AwNRJk,2507
284
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/shaft.vol,sha256=IqViJ4hJKk3Uf66PkVJ-kHpBQ_ZpkigRuh5g1Po4euY,274741
285
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/square.in2d,sha256=5dewiEjTsRFiNkBlmaTjBAZejq55TTlusp8ALfTMc2M,209
286
+ ngsolve-6.2.2506.post85.dev0.data/data/share/ngsolve/square.vol,sha256=tWdPeQ52deUNgWOsWKhqgNVsJKhkJmEAVp5-xjhzEwg,9311
287
+ ngsolve-6.2.2506.post85.dev0.dist-info/LICENSE,sha256=iFoD9UsVeWEjb0aEPnmXKr_NaJC2y7NovH7KMo_5WhI,26934
288
+ ngsolve-6.2.2506.post85.dev0.dist-info/METADATA,sha256=Ocudo3m69lOA5QjzdzJz8oPhxJFz_iZEai44__x5unE,228
289
+ ngsolve-6.2.2506.post85.dev0.dist-info/WHEEL,sha256=m80YfzNz3jW1qC3l3wcIVYwAZZ7BsFPRWWkkti4tjCc,96
290
+ ngsolve-6.2.2506.post85.dev0.dist-info/top_level.txt,sha256=1llU44DxNIP85uPT4RChsIuV3h2d0_5j0Ui_Df5vV8E,15
291
+ ngsolve-6.2.2506.post85.dev0.dist-info/RECORD,,
File without changes