ngsolve 6.2.2506.post38.dev0__cp312-cp312-win_amd64.whl → 6.2.2506.post60.dev0__cp312-cp312-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.
Files changed (48) hide show
  1. netgen/include/bdbequations.hpp +33 -0
  2. netgen/include/diffopwithfactor.hpp +123 -0
  3. netgen/include/expr.hpp +32 -1
  4. netgen/include/kernels.hpp +183 -74
  5. netgen/include/l2hofe.hpp +1 -0
  6. netgen/include/mptools.hpp +49 -39
  7. netgen/include/thdivfe_impl.hpp +1 -1
  8. netgen/include/vector.hpp +7 -2
  9. netgen/lib/libngsolve.lib +0 -0
  10. netgen/libngsolve.dll +0 -0
  11. ngsolve/cmake/NGSolveConfig.cmake +1 -1
  12. ngsolve/config/config.py +5 -5
  13. ngsolve/ngslib.pyd +0 -0
  14. ngsolve/solve_implementation.py +10 -1
  15. {ngsolve-6.2.2506.post38.dev0.dist-info → ngsolve-6.2.2506.post60.dev0.dist-info}/METADATA +1 -1
  16. {ngsolve-6.2.2506.post38.dev0.dist-info → ngsolve-6.2.2506.post60.dev0.dist-info}/RECORD +48 -47
  17. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/Scripts/ngsolve.tcl +0 -0
  18. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/beam.geo +0 -0
  19. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/beam.vol +0 -0
  20. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/chip.in2d +0 -0
  21. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/chip.vol +0 -0
  22. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/coil.geo +0 -0
  23. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/coil.vol +0 -0
  24. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/coilshield.geo +0 -0
  25. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/coilshield.vol +0 -0
  26. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/cube.geo +0 -0
  27. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/cube.vol +0 -0
  28. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
  29. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
  30. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d1_square.pde +0 -0
  31. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d2_chip.pde +0 -0
  32. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
  33. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d4_cube.pde +0 -0
  34. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d5_beam.pde +0 -0
  35. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d6_shaft.pde +0 -0
  36. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d7_coil.pde +0 -0
  37. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
  38. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
  39. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
  40. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/doubleglazing.vol +0 -0
  41. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  42. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/shaft.geo +0 -0
  43. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/shaft.vol +0 -0
  44. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/square.in2d +0 -0
  45. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/square.vol +0 -0
  46. {ngsolve-6.2.2506.post38.dev0.dist-info → ngsolve-6.2.2506.post60.dev0.dist-info}/WHEEL +0 -0
  47. {ngsolve-6.2.2506.post38.dev0.dist-info → ngsolve-6.2.2506.post60.dev0.dist-info}/licenses/LICENSE +0 -0
  48. {ngsolve-6.2.2506.post38.dev0.dist-info → ngsolve-6.2.2506.post60.dev0.dist-info}/top_level.txt +0 -0
@@ -2344,6 +2344,39 @@ namespace ngfem
2344
2344
  mat.Rows(DIM_SPC*i, DIM_SPC*(i+1)).Cols(fel.GetRange(i)) = Trans(hmat);
2345
2345
  }
2346
2346
 
2347
+ static int DimRef() { return DIM_SPC*DIM_ELEMENT; }
2348
+
2349
+ template <typename IP, typename MAT>
2350
+ static void GenerateMatrixRef (const FiniteElement & bfel, const IP & ip,
2351
+ MAT && mat, LocalHeap & lh)
2352
+ {
2353
+ HeapReset hr(lh);
2354
+ auto & fel = static_cast<const VectorFiniteElement&> (bfel);
2355
+ auto & feli = static_cast<const ScalarFiniteElement<DIM_ELEMENT>&> (fel[0]);
2356
+ FlatMatrix<> hmat(feli.GetNDof(), DIM_ELEMENT, lh);
2357
+ feli.CalcDShape(ip, hmat);
2358
+ int ndof = feli.GetNDof();
2359
+ mat.Rows(DIM_SPACE*DIM_ELEMENT).Cols(DIM_SPC*ndof) = 0.0;
2360
+ for (int i = 0; i < DIM_SPACE; i++)
2361
+ mat.Rows(i*DIM_ELEMENT, (i+1)*DIM_ELEMENT).Cols(i*ndof,(i+1)*ndof)
2362
+ = Trans(hmat);
2363
+ }
2364
+
2365
+ template <typename MIP, typename MAT>
2366
+ static void CalcTransformationMatrix (const MIP & mip,
2367
+ MAT & mat, LocalHeap & lh)
2368
+ {
2369
+ FlatMatrix<> hmat(DIM_SPC, DIM_ELEMENT, lh);
2370
+ hmat = Trans(static_cast<const MappedIntegrationPoint<DIM_ELEMENT,DIM_SPC>&>(mip).GetJacobianInverse());
2371
+ mat.Rows(DIM_DMAT).Cols(DIM_ELEMENT*DIM_SPC) = 0.0;
2372
+ for (int i = 0; i < DIM_SPACE; i++)
2373
+ mat.Rows(i*DIM_SPC, (i+1)*DIM_SPC).Cols(i*DIM_ELEMENT, (i+1)*DIM_ELEMENT) = hmat;
2374
+ }
2375
+
2376
+
2377
+
2378
+
2379
+
2347
2380
 
2348
2381
  static void GenerateMatrixSIMDIR (const FiniteElement & bfel,
2349
2382
  const SIMD_BaseMappedIntegrationRule & mir,
@@ -0,0 +1,123 @@
1
+ #ifndef DIFFOPWITHFACTOR_HPP
2
+ #define DIFFOPWITHFACTOR_HPP
3
+
4
+
5
+
6
+ namespace ngsbem
7
+ {
8
+ using namespace ngfem;
9
+
10
+ class DifferentialOperatorWithFactor : public DifferentialOperator
11
+ {
12
+ shared_ptr<DifferentialOperator> diffop;
13
+ shared_ptr<CoefficientFunction> factor;
14
+
15
+ public:
16
+ DifferentialOperatorWithFactor (shared_ptr<DifferentialOperator> adiffop,
17
+ shared_ptr<CoefficientFunction> afactor)
18
+ : DifferentialOperator(afactor->Dimensions()[0], 1, adiffop->VB(), adiffop->DiffOrder()),
19
+ diffop(adiffop), factor(afactor)
20
+ {
21
+ ;
22
+ }
23
+
24
+ int DimRef() const override { return diffop->DimRef(); }
25
+
26
+ virtual IntRange UsedDofs(const FiniteElement & fel) const override { return diffop->UsedDofs(fel); }
27
+
28
+ auto BaseDiffOp() const { return diffop; }
29
+
30
+ void CalcMatrix (const FiniteElement & fel,
31
+ const BaseMappedIntegrationPoint & mip,
32
+ BareSliceMatrix<double,ColMajor> mat,
33
+ LocalHeap & lh) const override
34
+ {
35
+ FlatMatrix<double,ColMajor> hmat(diffop->Dim(), fel.GetNDof(), lh);
36
+ diffop -> CalcMatrix (fel, mip, hmat, lh);
37
+
38
+ auto dims = factor->Dimensions();
39
+ FlatMatrix<double> factorx(dims[0], dims[1], lh);
40
+ factor->Evaluate (mip, factorx.AsVector());
41
+
42
+ IntRange used = diffop->UsedDofs(fel);
43
+ mat.Cols(used) = factorx * hmat.Cols(used);
44
+ }
45
+
46
+ void CalcMatrix (const FiniteElement & fel,
47
+ const SIMD_BaseMappedIntegrationRule & mir,
48
+ BareSliceMatrix<SIMD<double>> mat) const override
49
+ {
50
+ // *testout << "CalcMatrix SIMD" << endl;
51
+ Matrix<SIMD<double>> hmat (fel.GetNDof()*diffop->Dim(), mir.Size());
52
+ // hmat = SIMD<double>(0.0);
53
+ diffop -> CalcMatrix (fel, mir, hmat);
54
+
55
+ Matrix<SIMD<double>> fac(factor->Dimension(), mir.Size());
56
+ factor -> Evaluate (mir, fac);
57
+
58
+ auto dims = factor -> Dimensions();
59
+
60
+ mat.Rows(fel.GetNDof()*dims[1]).Cols(mir.Size()) = SIMD<double>(0.0);
61
+
62
+ for (size_t i = 0; i < mir.Size(); i++)
63
+ for (size_t j = 0; j < dims[0]; j++)
64
+ for (size_t k = 0; k < dims[1]; k++)
65
+ mat.Col(i).Slice(j,dims[0]) += fac(j*dims[1]+k, i) * hmat.Col(i).Slice(k, dims[1]);
66
+ }
67
+
68
+
69
+ void CalcMatrix (const FiniteElement & fel,
70
+ const IntegrationPoint & ip,
71
+ BareSliceMatrix<double,ColMajor> mat,
72
+ LocalHeap & lh) const override
73
+ {
74
+ diffop -> CalcMatrix(fel, ip, mat, lh);
75
+ /*
76
+ *testout << "calcmatrix mip" << endl
77
+ << mat.Rows(Dim()).Cols(fel.GetNDof()) << endl;
78
+ */
79
+ }
80
+
81
+ void CalcTransformationMatrix (const BaseMappedIntegrationPoint & mip,
82
+ SliceMatrix<double> trans,
83
+ LocalHeap & lh) const override
84
+ {
85
+ HeapReset hr(lh);
86
+ auto dims = factor->Dimensions();
87
+
88
+ FlatMatrix<double> factorx(dims[0], dims[1], lh);
89
+ factor->Evaluate (mip, factorx.AsVector());
90
+
91
+ FlatMatrix<double> basetrans(diffop->Dim(), diffop->DimRef(), lh);
92
+ diffop -> CalcTransformationMatrix(mip, basetrans, lh);
93
+
94
+ trans = factorx * basetrans;
95
+ // *testout << "trans = " << trans << endl;
96
+ }
97
+
98
+
99
+ void Apply (const FiniteElement & fel,
100
+ const SIMD_BaseMappedIntegrationRule & mir,
101
+ BareSliceVector<double> x,
102
+ BareSliceMatrix<SIMD<double>> flux) const override
103
+ {
104
+ auto dims = factor->Dimensions();
105
+
106
+ Matrix<SIMD<double>> tmpflux(dims[1], mir.Size());
107
+ Matrix<SIMD<double>> factorx(dims[0]*dims[1], mir.Size());
108
+
109
+ diffop -> Apply (fel, mir, x, tmpflux);
110
+ factor -> Evaluate (mir, factorx);
111
+ flux.Rows(0, dims[0]).Cols(0, mir.Size()) = SIMD<double>(0.0);
112
+ for (int i = 0; i < dims[0]; i++)
113
+ for (int j = 0; j < dims[1]; j++)
114
+ flux.Row(i).Range(mir.Size()) += pw_mult(factorx.Row(i*dims[1]+j), tmpflux.Row(j));
115
+ }
116
+
117
+
118
+ };
119
+
120
+
121
+ }
122
+
123
+ #endif
netgen/include/expr.hpp CHANGED
@@ -515,7 +515,7 @@ namespace ngbla
515
515
  }
