ngsolve 6.2.2506.post38.dev0__cp311-cp311-macosx_10_15_universal2.whl → 6.2.2506.post60.dev0__cp311-cp311-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 (55) 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/libngbla.dylib +0 -0
  10. netgen/libngcomp.dylib +0 -0
  11. netgen/libngfem.dylib +0 -0
  12. netgen/libngla.dylib +0 -0
  13. netgen/libngsbem.dylib +0 -0
  14. netgen/libngstd.dylib +0 -0
  15. ngsolve/cmake/NGSolveConfig.cmake +1 -1
  16. ngsolve/config/config.py +5 -5
  17. ngsolve/solve_implementation.py +10 -1
  18. {ngsolve-6.2.2506.post38.dev0.dist-info → ngsolve-6.2.2506.post60.dev0.dist-info}/METADATA +1 -1
  19. {ngsolve-6.2.2506.post38.dev0.dist-info → ngsolve-6.2.2506.post60.dev0.dist-info}/RECORD +55 -54
  20. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/Netgen.icns +0 -0
  21. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/bin/ngscxx +0 -0
  22. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/bin/ngsld +0 -0
  23. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/bin/ngsolve.tcl +0 -0
  24. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/bin/ngspy +0 -0
  25. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/beam.geo +0 -0
  26. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/beam.vol +0 -0
  27. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/chip.in2d +0 -0
  28. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/chip.vol +0 -0
  29. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/coil.geo +0 -0
  30. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/coil.vol +0 -0
  31. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/coilshield.geo +0 -0
  32. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/coilshield.vol +0 -0
  33. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/cube.geo +0 -0
  34. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/cube.vol +0 -0
  35. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
  36. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
  37. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d1_square.pde +0 -0
  38. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d2_chip.pde +0 -0
  39. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
  40. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d4_cube.pde +0 -0
  41. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d5_beam.pde +0 -0
  42. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d6_shaft.pde +0 -0
  43. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d7_coil.pde +0 -0
  44. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
  45. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
  46. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
  47. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/doubleglazing.vol +0 -0
  48. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  49. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/shaft.geo +0 -0
  50. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/shaft.vol +0 -0
  51. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/square.in2d +0 -0
  52. {ngsolve-6.2.2506.post38.dev0.data → ngsolve-6.2.2506.post60.dev0.data}/data/share/ngsolve/square.vol +0 -0
  53. {ngsolve-6.2.2506.post38.dev0.dist-info → ngsolve-6.2.2506.post60.dev0.dist-info}/LICENSE +0 -0
  54. {ngsolve-6.2.2506.post38.dev0.dist-info → ngsolve-6.2.2506.post60.dev0.dist-info}/WHEEL +0 -0
  55. {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/libngbla.dylib CHANGED
Binary file
netgen/libngcomp.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-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 = "/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.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,16 +1,16 @@
1
- netgen/libngbla.dylib,sha256=HEw2W9MwYP5AqVUI3cU5VdB4-aROfW9UXBF5lWUyELA,5859920
2
- netgen/libngcomp.dylib,sha256=iSBq8sLQKlcjunoTViifx9TDqotisJtjoc2l66p3Czw,43096048
3
- netgen/libngfem.dylib,sha256=fBCvgYwiuG7SMow2UYQTS_Sr-msBPnquM6-qlvfilbE,51659744
4
- netgen/libngla.dylib,sha256=bJdQRNRmIbBsj_MZpHzgHUyE5jR1V7eiy53-jPfI0f8,25567728
5
- netgen/libngsbem.dylib,sha256=cOvsUsdOTy6VJI_PtlnvEdFM1q8iwl4KH5fU03u-PLc,8755408
1
+ netgen/libngbla.dylib,sha256=BbW5lRuybwvPnncduH8SiJfNz90XsoYnfLkMO_bcosw,5859920
2
+ netgen/libngcomp.dylib,sha256=3xuR79SQw5IEi-m_03vJoS1Pjeo-QVde9KYJoc0EtHQ,43094720
3
+ netgen/libngfem.dylib,sha256=ye3VWOgoHRNQXgiRN6ZbCLzTfIZRFn0Aro1O302j7jI,51693040
4
+ netgen/libngla.dylib,sha256=igAlsaiv49lf-k8MXhXXaPMFIUtP6Ap0DitqXL-_tUY,25567728
5
+ netgen/libngsbem.dylib,sha256=SYjz8Qn55MsUoZOcIRBF0ZRPEoAOWginjif3vVPhWDc,9473920
6
6
  netgen/libngsolve.dylib,sha256=Fc0RE6ytRezOAiyK0ZSDnXTGuBNnNY2WAMAE7xJMVIU,944000
7
- netgen/libngstd.dylib,sha256=niaIGWUNi9NMfL1GjhZGPGhed2xkXBzRJZFHOnzQfPs,939808
7
+ netgen/libngstd.dylib,sha256=MYgYMaWRb9IBWaGdpnP5IqvRbYF-6Uu2hUv0xuHq4HU,939808
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
@@ -48,7 +49,7 @@ netgen/include/elementbyelement.hpp,sha256=k3RSmDYkU4BTm7rb9mYcJyel5eEmTB-5URmir
48
49
  netgen/include/elementtopology.hpp,sha256=OKzjGfwrN7zhvkbbHJrdBpwpDkVlhBxwQFeFwPQNFYg,44494
49
50
  netgen/include/elementtransformation.hpp,sha256=PDLQsfkVyDkA7L4hLBOBTSimd3a-E-069krvZrXxJgM,10408
50
51
  netgen/include/evalfunc.hpp,sha256=J0v1ACrYTkQDAxsklPUJYhv-fPjHIUDqvzlZoCucAqg,10019
51
- netgen/include/expr.hpp,sha256=z4p2M3u6TfB32Lqj05HJ5Q2EGEt-xW1IikhCQfPuzuY,45129
52
+ netgen/include/expr.hpp,sha256=kuCXH9Za4BRnWhxB8ZFMZchuFvfVPxpLxZbaf4gG2k4,46132
52
53
  netgen/include/facetfe.hpp,sha256=h1vCg8GhJAvxvVgt15MuhA8MXOwvVahZaWB5__PhCDs,4920
53
54
  netgen/include/facetfespace.hpp,sha256=1vXyL3r6FkZTLSwYw-zWdJTddyF4m27Taqdt26E0c6U,4739
54
55
  netgen/include/facethofe.hpp,sha256=-ks3RV2WUrPgQ0ElYIM7h7t0Mwvu6MIGiW1bCIeHtSc,3701
@@ -103,8 +104,8 @@ 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=tqjNDYZqsjlJm3XbXXqK5Fmq40_ECGPNg6yPJmrcOHc,20479
107
- netgen/include/l2hofe.hpp,sha256=Qjg5jtkhx8cE1gUdoKslhKTqlUg9qbAbL8g4NTMCW2s,6650
107
+ netgen/include/kernels.hpp,sha256=pKuBM9bjaEdhpnTVJKF68-4-XP9s8xMKmBE8cnFR_Dc,23574
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
110
111
  netgen/include/l2hofespace.hpp,sha256=-Xu_I1KUYVZGuw6XFi7kvwe0x4uGncB2fTctswygZuU,12057
@@ -115,7 +116,7 @@ netgen/include/memusage.hpp,sha256=H-8rWQ8UQDCnOiYQnbwvILPuPoJD8bqwiNGB2QAUa0o,1
115
116
  netgen/include/meshaccess.hpp,sha256=j5dinD-8bVm18MkVqG9j-IhhZUHHXw3erdZy-LHxl-8,47133
116
117
  netgen/include/mgpre.hpp,sha256=zdNozWRSyluOF8E4GLeOR290Yw2wqGYGc1sTTSB5n3U,4825
117
118
  netgen/include/mp_coefficient.hpp,sha256=AvH0tzkfqeOGZiydF2f0-M7vtW-29szci-9Krpl_Dow,4980
118
- netgen/include/mptools.hpp,sha256=PIBiO1_z-DKPskD9LVSK_UptikVzIj057lPEyPOZ92g,70190
119
+ netgen/include/mptools.hpp,sha256=elGoYLWZooEjH8NJmFOzFQJD_tuqgjDaCWZk7aZWzmo,70712
119
120
  netgen/include/multigrid.hpp,sha256=ovl1GXcTfXuYLVVMcFfCKP5sg6diSGlqdjCMMPCgFUo,856
120
121
  netgen/include/multivector.hpp,sha256=nuLxMiq2y6HoH5w9j6ka2BhJjRyREPeEnNFx_x0SMU0,12635
121
122
  netgen/include/mumpsinverse.hpp,sha256=Jaa5NPQzwPo2kSbHijI_LX3tr0qUmVhqVlRM14KeD18,4062
@@ -181,7 +182,7 @@ netgen/include/tensorproductintegrator.hpp,sha256=ZtcEnhvibtXK20dmfntzk0xKFdwazP
181
182
  netgen/include/thcurlfe.hpp,sha256=37ry6XxTNT72uzM8IAcUiVtNrpi2dscnHTp0Bo6injI,4971
182
183
  netgen/include/thcurlfe_impl.hpp,sha256=ddHcRzB2zDUU7k9IFTC8tUfTK7eQFtL49ViYiM9v2dM,15212
183
184
  netgen/include/thdivfe.hpp,sha256=MCC9aF1qGedORrPuERnZAw-j4U7bEzZhHmi2TtvyuPE,2913
184
- netgen/include/thdivfe_impl.hpp,sha256=CQqky11Y41M_Mw8eGOFoiSzmMGRAIkR54oaLDhPRAas,17503
185
+ netgen/include/thdivfe_impl.hpp,sha256=SIsUIlKLxjFcMta3uAa3cUVRiOFUIzF3Gqx559dXK6I,17509
185
186
  netgen/include/tpdiffop.hpp,sha256=hsu3qokOrj7BPhFVPDK4OGcWTqGKzOwrQNQRHd3xgf8,18355
186
187
  netgen/include/tpfes.hpp,sha256=3M-UHBpV_rzOSsFjnWf1Z35JegQUYE4Ck_fvW6BLkKQ,4537
187
188
  netgen/include/tpintrule.hpp,sha256=paPl3fGLFe7ynxsplntJF0FvU3XFql4KnNFRJV2KuYA,8733
@@ -189,7 +190,7 @@ netgen/include/triangular.hpp,sha256=gU5xq35XlBTGJkNnSG9X_GTe4BUpVIYVl0n2XMSS_iM
189
190
  netgen/include/tscalarfe.hpp,sha256=D8A1jFfPz5GAljkxckSEPc68W2OwY5ylDHum5jTe2cw,10706
190
191
  netgen/include/tscalarfe_impl.hpp,sha256=mmD48AmFcxGahXiwK7lNHk7SRuOI4y_ukqksEWOb0fY,38706
191
192
  netgen/include/umfpackinverse.hpp,sha256=JJZFhK6Y0laJcrVhdOBuSKn7jsp3Gl1J4G4V6mC0Oeg,4287
192
- netgen/include/vector.hpp,sha256=uigo3pNZgjlhcPJcKrl54WZqh8xMQiVHdxlvXkEEp3Y,33218
193
+ netgen/include/vector.hpp,sha256=d9pA2yAsmMAip4r3F-JJ5mxyMWAflpGy5zp49ZQCuAg,33350
193
194
  netgen/include/voxelcoefficientfunction.hpp,sha256=NVHmt3Geq2mDNMYo_4CmjAwv56N4lzDmS0_AHawKWZo,1498
194
195
  netgen/include/vtkoutput.hpp,sha256=PlNdvQcY4fdzSuIHBuvsfjJB8IG1-xuCb3HlTp7QBsw,6430
195
196
  netgen/include/vvector.hpp,sha256=x98Zea83T3TARxNOX-F-ZMxaR5SEjiwA35-ZWE0yCdU,4577
@@ -210,18 +211,18 @@ ngsolve/ngscxx.py,sha256=q3t5DgE3sJazWueas8FTXJ9jZM-LVa9KbGj_RTam6V4,1293
210
211
  ngsolve/ngslib.so,sha256=IM3vb9hsk0R_cGRfu_WUcwrbvOAiqDZi_iaWE5RaV5Q,336760
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=cIJq_EySefGccLLpmeUf5c5E1dARK4Th4WkzMYJPQjo,5066
220
+ ngsolve/cmake/NGSolveConfig.cmake,sha256=wwyp0QJIKGPrEOx9rCVUFIvxjWqZG1gNb6ibMs_uda0,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=6OSERYqzaFIwwa3grKN8hrNN4QoImjb0xMFlEiiSoZg,2467
225
+ ngsolve/config/config.py,sha256=O3wc_XkBmGo7LOKLwssO0XttebuymyWnbjwoy07vQhk,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.post38.dev0.data/data/Netgen.icns,sha256=Ebqct4LKxLzxdJLwGg0tTUQb1VjLwkKhtmdYhpRhKjg,291475
257
- ngsolve-6.2.2506.post38.dev0.data/data/bin/ngscxx,sha256=TDWPvQxbPYsPFhbPU6RlApEuxCoOOzwj3J80VKMMyp8,1755
258
- ngsolve-6.2.2506.post38.dev0.data/data/bin/ngsld,sha256=50UErkFWLTocn8GtZDTkUWmPTIqsoK5lcfBGwyP0Vnc,557
259
- ngsolve-6.2.2506.post38.dev0.data/data/bin/ngsolve.tcl,sha256=SSBYLyp4zgl6eM17LXIiLoj1Doy-h2s4EZg6oKi6ucA,20995
260
- ngsolve-6.2.2506.post38.dev0.data/data/bin/ngspy,sha256=OvTnzkYgC9G3IK42QJpjmXkV7Q_Arig43STSfPDsDD4,103
261
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/beam.geo,sha256=EtxklGAIo6SxZlHHC_FZHoQGZqZUDGJQSheEMFO-bJ8,387
262
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/beam.vol,sha256=aotG4VA7sIgAsPQsYkzbMP1Jta_TddG2gMCblkSPkqc,13594
263
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/chip.in2d,sha256=g6C-mcoD8-q9JtZpuh4mf4iFEZUIGvvivp4C5YYMlAw,551
264
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/chip.vol,sha256=if0yLn8E3P4mZ_X5sBcrEIp2C4ZhMysGROtB1YCkJHI,27897
265
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/coil.geo,sha256=PVD4I9ztZowKwNOUrjnoOP7Tj2KG9J0UCJFRS9EhlxU,364
266
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/coil.vol,sha256=IOZe4oPxMUa9vBGJWN4LG9M79XAruY23S2rtAh_2_98,144724
267
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/coilshield.geo,sha256=lCUDCAhfowBttSGEY_giyY0xEFInAbgVfIPwSWBb504,605
268
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/coilshield.vol,sha256=2Dq5VCX7dqGxo_ExtUhI716I-SnxhLGPawW29IR9nYY,162397
269
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/cube.geo,sha256=kbBNVUYVSf1ogV7-Xf31KXju3LCUIPaDLfvwZHMgddI,386
270
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/cube.vol,sha256=54108a3RvrTUOJSFltxUY8iiNzyWoBTtNrWM0kufj7c,90295
271
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d10_DGdoubleglazing.pde,sha256=bPQAvbYlyvCfLzk9cOzjXDn94UFC_vBCONl7fEIaMVs,1304
272
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d11_chip_nitsche.pde,sha256=Mq3Ap63mWqjQyXsASFAlkRQ0AWxBlY3BYYejTYd-lwg,1101
273
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d1_square.pde,sha256=ysOroxhoAOePmB_Aswps9iGjA2qV5435iu3hOnSvN8M,1029
274
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d2_chip.pde,sha256=AowiGbuAWEdyFUB3d1LlZeQ7rarbkqIYsj1QcWc89-A,950
275
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d3_helmholtz.pde,sha256=nG0HxrxboI2qGoR5_LNZt7RYB7ji2o5jtkyIqTFR4y8,568
276
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d4_cube.pde,sha256=-C4RgoVtBXZu7XHCwZy7F7pr_PGNGcRwWCFzBppq1mQ,1033
277
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d5_beam.pde,sha256=QOYC7YN7LdcjSFeLdJu1Tlfi-lmsVsa7b9G6qoCsGo8,1985
278
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d6_shaft.pde,sha256=Iua3INfuIUeaBk21qNg4u5KZt__H1B8BZUsy5frjhdY,1901
279
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d7_coil.pde,sha256=-ELH2obynMJcvSOqoYT1OThXcllIcdss0ZrklLSimZw,1200
280
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d8_coilshield.pde,sha256=WUUulvd3dsedB25sFVQgU7FgZ3B7BkbxgkXTEBglk1w,1141
281
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/d9_hybridDG.pde,sha256=drLxnz1GvCEeme-FV772cGbS-YTgeUB4G5DrbkLdapw,1479
282
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/doubleglazing.in2d,sha256=bKn7m7eCcoLimGgoO3nxhiu7Mm0lIRnbx0TJh5dC1I0,506
283
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/doubleglazing.vol,sha256=Eg-H6nl2Hd5Nr593SFCCLVTDl25kIXuddrWpd7xlrP8,34987
284
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/piezo2d40round4.vol.gz,sha256=RuxM0vtYljoAImOH6U6avt0LmWaUbGNao37n8p_Yd1w,496477
285
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/shaft.geo,sha256=aPbk4EItJSLN_PjpOejnijk74y53QBW-IPCXHvLNlVs,2434
286
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/shaft.vol,sha256=fT8qu1L-p0MkI-l3WVisKG52W5FCzO_NzXaCvMJT1V4,270450
287
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/square.in2d,sha256=evpVgNNzReABv6bIs4J_r1OFeedMppoS-TEzE-tfKgY,192
288
- ngsolve-6.2.2506.post38.dev0.data/data/share/ngsolve/square.vol,sha256=IXIHYmq85hkFsMVZ_vEVthUnd0YTQWE4jRegjW8_ImI,9162
289
- ngsolve-6.2.2506.post38.dev0.dist-info/LICENSE,sha256=oZDcnIBDdV2Q-LCnX6ZrnkLUr0yYC_XdxjPwEk2zzuc,26430
290
- ngsolve-6.2.2506.post38.dev0.dist-info/METADATA,sha256=07Qo3Cu_J-kLCSR_GxzMxJQmc1XyWaxuyoRg_3PguY0,201
291
- ngsolve-6.2.2506.post38.dev0.dist-info/WHEEL,sha256=YeDGh2t9OVO8eQwJ7A2CpeTltZRPMYGUji0_oep_V1g,110
292
- ngsolve-6.2.2506.post38.dev0.dist-info/top_level.txt,sha256=1llU44DxNIP85uPT4RChsIuV3h2d0_5j0Ui_Df5vV8E,15
293
- ngsolve-6.2.2506.post38.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=TDWPvQxbPYsPFhbPU6RlApEuxCoOOzwj3J80VKMMyp8,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=OvTnzkYgC9G3IK42QJpjmXkV7Q_Arig43STSfPDsDD4,103
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=SXfVozWFZLbFcs7BUo1BcCYIuYEAujCBHKpXlIFRmHQ,201
292
+ ngsolve-6.2.2506.post60.dev0.dist-info/WHEEL,sha256=YeDGh2t9OVO8eQwJ7A2CpeTltZRPMYGUji0_oep_V1g,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,,