ngsolve 6.2.2506.post45.dev0__cp310-cp310-macosx_10_15_universal2.whl → 6.2.2506.post60.dev0__cp310-cp310-macosx_10_15_universal2.whl

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

Potentially problematic release.


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

Files changed (49) 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/libngbla.dylib +0 -0
  5. netgen/libngfem.dylib +0 -0
  6. netgen/libngla.dylib +0 -0
  7. netgen/libngsbem.dylib +0 -0
  8. netgen/libngstd.dylib +0 -0
  9. ngsolve/cmake/NGSolveConfig.cmake +1 -1
  10. ngsolve/config/config.py +5 -5
  11. ngsolve/solve_implementation.py +10 -1
  12. {ngsolve-6.2.2506.post45.dev0.dist-info → ngsolve-6.2.2506.post60.dev0.dist-info}/METADATA +1 -1
  13. {ngsolve-6.2.2506.post45.dev0.dist-info → ngsolve-6.2.2506.post60.dev0.dist-info}/RECORD +49 -48
  14. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/Netgen.icns +0 -0
  15. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/bin/ngscxx +0 -0
  16. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/bin/ngsld +0 -0
  17. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/bin/ngsolve.tcl +0 -0
  18. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/bin/ngspy +0 -0
  19. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/beam.geo +0 -0
  20. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/beam.vol +0 -0
  21. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/chip.in2d +0 -0
  22. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/chip.vol +0 -0
  23. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/coil.geo +0 -0
  24. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/coil.vol +0 -0
  25. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/coilshield.geo +0 -0
  26. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/coilshield.vol +0 -0
  27. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/cube.geo +0 -0
  28. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/cube.vol +0 -0
  29. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
  30. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
  31. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d1_square.pde +0 -0
  32. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d2_chip.pde +0 -0
  33. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
  34. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d4_cube.pde +0 -0
  35. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d5_beam.pde +0 -0
  36. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d6_shaft.pde +0 -0
  37. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d7_coil.pde +0 -0
  38. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
  39. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
  40. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
  41. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/doubleglazing.vol +0 -0
  42. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  43. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/shaft.geo +0 -0
  44. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/shaft.vol +0 -0
  45. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/square.in2d +0 -0
  46. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/square.vol +0 -0
  47. {ngsolve-6.2.2506.post45.dev0.dist-info → ngsolve-6.2.2506.post60.dev0.dist-info}/LICENSE +0 -0
  48. {ngsolve-6.2.2506.post45.dev0.dist-info → ngsolve-6.2.2506.post60.dev0.dist-info}/WHEEL +0 -0
  49. {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/libngbla.dylib CHANGED
Binary file
netgen/libngfem.dylib CHANGED
Binary file
netgen/libngla.dylib CHANGED
Binary file
netgen/libngsbem.dylib CHANGED
Binary file
netgen/libngstd.dylib 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 = "/Library/Developer/CommandLineTools/usr/bin/c++"
43
43
  CMAKE_CUDA_COMPILER = ""
@@ -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.1
2
2
  Name: ngsolve
3
- Version: 6.2.2506.post45.dev0
3
+ Version: 6.2.2506.post60.dev0
4
4
  Summary: NGSolve
5
5
  Home-page: UNKNOWN
6
6
  Author: The NGSolve team
@@ -1,16 +1,16 @@
1
- netgen/libngbla.dylib,sha256=Vp1akp0ZQJ03GHd0pw2RWmG6MAR9WqZJkfN2LgDqgAM,5843392
1
+ netgen/libngbla.dylib,sha256=6WdJpPEqJfPMp49VMxCA7DWVJg2F9Otz69mHimBHiow,5843392
2
2
  netgen/libngcomp.dylib,sha256=5UmqvZdx613i-fBJxPAaAFNn_fqcxjpjRxaJuFKCt2M,43078352
3
- netgen/libngfem.dylib,sha256=Nmh44FqF1FdoMzDxEkM-JW3zvgWf1O8LtNQNd3v22L8,51659696
4
- netgen/libngla.dylib,sha256=7PEQxbQd3hjazDkTI13l6WtT0F_uyA51vuln8ZZ_t60,25551280
5
- netgen/libngsbem.dylib,sha256=46zp4aORa0lGsneZyUly_kG53wOUDZ-A1MektGZ2noE,9103824
3
+ netgen/libngfem.dylib,sha256=g8tt53CbgpPsNAxRiVaW3phosdWPHOKSlZUmy3PHMK4,51660224
4
+ netgen/libngla.dylib,sha256=9IStf6eAayUmr4VffSXfm-g9EfZIYYl-1lQs0QlJNfQ,25551280
5
+ netgen/libngsbem.dylib,sha256=hHc7n5KDva3lExA2FWYQKqo8kSruThZ1p4bXWHHV9ug,9440944
6
6
  netgen/libngsolve.dylib,sha256=BmiSIawX0CyAIN-GQ9SbDsOg-3wFie56_Lnv4yhqs2M,943872
7
- netgen/libngstd.dylib,sha256=Q3g9_fKLZtASoUtghomVS-jcvPhg2h-tNc5wp38TSQo,923424
7
+ netgen/libngstd.dylib,sha256=sJTUNGBViPXXpTFjPrSs_Kr1picV2tmqfcnCdwe4bRY,923424
8
8
  netgen/include/analytic_integrals.hpp,sha256=xLVJ8n0-t6UlU_yKE8i0vYkXilsNuqVixkzJlmxptKw,238
9
9
  netgen/include/arnoldi.hpp,sha256=b8mRu9wGyaLa7z6mXCFIhxfW_xcQvsOMD6TqbfYZ05g,1437
10
10
  netgen/include/bandmatrix.hpp,sha256=zwKz89QY53MPsWgNsl0cXEAFKka_W4sXPIO54M3eT80,7778
11
11
  netgen/include/basematrix.hpp,sha256=6YGW07HMH7F2JWXUKOwlGZ2ZvEoP7uCSGihdrzzKPag,28634
12
12
  netgen/include/basevector.hpp,sha256=6UISVxCMw3kEzHzZmpOCdv9mLHlaWTR2AXLMbNNC6YQ,31108
13
- netgen/include/bdbequations.hpp,sha256=JPgzNFMfZeD56SgRGukVup7lEmT1O3lCTX0LdvHybpY,90406
13
+ netgen/include/bdbequations.hpp,sha256=df_vU9kve1uGd06Tgzuhc3Z3qxQ7_cDvYNxb94NL6nc,91716
14
14
  netgen/include/bdbintegrator.hpp,sha256=-KCvBBh8zZQ29tLiLIa28c6QWJBsN8xYC7K-NwEZhYw,47590
15
15
  netgen/include/bem_diffops.hpp,sha256=ZPuCPiqrZcQj4w5BTkYJzOFTP33gC7ST7qh1AdvI-uM,16307
16
16
  netgen/include/bessel.hpp,sha256=-6k_a2bsoY1rWgLSUvQMfm92xVLnlB28CU6Qwryj-GI,25282
@@ -38,6 +38,7 @@ netgen/include/diagonalmatrix.hpp,sha256=_P9pv36VUbh0WGuYtKlAHJv-SNVqg7PsGPwphbm
38
38
  netgen/include/differentialoperator.hpp,sha256=uUDW_sGO8prj3gtFv4CNkcpttAaeqYrr1fOWEYRsemI,9380
39
39
  netgen/include/diffop.hpp,sha256=w7IteI4MKRSX13M3u74BuPKBvZfD9gU_jjAVSJD8hW4,44359
40
40
  netgen/include/diffop_impl.hpp,sha256=aJTf9vwbAz9QXy6RfFLh9VldZClZysdcVSa2fiXFfr8,11345
41
+ netgen/include/diffopwithfactor.hpp,sha256=bQhwxhFqA7l3yo9RjzZrHmtO97dqXuYhuW_MRXVSyC8,4053
41
42
  netgen/include/discontinuous.hpp,sha256=_Mwx37ZOJ0tKVJ6FdJClEJo3fQYs1ht7-vzn-vhvWGg,3069
42
43
  netgen/include/dump.hpp,sha256=SIdx6wQbmxGOthnUKGnGl5IYL4zRC_l6x0YdOXi598I,27010
43
44
  netgen/include/ectypes.hpp,sha256=4eUASFuK828kMN4-OS83fy1kH1pstYByxqJGjPH_3H0,2595
@@ -103,7 +104,7 @@ netgen/include/intrule.hpp,sha256=VSDdG7fpraQHY1eZFaKo7bLyfpwBjMM0Z2qJgcmYW3w,80
103
104
  netgen/include/intrules_SauterSchwab.hpp,sha256=1HiSgmdJHNoCp1ZYY7gNFPHdanepbGtay2YJrTaYHBg,650
104
105
  netgen/include/irspace.hpp,sha256=DcpkPMFKx5nDvfLfTWKmpYuLX-X5rBuWF8Ta9e__m-A,1508
105
106
  netgen/include/jacobi.hpp,sha256=hFhMn5Q46_DxHGofXV_or5VCTREslMvpccV7FZCAefE,4738
106
- netgen/include/kernels.hpp,sha256=J50yqnQl2Y9P2yAZ3mtFU7x0aOWfkmevKIVV94J5u8U,23737
107
+ netgen/include/kernels.hpp,sha256=pKuBM9bjaEdhpnTVJKF68-4-XP9s8xMKmBE8cnFR_Dc,23574
107
108
  netgen/include/l2hofe.hpp,sha256=kbCezYmmgGqfIN0WZRNDKBEoWQTTcgpg7TEuDERolSY,6696
108
109
  netgen/include/l2hofe_impl.hpp,sha256=-rWVybAL7QTkfNNXAz1tP4RYQcBuOVYLTZE3E502tuA,15848
109
110
  netgen/include/l2hofefo.hpp,sha256=sQhmfliTW2Ac_XLucufzbRdtSRr471i3qPFAMSByvU0,16592
@@ -210,18 +211,18 @@ ngsolve/ngscxx.py,sha256=q3t5DgE3sJazWueas8FTXJ9jZM-LVa9KbGj_RTam6V4,1293
210
211
  ngsolve/ngslib.so,sha256=GGAhgIujPWTc8_bmOsN2xXECOeSoJPP3bCJNUL4QbCk,336632
211
212
  ngsolve/nonlinearsolvers.py,sha256=8Q_CrD9vjdpZRV9sj2Fth7Y_kJJl7djPgarQmTK7Xfw,8216
212
213
  ngsolve/preconditioners.py,sha256=DLRUd9wQwxXUWL1wEBAbHQbWNp71qZYOFvH5Krfa834,239
213
- ngsolve/solve_implementation.py,sha256=sX5NClaPmhRZFbIrUVN6Ld4lg1_D5QzxtQxynK_Qq8E,5056
214
+ ngsolve/solve_implementation.py,sha256=-yyggHGmivv_hhSfRpShFqfWw2SOECpR3BMvccidvE4,5540
214
215
  ngsolve/solvers.py,sha256=WgZ9X1x9mtQegXDu8VcTjP-wbS2EnrUS96Y8LXqeflw,304
215
216
  ngsolve/timestepping.py,sha256=SLbsgE5pY5tXYTLGlVypk4kS2Ui8GxOwWmKVxqneZRU,8350
216
217
  ngsolve/timing.py,sha256=Xqkq2byJjNNK9vJjHG2O3cMf6xuKIyySjk8yv6Le2T8,3985
217
218
  ngsolve/utils.py,sha256=V2yVF4K3uv1007-DEs_GrzJ3BOOh09c4lDGGR1Xw-PU,4557
218
219
  ngsolve/webgui.py,sha256=EUhaOtWHZy80aLXhXbHwbCQVNjRSw-BAAE50cz7Ydaw,24313
219
- ngsolve/cmake/NGSolveConfig.cmake,sha256=6suL9qM38Zj_XRtAYrUN2clhlTo1oYTVE20gy4FvBYs,5066
220
+ ngsolve/cmake/NGSolveConfig.cmake,sha256=Fst4aMaQHQrrR4DmrGoTBGEnbQCj7KoJEBK2cek5Ii0,5066
220
221
  ngsolve/cmake/ngsolve-targets-release.cmake,sha256=2dUHzaaMQX08eT7Tjti0crzp_Ah3oqW86gp5UgSufmw,3426
221
222
  ngsolve/cmake/ngsolve-targets.cmake,sha256=1cQTFW-4aJfY356XRcuslSbFClmwPOSS03bj3WL15iM,5637
222
223
  ngsolve/config/__init__.py,sha256=A00lpnUKg-q3y_b-cN3jKF9urkGTGjb2Yz_gGc9WCLs,22
223
224
  ngsolve/config/__main__.py,sha256=m8k2RrXnXR5oYaUna1dwkKNhOZBiM7EyFSE9kIcZKvo,89
224
- ngsolve/config/config.py,sha256=9mIlpgfsaZ4pVztH7SXXovRisb-r0gk3vEyB-XQ1fwU,2467
225
+ ngsolve/config/config.py,sha256=qx4XOu6a9K2hUEucxM6bq_eBK90lWhPj9D22XLir7-c,2467
225
226
  ngsolve/demos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
226
227
  ngsolve/demos/TensorProduct/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
227
228
  ngsolve/demos/TensorProduct/tp_dg_1d_1d.py,sha256=CrJCkbJNinVYUL3DO-4DnCAMGSAhegNc0QVWiJTk3Js,2109
@@ -253,41 +254,41 @@ ngsolve/demos/mpi/mpi_cmagnet.py,sha256=HuN4lttA2q2kNWss6LZNUKraHqskRQNVEBRjkrU2
253
254
  ngsolve/demos/mpi/mpi_navierstokes.py,sha256=Sct0G6EziYVfeIeSa7_b6r3WiYXcxZekoOGsZQALx-c,2911
254
255
  ngsolve/demos/mpi/mpi_poisson.py,sha256=UvXODjpWtqIgqq7lvMJf3ZEoJZLY1Dck-82R7auiW6I,2468
255
256
  ngsolve/demos/mpi/mpi_timeDG.py,sha256=TPJZ-DwmzOpuAol-fFKeU-R2rJ74MbjOm3DDkQI9BcY,1881
256
- ngsolve-6.2.2506.post45.dev0.data/data/Netgen.icns,sha256=Ebqct4LKxLzxdJLwGg0tTUQb1VjLwkKhtmdYhpRhKjg,291475
257
- ngsolve-6.2.2506.post45.dev0.data/data/bin/ngscxx,sha256=HFcVHkblKlDxFT-obJQYZU1pGqopDwzoO9kU6MMGS5w,1755
258
- ngsolve-6.2.2506.post45.dev0.data/data/bin/ngsld,sha256=50UErkFWLTocn8GtZDTkUWmPTIqsoK5lcfBGwyP0Vnc,557
259
- ngsolve-6.2.2506.post45.dev0.data/data/bin/ngsolve.tcl,sha256=SSBYLyp4zgl6eM17LXIiLoj1Doy-h2s4EZg6oKi6ucA,20995
260
- ngsolve-6.2.2506.post45.dev0.data/data/bin/ngspy,sha256=KglThT4AqnzC-4q3Q_UdoOrCEvgISINlJFEChpY8GF8,106
261
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/beam.geo,sha256=EtxklGAIo6SxZlHHC_FZHoQGZqZUDGJQSheEMFO-bJ8,387
262
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/beam.vol,sha256=aotG4VA7sIgAsPQsYkzbMP1Jta_TddG2gMCblkSPkqc,13594
263
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/chip.in2d,sha256=g6C-mcoD8-q9JtZpuh4mf4iFEZUIGvvivp4C5YYMlAw,551
264
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/chip.vol,sha256=if0yLn8E3P4mZ_X5sBcrEIp2C4ZhMysGROtB1YCkJHI,27897
265
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/coil.geo,sha256=PVD4I9ztZowKwNOUrjnoOP7Tj2KG9J0UCJFRS9EhlxU,364
266
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/coil.vol,sha256=IOZe4oPxMUa9vBGJWN4LG9M79XAruY23S2rtAh_2_98,144724
267
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/coilshield.geo,sha256=lCUDCAhfowBttSGEY_giyY0xEFInAbgVfIPwSWBb504,605
268
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/coilshield.vol,sha256=2Dq5VCX7dqGxo_ExtUhI716I-SnxhLGPawW29IR9nYY,162397
269
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/cube.geo,sha256=kbBNVUYVSf1ogV7-Xf31KXju3LCUIPaDLfvwZHMgddI,386
270
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/cube.vol,sha256=54108a3RvrTUOJSFltxUY8iiNzyWoBTtNrWM0kufj7c,90295
271
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d10_DGdoubleglazing.pde,sha256=bPQAvbYlyvCfLzk9cOzjXDn94UFC_vBCONl7fEIaMVs,1304
272
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d11_chip_nitsche.pde,sha256=Mq3Ap63mWqjQyXsASFAlkRQ0AWxBlY3BYYejTYd-lwg,1101
273
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d1_square.pde,sha256=ysOroxhoAOePmB_Aswps9iGjA2qV5435iu3hOnSvN8M,1029
274
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d2_chip.pde,sha256=AowiGbuAWEdyFUB3d1LlZeQ7rarbkqIYsj1QcWc89-A,950
275
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d3_helmholtz.pde,sha256=nG0HxrxboI2qGoR5_LNZt7RYB7ji2o5jtkyIqTFR4y8,568
276
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d4_cube.pde,sha256=-C4RgoVtBXZu7XHCwZy7F7pr_PGNGcRwWCFzBppq1mQ,1033
277
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d5_beam.pde,sha256=QOYC7YN7LdcjSFeLdJu1Tlfi-lmsVsa7b9G6qoCsGo8,1985
278
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d6_shaft.pde,sha256=Iua3INfuIUeaBk21qNg4u5KZt__H1B8BZUsy5frjhdY,1901
279
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d7_coil.pde,sha256=-ELH2obynMJcvSOqoYT1OThXcllIcdss0ZrklLSimZw,1200
280
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d8_coilshield.pde,sha256=WUUulvd3dsedB25sFVQgU7FgZ3B7BkbxgkXTEBglk1w,1141
281
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/d9_hybridDG.pde,sha256=drLxnz1GvCEeme-FV772cGbS-YTgeUB4G5DrbkLdapw,1479
282
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/doubleglazing.in2d,sha256=bKn7m7eCcoLimGgoO3nxhiu7Mm0lIRnbx0TJh5dC1I0,506
283
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/doubleglazing.vol,sha256=Eg-H6nl2Hd5Nr593SFCCLVTDl25kIXuddrWpd7xlrP8,34987
284
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/piezo2d40round4.vol.gz,sha256=RuxM0vtYljoAImOH6U6avt0LmWaUbGNao37n8p_Yd1w,496477
285
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/shaft.geo,sha256=aPbk4EItJSLN_PjpOejnijk74y53QBW-IPCXHvLNlVs,2434
286
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/shaft.vol,sha256=fT8qu1L-p0MkI-l3WVisKG52W5FCzO_NzXaCvMJT1V4,270450
287
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/square.in2d,sha256=evpVgNNzReABv6bIs4J_r1OFeedMppoS-TEzE-tfKgY,192
288
- ngsolve-6.2.2506.post45.dev0.data/data/share/ngsolve/square.vol,sha256=IXIHYmq85hkFsMVZ_vEVthUnd0YTQWE4jRegjW8_ImI,9162
289
- ngsolve-6.2.2506.post45.dev0.dist-info/LICENSE,sha256=oZDcnIBDdV2Q-LCnX6ZrnkLUr0yYC_XdxjPwEk2zzuc,26430
290
- ngsolve-6.2.2506.post45.dev0.dist-info/METADATA,sha256=eq5dG2yvrN89SWe95rJvAHw30dRl-yjZocCI9IzApvk,247
291
- ngsolve-6.2.2506.post45.dev0.dist-info/WHEEL,sha256=vYGgz4rYivjGPkIS_2Kj6g97rQxH536HeP_jo4e1Oq8,110
292
- ngsolve-6.2.2506.post45.dev0.dist-info/top_level.txt,sha256=1llU44DxNIP85uPT4RChsIuV3h2d0_5j0Ui_Df5vV8E,15
293
- ngsolve-6.2.2506.post45.dev0.dist-info/RECORD,,
257
+ ngsolve-6.2.2506.post60.dev0.data/data/Netgen.icns,sha256=Ebqct4LKxLzxdJLwGg0tTUQb1VjLwkKhtmdYhpRhKjg,291475
258
+ ngsolve-6.2.2506.post60.dev0.data/data/bin/ngscxx,sha256=HFcVHkblKlDxFT-obJQYZU1pGqopDwzoO9kU6MMGS5w,1755
259
+ ngsolve-6.2.2506.post60.dev0.data/data/bin/ngsld,sha256=50UErkFWLTocn8GtZDTkUWmPTIqsoK5lcfBGwyP0Vnc,557
260
+ ngsolve-6.2.2506.post60.dev0.data/data/bin/ngsolve.tcl,sha256=SSBYLyp4zgl6eM17LXIiLoj1Doy-h2s4EZg6oKi6ucA,20995
261
+ ngsolve-6.2.2506.post60.dev0.data/data/bin/ngspy,sha256=KglThT4AqnzC-4q3Q_UdoOrCEvgISINlJFEChpY8GF8,106
262
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/beam.geo,sha256=EtxklGAIo6SxZlHHC_FZHoQGZqZUDGJQSheEMFO-bJ8,387
263
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/beam.vol,sha256=aotG4VA7sIgAsPQsYkzbMP1Jta_TddG2gMCblkSPkqc,13594
264
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/chip.in2d,sha256=g6C-mcoD8-q9JtZpuh4mf4iFEZUIGvvivp4C5YYMlAw,551
265
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/chip.vol,sha256=if0yLn8E3P4mZ_X5sBcrEIp2C4ZhMysGROtB1YCkJHI,27897
266
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/coil.geo,sha256=PVD4I9ztZowKwNOUrjnoOP7Tj2KG9J0UCJFRS9EhlxU,364
267
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/coil.vol,sha256=IOZe4oPxMUa9vBGJWN4LG9M79XAruY23S2rtAh_2_98,144724
268
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/coilshield.geo,sha256=lCUDCAhfowBttSGEY_giyY0xEFInAbgVfIPwSWBb504,605
269
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/coilshield.vol,sha256=2Dq5VCX7dqGxo_ExtUhI716I-SnxhLGPawW29IR9nYY,162397
270
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/cube.geo,sha256=kbBNVUYVSf1ogV7-Xf31KXju3LCUIPaDLfvwZHMgddI,386
271
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/cube.vol,sha256=54108a3RvrTUOJSFltxUY8iiNzyWoBTtNrWM0kufj7c,90295
272
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d10_DGdoubleglazing.pde,sha256=bPQAvbYlyvCfLzk9cOzjXDn94UFC_vBCONl7fEIaMVs,1304
273
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d11_chip_nitsche.pde,sha256=Mq3Ap63mWqjQyXsASFAlkRQ0AWxBlY3BYYejTYd-lwg,1101
274
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d1_square.pde,sha256=ysOroxhoAOePmB_Aswps9iGjA2qV5435iu3hOnSvN8M,1029
275
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d2_chip.pde,sha256=AowiGbuAWEdyFUB3d1LlZeQ7rarbkqIYsj1QcWc89-A,950
276
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d3_helmholtz.pde,sha256=nG0HxrxboI2qGoR5_LNZt7RYB7ji2o5jtkyIqTFR4y8,568
277
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d4_cube.pde,sha256=-C4RgoVtBXZu7XHCwZy7F7pr_PGNGcRwWCFzBppq1mQ,1033
278
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d5_beam.pde,sha256=QOYC7YN7LdcjSFeLdJu1Tlfi-lmsVsa7b9G6qoCsGo8,1985
279
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d6_shaft.pde,sha256=Iua3INfuIUeaBk21qNg4u5KZt__H1B8BZUsy5frjhdY,1901
280
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d7_coil.pde,sha256=-ELH2obynMJcvSOqoYT1OThXcllIcdss0ZrklLSimZw,1200
281
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d8_coilshield.pde,sha256=WUUulvd3dsedB25sFVQgU7FgZ3B7BkbxgkXTEBglk1w,1141
282
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/d9_hybridDG.pde,sha256=drLxnz1GvCEeme-FV772cGbS-YTgeUB4G5DrbkLdapw,1479
283
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/doubleglazing.in2d,sha256=bKn7m7eCcoLimGgoO3nxhiu7Mm0lIRnbx0TJh5dC1I0,506
284
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/doubleglazing.vol,sha256=Eg-H6nl2Hd5Nr593SFCCLVTDl25kIXuddrWpd7xlrP8,34987
285
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/piezo2d40round4.vol.gz,sha256=RuxM0vtYljoAImOH6U6avt0LmWaUbGNao37n8p_Yd1w,496477
286
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/shaft.geo,sha256=aPbk4EItJSLN_PjpOejnijk74y53QBW-IPCXHvLNlVs,2434
287
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/shaft.vol,sha256=fT8qu1L-p0MkI-l3WVisKG52W5FCzO_NzXaCvMJT1V4,270450
288
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/square.in2d,sha256=evpVgNNzReABv6bIs4J_r1OFeedMppoS-TEzE-tfKgY,192
289
+ ngsolve-6.2.2506.post60.dev0.data/data/share/ngsolve/square.vol,sha256=IXIHYmq85hkFsMVZ_vEVthUnd0YTQWE4jRegjW8_ImI,9162
290
+ ngsolve-6.2.2506.post60.dev0.dist-info/LICENSE,sha256=oZDcnIBDdV2Q-LCnX6ZrnkLUr0yYC_XdxjPwEk2zzuc,26430
291
+ ngsolve-6.2.2506.post60.dev0.dist-info/METADATA,sha256=kjQyQ1qoK9J7_WKPFpeIOLlA794QdiBD3GuI5iJjKcA,247
292
+ ngsolve-6.2.2506.post60.dev0.dist-info/WHEEL,sha256=vYGgz4rYivjGPkIS_2Kj6g97rQxH536HeP_jo4e1Oq8,110
293
+ ngsolve-6.2.2506.post60.dev0.dist-info/top_level.txt,sha256=1llU44DxNIP85uPT4RChsIuV3h2d0_5j0Ui_Df5vV8E,15
294
+ ngsolve-6.2.2506.post60.dev0.dist-info/RECORD,,