ngsolve 6.2.2506.post74.dev0__cp311-cp311-win_amd64.whl → 6.2.2506.post91.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.
- netgen/include/kernels.hpp +24 -62
- netgen/include/sparsefactorization_interface.hpp +153 -0
- netgen/include/statushandler.hpp +8 -8
- netgen/lib/libngsolve.lib +0 -0
- netgen/libngsolve.dll +0 -0
- netgen/ngscxx.bat +1 -1
- ngsolve/cmake/NGSolveConfig.cmake +1 -1
- ngsolve/cmake/ngsolve-targets.cmake +15 -8
- ngsolve/config/config.py +5 -5
- ngsolve/directsolvers.py +9 -21
- ngsolve/ngslib.pyd +0 -0
- ngsolve/solvers/cudss.py +74 -0
- {ngsolve-6.2.2506.post74.dev0.dist-info → ngsolve-6.2.2506.post91.dev0.dist-info}/METADATA +2 -2
- {ngsolve-6.2.2506.post74.dev0.dist-info → ngsolve-6.2.2506.post91.dev0.dist-info}/RECORD +47 -45
- /ngsolve/{solvers.py → solvers/__init__.py} +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/Scripts/ngsolve.tcl +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/beam.geo +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/beam.vol +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/chip.in2d +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/chip.vol +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/coil.geo +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/coil.vol +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/coilshield.geo +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/coilshield.vol +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/cube.geo +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/cube.vol +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/d1_square.pde +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/d2_chip.pde +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/d4_cube.pde +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/d5_beam.pde +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/d6_shaft.pde +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/d7_coil.pde +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/doubleglazing.vol +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/shaft.geo +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/shaft.vol +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/square.in2d +0 -0
- {ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/square.vol +0 -0
- {ngsolve-6.2.2506.post74.dev0.dist-info → ngsolve-6.2.2506.post91.dev0.dist-info}/LICENSE +0 -0
- {ngsolve-6.2.2506.post74.dev0.dist-info → ngsolve-6.2.2506.post91.dev0.dist-info}/WHEEL +0 -0
- {ngsolve-6.2.2506.post74.dev0.dist-info → ngsolve-6.2.2506.post91.dev0.dist-info}/top_level.txt +0 -0
netgen/include/kernels.hpp
CHANGED
|
@@ -203,22 +203,28 @@ namespace ngsbem
|
|
|
203
203
|
|
|
204
204
|
/** HelmholtzSLkernel is the kernel for the double layer potential of the
|
|
205
205
|
Helmholtz equation $ -\Delta u - \kappa^2 u = 0, \; \kappa>0\,. $ */
|
|
206
|
-
template <int DIM> class HelmholtzSLKernel;
|
|
206
|
+
template <int DIM, int COMPS=1> class HelmholtzSLKernel;
|
|
207
207
|
|
|
208
208
|
/** HelmholtzSLkernel in 3D reads
|
|
209
209
|
$$ G(x-y) = \frac{1 }{4\,\pi} \,\frac{e^{i\,\kappa \, |x-y| }{|x-y|} \,
|
|
210
210
|
\quad x, y \in \mathbb R^3, \; x\not=y\,. $$ */
|
|
211
|
-
template
|
|
212
|
-
class HelmholtzSLKernel<3> : public BaseKernel
|
|
211
|
+
template<int COMPS>
|
|
212
|
+
class HelmholtzSLKernel<3, COMPS> : public BaseKernel
|
|
213
213
|
{
|
|
214
214
|
double kappa;
|
|
215
215
|
public:
|
|
216
216
|
typedef Complex value_type;
|
|
217
|
+
using mp_type = typename std::conditional<COMPS == 1,
|
|
218
|
+
Complex,
|
|
219
|
+
Vec<COMPS, Complex>>::type;
|
|
217
220
|
static string Name() { return "HelmholtzSL"; }
|
|
218
|
-
static auto Shape() { return IVec<2>(
|
|
221
|
+
static auto Shape() { return IVec<2>(COMPS,COMPS); }
|
|
219
222
|
|
|
220
223
|
/** Construction of the kernel specifies the wavenumber $\kappa$. */
|
|
221
|
-
HelmholtzSLKernel (double _kappa) : kappa(_kappa) {
|
|
224
|
+
HelmholtzSLKernel (double _kappa) : kappa(_kappa) {
|
|
225
|
+
for (size_t i = 0; i < COMPS; i++)
|
|
226
|
+
terms += {1.0, 0, i, i};
|
|
227
|
+
}
|
|
222
228
|
|
|
223
229
|
template <typename T>
|
|
224
230
|
auto Evaluate (Vec<3,T> x, Vec<3,T> y, Vec<3,T> nx, Vec<3,T> ny) const
|
|
@@ -229,26 +235,32 @@ namespace ngsbem
|
|
|
229
235
|
return Vec<1,decltype(kern)> (kern);
|
|
230
236
|
}
|
|
231
237
|
double GetKappa() const { return kappa; }
|
|
232
|
-
Array<KernelTerm> terms
|
|
238
|
+
Array<KernelTerm> terms;
|
|
233
239
|
|
|
234
240
|
auto CreateMultipoleExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
|
|
235
241
|
{
|
|
236
|
-
return make_shared<SingularMLExpansion<
|
|
242
|
+
return make_shared<SingularMLExpansion<mp_type>> (c, r, kappa, fmm_params);
|
|
237
243
|
}
|
|
238
244
|
|
|
239
245
|
auto CreateLocalExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
|
|
240
246
|
{
|
|
241
|
-
return make_shared<RegularMLExpansion<
|
|
247
|
+
return make_shared<RegularMLExpansion<mp_type>> (c, r, kappa, fmm_params);
|
|
242
248
|
}
|
|
243
249
|
|
|
244
|
-
void AddSource (SingularMLExpansion<
|
|
250
|
+
void AddSource (SingularMLExpansion<mp_type> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<Complex> val) const
|
|
245
251
|
{
|
|
246
|
-
|
|
252
|
+
if constexpr (COMPS == 1)
|
|
253
|
+
mp.AddCharge (pnt, val(0));
|
|
254
|
+
else
|
|
255
|
+
mp.AddCharge (pnt, val);
|
|
247
256
|
}
|
|
248
257
|
|
|
249
|
-
void EvaluateMP (RegularMLExpansion<
|
|
258
|
+
void EvaluateMP (RegularMLExpansion<mp_type> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<Complex> val) const
|
|
250
259
|
{
|
|
251
|
-
|
|
260
|
+
if constexpr (COMPS == 1)
|
|
261
|
+
val(0) = mp.Evaluate (pnt);
|
|
262
|
+
else
|
|
263
|
+
val = mp.Evaluate (pnt);
|
|
252
264
|
}
|
|
253
265
|
};
|
|
254
266
|
|
|
@@ -317,56 +329,6 @@ namespace ngsbem
|
|
|
317
329
|
};
|
|
318
330
|
|
|
319
331
|
|
|
320
|
-
template <int DIM> class HelmholtzSLVecKernel;
|
|
321
|
-
|
|
322
|
-
template<>
|
|
323
|
-
class HelmholtzSLVecKernel<3> : public BaseKernel
|
|
324
|
-
{
|
|
325
|
-
double kappa;
|
|
326
|
-
public:
|
|
327
|
-
typedef Complex value_type;
|
|
328
|
-
static string Name() { return "HelmholtzSLVec"; }
|
|
329
|
-
static auto Shape() { return IVec<2>(3,3); }
|
|
330
|
-
|
|
331
|
-
HelmholtzSLVecKernel (double _kappa) : kappa(_kappa) { }
|
|
332
|
-
|
|
333
|
-
template <typename T>
|
|
334
|
-
auto Evaluate (Vec<3,T> x, Vec<3,T> y, Vec<3,T> nx, Vec<3,T> ny) const
|
|
335
|
-
{
|
|
336
|
-
T norm = L2Norm(x-y);
|
|
337
|
-
auto kern = exp(Complex(0,kappa)*norm) / (4 * M_PI * norm);
|
|
338
|
-
return Vec<1,decltype(kern)> (kern);
|
|
339
|
-
}
|
|
340
|
-
double GetKappa() const { return kappa; }
|
|
341
|
-
Array<KernelTerm> terms =
|
|
342
|
-
{
|
|
343
|
-
KernelTerm{1.0, 0, 0, 0},
|
|
344
|
-
KernelTerm{1.0, 0, 1, 1},
|
|
345
|
-
KernelTerm{1.0, 0, 2, 2},
|
|
346
|
-
};
|
|
347
|
-
|
|
348
|
-
auto CreateMultipoleExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
|
|
349
|
-
{
|
|
350
|
-
return make_shared<SingularMLExpansion<Vec<3,Complex>>> (c, r, kappa, fmm_params);
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
auto CreateLocalExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
|
|
354
|
-
{
|
|
355
|
-
return make_shared<RegularMLExpansion<Vec<3,Complex>>> (c, r, kappa, fmm_params);
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
void AddSource (SingularMLExpansion<Vec<3,Complex>> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<Complex> val) const
|
|
359
|
-
{
|
|
360
|
-
mp.AddCharge(pnt, val);
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
void EvaluateMP (RegularMLExpansion<Vec<3,Complex>> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<Complex> val) const
|
|
364
|
-
{
|
|
365
|
-
val = mp.Evaluate (pnt);
|
|
366
|
-
}
|
|
367
|
-
};
|
|
368
|
-
|
|
369
|
-
|
|
370
332
|
template <int DIM> class HelmholtzHSKernel;
|
|
371
333
|
|
|
372
334
|
template<>
|
|
@@ -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
|
netgen/include/statushandler.hpp
CHANGED
|
@@ -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
|
-
|
|
13
|
-
static void PushStatus (const
|
|
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
|
|
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
|
netgen/ngscxx.bat
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
set NGSCXX_DIR=%~dp0
|
|
2
2
|
call "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/Build/vcvarsall.bat" amd64
|
|
3
3
|
|
|
4
|
-
cl /c /O2 /Ob2 /DNDEBUG /DWIN32 /D_WINDOWS /GR /EHsc /DHAVE_NETGEN_SOURCES /DUSE_TIMEOFDAY /DTCL /DLAPACK /DUSE_PARDISO /DNGS_PYTHON /DNETGEN_PYTHON /DNG_PYTHON /DPYBIND11_SIMPLE_GIL_MANAGEMENT /D_WIN32_WINNT=0x1000 /DWNT /DWNT_WINDOW /DNOMINMAX /DMSVC_EXPRESS /D_CRT_SECURE_NO_WARNINGS /DHAVE_STRUCT_TIMESPEC /DWIN32 /DPARALLEL /DNG_MPI_WRAPPER /std:c++17 /bigobj /wd4068 -DMAX_SYS_DIM=3 /arch:AVX2 /bigobj /I"C:/gitlabci/tools/builds/3zsqG5ns/0/ngsolve/venv_ngs/Library/include" /I"C:/Python311/include" /I"%NGSCXX_DIR%/include" /I"%NGSCXX_DIR%/include/include" %*
|
|
4
|
+
cl /c /O2 /Ob2 /DNDEBUG /DWIN32 /D_WINDOWS /GR /EHsc /DHAVE_NETGEN_SOURCES /DUSE_TIMEOFDAY /DTCL /DLAPACK /DUSE_PARDISO /DNGS_PYTHON /DNETGEN_PYTHON /DNG_PYTHON /DPYBIND11_SIMPLE_GIL_MANAGEMENT /D_WIN32_WINNT=0x1000 /DWNT /DWNT_WINDOW /DNOMINMAX /DMSVC_EXPRESS /D_CRT_SECURE_NO_WARNINGS /DHAVE_STRUCT_TIMESPEC /DWIN32 /DPARALLEL /DNG_MPI_WRAPPER /std:c++17 /bigobj /wd4068 -DMAX_SYS_DIM=3 /arch:AVX2 /bigobj /MD /I"C:/gitlabci/tools/builds/3zsqG5ns/0/ngsolve/venv_ngs/Library/include" /I"C:/Python311/include" /I"%NGSCXX_DIR%/include" /I"%NGSCXX_DIR%/include/include" %*
|
|
@@ -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
|
|
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
|
|
58
|
-
add_library(
|
|
57
|
+
# Create imported target netgen_lib
|
|
58
|
+
add_library(netgen_lib INTERFACE IMPORTED)
|
|
59
59
|
|
|
60
|
-
set_target_properties(
|
|
61
|
-
INTERFACE_LINK_LIBRARIES "nglib
|
|
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 "
|
|
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 "
|
|
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-
|
|
33
|
-
NGSOLVE_VERSION_GIT = "v6.2.2506-
|
|
34
|
-
NGSOLVE_VERSION_PYTHON = "6.2.2506.
|
|
32
|
+
NGSOLVE_VERSION = "6.2.2506-91-g125cf2190"
|
|
33
|
+
NGSOLVE_VERSION_GIT = "v6.2.2506-91-g125cf2190"
|
|
34
|
+
NGSOLVE_VERSION_PYTHON = "6.2.2506.post91.dev0"
|
|
35
35
|
|
|
36
36
|
NGSOLVE_VERSION_MAJOR = "6"
|
|
37
37
|
NGSOLVE_VERSION_MINOR = "2"
|
|
38
|
-
NGSOLVE_VERSION_TWEAK = "
|
|
38
|
+
NGSOLVE_VERSION_TWEAK = "91"
|
|
39
39
|
NGSOLVE_VERSION_PATCH = "2506"
|
|
40
|
-
NGSOLVE_VERSION_HASH = "
|
|
40
|
+
NGSOLVE_VERSION_HASH = "g125cf2190"
|
|
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(
|
|
4
|
-
|
|
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
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
-
|
|
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
|
ngsolve/solvers/cudss.py
ADDED
|
@@ -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.
|
|
3
|
+
Version: 6.2.2506.post91.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.
|
|
8
|
+
Requires-Dist: netgen-mesher==6.2.2506.post20.dev0
|
|
9
9
|
Requires-Dist: mkl
|
|
10
10
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
netgen/libngsolve.dll,sha256=
|
|
2
|
-
netgen/ngscxx.bat,sha256=
|
|
1
|
+
netgen/libngsolve.dll,sha256=iaFHisnDxmS8twJzOpwfwSy4vsBom5IKUIK3OUEqTpU,38096384
|
|
2
|
+
netgen/ngscxx.bat,sha256=Co1K4zp1DlHSx2T4y_CcqC6VRxBR1-jVcliNWNGyMIE,702
|
|
3
3
|
netgen/ngsld.bat,sha256=YD1I1rK70K_YvLev7aYQMD9mCcwF55k1B_8pRWPpob0,428
|
|
4
4
|
netgen/ngspy,sha256=3e0duHqv6lx2t8qE3kj2nTLz76Pd-RwjY7L7J-94UP4,70
|
|
5
5
|
netgen/include/analytic_integrals.hpp,sha256=oPgn5R2aQOu3ELN-NIMK-h2UFFJbmFlx-cZd_Nqm7rQ,248
|
|
@@ -101,7 +101,7 @@ netgen/include/intrule.hpp,sha256=zZAu7zxZ6oiHjE-UfRyRPZOJi5LMgJFItQHz0pORNvM,83
|
|
|
101
101
|
netgen/include/intrules_SauterSchwab.hpp,sha256=2f9Lb77H6sgaVq7576L78zNGbv4MYgHpddIzfc36TKA,675
|
|
102
102
|
netgen/include/irspace.hpp,sha256=UFWeaFVUDwsHCJZqtZBBDnhWC4Oyy34z9Pr6KzofHPg,1557
|
|
103
103
|
netgen/include/jacobi.hpp,sha256=LvjGz2p4Eew3TPsRU34oWMNPXIZ_-tU6prsgjUiqgEs,4891
|
|
104
|
-
netgen/include/kernels.hpp,sha256=
|
|
104
|
+
netgen/include/kernels.hpp,sha256=B3HYIP5LdU0bt0WQLiM6ktyif596ZZlPThyY-s2Z7lI,24000
|
|
105
105
|
netgen/include/l2hofe.hpp,sha256=DUiwhkbnavfgLy8RgQrp__47fe4USC42E-Loyot0WEQ,6890
|
|
106
106
|
netgen/include/l2hofe_impl.hpp,sha256=GyZPQ2RFQWxBoiS82cg1I3LjTq1M7uFeZ6IHhZVe7Lw,16412
|
|
107
107
|
netgen/include/l2hofefo.hpp,sha256=ZA3Rqc_aGnLkS12eUz_W9AAV0hybvPSOzCIJeIMgIqE,17134
|
|
@@ -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=
|
|
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=
|
|
196
|
+
netgen/lib/libngsolve.lib,sha256=8g2R2h4xMnvZvYzTClmRM3EN3uC-6-PWeOGENOHgHgU,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=
|
|
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=
|
|
211
|
+
ngsolve/ngslib.pyd,sha256=cjd_12fEkMrCRSw5i4a6IbyTc0x91b-Yu4VjqS6sldA,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=
|
|
219
|
+
ngsolve/cmake/NGSolveConfig.cmake,sha256=UCu6e3Hbq_iV9wlZfanIP6VfG98J5GwqgsUFRUp8gZA,5182
|
|
220
220
|
ngsolve/cmake/ngsolve-targets-release.cmake,sha256=knQjCmz6J-x_Egg5DosY5hU_CZdZlSQxQ4Za7pS07fA,907
|
|
221
|
-
ngsolve/cmake/ngsolve-targets.cmake,sha256=
|
|
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=
|
|
224
|
+
ngsolve/config/config.py,sha256=auM-ECqCcIyEb5ayC9c6T0Qe4MsDav5ZG9t7avzsv28,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
|
|
257
|
-
ngsolve
|
|
258
|
-
ngsolve-6.2.2506.
|
|
259
|
-
ngsolve-6.2.2506.
|
|
260
|
-
ngsolve-6.2.2506.
|
|
261
|
-
ngsolve-6.2.2506.
|
|
262
|
-
ngsolve-6.2.2506.
|
|
263
|
-
ngsolve-6.2.2506.
|
|
264
|
-
ngsolve-6.2.2506.
|
|
265
|
-
ngsolve-6.2.2506.
|
|
266
|
-
ngsolve-6.2.2506.
|
|
267
|
-
ngsolve-6.2.2506.
|
|
268
|
-
ngsolve-6.2.2506.
|
|
269
|
-
ngsolve-6.2.2506.
|
|
270
|
-
ngsolve-6.2.2506.
|
|
271
|
-
ngsolve-6.2.2506.
|
|
272
|
-
ngsolve-6.2.2506.
|
|
273
|
-
ngsolve-6.2.2506.
|
|
274
|
-
ngsolve-6.2.2506.
|
|
275
|
-
ngsolve-6.2.2506.
|
|
276
|
-
ngsolve-6.2.2506.
|
|
277
|
-
ngsolve-6.2.2506.
|
|
278
|
-
ngsolve-6.2.2506.
|
|
279
|
-
ngsolve-6.2.2506.
|
|
280
|
-
ngsolve-6.2.2506.
|
|
281
|
-
ngsolve-6.2.2506.
|
|
282
|
-
ngsolve-6.2.2506.
|
|
283
|
-
ngsolve-6.2.2506.
|
|
284
|
-
ngsolve-6.2.2506.
|
|
285
|
-
ngsolve-6.2.2506.
|
|
286
|
-
ngsolve-6.2.2506.
|
|
287
|
-
ngsolve-6.2.2506.
|
|
288
|
-
ngsolve-6.2.2506.
|
|
289
|
-
ngsolve-6.2.2506.
|
|
256
|
+
ngsolve/solvers/__init__.py,sha256=Vbm5RfIJ83nMtQ1pYJL0uBBuys4-mcY6b63MNkyiqxU,311
|
|
257
|
+
ngsolve/solvers/cudss.py,sha256=-1wiJhjW5ddtF2FyPzNXsm-e10jkc0f5VKtqXwsA0S0,2737
|
|
258
|
+
ngsolve-6.2.2506.post91.dev0.data/data/Scripts/ngsolve.tcl,sha256=8KBOXZKYU_qx8785PIjdmVjcUbCxR5aYrod0BZ4UgGc,21637
|
|
259
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/beam.geo,sha256=HTv0A6IUoVuavifolhGKY6U44z0hni07Htonqe6rw_A,404
|
|
260
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/beam.vol,sha256=QZbM9JE4rBs5nVXaw7ZAbDf60yXbX19bm1OnOScF57M,13834
|
|
261
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/chip.in2d,sha256=561AjEIPnlzMZHIzep5lRjocQDm8w7o7IDna5u8s9JQ,592
|
|
262
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/chip.vol,sha256=gkEmBWlQh8BkSFNTf-XISfmuGzHXDKANV4Uoww_BwJI,28511
|
|
263
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/coil.geo,sha256=ylB2OiWEZztFXPx99qTNRJKmZFIDPEezEgQt4EPtZRA,376
|
|
264
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/coil.vol,sha256=t8cWP_YX38FMw0S-7vEVUOcSH0VK6DlaqVWG_zmBo-4,147284
|
|
265
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/coilshield.geo,sha256=Sq8w7i22WQ0viaiM3bU_63lZGFWp8JgyDqs3RdjeTe0,629
|
|
266
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/coilshield.vol,sha256=JiZOM9A529-hikvv1kyLwffTRpeatLtaVTNcu42o1fo,165576
|
|
267
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/cube.geo,sha256=Wd9AnPdoQgjQ-JK6zmoXjsNxPR9B8ED4pdHVwmRoe1M,405
|
|
268
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/cube.vol,sha256=RS8bay_KlF6IZM0QDDr7_dGaFLqoxszQU_w8TYutMKY,92127
|
|
269
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/d10_DGdoubleglazing.pde,sha256=lK3sXmK74eFEMk8F6hwFHe_tBYnOdRq3F-RbzKpDK0c,1354
|
|
270
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/d11_chip_nitsche.pde,sha256=VuEQtkZaIJA9yuvjG_jcx1UB9UtAaZSoeJYFHcHeYxk,1141
|
|
271
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/d1_square.pde,sha256=24ZZ0nlbr5LKl_mPyeZZMSkiCBiBk1fzNElo3yITX2A,1072
|
|
272
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/d2_chip.pde,sha256=yGIbzuTdCEjdoC9Ig_hbcy5qz69_wxgPZeYmhY1rN7k,985
|
|
273
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/d3_helmholtz.pde,sha256=gWqQTh1M9NiKGohlu5JxDJuvRz-T28WlNSVbwmMvM-0,590
|
|
274
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/d4_cube.pde,sha256=6kL43ehAh1PdwnFlLjadg325bFjpz02p2PpAOxlDFuc,1079
|
|
275
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/d5_beam.pde,sha256=VQt9WbqAVWObFH9Jy1YieE9WHnVZ_hnsKVTz6ysEBxI,2059
|
|
276
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/d6_shaft.pde,sha256=y10nLFA2-GwEwnAs5R-8wppRq-09vYJ_C9LJ3DSvlS0,1974
|
|
277
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/d7_coil.pde,sha256=KFkqtZiPD4LQsGnghwwdq1qmpWf0T5xQR4HwbRL9ZZA,1250
|
|
278
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/d8_coilshield.pde,sha256=9XG0TcgZ7mComh_pVntnuzDldEx5PD-C7gqK05PTWus,1190
|
|
279
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/d9_hybridDG.pde,sha256=vYschVRu5vC91YpyVZFCBFuno-ZlOcRznPD-OvJTLtQ,1551
|
|
280
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/doubleglazing.in2d,sha256=lDCukUh9iTpkiH-qJAVdeAlMpiYF0AibAA6g3jOeWDY,533
|
|
281
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/doubleglazing.vol,sha256=IUOhUrZi8WMnvrIJe--A8cYPN6mscslA8_4yxvKShb0,35724
|
|
282
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/piezo2d40round4.vol.gz,sha256=RuxM0vtYljoAImOH6U6avt0LmWaUbGNao37n8p_Yd1w,496477
|
|
283
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/shaft.geo,sha256=Y3OVQlWjgICe2Dwz6-Qs8r0tLanjwtWP0xFx5AwNRJk,2507
|
|
284
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/shaft.vol,sha256=IqViJ4hJKk3Uf66PkVJ-kHpBQ_ZpkigRuh5g1Po4euY,274741
|
|
285
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/square.in2d,sha256=5dewiEjTsRFiNkBlmaTjBAZejq55TTlusp8ALfTMc2M,209
|
|
286
|
+
ngsolve-6.2.2506.post91.dev0.data/data/share/ngsolve/square.vol,sha256=tWdPeQ52deUNgWOsWKhqgNVsJKhkJmEAVp5-xjhzEwg,9311
|
|
287
|
+
ngsolve-6.2.2506.post91.dev0.dist-info/LICENSE,sha256=iFoD9UsVeWEjb0aEPnmXKr_NaJC2y7NovH7KMo_5WhI,26934
|
|
288
|
+
ngsolve-6.2.2506.post91.dev0.dist-info/METADATA,sha256=mY0MS6pVwltxTWMDFekJiMeCoz5teOx8YQw2rrhcRus,228
|
|
289
|
+
ngsolve-6.2.2506.post91.dev0.dist-info/WHEEL,sha256=m80YfzNz3jW1qC3l3wcIVYwAZZ7BsFPRWWkkti4tjCc,96
|
|
290
|
+
ngsolve-6.2.2506.post91.dev0.dist-info/top_level.txt,sha256=1llU44DxNIP85uPT4RChsIuV3h2d0_5j0Ui_Df5vV8E,15
|
|
291
|
+
ngsolve-6.2.2506.post91.dev0.dist-info/RECORD,,
|
|
File without changes
|
{ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/Scripts/ngsolve.tcl
RENAMED
|
File without changes
|
{ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/beam.geo
RENAMED
|
File without changes
|
{ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/beam.vol
RENAMED
|
File without changes
|
{ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/chip.in2d
RENAMED
|
File without changes
|
{ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/chip.vol
RENAMED
|
File without changes
|
{ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/coil.geo
RENAMED
|
File without changes
|
{ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/coil.vol
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/cube.geo
RENAMED
|
File without changes
|
{ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/cube.vol
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/shaft.geo
RENAMED
|
File without changes
|
{ngsolve-6.2.2506.post74.dev0.data → ngsolve-6.2.2506.post91.dev0.data}/data/share/ngsolve/shaft.vol
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ngsolve-6.2.2506.post74.dev0.dist-info → ngsolve-6.2.2506.post91.dev0.dist-info}/top_level.txt
RENAMED
|
File without changes
|