516
516
 
517
517
 
518
- if (TB::IsLinear())
518
+ if constexpr (TB::IsLinear())
519
519
  {
520
520
  if (T::IsLinear())
521
521
  {
@@ -1492,8 +1492,39 @@ namespace ngbla
1492
1492
  }
1493
1493
 
1494
1494
 
1495
+ /* ************************* OuterProduct ********************** */
1496
+
1497
+ template <class TA, class TB>
1498
+ class OuterProductExpr : public Expr<OuterProductExpr<TA,TB>>
1499
+ {
1500
+ TA a;
1501
+ TB b;
1502
+ public:
1503
+ OuterProductExpr (TA aa, TB ab) : a(aa), b(ab) { ; }
1495
1504
 
1505
+ // INLINE auto operator() (size_t i) const { return a[i] * b(i); }
1506
+ INLINE auto operator() (size_t i, size_t j) const { return a[i] * b[j]; }
1496
1507
 
1508
+ INLINE auto View() const { return *this; }
1509
+ INLINE auto Shape() const
1510
+ {
1511
+ return tuple<size_t,size_t> (a.Size(), b.Width());
1512
+ }
1513
+
1514
+ INLINE const auto A() const { return a; }
1515
+ INLINE const auto B() const { return b; }
1516
+ INLINE auto Height() const { return a.Size(); }
1517
+ INLINE auto Width() const { return b.Size(); }
1518
+
1519
+ static constexpr bool IsLinear() { return false; }
1520
+ };
1521
+
1522
+
1523
+ template <typename TA, typename TB>
1524
+ INLINE auto OuterProduct (const Expr<TA> & a, const Expr<TB> & b)
1525
+ {
1526
+ return OuterProductExpr (a.View(), b.View());
1527
+ }
1497
1528
 
1498
1529
 
1499
1530
 
@@ -2,6 +2,7 @@
2
2
  #define KERNELS_hpp
3
3
 
4
4
  #include "mptools.hpp"
5
+ #include <type_traits>
5
6
 
6
7
 
7
8
  // **************************** The kernels **********************************
@@ -62,18 +63,26 @@ namespace ngsbem
62
63
 
63
64
  /** LaplaceSLkernel is the kernel for the single layer potential of
64
65
  the Laplace equation $ \Delta u = 0 \,.$ */
65
- template <int DIM> class LaplaceSLKernel;
66
+ template <int DIM, int COMPS=1> class LaplaceSLKernel;
66
67
 
67
68
  /** LaplaceSLkernel in 3D reads
68
69
  $$ G(x-y) = \frac{1}{4\,\pi \, | x-y| }, \quad x, y \in \mathbb R^3, \; x\not=y\,. $$ */
69
- template<>
70
- class LaplaceSLKernel<3> : public BaseKernel
70
+ template<int COMPS>
71
+ class LaplaceSLKernel<3, COMPS> : public BaseKernel
71
72
  {
72
73
  public:
73
- LaplaceSLKernel<3> () = default;
74
+ LaplaceSLKernel<3,COMPS>()
75
+ {
76
+ for (size_t i = 0; i < COMPS; i++)
77
+ terms += {1.0, 0, i, i};
78
+ };
74
79
  typedef double value_type;
80
+ using mp_type = typename std::conditional<COMPS == 1,
81
+ Complex,
82
+ Vec<COMPS, Complex>>::type;
83
+
75
84
  static string Name() { return "LaplaceSL"; }
76
- static auto Shape() { return IVec<2>(1,1); }
85
+ static auto Shape() { return IVec<2>(COMPS,COMPS); }
77
86
 
78
87
  template <typename T>
79
88
  auto Evaluate (Vec<3,T> x, Vec<3,T> y, Vec<3,T> nx, Vec<3,T> ny) const
@@ -83,45 +92,59 @@ namespace ngsbem
83
92
  return Vec<1,T> (1.0 / (4 * M_PI * norm));
84
93
  }
85
94
 
86
- Array<KernelTerm> terms = { KernelTerm{1.0, 0, 0, 0}, };
95
+ Array<KernelTerm> terms;
87
96
 
88
97
  auto CreateMultipoleExpansion (Vec<3> c, double r) const
89
98
  {
90
- return make_shared<SingularMLExpansion<Complex>> (c, r, 1e-16);
99
+ return make_shared<SingularMLExpansion<mp_type>> (c, r, 1e-16);
91
100
  }
92
101
 
93
102
  auto CreateLocalExpansion (Vec<3> c, double r) const
94
103
  {
95
- return make_shared<RegularMLExpansion<Complex>> (c, r, 1e-16);
104
+ return make_shared<RegularMLExpansion<mp_type>> (c, r, 1e-16);
96
105
  }
97
106
 
98
- void AddSource (SingularMLExpansion<Complex> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
107
+ void AddSource (SingularMLExpansion<mp_type> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
99
108
  {
100
- mp.AddCharge (pnt, val(0));
109
+ if constexpr (COMPS == 1)
110
+ mp.AddCharge (pnt, val(0));
111
+ else
112
+ mp.AddCharge (pnt, val);
101
113
  }
102
114
 
103
- void EvaluateMP (RegularMLExpansion<Complex> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
115
+ void EvaluateMP (RegularMLExpansion<mp_type> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
104
116
  {
105
- val(0) = Real(mp.Evaluate (pnt));
117
+ if constexpr (COMPS == 1)
118
+ val(0) = Real(mp.Evaluate (pnt));
119
+ else
120
+ val = Real(mp.Evaluate (pnt));
106
121
  }
107
122
  };
108
123
 
109
124
 
110
125
  /** LaplaceDLkernel is the kernel for the double layer potential of
111
126
  the Laplace equation $ \Delta u = 0 \,.$ */
112
- template <int DIM> class LaplaceDLKernel;
127
+ template <int DIM, int COMPS=1> class LaplaceDLKernel;
113
128
 
114
129
  /** LaplaceDLkernel in 3D reads
115
130
  $$ \frac{\partial }{ \partial n_y} G(x-y) = \frac{1}{4\,\pi} \,
116
131
  \frac{ \langle n(y), x-y\rangle }{ | x-y|^3 },
117
132
  \quad x, y \in \mathbb R^3, \; x\not=y\,. $$ */
118
- template<>
119
- class LaplaceDLKernel<3> : public BaseKernel
133
+ template<int COMPS>
134
+ class LaplaceDLKernel<3, COMPS> : public BaseKernel
120
135
  {
121
136
  public:
137
+ LaplaceDLKernel<3,COMPS>()
138
+ {
139
+ for (size_t i = 0; i < COMPS; i++)
140
+ terms += {1.0, 0, i, i};
141
+ };
122
142
  typedef double value_type;
143
+ using mp_type = typename std::conditional<COMPS == 1,
144
+ Complex,
145
+ Vec<COMPS, Complex>>::type;
123
146
  static string Name() { return "LaplaceDL"; }
124
- static auto Shape() { return IVec<2>(1,1); }
147
+ static auto Shape() { return IVec<2>(COMPS,COMPS); }
125
148
 
126
149
  template <typename T>
127
150
  auto Evaluate (Vec<3,T> x, Vec<3,T> y, Vec<3,T> nx, Vec<3,T> ny) const
@@ -132,83 +155,48 @@ namespace ngsbem
132
155
  return Vec<1,T> (nxy / (4 * M_PI * norm*norm*norm));
133
156
  }
134
157
 
135
- Array<KernelTerm> terms = { KernelTerm{1.0, 0, 0, 0}, };
158
+ Array<KernelTerm> terms;
136
159
 
137
160
  auto CreateMultipoleExpansion (Vec<3> c, double r) const
138
161
  {
139
- return make_shared<SingularMLExpansion<Complex>> (c, r, 1e-16);
162
+ return make_shared<SingularMLExpansion<mp_type>> (c, r, 1e-16);
140
163
  }
141
164
 
142
165
  auto CreateLocalExpansion (Vec<3> c, double r) const
143
166
  {
144
- return make_shared<RegularMLExpansion<Complex>> (c, r, 1e-16);
145
- }
146
-
147
- void AddSource (SingularMLExpansion<Complex> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
148
- {
149
- mp.AddDipole(pnt, -nv, val(0));
150
- }
151
-
152
- void AddSourceTrans(SingularMLExpansion<Complex> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
153
- {
154
- mp.AddCharge(pnt, val(0));
155
- }
156
-
157
- void EvaluateMP (RegularMLExpansion<Complex> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
158
- {
159
- val(0) = Real(mp.Evaluate (pnt));
160
- }
161
-
162
- void EvaluateMPTrans(RegularMLExpansion<Complex> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
163
- {
164
- val(0) = Real(mp.EvaluateDirectionalDerivative(pnt, nv));
165
- }
166
- };
167
-
168
-
169
- template <int DIM> class LaplaceHSKernel;
170
-
171
- template<>
172
- class LaplaceHSKernel<3> : public BaseKernel
173
- {
174
- public:
175
- typedef double value_type;
176
- static string Name() { return "LaplaceHL"; }
177
- static auto Shape() { return IVec<2>(3,3); }
178
-
179
- template <typename T>
180
- auto Evaluate (Vec<3,T> x, Vec<3,T> y, Vec<3,T> nx, Vec<3,T> ny) const
181
- {
182
- T norm = L2Norm(x-y);
183
- // return 1.0 / (4 * M_PI * norm);
184
- return Vec<1,T> (1.0 / (4 * M_PI * norm));
167
+ return make_shared<RegularMLExpansion<mp_type>> (c, r, 1e-16);
185
168
  }
186
-
187
- Array<KernelTerm> terms =
188
- {
189
- KernelTerm{1.0, 0, 0, 0},
190
- KernelTerm{1.0, 0, 1, 1},
191
- KernelTerm{1.0, 0, 2, 2},
192
- };
193
169
 
194
- auto CreateMultipoleExpansion (Vec<3> c, double r) const
170
+ void AddSource (SingularMLExpansion<mp_type> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
195
171
  {
196
- return make_shared<SingularMLExpansion<Vec<3,Complex>>> (c, r, 1e-16);
172
+ if constexpr (COMPS == 1)
173
+ mp.AddDipole(pnt, -nv, val(0));
174
+ else
175
+ mp.AddDipole(pnt, -nv, val);
197
176
  }
198
177
 
199
- auto CreateLocalExpansion (Vec<3> c, double r) const
178
+ void AddSourceTrans(SingularMLExpansion<mp_type> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
200
179
  {
201
- return make_shared<RegularMLExpansion<Vec<3,Complex>>> (c, r, 1e-16);
180
+ if constexpr (COMPS == 1)
181
+ mp.AddCharge (pnt, val(0));
182
+ else
183
+ mp.AddCharge (pnt, val);
202
184
  }
203
185
 
204
- void AddSource (SingularMLExpansion<Vec<3,Complex>> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
186
+ void EvaluateMP (RegularMLExpansion<mp_type> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
205
187
  {
206
- mp.AddCharge(pnt, val);
188
+ if constexpr (COMPS == 1)
189
+ val(0) = Real(mp.Evaluate (pnt));
190
+ else
191
+ val = Real(mp.Evaluate (pnt));
207
192
  }
208
193
 
209
- void EvaluateMP (RegularMLExpansion<Vec<3,Complex>> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
194
+ void EvaluateMPTrans(RegularMLExpansion<mp_type> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
210
195
  {
211
- val = Real(mp.Evaluate (pnt));
196
+ if constexpr (COMPS == 1)
197
+ val(0) = Real(mp.EvaluateDirectionalDerivative(pnt, nv));
198
+ else
199
+ val = Real(mp.EvaluateDirectionalDerivative(pnt, nv));
212
200
  }
213
201
  };
214
202
 
@@ -646,6 +634,127 @@ namespace ngsbem
646
634
  };
647
635
 
648
636
 
637
+
638
+
639
+
640
+ /*
641
+ Dissertation Guenther Of
642
+ "BETI–Gebietszerlegungsmethoden
643
+ mit schnellen Randelementverfahren
644
+ und Anwendungen"
645
+ page 85
646
+ */
647
+
648
+ template <int D> class LameSLKernel;
649
+
650
+ template<>
651
+ class LameSLKernel<3> : public BaseKernel
652
+ {
653
+ double E, nu;
654
+ double alpha;
655
+ public:
656
+ typedef double value_type;
657
+
658
+ static string Name() { return "LameSL"; }
659
+ static auto Shape() { return IVec<2>(3,3); }
660
+
661
+ LameSLKernel (const LameSLKernel&) = default;
662
+ LameSLKernel (LameSLKernel&&) = default;
663
+ LameSLKernel (double _E, double _nu) : E(_E), nu(_nu)
664
+ {
665
+ alpha = (1+nu)/((1-nu)*2*E);
666
+
667
+ terms += { 3-4*nu, 0, 0, 0 };
668
+ terms += { 3-4*nu, 0, 1, 1 };
669
+ terms += { 3-4*nu, 0, 2, 2 };
670
+
671
+ terms += { 1, 1, 0, 0 };
672
+ terms += { 1, 2, 0, 1 };
673
+ terms += { 1, 2, 1, 0 };
674
+
675
+ terms += { 1, 3, 0, 2 };
676
+ terms += { 1, 3, 2, 0 };
677
+ terms += { 1, 4, 1, 1 };
678
+
679
+ terms += { 1, 5, 1, 2 };
680
+ terms += { 1, 5, 2, 1 };
681
+ terms += { 1, 6, 2, 2 };
682
+ }
683
+
684
+ Array<KernelTerm> terms;
685
+
686
+ template <typename T>
687
+ auto Evaluate (Vec<3,T> x, Vec<3,T> y, Vec<3,T> nx, Vec<3,T> ny) const
688
+ {
689
+ T norm = L2Norm(x-y);
690
+ auto lapkern = alpha / (4 * M_PI * norm); // lapkern times factor
691
+
692
+ return Vec<7,T> { lapkern,
693
+ (x(0)-y(0))*(x(0)-y(0))/sqr(norm) * lapkern,
694
+ (x(0)-y(0))*(x(1)-y(1))/sqr(norm) * lapkern,
695
+ (x(0)-y(0))*(x(2)-y(2))/sqr(norm) * lapkern,
696
+ (x(1)-y(1))*(x(1)-y(1))/sqr(norm) * lapkern,
697
+ (x(1)-y(1))*(x(2)-y(2))/sqr(norm) * lapkern,
698
+ (x(2)-y(2))*(x(2)-y(2))/sqr(norm) * lapkern
699
+ };
700
+ }
701
+
702
+
703
+ auto CreateMultipoleExpansion (Vec<3> c, double r) const
704
+ {
705
+ return make_shared<SingularMLExpansion<Vec<6,Complex>>> (c, r, 1e-16);
706
+ }
707
+
708
+ auto CreateLocalExpansion (Vec<3> c, double r) const
709
+ {
710
+ return make_shared<RegularMLExpansion<Vec<6,Complex>>> (c, r, 1e-16);
711
+ }
712
+
713
+
714
+ void AddSource (SingularMLExpansion<Vec<6,Complex>> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
715
+ {
716
+ Vec<6> charge = 0.0;
717
+ charge.Range(0,3) = val;
718
+ mp.AddCharge(pnt, charge); // Row 1+2
719
+
720
+ Mat<3,3> jacobi = OuterProduct(pnt, val) + InnerProduct(pnt, val) * Id<3>();
721
+
722
+ for (int k = 0; k < 3; k++)
723
+ {
724
+ Vec<6> dipole_charge = 0.0;
725
+ dipole_charge.Range(3,6) = jacobi.Col(k);
726
+
727
+ auto ek = UnitVec<3>(k);
728
+ mp.AddDipole(pnt, -ek, dipole_charge);
729
+ }
730
+ }
731
+
732
+ void EvaluateMP (RegularMLExpansion<Vec<6,Complex>> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
733
+ {
734
+ Vec<6> mpval = Real(mp.Evaluate (pnt));
735
+ val.Range(0,3) = 0;
736
+ val += (3-4*nu)*alpha * mpval.Range(0,3); // Row 1
737
+
738
+ val -= alpha/2 * mpval.Range(3,6); // Row 3
739
+
740
+ // Row 2
741
+ Mat<3,3> jacobi = 0.0;
742
+ for (int k = 0; k < 3; k++)
743
+ {
744
+ auto ek = UnitVec<3>(k);
745
+ jacobi.Col(k) = Real(mp.EvaluateDirectionalDerivative(pnt, ek).Range(0,3));
746
+ }
747
+
748
+ val -= alpha/2 * ( Trans(jacobi) * pnt + Trace(jacobi) * pnt);
749
+ }
750
+ };
751
+
752
+
753
+
754
+
755
+
756
+
757
+
649
758
  }
650
759
 
651
760
 
netgen/include/l2hofe.hpp CHANGED
@@ -71,6 +71,7 @@ namespace ngfem
71
71
 
72
72
  public:
73
73
  using ET_trait<ET>::ElementType;
74
+ using BaseScalarFiniteElement::CalcShape;
74
75
 
75
76
  INLINE L2HighOrderFE () { ; }
76
77
  INLINE L2HighOrderFE (int aorder)
@@ -884,26 +884,30 @@ namespace ngsbem
884
884
  return sum;
885
885
  }
886
886
 
887
- {
888
- // static Timer t("fmm direct eval"); RegionTimer reg(t);
889
- // t.AddFlops (charges.Size());
890
887
  if (simd_charges.Size())
891
888
  {
892
889
  // static Timer t("mptool singmp, evaluate, simd charges"); RegionTimer r(t);
890
+ // t.AddFlops (charges.Size());
893
891
 
894
892
  simd_entry_type vsum{0.0};
895
893
  if (mp.Kappa() < 1e-12)
896
894
  {
897
895
  for (auto [x,c] : simd_charges)
898
896
  {
897
+ auto rho = L2Norm(p-x);
898
+ auto kernel = 1/(4*M_PI)/rho;
899
+ kernel = If(rho > 0.0, kernel, SIMD<double,FMM_SW>(0.0));
900
+ vsum += kernel * c;
901
+
902
+ /*
899
903
  auto rho2 = L2Norm2(p-x);
900
904
  auto kernel = (1/(4*M_PI)) * rsqrt(rho2);
901
905
  kernel = If(rho2 > 0.0, kernel, SIMD<double,FMM_SW>(0.0));
902
906
  vsum += kernel * c;
907
+ */
903
908
  }
904
909
  }
905
- else
906
- if (mp.Kappa() < 1e-8)
910
+ else if (mp.Kappa() < 1e-8)
907
911
  for (auto [x,c] : simd_charges)
908
912
  {
909
913
  auto rho = L2Norm(p-x);
@@ -920,7 +924,7 @@ namespace ngsbem
920
924
  kernel = If(rho > 0.0, kernel, SIMD<Complex,FMM_SW>(0.0));
921
925
  vsum += kernel * c;
922
926
  }
923
-
927
+
924
928
  sum += HSum(vsum);
925
929
  }
926
930
  else
@@ -936,41 +940,40 @@ namespace ngsbem
936
940
  if (double rho = L2Norm(p-x); rho > 0)
937
941
  sum += (1/(4*M_PI))*exp(Complex(0,rho*mp.Kappa())) / rho * c;
938
942
  }
939
- }
940
943
 
941
944
  if (simd_dipoles.Size())
942
- {
943
- // static Timer t("mptool singmp, evaluate, simd dipoles"); RegionTimer r(t);
944
-
945
- simd_entry_type vsum{0.0};
946
- for (auto [x,d,c] : simd_dipoles)
947
945
  {
948
- auto rho = L2Norm(p-x);
949
- auto drhodp = (1.0/rho) * (p-x);
950
- auto [si,co] = sincos(rho*mp.Kappa());
951
- auto dGdrho = (1/(4*M_PI))*SIMD<Complex,FMM_SW>(co,si) *
952
- (-1.0/(rho*rho) + SIMD<Complex,FMM_SW>(0, mp.Kappa())/rho);
953
- auto kernel = dGdrho * InnerProduct(drhodp, d);
954
- kernel = If(rho > 0.0, kernel, SIMD<Complex,FMM_SW>(0.0));
955
- vsum += kernel * c;
946
+ // static Timer t("mptool singmp, evaluate, simd dipoles"); RegionTimer r(t);
947
+
948
+ simd_entry_type vsum{0.0};
949
+ for (auto [x,d,c] : simd_dipoles)
950
+ {
951
+ auto rho = L2Norm(p-x);
952
+ auto drhodp = (1.0/rho) * (p-x);
953
+ auto [si,co] = sincos(rho*mp.Kappa());
954
+ auto dGdrho = (1/(4*M_PI))*SIMD<Complex,FMM_SW>(co,si) *
955
+ (-1.0/(rho*rho) + SIMD<Complex,FMM_SW>(0, mp.Kappa())/rho);
956
+ auto kernel = dGdrho * InnerProduct(drhodp, d);
957
+ kernel = If(rho > 0.0, kernel, SIMD<Complex,FMM_SW>(0.0));
958
+ vsum += kernel * c;
959
+ }
960
+ sum += HSum(vsum);
956
961
  }
957
- sum += HSum(vsum);
958
- }
959
962
  else
960
- {
961
- for (auto [x,d,c] : dipoles)
962
- if (double rho = L2Norm(p-x); rho > 0)
963
963
  {
964
- Vec<3> drhodp = 1.0/rho * (p-x);
965
- Complex dGdrho = (1/(4*M_PI))*exp(Complex(0,rho*mp.Kappa())) *
966
- (Complex(0, mp.Kappa())/rho - 1.0/sqr(rho));
967
- sum += dGdrho * InnerProduct(drhodp, d) * c;
964
+ for (auto [x,d,c] : dipoles)
965
+ if (double rho = L2Norm(p-x); rho > 0)
966
+ {
967
+ Vec<3> drhodp = 1.0/rho * (p-x);
968
+ Complex dGdrho = (1/(4*M_PI))*exp(Complex(0,rho*mp.Kappa())) *
969
+ (Complex(0, mp.Kappa())/rho - 1.0/sqr(rho));
970
+ sum += dGdrho * InnerProduct(drhodp, d) * c;
971
+ }
968
972
  }
969
- }
970
-
971
-
972
-
973
- if (simd_chargedipoles.Size())
973
+
974
+
975
+
976
+ if (simd_chargedipoles.Size())
974
977
  {
975
978
  // static Timer t("mptool singmp, evaluate, simd chargedipoles"); RegionTimer r(t);
976
979
  // t.AddFlops (simd_chargedipoles.Size()*FMM_SW);
@@ -982,10 +985,10 @@ namespace ngsbem
982
985
  auto rhokappa = rho*mp.Kappa();
983
986
  auto invrho = If(rho>0.0, 1.0/rho, SIMD<double,FMM_SW>(0.0));
984
987
  auto [si,co] = sincos(rhokappa);
985
-
988
+
986
989
  auto kernelc = (1/(4*M_PI))*invrho*SIMD<Complex,FMM_SW>(co,si);
987
990
  vsum += kernelc * c;
988
-
991
+
989
992
  auto kernel =
990
993
  invrho*invrho * InnerProduct(p-x, d) *
991
994
  kernelc * SIMD<Complex,FMM_SW>(-1.0, rhokappa);
@@ -994,7 +997,7 @@ namespace ngsbem
994
997
  }
995
998
  sum += HSum(vsum);
996
999
  }
997
- else
1000
+ else
998
1001
  {
999
1002
  // static Timer t("mptool singmp, evaluate, chargedipoles"); RegionTimer r(t);
1000
1003
  // t.AddFlops (chargedipoles.Size());
@@ -1003,7 +1006,7 @@ namespace ngsbem
1003
1006
  if (double rho = L2Norm(p-x); rho > 0)
1004
1007
  {
1005
1008
  sum += (1/(4*M_PI))*exp(Complex(0,rho*mp.Kappa())) / rho * c;
1006
-
1009
+
1007
1010
  Vec<3> drhodp = 1.0/rho * (p-x);
1008
1011
  Complex dGdrho = (1/(4*M_PI))*exp(Complex(0,rho*mp.Kappa())) *
1009
1012
  (Complex(0, mp.Kappa())/rho - 1.0/sqr(rho));
@@ -1052,7 +1055,14 @@ namespace ngsbem
1052
1055
  }
1053
1056
 
1054
1057
  if (dipoles.Size())
1055
- throw Exception("EvaluateDeriv not implemented for dipoles in SingularMLExpansion");
1058
+ {
1059
+ static int cnt = 0;
1060
+ cnt++;
1061
+ if (cnt < 3)
1062
+ cout << "we know what we do - evaluateDeriv not implemented for dipoles in SingularMLExpansion" << endl;
1063
+ // return sum;
1064
+ // throw Exception("EvaluateDeriv not implemented for dipoles in SingularMLExpansion");
1065
+ }
1056
1066
  if (chargedipoles.Size())
1057
1067
  throw Exception("EvaluateDeriv not implemented for dipoles in SingularMLExpansion");
1058
1068
 
@@ -264,7 +264,7 @@ namespace ngfem
264
264
  T_CalcShape (GetTIPGrad<DIM>(mir[i].IP()),
265
265
  SBLambda ([divshapesi,invJ] (size_t j, THDiv2DivShape<DIM,SIMD<double>> val)
266
266
  {
267
- divshapesi(j) = invJ*val;
267
+ divshapesi(j) = invJ*val.Get();
268
268
  }));
269
269
  }
270
270
  }
netgen/include/vector.hpp CHANGED
@@ -978,8 +978,13 @@ namespace ngbla
978
978
  }
979
979
 
980
980
 
981
-
982
-
981
+ template <int S, typename T = double>
982
+ auto UnitVec(size_t i)
983
+ {
984
+ Vec<S,T> ei = T(0.0);
985
+ ei(i) = T(1.0);
986
+ return ei;
987
+ }
983
988
 
984
989
  template <class TV, class TSCAL> class Scalar2ElemVector
985
990
  {
netgen/lib/libngsolve.lib CHANGED
Binary file
netgen/libngsolve.dll CHANGED
Binary file
@@ -1,4 +1,4 @@
1
- set(PACKAGE_VERSION "6.2.2506-38-gc3cacfb0d")
1
+ set(PACKAGE_VERSION "6.2.2506-60-g1d0a21976")
2
2
  find_package(Netgen CONFIG REQUIRED HINTS
3
3
  ${CMAKE_CURRENT_LIST_DIR}
4
4
  ${CMAKE_CURRENT_LIST_DIR}/..
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-38-gc3cacfb0d"
33
- NGSOLVE_VERSION_GIT = "v6.2.2506-38-gc3cacfb0d"
34
- NGSOLVE_VERSION_PYTHON = "6.2.2506.post38.dev0"
32
+ NGSOLVE_VERSION = "6.2.2506-60-g1d0a21976"
33
+ NGSOLVE_VERSION_GIT = "v6.2.2506-60-g1d0a21976"
34
+ NGSOLVE_VERSION_PYTHON = "6.2.2506.post60.dev0"
35
35
 
36
36
  NGSOLVE_VERSION_MAJOR = "6"
37
37
  NGSOLVE_VERSION_MINOR = "2"
38
- NGSOLVE_VERSION_TWEAK = "38"
38
+ NGSOLVE_VERSION_TWEAK = "60"
39
39
  NGSOLVE_VERSION_PATCH = "2506"
40
- NGSOLVE_VERSION_HASH = "gc3cacfb0d"
40
+ NGSOLVE_VERSION_HASH = "g1d0a21976"
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/ngslib.pyd CHANGED
Binary file
@@ -58,7 +58,16 @@ class NonLinearApplication(Application):
58
58
  solver = NewtonSolver(self.a, self.gf, **solver_args)
59
59
  if dirichlet is not None:
60
60
  dirichlet_gf = GridFunction(self.gf.space)
61
- if isinstance(dirichlet, Dirichlet):
61
+ if isinstance(dirichlet, list):
62
+ for i in range(len(dirichlet)):
63
+ if dirichlet[i] is not None:
64
+ if isinstance(dirichlet[i], Dirichlet):
65
+ dirichlet_gf.components[i].Set(
66
+ dirichlet[i].cf, definedon=dirichlet[i].region
67
+ )
68
+ else:
69
+ dirichlet_gf.components[i].Set(dirichlet[i], BND)
70
+ elif isinstance(dirichlet, Dirichlet):
62
71
  dirichlet_gf.Set(dirichlet.cf, definedon=dirichlet.region)
63
72
  else:
64
73
  dirichlet_gf.Set(dirichlet, BND)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ngsolve
3
- Version: 6.2.2506.post38.dev0
3
+ Version: 6.2.2506.post60.dev0
4
4
  Summary: NGSolve
5
5
  Author: The NGSolve team
6
6
  License: LGPL2.1
@@ -1,4 +1,4 @@
1
- netgen/libngsolve.dll,sha256=D1S8Ot4qolrvikDDoqHatD3pQ5J3nchKC4RBOx4uPUY,37181440
1
+ netgen/libngsolve.dll,sha256=1Ms4n6dv5uCgjUqvxqvV6iHD00I68v2rW074CKj4kN0,37333504
2
2
  netgen/ngscxx.bat,sha256=OHagH0Xm9cOpt3urQF1XRhzsoBOIdfl3KE3wB1hG0i4,670
3
3
  netgen/ngsld.bat,sha256=YD1I1rK70K_YvLev7aYQMD9mCcwF55k1B_8pRWPpob0,428
4
4
  netgen/include/analytic_integrals.hpp,sha256=oPgn5R2aQOu3ELN-NIMK-h2UFFJbmFlx-cZd_Nqm7rQ,248
@@ -6,7 +6,7 @@ netgen/include/arnoldi.hpp,sha256=m39slyQUujB_9j3NDfTpEWyldC6Fw8natUpPuBkevLM,14
6
6
  netgen/include/bandmatrix.hpp,sha256=A4AaUXOFPnUZ27Y7Mgm8h-BpJl96NAR4U0VDx5dz-wk,8112
7
7
  netgen/include/basematrix.hpp,sha256=I01DRffWD9HguaDH2paDZ7xGtvi3nxoWncEEd-Y0SAQ,29591
8
8
  netgen/include/basevector.hpp,sha256=cqrynI9YU-kA-BT7jAmnm3WgzJs3RcGkwKwMrzAopJo,32376
9
- netgen/include/bdbequations.hpp,sha256=nMIRusf1N0ofKN5OMDNndmr0rkS76NTuNEGYOBQzwco,93178
9
+ netgen/include/bdbequations.hpp,sha256=upSku5CeLfbTSsMPifPjYhzxT_lE30ySmP2tJ4n4lSg,94521
10
10
  netgen/include/bdbintegrator.hpp,sha256=-A47Tr_3Mp-kBr8yJvPu_XYrvhHmKeBdjd_Z0_yN294,49250
11
11
  netgen/include/bem_diffops.hpp,sha256=hg1IpuW7f8BDsjcF8h1Bqst6AN-0Vk7J-eqDNlBNtFk,16782
12
12
  netgen/include/bessel.hpp,sha256=Keq_nyAUXG__07TXcXy7-JEep1fJmjmXQHs6walemr8,26346
@@ -34,6 +34,7 @@ netgen/include/diagonalmatrix.hpp,sha256=dNR3JmaIyyHf7xKTh3FA15z_8Wby-Q79GFREixL
34
34
  netgen/include/differentialoperator.hpp,sha256=BH7qNRjBfURgMtS5sR3gIAbDx1P4WBSCyDKtkBD1b1Q,9656
35
35
  netgen/include/diffop.hpp,sha256=zvh_Y-nwdVUjXhxxE7scRYUDpEzWyfL_SH78DeXk3wQ,45645
36
36
  netgen/include/diffop_impl.hpp,sha256=xzFs7tq7ku4cYN_xar4pvKN5SLvZqS0aiBd_voHYyy4,11673
37
+ netgen/include/diffopwithfactor.hpp,sha256=qwpiYjs5zpsX2IVMOU_6QbwrObTsMBtKY_yze_Fze4g,4176
37
38
  netgen/include/discontinuous.hpp,sha256=pC0zo6ARVkaorgZ_zGOqhe8dLHCYDuMas5M5Dc7LhkA,3153
38
39
  netgen/include/dump.hpp,sha256=XE3Mr0Y_fY73-fqs-i_TxqjJkT0uTq9uT825Ip280hs,27959
39
40
  netgen/include/ectypes.hpp,sha256=3Oa_Fg5csydPZoj6OhmcJ838jXXEPSQPtHweNWC_2_M,2716
@@ -44,7 +45,7 @@ netgen/include/elementbyelement.hpp,sha256=SuOmEDUU4YTpDSSH6fpUxSWcNlPe7JqoCv3rR
44
45
  netgen/include/elementtopology.hpp,sha256=k7ojpU9p6c03z5R39imXuYCSqCuU5OtlBP3NzvUYcHY,46254
45
46
  netgen/include/elementtransformation.hpp,sha256=H8eUIkDAxgeyeFL_cMJgDbQp00hRcwQPeNcR9yLu7xU,10747
46
47
  netgen/include/evalfunc.hpp,sha256=-I7SJFWJvLp8sFWYeOnNzkdDLaPLnWqAZSjRZHkLXfg,10424
47
- netgen/include/expr.hpp,sha256=8LlNBC9vk0duLRoa93ub3I60c2n_4Zbijr0VHNl0Yqo,46784
48
+ netgen/include/expr.hpp,sha256=WgHb0tKS6eGF68LSliL8Y2U4O_L7_wLbv40ufDIXst4,47818
48
49
  netgen/include/facetfe.hpp,sha256=5weP0JK-l_UhPgHnRAx8G1y7arKZ_dKqo1qLUysPVjw,5095
49
50
  netgen/include/facetfespace.hpp,sha256=h4oBcysnGy8qKrWvg0K69VH-tmbcNxJ_pGH2gyCuzsA,4919
50
51
  netgen/include/facethofe.hpp,sha256=n2gCSrlazvCG0hs3MlNVfzIS83V0nYMAEbqholRwNxQ,3812
@@ -99,8 +100,8 @@ netgen/include/intrule.hpp,sha256=zZAu7zxZ6oiHjE-UfRyRPZOJi5LMgJFItQHz0pORNvM,83
99
100
  netgen/include/intrules_SauterSchwab.hpp,sha256=2f9Lb77H6sgaVq7576L78zNGbv4MYgHpddIzfc36TKA,675
100
101
  netgen/include/irspace.hpp,sha256=UFWeaFVUDwsHCJZqtZBBDnhWC4Oyy34z9Pr6KzofHPg,1557
101
102
  netgen/include/jacobi.hpp,sha256=LvjGz2p4Eew3TPsRU34oWMNPXIZ_-tU6prsgjUiqgEs,4891
102
- netgen/include/kernels.hpp,sha256=GLY2-mHanp5kuc3ccNFyWBUWCkteHWtbSweXqrt7HvA,21132
103
- netgen/include/l2hofe.hpp,sha256=03O8VX8PyBM6v8IrrVooN85H_X-NM4j2neDPivn-xGI,6843
103
+ netgen/include/kernels.hpp,sha256=YvSgZr4krIbkiVbs7-L_ov5wE7eKtaMLMvDR0HwXoyY,24336
104
+ netgen/include/l2hofe.hpp,sha256=DUiwhkbnavfgLy8RgQrp__47fe4USC42E-Loyot0WEQ,6890
104
105
  netgen/include/l2hofe_impl.hpp,sha256=GyZPQ2RFQWxBoiS82cg1I3LjTq1M7uFeZ6IHhZVe7Lw,16412
105
106
  netgen/include/l2hofefo.hpp,sha256=ZA3Rqc_aGnLkS12eUz_W9AAV0hybvPSOzCIJeIMgIqE,17134
106
107
  netgen/include/l2hofespace.hpp,sha256=bKOdYhzj7PZTWeE9BckLkqcn66EH5N-xQpcauccTADQ,12401
@@ -111,7 +112,7 @@ netgen/include/memusage.hpp,sha256=m_-fuupqepSve37WkRkoFHHyTtE9PdGnOVPIdQHlDiw,1
111
112
  netgen/include/meshaccess.hpp,sha256=RSkB9LhWTXRIU8AoVsu-TbksjpXjbNzJfWuKDJ6y5_Q,48492
112
113
  netgen/include/mgpre.hpp,sha256=5Zqt3pzrvm3EOfr84iU6rQx23LTkntUTd_s4_i6wEzI,5029
113
114
  netgen/include/mp_coefficient.hpp,sha256=gZ7E6DbHH2pmRUWxXvTT0EsaA6ixFGrO-xMCmBgC18E,5125
114
- netgen/include/mptools.hpp,sha256=jIeN0h359sPuvFYbxyF961A3CHizuDza350Y6NZfpgc,72442
115
+ netgen/include/mptools.hpp,sha256=TPvAjgpaVnyioNJ9juRXpuK1WzfDKdiiPVvJXgXMGKs,72974
115
116
  netgen/include/multigrid.hpp,sha256=7YgJfeGTBnb-aFWHrbcVk3dos6XYU0iVCgiY8UvRopY,898
116
117
  netgen/include/multivector.hpp,sha256=5rkNSqyPhIXAb1lGKLcy908D9Uw9oqY4wpUXZEXbEPE,13082
117
118
  netgen/include/mumpsinverse.hpp,sha256=8YiUlQZMFVsJ0kuwaSphGZvxyEZJAZZApH8XahiTeEo,4249
@@ -177,7 +178,7 @@ netgen/include/tensorproductintegrator.hpp,sha256=Sfo_YsCL_TZnbqR2gBWcFLDr7DOlmS
177
178
  netgen/include/thcurlfe.hpp,sha256=48OMvHXQgn5QWu9AgA8ByPrIhdIrQoKD3z9uahlpx60,5099
178
179
  netgen/include/thcurlfe_impl.hpp,sha256=4Yn6Wew3JjYoc8H9eQwH7EqGWNZ7R4fbjGmPlfkNJgA,15592
179
180
  netgen/include/thdivfe.hpp,sha256=5ruruEYTJMOvx4rhvVGK8o-RcSSrQUrfw6-7HV9rmQI,2993
180
- netgen/include/thdivfe_impl.hpp,sha256=TrJhuTnqscgZzWy7t9HdIq6mu5EnTiiXz9MI0Bxy9-8,17995
181
+ netgen/include/thdivfe_impl.hpp,sha256=F8mHwbMJ6BEKjeuNrjIoeAIvWTkxhBpg4d5RPCxodRQ,18001
181
182
  netgen/include/tpdiffop.hpp,sha256=aD9eXIJ5Jew4BUFU6NRbjBhjYMdnG6whHtFz0nChEr4,18816
182
183
  netgen/include/tpfes.hpp,sha256=IYloEXJMI2kvnSOYzTMzZpyK9aFfxl6v6xzf-WrRlIw,4670
183
184
  netgen/include/tpintrule.hpp,sha256=avp3rdpQxrZuBqEtlAhXghkawe_gICryPrUgpJpS1AM,8957
@@ -185,12 +186,12 @@ netgen/include/triangular.hpp,sha256=mKr19eRn8cHtxWZQtEF-aNZ12C-VkWg8eKyGtk8NnU4
185
186
  netgen/include/tscalarfe.hpp,sha256=Rq8vmazi-WN2EZyhoWFs9CzHwI-5QngYQdmepINnPfo,10951
186
187
  netgen/include/tscalarfe_impl.hpp,sha256=Os4g9RwSVgdILyHZuFTn8Lp96KfEYiHbRLr__9XjP6Q,39735
187
188
  netgen/include/umfpackinverse.hpp,sha256=xXcuZeY9HsHP3pT0o8Ssg7PU0CJdmuoz-WFyEStL1_I,4435
188
- netgen/include/vector.hpp,sha256=UdiN1yQYJQfDNFTcZeUDvQ8X0x772kxSe_snEgHIJpw,34486
189
+ netgen/include/vector.hpp,sha256=LkvQJSt2lqLzNTN_5Y6GorVzG-51TmGSKosTRtHCrJo,34623
189
190
  netgen/include/voxelcoefficientfunction.hpp,sha256=zPlatX_nf2ODK2X979wvpm1HXHEznppiHY2soKhXeCw,1539
190
191
  netgen/include/vtkoutput.hpp,sha256=GwPaFtOVY27_1hKwSqpNHV4ppOk3CVsLdMpocm27odQ,6628
191
192
  netgen/include/vvector.hpp,sha256=vpnwWlNWsEJB26ve8cKADbUMGVBTTVCFvrBC4r_LDDQ,4785
192
193
  netgen/include/webgui.hpp,sha256=xm1S5KHockrzf_R4zHzQ9fzwfQ4H5aZaZm9ItCaR41s,2199
193
- netgen/lib/libngsolve.lib,sha256=hHJqfDAQlmcu2WDs3lLvAsxdMKVnvkKtryEduOshqbY,13923870
194
+ netgen/lib/libngsolve.lib,sha256=N_DWClqByU5WgCBRQkMICVQa77BTCM5_nv6Nh7wPCWA,13925686
194
195
  ngsolve/TensorProductTools.py,sha256=jD4LtJdEiLt2dDsU6STMXb10yrau_i20gatwGlqbiFQ,8562
195
196
  ngsolve/__console.py,sha256=QLnfw1ONU9eVPQZ_LjzY-7b_gfZpRRRdI7imHR1lJR8,2983
196
197
  ngsolve/__expr.py,sha256=ZAtv94PVtAdvWWKFIvQGJC55aIEY6ajo-l5Hp-1V-6s,4396
@@ -205,21 +206,21 @@ ngsolve/meshes.py,sha256=nz95LP1EEIVAEJ0jyQGqq0E-62uuy2tvIRgqIrEqDHQ,27534
205
206
  ngsolve/ngs2petsc.py,sha256=PLAkvu4H-ZEXd0-bM2v0OJX7gga-OJ9d-NB7g322-wQ,12809
206
207
  ngsolve/ngscxx.py,sha256=r9TV49w0MKIxE6fgJYO4FNv-5wcM9eAFYIG9GspUy_A,1335
207
208
  ngsolve/ngslib.lib,sha256=PMhmZBaGh5nKKYoOl2fg3yeDwwLKpe7a5XttqXXc5xc,1716
208
- ngsolve/ngslib.pyd,sha256=UFTb_N_i8ndua82PGhYoWJplSjuQAysUGBrlAodDqKw,123904
209
+ ngsolve/ngslib.pyd,sha256=2FooSrXI3PQYvIjGLB9jC2_QCRY48QMZq8U7bIE7Y3o,123904
209
210
  ngsolve/nonlinearsolvers.py,sha256=nKd-SVJseTWztHZPEPKsbv0mLwQjFILZtOh7Ggft0xs,8419
210
211
  ngsolve/preconditioners.py,sha256=vsbO1lQG-ibmk88AHsiizDZcBYsfHEL-13_E_l-tYuw,250
211
- ngsolve/solve_implementation.py,sha256=hMoKsE83sNu5hknrcl3XDMW617GI8h59QaUUkqwE9Pk,5215
212
+ ngsolve/solve_implementation.py,sha256=F2es3RvCb2OWNs1Lxl1jexZXCgmfH6cct8cJapftlEg,5708
212
213
  ngsolve/solvers.py,sha256=Vbm5RfIJ83nMtQ1pYJL0uBBuys4-mcY6b63MNkyiqxU,311
213
214
  ngsolve/timestepping.py,sha256=SuKsFS7cDXRixKWdMMIWW4flet12HLeqWTBC0DFhPwg,8535
214
215
  ngsolve/timing.py,sha256=j_Plbbh51pS9QwMq93hyvFDSrbywmdKZ6Z6OOZmZoe4,4093
215
216
  ngsolve/utils.py,sha256=jg6smLuKF6G9Rvg-EXjyYwjFJGyyiqSRknevdjp-9J4,4724
216
217
  ngsolve/webgui.py,sha256=HVJnfG96eGuO6ZRfqiWQlRaKbK_Yv5y0QbicfNFAf6A,24983
217
- ngsolve/cmake/NGSolveConfig.cmake,sha256=8AGOwlrH2rjwZ4TNGP15i_KQGXpRKKjlTfAoxE2ae38,5155
218
+ ngsolve/cmake/NGSolveConfig.cmake,sha256=K5liGDxSd1r5zqMMfnWRc23_hSB1HFgtxKlYrpn06lU,5155
218
219
  ngsolve/cmake/ngsolve-targets-release.cmake,sha256=knQjCmz6J-x_Egg5DosY5hU_CZdZlSQxQ4Za7pS07fA,907
219
220
  ngsolve/cmake/ngsolve-targets.cmake,sha256=CDY3Uo0eZa6NGJVRTLZDkbgSrLqTnub8olMieARMi48,5905
220
221
  ngsolve/config/__init__.py,sha256=IjGKWBHvRx572Z6m-5z0q82xuQaWlBABy1whwy2Uxak,23
221
222
  ngsolve/config/__main__.py,sha256=anI_XpgrpEnVnMyrFiH3Yon_tpQZkehnqRTNC02NiBI,93
222
- ngsolve/config/config.py,sha256=WGvMHzPx6CYJXqeoC4Db2M45zLvrpBacVXys8U498Ac,2549
223
+ ngsolve/config/config.py,sha256=Mvg0mCeyCancIAiP00aqKntBi_4AI2PIH-4KIkJjDu4,2549
223
224
  ngsolve/demos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
225
  ngsolve/demos/TensorProduct/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
225
226
  ngsolve/demos/TensorProduct/tp_dg_1d_1d.py,sha256=3Q9ntmVJGIKQ-JLdGWgECR_kDjTG8FPVCSiTJkxyi40,2188
@@ -251,37 +252,37 @@ ngsolve/demos/mpi/mpi_cmagnet.py,sha256=59TuQvIIGoDStyJneH47NG131nppBoQpZQ9rfvG_
251
252
  ngsolve/demos/mpi/mpi_navierstokes.py,sha256=ieAWMDd9LoH99L14iBgF_YmX_xk7gltZ9MruTFN6xAY,3028
252
253
  ngsolve/demos/mpi/mpi_poisson.py,sha256=_-H0HFqlwlpasiVD9OQjUvJbWJcQ34-4y-va1WOSOzE,2557
253
254
  ngsolve/demos/mpi/mpi_timeDG.py,sha256=FUOh_1dzOGUU-uAsD4iyz0RVT382jMiMiuYkZjarhAE,1963
254
- ngsolve-6.2.2506.post38.dev0.data/data/Scripts/ngsolve.tcl,sha256=8KBOXZKYU_qx8785PIjdmVjcUbCxR5aYrod0BZ4UgGc,21637
255
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/beam.geo,sha256=HTv0A6IUoVuavifolhGKY6U44z0hni07Htonqe6rw_A,404
256
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/beam.vol,sha256=QZbM9JE4rBs5nVXaw7ZAbDf60yXbX19bm1OnOScF57M,13834
257
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/chip.in2d,sha256=561AjEIPnlzMZHIzep5lRjocQDm8w7o7IDna5u8s9JQ,592
258
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/chip.vol,sha256=gkEmBWlQh8BkSFNTf-XISfmuGzHXDKANV4Uoww_BwJI,28511
259
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/coil.geo,sha256=ylB2OiWEZztFXPx99qTNRJKmZFIDPEezEgQt4EPtZRA,376
260
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/coil.vol,sha256=t8cWP_YX38FMw0S-7vEVUOcSH0VK6DlaqVWG_zmBo-4,147284
261
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/coilshield.geo,sha256=Sq8w7i22WQ0viaiM3bU_63lZGFWp8JgyDqs3RdjeTe0,629
262
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/coilshield.vol,sha256=JiZOM9A529-hikvv1kyLwffTRpeatLtaVTNcu42o1fo,165576
263
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/cube.geo,sha256=Wd9AnPdoQgjQ-JK6zmoXjsNxPR9B8ED4pdHVwmRoe1M,405
264
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/cube.vol,sha256=RS8bay_KlF6IZM0QDDr7_dGaFLqoxszQU_w8TYutMKY,92127
265
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d10_DGdoubleglazing.pde,sha256=lK3sXmK74eFEMk8F6hwFHe_tBYnOdRq3F-RbzKpDK0c,1354
266
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d11_chip_nitsche.pde,sha256=VuEQtkZaIJA9yuvjG_jcx1UB9UtAaZSoeJYFHcHeYxk,1141
267
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d1_square.pde,sha256=24ZZ0nlbr5LKl_mPyeZZMSkiCBiBk1fzNElo3yITX2A,1072
268
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d2_chip.pde,sha256=yGIbzuTdCEjdoC9Ig_hbcy5qz69_wxgPZeYmhY1rN7k,985
269
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d3_helmholtz.pde,sha256=gWqQTh1M9NiKGohlu5JxDJuvRz-T28WlNSVbwmMvM-0,590
270
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d4_cube.pde,sha256=6kL43ehAh1PdwnFlLjadg325bFjpz02p2PpAOxlDFuc,1079
271
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d5_beam.pde,sha256=VQt9WbqAVWObFH9Jy1YieE9WHnVZ_hnsKVTz6ysEBxI,2059
272
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d6_shaft.pde,sha256=y10nLFA2-GwEwnAs5R-8wppRq-09vYJ_C9LJ3DSvlS0,1974
273
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d7_coil.pde,sha256=KFkqtZiPD4LQsGnghwwdq1qmpWf0T5xQR4HwbRL9ZZA,1250
274
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d8_coilshield.pde,sha256=9XG0TcgZ7mComh_pVntnuzDldEx5PD-C7gqK05PTWus,1190
275
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d9_hybridDG.pde,sha256=vYschVRu5vC91YpyVZFCBFuno-ZlOcRznPD-OvJTLtQ,1551
276
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/doubleglazing.in2d,sha256=lDCukUh9iTpkiH-qJAVdeAlMpiYF0AibAA6g3jOeWDY,533
277
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/doubleglazing.vol,sha256=IUOhUrZi8WMnvrIJe--A8cYPN6mscslA8_4yxvKShb0,35724
278
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/piezo2d40round4.vol.gz,sha256=RuxM0vtYljoAImOH6U6avt0LmWaUbGNao37n8p_Yd1w,496477
279
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/shaft.geo,sha256=Y3OVQlWjgICe2Dwz6-Qs8r0tLanjwtWP0xFx5AwNRJk,2507
280
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/shaft.vol,sha256=IqViJ4hJKk3Uf66PkVJ-kHpBQ_ZpkigRuh5g1Po4euY,274741
281
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/square.in2d,sha256=5dewiEjTsRFiNkBlmaTjBAZejq55TTlusp8ALfTMc2M,209
282
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/square.vol,sha256=tWdPeQ52deUNgWOsWKhqgNVsJKhkJmEAVp5-xjhzEwg,9311
283
- ngsolve-6.2.2506.post38.dev0.dist-info/licenses/LICENSE,sha256=iFoD9UsVeWEjb0aEPnmXKr_NaJC2y7NovH7KMo_5WhI,26934
284
- ngsolve-6.2.2506.post38.dev0.dist-info/METADATA,sha256=WB2U_GaL2i24MHq0tU6x333o95jNaM6Y_3aFCew8-KM,325
285
- ngsolve-6.2.2506.post38.dev0.dist-info/WHEEL,sha256=3cUY9TiuvxHsB0dWaW6wa9MO8pP_yfFeO2_t7ly9aNg,96
286
- ngsolve-6.2.2506.post38.dev0.dist-info/top_level.txt,sha256=1llU44DxNIP85uPT4RChsIuV3h2d0_5j0Ui_Df5vV8E,15
287
- ngsolve-6.2.2506.post38.dev0.dist-info/RECORD,,
255
+ ngsolve-6.2.2506.post60.dev0.data/data/Scripts/ngsolve.tcl,sha256=8KBOXZKYU_qx8785PIjdmVjcUbCxR5aYrod0BZ4UgGc,21637
256
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/beam.geo,sha256=HTv0A6IUoVuavifolhGKY6U44z0hni07Htonqe6rw_A,404
257
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/beam.vol,sha256=QZbM9JE4rBs5nVXaw7ZAbDf60yXbX19bm1OnOScF57M,13834
258
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/chip.in2d,sha256=561AjEIPnlzMZHIzep5lRjocQDm8w7o7IDna5u8s9JQ,592
259
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/chip.vol,sha256=gkEmBWlQh8BkSFNTf-XISfmuGzHXDKANV4Uoww_BwJI,28511
260
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/coil.geo,sha256=ylB2OiWEZztFXPx99qTNRJKmZFIDPEezEgQt4EPtZRA,376
261
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/coil.vol,sha256=t8cWP_YX38FMw0S-7vEVUOcSH0VK6DlaqVWG_zmBo-4,147284
262
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/coilshield.geo,sha256=Sq8w7i22WQ0viaiM3bU_63lZGFWp8JgyDqs3RdjeTe0,629
263
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/coilshield.vol,sha256=JiZOM9A529-hikvv1kyLwffTRpeatLtaVTNcu42o1fo,165576
264
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/cube.geo,sha256=Wd9AnPdoQgjQ-JK6zmoXjsNxPR9B8ED4pdHVwmRoe1M,405
265
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/cube.vol,sha256=RS8bay_KlF6IZM0QDDr7_dGaFLqoxszQU_w8TYutMKY,92127
266
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d10_DGdoubleglazing.pde,sha256=lK3sXmK74eFEMk8F6hwFHe_tBYnOdRq3F-RbzKpDK0c,1354
267
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d11_chip_nitsche.pde,sha256=VuEQtkZaIJA9yuvjG_jcx1UB9UtAaZSoeJYFHcHeYxk,1141
268
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d1_square.pde,sha256=24ZZ0nlbr5LKl_mPyeZZMSkiCBiBk1fzNElo3yITX2A,1072
269
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d2_chip.pde,sha256=yGIbzuTdCEjdoC9Ig_hbcy5qz69_wxgPZeYmhY1rN7k,985
270
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d3_helmholtz.pde,sha256=gWqQTh1M9NiKGohlu5JxDJuvRz-T28WlNSVbwmMvM-0,590
271
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d4_cube.pde,sha256=6kL43ehAh1PdwnFlLjadg325bFjpz02p2PpAOxlDFuc,1079
272
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d5_beam.pde,sha256=VQt9WbqAVWObFH9Jy1YieE9WHnVZ_hnsKVTz6ysEBxI,2059
273
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d6_shaft.pde,sha256=y10nLFA2-GwEwnAs5R-8wppRq-09vYJ_C9LJ3DSvlS0,1974
274
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d7_coil.pde,sha256=KFkqtZiPD4LQsGnghwwdq1qmpWf0T5xQR4HwbRL9ZZA,1250
275
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d8_coilshield.pde,sha256=9XG0TcgZ7mComh_pVntnuzDldEx5PD-C7gqK05PTWus,1190
276
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d9_hybridDG.pde,sha256=vYschVRu5vC91YpyVZFCBFuno-ZlOcRznPD-OvJTLtQ,1551
277
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/doubleglazing.in2d,sha256=lDCukUh9iTpkiH-qJAVdeAlMpiYF0AibAA6g3jOeWDY,533
278
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/doubleglazing.vol,sha256=IUOhUrZi8WMnvrIJe--A8cYPN6mscslA8_4yxvKShb0,35724
279
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/piezo2d40round4.vol.gz,sha256=RuxM0vtYljoAImOH6U6avt0LmWaUbGNao37n8p_Yd1w,496477
280
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/shaft.geo,sha256=Y3OVQlWjgICe2Dwz6-Qs8r0tLanjwtWP0xFx5AwNRJk,2507
281
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/shaft.vol,sha256=IqViJ4hJKk3Uf66PkVJ-kHpBQ_ZpkigRuh5g1Po4euY,274741
282
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/square.in2d,sha256=5dewiEjTsRFiNkBlmaTjBAZejq55TTlusp8ALfTMc2M,209
283
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/square.vol,sha256=tWdPeQ52deUNgWOsWKhqgNVsJKhkJmEAVp5-xjhzEwg,9311
284
+ ngsolve-6.2.2506.post60.dev0.dist-info/licenses/LICENSE,sha256=iFoD9UsVeWEjb0aEPnmXKr_NaJC2y7NovH7KMo_5WhI,26934
285
+ ngsolve-6.2.2506.post60.dev0.dist-info/METADATA,sha256=Mn9SrU8WYxoN9eF-vsfN9h0tdRtDYbSVQXu2jbXV2o8,325
286
+ ngsolve-6.2.2506.post60.dev0.dist-info/WHEEL,sha256=3cUY9TiuvxHsB0dWaW6wa9MO8pP_yfFeO2_t7ly9aNg,96
287
+ ngsolve-6.2.2506.post60.dev0.dist-info/top_level.txt,sha256=1llU44DxNIP85uPT4RChsIuV3h2d0_5j0Ui_Df5vV8E,15
288
+ ngsolve-6.2.2506.post60.dev0.dist-info/RECORD,,