ngsolve 6.2.2506.post45.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 (43) hide show
  1. netgen/include/bdbequations.hpp +33 -0
  2. netgen/include/diffopwithfactor.hpp +123 -0
  3. netgen/include/kernels.hpp +62 -74
  4. netgen/lib/libngsolve.lib +0 -0
  5. netgen/libngsolve.dll +0 -0
  6. ngsolve/cmake/NGSolveConfig.cmake +1 -1
  7. ngsolve/config/config.py +5 -5
  8. ngsolve/ngslib.pyd +0 -0
  9. ngsolve/solve_implementation.py +10 -1
  10. {ngsolve-6.2.2506.post45.dev0.dist-info → ngsolve-6.2.2506.post60.dev0.dist-info}/METADATA +1 -1
  11. {ngsolve-6.2.2506.post45.dev0.dist-info → ngsolve-6.2.2506.post60.dev0.dist-info}/RECORD +43 -42
  12. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/Scripts/ngsolve.tcl +0 -0
  13. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/beam.geo +0 -0
  14. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/beam.vol +0 -0
  15. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/chip.in2d +0 -0
  16. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/chip.vol +0 -0
  17. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/coil.geo +0 -0
  18. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/coil.vol +0 -0
  19. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/coilshield.geo +0 -0
  20. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/coilshield.vol +0 -0
  21. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/cube.geo +0 -0
  22. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/cube.vol +0 -0
  23. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
  24. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
  25. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d1_square.pde +0 -0
  26. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d2_chip.pde +0 -0
  27. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
  28. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d4_cube.pde +0 -0
  29. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d5_beam.pde +0 -0
  30. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d6_shaft.pde +0 -0
  31. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d7_coil.pde +0 -0
  32. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
  33. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
  34. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
  35. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/doubleglazing.vol +0 -0
  36. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  37. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/shaft.geo +0 -0
  38. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/shaft.vol +0 -0
  39. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/square.in2d +0 -0
  40. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/square.vol +0 -0
  41. {ngsolve-6.2.2506.post45.dev0.dist-info → ngsolve-6.2.2506.post60.dev0.dist-info}/WHEEL +0 -0
  42. {ngsolve-6.2.2506.post45.dev0.dist-info → ngsolve-6.2.2506.post60.dev0.dist-info}/licenses/LICENSE +0 -0
  43. {ngsolve-6.2.2506.post45.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
@@ -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));
167
+ return make_shared<RegularMLExpansion<mp_type>> (c, r, 1e-16);
150
168
  }
151
169
 
152
- void AddSourceTrans(SingularMLExpansion<Complex> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
170
+ void AddSource (SingularMLExpansion<mp_type> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
153
171
  {
154
- mp.AddCharge(pnt, val(0));
172
+ if constexpr (COMPS == 1)
173
+ mp.AddDipole(pnt, -nv, val(0));
174
+ else
175
+ mp.AddDipole(pnt, -nv, val);
155
176
  }
156
177
 
157
- void EvaluateMP (RegularMLExpansion<Complex> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
178
+ void AddSourceTrans(SingularMLExpansion<mp_type> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
158
179
  {
159
- val(0) = Real(mp.Evaluate (pnt));
180
+ if constexpr (COMPS == 1)
181
+ mp.AddCharge (pnt, val(0));
182
+ else
183
+ mp.AddCharge (pnt, val);
160
184
  }
161
185
 
162
- void EvaluateMPTrans(RegularMLExpansion<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
163
187
  {
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));
185
- }
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
-
194
- auto CreateMultipoleExpansion (Vec<3> c, double r) const
195
- {
196
- return make_shared<SingularMLExpansion<Vec<3,Complex>>> (c, r, 1e-16);
197
- }
198
-
199
- auto CreateLocalExpansion (Vec<3> c, double r) const
200
- {
201
- return make_shared<RegularMLExpansion<Vec<3,Complex>>> (c, r, 1e-16);
202
- }
203
-
204
- void AddSource (SingularMLExpansion<Vec<3,Complex>> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
205
- {
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
 
netgen/lib/libngsolve.lib CHANGED
Binary file
netgen/libngsolve.dll CHANGED
Binary file
@@ -1,4 +1,4 @@
1
- set(PACKAGE_VERSION "6.2.2506-45-g573446995")
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-45-g573446995"
33
- NGSOLVE_VERSION_GIT = "v6.2.2506-45-g573446995"
34
- NGSOLVE_VERSION_PYTHON = "6.2.2506.post45.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 = "45"
38
+ NGSOLVE_VERSION_TWEAK = "60"
39
39
  NGSOLVE_VERSION_PATCH = "2506"
40
- NGSOLVE_VERSION_HASH = "g573446995"
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.post45.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=EV6RW15biK2diUVKYcnO06KjiyzcFgf-Yi2wd50yJfw,37273088
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
@@ -99,7 +100,7 @@ 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=uo9viRk5NwUckg-SIb3VXaD1M_S6MT6XyHGE4E55Fn8,24511
103
+ netgen/include/kernels.hpp,sha256=YvSgZr4krIbkiVbs7-L_ov5wE7eKtaMLMvDR0HwXoyY,24336
103
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
@@ -190,7 +191,7 @@ netgen/include/voxelcoefficientfunction.hpp,sha256=zPlatX_nf2ODK2X979wvpm1HXHEzn
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=A6A7LpHlpJbYpQGKBLwCwnKM4PWqvoaT0Sih5L49QB8,13924778
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=8iiG3vXroUqtP8fmPopfJnNlLv8CTmIhChn045kkXcg,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=GdsPX3GJMMpl-XqFqYbueMNGEumlrANWnrju56n-NEU,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=AKyI7h0jfncUn52pQ3Fsc4-g5rf16y2W8Dwwz68JHyE,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.post45.dev0.data/data/Scripts/ngsolve.tcl,sha256=8KBOXZKYU_qx8785PIjdmVjcUbCxR5aYrod0BZ4UgGc,21637
255
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/beam.geo,sha256=HTv0A6IUoVuavifolhGKY6U44z0hni07Htonqe6rw_A,404
256
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/beam.vol,sha256=QZbM9JE4rBs5nVXaw7ZAbDf60yXbX19bm1OnOScF57M,13834
257
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/chip.in2d,sha256=561AjEIPnlzMZHIzep5lRjocQDm8w7o7IDna5u8s9JQ,592
258
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/chip.vol,sha256=gkEmBWlQh8BkSFNTf-XISfmuGzHXDKANV4Uoww_BwJI,28511
259
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/coil.geo,sha256=ylB2OiWEZztFXPx99qTNRJKmZFIDPEezEgQt4EPtZRA,376
260
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/coil.vol,sha256=t8cWP_YX38FMw0S-7vEVUOcSH0VK6DlaqVWG_zmBo-4,147284
261
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/coilshield.geo,sha256=Sq8w7i22WQ0viaiM3bU_63lZGFWp8JgyDqs3RdjeTe0,629
262
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/coilshield.vol,sha256=JiZOM9A529-hikvv1kyLwffTRpeatLtaVTNcu42o1fo,165576
263
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/cube.geo,sha256=Wd9AnPdoQgjQ-JK6zmoXjsNxPR9B8ED4pdHVwmRoe1M,405
264
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/cube.vol,sha256=RS8bay_KlF6IZM0QDDr7_dGaFLqoxszQU_w8TYutMKY,92127
265
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d10_DGdoubleglazing.pde,sha256=lK3sXmK74eFEMk8F6hwFHe_tBYnOdRq3F-RbzKpDK0c,1354
266
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d11_chip_nitsche.pde,sha256=VuEQtkZaIJA9yuvjG_jcx1UB9UtAaZSoeJYFHcHeYxk,1141
267
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d1_square.pde,sha256=24ZZ0nlbr5LKl_mPyeZZMSkiCBiBk1fzNElo3yITX2A,1072
268
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d2_chip.pde,sha256=yGIbzuTdCEjdoC9Ig_hbcy5qz69_wxgPZeYmhY1rN7k,985
269
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d3_helmholtz.pde,sha256=gWqQTh1M9NiKGohlu5JxDJuvRz-T28WlNSVbwmMvM-0,590
270
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d4_cube.pde,sha256=6kL43ehAh1PdwnFlLjadg325bFjpz02p2PpAOxlDFuc,1079
271
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d5_beam.pde,sha256=VQt9WbqAVWObFH9Jy1YieE9WHnVZ_hnsKVTz6ysEBxI,2059
272
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d6_shaft.pde,sha256=y10nLFA2-GwEwnAs5R-8wppRq-09vYJ_C9LJ3DSvlS0,1974
273
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d7_coil.pde,sha256=KFkqtZiPD4LQsGnghwwdq1qmpWf0T5xQR4HwbRL9ZZA,1250
274
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d8_coilshield.pde,sha256=9XG0TcgZ7mComh_pVntnuzDldEx5PD-C7gqK05PTWus,1190
275
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d9_hybridDG.pde,sha256=vYschVRu5vC91YpyVZFCBFuno-ZlOcRznPD-OvJTLtQ,1551
276
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/doubleglazing.in2d,sha256=lDCukUh9iTpkiH-qJAVdeAlMpiYF0AibAA6g3jOeWDY,533
277
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/doubleglazing.vol,sha256=IUOhUrZi8WMnvrIJe--A8cYPN6mscslA8_4yxvKShb0,35724
278
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/piezo2d40round4.vol.gz,sha256=RuxM0vtYljoAImOH6U6avt0LmWaUbGNao37n8p_Yd1w,496477
279
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/shaft.geo,sha256=Y3OVQlWjgICe2Dwz6-Qs8r0tLanjwtWP0xFx5AwNRJk,2507
280
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/shaft.vol,sha256=IqViJ4hJKk3Uf66PkVJ-kHpBQ_ZpkigRuh5g1Po4euY,274741
281
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/square.in2d,sha256=5dewiEjTsRFiNkBlmaTjBAZejq55TTlusp8ALfTMc2M,209
282
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/square.vol,sha256=tWdPeQ52deUNgWOsWKhqgNVsJKhkJmEAVp5-xjhzEwg,9311
283
- ngsolve-6.2.2506.post45.dev0.dist-info/licenses/LICENSE,sha256=iFoD9UsVeWEjb0aEPnmXKr_NaJC2y7NovH7KMo_5WhI,26934
284
- ngsolve-6.2.2506.post45.dev0.dist-info/METADATA,sha256=fBky5pa49TGJuVAfPwqUqmsjSJwPPmCFNkZTMtNbeUc,325
285
- ngsolve-6.2.2506.post45.dev0.dist-info/WHEEL,sha256=3cUY9TiuvxHsB0dWaW6wa9MO8pP_yfFeO2_t7ly9aNg,96
286
- ngsolve-6.2.2506.post45.dev0.dist-info/top_level.txt,sha256=1llU44DxNIP85uPT4RChsIuV3h2d0_5j0Ui_Df5vV8E,15
287
- ngsolve-6.2.2506.post45.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,,