ngsolve 6.2.2502__cp311-cp311-macosx_10_15_universal2.whl → 6.2.2503__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 (57) hide show
  1. netgen/include/fespace.hpp +3 -2
  2. netgen/include/intrules_SauterSchwab.hpp +25 -0
  3. netgen/include/mptools.hpp +80 -16
  4. netgen/include/potentialtools.hpp +20 -0
  5. netgen/include/prolongation.hpp +126 -3
  6. netgen/include/sparsematrix_impl.hpp +71 -5
  7. netgen/include/tangentialfacetfespace.hpp +7 -22
  8. netgen/libngbla.dylib +0 -0
  9. netgen/libngcomp.dylib +0 -0
  10. netgen/libngfem.dylib +0 -0
  11. netgen/libngla.dylib +0 -0
  12. netgen/libngsbem.dylib +0 -0
  13. netgen/libngsolve.dylib +0 -0
  14. netgen/libngstd.dylib +0 -0
  15. ngsolve/cmake/NGSolveConfig.cmake +5 -5
  16. ngsolve/cmake/ngsolve-targets-release.cmake +10 -0
  17. ngsolve/cmake/ngsolve-targets.cmake +9 -2
  18. ngsolve/config/config.py +5 -5
  19. ngsolve/ngslib.so +0 -0
  20. {ngsolve-6.2.2502.dist-info → ngsolve-6.2.2503.dist-info}/METADATA +2 -2
  21. {ngsolve-6.2.2502.dist-info → ngsolve-6.2.2503.dist-info}/RECORD +57 -54
  22. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/Netgen.icns +0 -0
  23. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/bin/ngscxx +0 -0
  24. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/bin/ngsld +0 -0
  25. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/bin/ngsolve.tcl +0 -0
  26. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/bin/ngspy +0 -0
  27. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/beam.geo +0 -0
  28. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/beam.vol +0 -0
  29. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/chip.in2d +0 -0
  30. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/chip.vol +0 -0
  31. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/coil.geo +0 -0
  32. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/coil.vol +0 -0
  33. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/coilshield.geo +0 -0
  34. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/coilshield.vol +0 -0
  35. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/cube.geo +0 -0
  36. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/cube.vol +0 -0
  37. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
  38. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
  39. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d1_square.pde +0 -0
  40. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d2_chip.pde +0 -0
  41. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
  42. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d4_cube.pde +0 -0
  43. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d5_beam.pde +0 -0
  44. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d6_shaft.pde +0 -0
  45. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d7_coil.pde +0 -0
  46. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
  47. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
  48. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
  49. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/doubleglazing.vol +0 -0
  50. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  51. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/shaft.geo +0 -0
  52. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/shaft.vol +0 -0
  53. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/square.in2d +0 -0
  54. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/square.vol +0 -0
  55. {ngsolve-6.2.2502.dist-info → ngsolve-6.2.2503.dist-info}/LICENSE +0 -0
  56. {ngsolve-6.2.2502.dist-info → ngsolve-6.2.2503.dist-info}/WHEEL +0 -0
  57. {ngsolve-6.2.2502.dist-info → ngsolve-6.2.2503.dist-info}/top_level.txt +0 -0
@@ -256,7 +256,7 @@ ANY 1 1 1 1 | 15
256
256
 
257
257
  virtual void UpdateDofTables() { ; }
258
258
  virtual void UpdateCouplingDofArray() { ; }
259
-
259
+ virtual void UpdateFreeDofs();
260
260
  /// update element coloring
261
261
  virtual void FinalizeUpdate();
262
262
 
@@ -640,7 +640,7 @@ ANY 1 1 1 1 | 15
640
640
  /// Set multigrid prolongation
641
641
  // void SetProlongation (ngmg::Prolongation * aprol)
642
642
  // { prol = aprol; }
643
- virtual void SetHarmonicProlongation (shared_ptr<BilinearForm> bfa);
643
+ virtual void SetHarmonicProlongation (shared_ptr<BilinearForm> bfa, string inverse);
644
644
 
645
645
  /// returns function-evaluator
646
646
  shared_ptr<DifferentialOperator> GetEvaluator (VorB vb = VOL) const
@@ -1109,6 +1109,7 @@ ANY 1 1 1 1 | 15
1109
1109
 
1110
1110
  /// copies dofcoupling from components
1111
1111
  void UpdateCouplingDofArray() override;
1112
+ virtual void UpdateFreeDofs() override;
1112
1113
 
1113
1114
  void SetDefinedOn (VorB vb, const BitArray& defon) override;
1114
1115
 
@@ -0,0 +1,25 @@
1
+ #ifndef INTRULES_HPP
2
+ #define INTRULES_HPP
3
+
4
+ #include <bla.hpp>
5
+
6
+ namespace ngsbem
7
+ {
8
+ using namespace ngbla;
9
+
10
+ // x, y in triangle [(0,0), (1,0), (0,1)]
11
+ tuple<Array<Vec<2>>, Array<Vec<2>>, Array<double>> IdenticPanelIntegrationRule (int order);
12
+
13
+
14
+ // x, y in triangle [(0,0), (1,0), (0,1)]
15
+ // x=(0,0) and y=(0,0) are common vertices
16
+ tuple<Array<Vec<2>>, Array<Vec<2>>, Array<double>> CommonVertexIntegrationRule (int order);
17
+
18
+
19
+ // x, y in triangle [(0,0), (1,0), (0,1)]
20
+ // x in [(0,0),(1,0)] and y in [(0,0),(1,0)] are common edges
21
+ tuple<Array<Vec<2>>, Array<Vec<2>>, Array<double>> CommonEdgeIntegrationRule (int order);
22
+
23
+ }
24
+
25
+ #endif
@@ -10,9 +10,16 @@
10
10
  #include <coefficient.hpp>
11
11
  #include <recursive_pol.hpp>
12
12
 
13
- namespace ngfem
13
+
14
+ namespace ngcomp
14
15
  {
16
+ class Region;
17
+ }
15
18
 
19
+ namespace ngsbem
20
+ {
21
+ using namespace ngfem;
22
+
16
23
 
17
24
  template <typename entry_type = Complex>
18
25
  class NGS_DLL_HEADER SphericalHarmonics
@@ -211,22 +218,53 @@ namespace ngfem
211
218
  class MPSingular
212
219
  {
213
220
  public:
221
+ /*
214
222
  template <typename T>
215
223
  static void Eval (int order, double r, double scale, T && values)
216
224
  {
217
225
  SphericalHankel1(order, r, scale, values);
218
226
  }
227
+ */
228
+
229
+ template <typename T>
230
+ static void Eval (int order, double kappa, double r, double rtyp, T && values)
231
+ {
232
+ double scale = Scale(kappa, rtyp);
233
+ SphericalHankel1(order, r*kappa, scale, values);
234
+ }
235
+
236
+ static double Scale (double kappa, double rtyp)
237
+ {
238
+ return min(1.0, rtyp*kappa);
239
+ }
219
240
  };
241
+
242
+
220
243
 
221
244
  // jn
222
245
  class MPRegular
223
246
  {
224
- public:
247
+ public:
248
+ /*
225
249
  template <typename T>
226
250
  static void Eval (int order, double r, double scale, T && values)
227
251
  {
228
252
  SphericalBessel (order, r, 1.0/scale, values);
229
253
  }
254
+ */
255
+
256
+ template <typename T>
257
+ static void Eval (int order, double kappa, double r, double rtyp, T && values)
258
+ {
259
+ double scale = Scale(kappa, rtyp);
260
+ SphericalBessel (order, r*kappa, 1.0/scale, values);
261
+ }
262
+
263
+ static double Scale (double kappa, double rtyp)
264
+ {
265
+ return 1.0/ min(1.0, 0.25*rtyp*kappa);
266
+ }
267
+
230
268
  };
231
269
 
232
270
 
@@ -237,22 +275,30 @@ namespace ngfem
237
275
  {
238
276
  SphericalHarmonics<entry_type> sh;
239
277
  double kappa;
240
- double scale;
278
+ double rtyp;
279
+ // double scale;
241
280
  public:
281
+ /*
242
282
  MultiPole (int aorder, double akappa, double ascale = 1)
243
283
  : sh(aorder), kappa(akappa), scale(ascale) { }
284
+ */
244
285
 
286
+ MultiPole (int aorder, double akappa, double artyp)
287
+ : sh(aorder), kappa(akappa), rtyp(artyp) { }
288
+
289
+
245
290
  entry_type & Coef(int n, int m) { return sh.Coef(n,m); }
246
291
  auto & SH() { return sh; }
247
292
  const auto & SH() const { return sh; }
248
293
  double Kappa() const { return kappa; }
249
- double Scale() const { return scale; }
294
+ double Scale() const { return RADIAL::Scale(kappa, rtyp); }
295
+ double RTyp() const { return rtyp; }
250
296
  int Order() const { return sh.Order(); }
251
297
 
252
298
  MultiPole Truncate(int neworder) const
253
299
  {
254
300
  if (neworder > sh.Order()) neworder=sh.Order();
255
- MultiPole nmp(neworder, kappa);
301
+ MultiPole nmp(neworder, kappa, rtyp);
256
302
  nmp.sh.Coefs() = sh.Coefs().Range(sqr(neworder+1));
257
303
  return nmp;
258
304
  }
@@ -271,15 +317,27 @@ namespace ngfem
271
317
  void AddDipole (Vec<3> x, Vec<3> d, entry_type c);
272
318
  void AddCurrent (Vec<3> ap, Vec<3> ep, Complex j, int num=100);
273
319
 
274
-
320
+ /*
275
321
  void ChangeScaleTo (double newscale)
276
322
  {
277
- double fac = scale/newscale;
323
+ double fac = Scale()/newscale;
278
324
  double prod = 1;
279
325
  for (int n = 0; n <= sh.Order(); n++, prod*= fac)
280
326
  sh.CoefsN(n) *= prod;
281
327
  scale = newscale;
282
328
  }
329
+ */
330
+ void ChangeRTypTo (double new_rtyp)
331
+ {
332
+ // double fac = Scale()/newscale;
333
+ double fac = RADIAL::Scale(kappa, rtyp) / RADIAL::Scale(kappa, new_rtyp);
334
+ double prod = 1;
335
+ for (int n = 0; n <= sh.Order(); n++, prod*= fac)
336
+ sh.CoefsN(n) *= prod;
337
+ // scale = newscale;
338
+ rtyp = new_rtyp;
339
+ }
340
+
283
341
 
284
342
  Vector<double> Spectrum (bool scaled) const
285
343
  {
@@ -288,7 +346,7 @@ namespace ngfem
288
346
  for (int n = 0; n <= Order(); n++)
289
347
  {
290
348
  spec(n) = fac * L2Norm2(sh.CoefsN(n));
291
- if (!scaled) fac *= sqr(scale);
349
+ if (!scaled) fac *= sqr(Scale());
292
350
  }
293
351
  return spec;
294
352
  }
@@ -570,7 +628,7 @@ namespace ngfem
570
628
 
571
629
  entry_type EvaluateDeriv(Vec<3> p, Vec<3> d) const
572
630
  {
573
- entry_type sum = 0;
631
+ entry_type sum{0.0};
574
632
  if (childs[0])
575
633
  {
576
634
  for (auto & child : childs)
@@ -625,7 +683,7 @@ namespace ngfem
625
683
  {
626
684
  if (charges.Size()+dipoles.Size()+currents.Size() == 0)
627
685
  {
628
- mp = MultiPole<MPSingular,entry_type> (-1, mp.Kappa());
686
+ mp = MultiPole<MPSingular,entry_type> (-1, mp.Kappa(), 1.);
629
687
  return;
630
688
  }
631
689
 
@@ -722,12 +780,12 @@ namespace ngfem
722
780
 
723
781
  double Kappa() const { return root.mp.Kappa(); }
724
782
 
725
- void AddCharge(Vec<3> x, Complex c)
783
+ void AddCharge(Vec<3> x, entry_type c)
726
784
  {
727
785
  root.AddCharge(x, c);
728
786
  }
729
787
 
730
- void AddDipole(Vec<3> x, Vec<3> d, Complex c)
788
+ void AddDipole(Vec<3> x, Vec<3> d, entry_type c)
731
789
  {
732
790
  root.AddDipole(x, d, c);
733
791
  }
@@ -756,7 +814,7 @@ namespace ngfem
756
814
  }
757
815
  */
758
816
  }
759
-
817
+
760
818
  void Print (ostream & ost) const
761
819
  {
762
820
  root.Print(ost);
@@ -940,7 +998,7 @@ namespace ngfem
940
998
  mp.TransformAdd (ch->mp, ch->center-center);
941
999
  ch->LocalizeExpansion(allow_refine);
942
1000
  }
943
- mp = MultiPole<MPRegular,elem_type>(-1, mp.Kappa());
1001
+ mp = MultiPole<MPRegular,elem_type>(-1, mp.Kappa(), 1.);
944
1002
  //mp.SH().Coefs()=0.0;
945
1003
  }
946
1004
  }
@@ -1064,7 +1122,7 @@ namespace ngfem
1064
1122
  }
1065
1123
 
1066
1124
  if (total_targets == 0)
1067
- mp = MultiPole<MPRegular>(-1, mp.Kappa());
1125
+ mp = MultiPole<MPRegular,elem_type>(-1, mp.Kappa(),1.);
1068
1126
  }
1069
1127
 
1070
1128
 
@@ -1226,6 +1284,9 @@ namespace ngfem
1226
1284
 
1227
1285
 
1228
1286
 
1287
+ template <typename entry_type> class RegularMLMultiPoleCF;
1288
+
1289
+
1229
1290
  template <typename RADIAL, typename entry_type=Complex>
1230
1291
  class MultiPoleCF : public CoefficientFunction
1231
1292
  {
@@ -1285,7 +1346,8 @@ namespace ngfem
1285
1346
 
1286
1347
  }
1287
1348
 
1288
- shared_ptr<SingularMLMultiPole<entry_type>> MLMP() { return mlmp; }
1349
+ shared_ptr<SingularMLMultiPole<entry_type>> MLMP() const { return mlmp; }
1350
+ shared_ptr<RegularMLMultiPoleCF<entry_type>> CreateRegularExpansion(Vec<3> center, double r) const;
1289
1351
  };
1290
1352
 
1291
1353
 
@@ -1296,6 +1358,8 @@ namespace ngfem
1296
1358
  public:
1297
1359
  RegularMLMultiPoleCF (shared_ptr<SingularMLMultiPoleCF<entry_type>> asingmp, Vec<3> center, double r, int order)
1298
1360
  : CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<RegularMLMultiPole<entry_type>>(asingmp->MLMP(), center, r, order)} { }
1361
+ RegularMLMultiPoleCF (shared_ptr<SingularMLMultiPole<entry_type>> asingmp, Vec<3> center, double r, int order)
1362
+ : CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<RegularMLMultiPole<entry_type>>(asingmp, center, r, order)} { }
1299
1363
 
1300
1364
  virtual double Evaluate (const BaseMappedIntegrationPoint & ip) const override
1301
1365
  { throw Exception("real eval not available"); }
@@ -0,0 +1,20 @@
1
+ #ifndef FILE_POTENTIALS
2
+ #define FILE_POTENTIALS
3
+
4
+ /*
5
+ tools for computing with potentials using multipoles
6
+ */
7
+
8
+
9
+ #include <mptools.hpp>
10
+ #include <meshaccess.hpp>
11
+
12
+
13
+ namespace ngsbem
14
+ {
15
+
16
+ extern void AddCurrentDensity (SingularMLMultiPole<Vec<3,Complex>> & mp, shared_ptr<CoefficientFunction> current, ngcomp::Region reg);
17
+
18
+ }
19
+
20
+ #endif
@@ -233,12 +233,14 @@ namespace ngmg
233
233
  class NGS_DLL_HEADER HarmonicProlongation : public Prolongation
234
234
  {
235
235
  shared_ptr<Prolongation> baseprol;
236
- shared_ptr<BilinearForm> bfa;
236
+ weak_ptr<BilinearForm> wbfa;
237
237
  Array<shared_ptr<BaseMatrix>> innerinverses;
238
- Array<size_t> edges_on_level;
238
+ Array<size_t> facets_on_level;
239
+ Array<shared_ptr<BitArray>> freedofs;
240
+ string inverse;
239
241
  public:
240
242
  HarmonicProlongation (shared_ptr<Prolongation> abaseprol,
241
- shared_ptr<BilinearForm> abfa);
243
+ shared_ptr<BilinearForm> abfa, string ainverse);
242
244
 
243
245
  virtual void Update (const FESpace & fes) override;
244
246
 
@@ -248,6 +250,127 @@ namespace ngmg
248
250
  virtual void ProlongateInline (int finelevel, BaseVector & v) const override;
249
251
  virtual void RestrictInline (int finelevel, BaseVector & v) const override;
250
252
  };
253
+
254
+
255
+
256
+
257
+
258
+ template <int DIM>
259
+ class FacetProlongation : public Prolongation
260
+ {
261
+ protected:
262
+ shared_ptr<MeshAccess> ma;
263
+
264
+ int dofs_per_facet = -1;
265
+ Array<Array<int>> first_dofs;
266
+ Array<int> prol_class; // which prol to use ?
267
+ Array<size_t> facets_on_level;
268
+
269
+ static constexpr int NUMPROL = (DIM==2) ? 2 : 32;
270
+ array<Matrix<double>,NUMPROL> facetprol;
271
+
272
+ bool haveprols = false;
273
+
274
+ public:
275
+ FacetProlongation (shared_ptr<MeshAccess> ama)
276
+ : ma(ama) { }
277
+
278
+
279
+ virtual shared_ptr<SparseMatrix< double >> CreateProlongationMatrix( int finelevel ) const override
280
+ {
281
+ return nullptr; // or NULL ?
282
+ }
283
+
284
+
285
+ virtual void ProlongateInline (int finelevel, BaseVector & v) const override
286
+ {
287
+ auto fv = v.FV<double>();
288
+ Matrix<double> tmp(facets_on_level[finelevel], dofs_per_facet);
289
+ tmp = 0.0;
290
+
291
+ for (size_t i = 0; i < first_dofs[finelevel-1].Size()-1; i++)
292
+ {
293
+ IntRange r(first_dofs[finelevel-1][i], first_dofs[finelevel-1][i+1]);
294
+ if (r.Size() > 0)
295
+ tmp.Row(i) = fv.Range(r);
296
+ }
297
+
298
+ if constexpr (DIM==2)
299
+ {
300
+ for (int i = facets_on_level[finelevel-1]; i < facets_on_level[finelevel]; i++)
301
+ if (auto parents = get<1>(ma->GetParentEdges(i)); parents[1] == -1)
302
+ {
303
+ int pe = parents[0];
304
+ tmp.Row(i) = facetprol[prol_class[i]] * tmp.Row(pe);
305
+ }
306
+ }
307
+ else
308
+ {
309
+ for (int i = facets_on_level[finelevel-1]; i < facets_on_level[finelevel]; i++)
310
+ if (auto parents = get<1>(ma->GetParentFaces(i)); parents[1] == -1)
311
+ {
312
+ int pe = parents[0];
313
+ tmp.Row(i) = facetprol[prol_class[i]] * tmp.Row(pe);
314
+ }
315
+ }
316
+
317
+ for (size_t i = 0; i < first_dofs[finelevel].Size()-1; i++)
318
+ {
319
+ IntRange r(first_dofs[finelevel][i], first_dofs[finelevel][i+1]);
320
+ if (r.Size() > 0)
321
+ fv.Range(r) = tmp.Row(i);
322
+ }
323
+ }
324
+
325
+ virtual void RestrictInline (int finelevel, BaseVector & v) const override
326
+ {
327
+ auto fv = v.FV<double>();
328
+ Matrix<double> tmp(facets_on_level[finelevel], dofs_per_facet);
329
+ tmp = 0.0;
330
+
331
+ for (size_t i = 0; i < first_dofs[finelevel].Size()-1; i++)
332
+ {
333
+ IntRange r(first_dofs[finelevel][i], first_dofs[finelevel][i+1]);
334
+ if (r.Size() > 0)
335
+ tmp.Row(i) = fv.Range(r);
336
+ }
337
+
338
+
339
+ if constexpr (DIM==2)
340
+ {
341
+ for (int i = facets_on_level[finelevel-1]; i < facets_on_level[finelevel]; i++)
342
+ if (auto parents = get<1>(ma->GetParentEdges(i)); parents[1] == -1)
343
+ {
344
+ int pe = parents[0];
345
+ tmp.Row(pe) += Trans(facetprol[prol_class[i]]) * tmp.Row(i);
346
+ }
347
+ }
348
+ else
349
+ {
350
+ // for (int i = facets_on_level[finelevel-1]; i < facets_on_level[finelevel]; i++)
351
+ for (int i = facets_on_level[finelevel]-1; i >= facets_on_level[finelevel-1]; i--)
352
+ if (auto parents = get<1>(ma->GetParentFaces(i)); parents[1] == -1)
353
+ {
354
+ int pe = parents[0];
355
+ tmp.Row(pe) += Trans(facetprol[prol_class[i]]) * tmp.Row(i);
356
+ tmp.Row(i) = 0.0; // optional, for testing
357
+ }
358
+ }
359
+
360
+ fv = 0.0;
361
+ for (size_t i = 0; i < first_dofs[finelevel-1].Size()-1; i++)
362
+ {
363
+ IntRange r(first_dofs[finelevel-1][i], first_dofs[finelevel-1][i+1]);
364
+ if (r.Size() > 0)
365
+ fv.Range(r) = tmp.Row(i);
366
+ }
367
+
368
+ }
369
+
370
+ };
371
+
372
+
373
+
251
374
  }
252
375
 
253
376
 
@@ -51,28 +51,94 @@ namespace ngla
51
51
  FlatArray<TM> val, size_t h, size_t w)
52
52
  {
53
53
  static Timer t("SparseMatrix::CreateFromCOO"); RegionTimer r(t);
54
- Array<int> cnt(h);
54
+ static Timer t1("SparseMatrix::CreateFromCOO 1");
55
+ static Timer t2("SparseMatrix::CreateFromCOO 2");
56
+ static Timer t3("SparseMatrix::CreateFromCOO 3");
55
57
 
56
58
  /*
57
- cnt = 0;
58
- for (auto i : indi) cnt[i]++;
59
- */
59
+ {
60
+ Array<int> cnt(h);
60
61
 
62
+ t1.Start();
61
63
  DynamicTable<int> tab(h);
62
64
  for (size_t i = 0; i < indi.Size(); i++)
63
65
  tab.AddUnique(indi[i], indj[i]);
66
+ t1.Stop();
64
67
  for (size_t i = 0; i < h; i++)
65
68
  cnt[i] = tab.EntrySize(i);
66
69
 
67
70
  auto matrix = make_shared<SparseMatrix<TM>> (cnt, w);
71
+ t2.Start();
68
72
  for (auto k : ngstd::Range(indi))
69
73
  matrix->CreatePosition(indi[k], indj[k]);
74
+ t2.Stop();
70
75
  matrix->SetZero();
71
76
 
77
+ t3.Start();
72
78
  for (auto k : ngstd::Range(indi))
73
79
  (*matrix)(indi[k], indj[k]) += val[k];
80
+ t3.Stop();
81
+ // return matrix;
82
+ }
83
+ */
84
+
85
+ Array<int> cnt(h);
86
+ cnt = 0;
87
+ for (auto i : indi)
88
+ cnt[i]++;
89
+
90
+ Table<int> tab(cnt);
91
+ cnt = 0;
92
+
93
+ for (auto [i,j] : Zip(indi, indj))
94
+ tab[i][cnt[i]++] = j;
95
+
96
+ cnt = 0;
97
+ // for (int i = 0; i < tab.Size(); i++)
98
+ ParallelFor (tab.Size(), [&] (size_t i)
99
+ {
100
+ QuickSort (tab[i]);
101
+
102
+ int prev = -1;
103
+ for (auto j : tab[i])
104
+ {
105
+ if (j != prev) cnt[i]++;
106
+ prev = j;
107
+ }
108
+ });
109
+
110
+ auto matrix = make_shared<SparseMatrix<TM>> (cnt, w);
111
+ t2.Start();
112
+ // for (auto k : ngstd::Range(indi))
113
+ // matrix->CreatePosition(indi[k], indj[k]);
74
114
 
75
- return matrix;
115
+ cnt = 0;
116
+ for (int i = 0; i < tab.Size(); i++)
117
+ {
118
+ int prev = -1;
119
+ for (auto j : tab[i])
120
+ {
121
+ auto cols = matrix->GetRowIndices(i);
122
+ if (j != prev)
123
+ cols[cnt[i]++] = j;
124
+ prev = j;
125
+ }
126
+ }
127
+
128
+ t2.Stop();
129
+ matrix->SetZero();
130
+
131
+ t3.Start();
132
+ /*
133
+ for (auto k : ngstd::Range(indi))
134
+ (*matrix)(indi[k], indj[k]) += val[k];
135
+ */
136
+ ParallelFor (indi.Size(), [&](size_t k)
137
+ {
138
+ AtomicAdd ( (*matrix)(indi[k], indj[k]), val[k]);
139
+ });
140
+ t3.Stop();
141
+ return matrix;
76
142
  }
77
143
 
78
144
 
@@ -16,34 +16,22 @@ namespace ngcomp
16
16
  class NGS_DLL_HEADER TangentialFacetFESpace : public FESpace
17
17
  {
18
18
  protected:
19
- /// Level
20
- // int level;
21
- /// Number of Facets
22
- // int nfacets;
23
- ///
24
- // int ncfacets;
25
- ///
26
- // int nel;
27
-
28
19
  Array<int> first_facet_dof;
29
20
  Array<int> first_inner_dof; // for highest_order_dc
30
- // int ndof_lo;
31
21
 
32
22
  int rel_order;
33
23
 
34
24
  Array<IVec<2> > order_facet;
35
25
  Array<bool> fine_facet;
36
26
 
37
- // int ndof;
38
- // Array<int> ndlevel;
39
27
  bool var_order;
40
28
  bool print;
41
29
 
42
30
  bool highest_order_dc;
43
31
  bool hide_highest_order_dc;
32
+ bool all_dofs_together;
44
33
 
45
34
  public:
46
- ///
47
35
  TangentialFacetFESpace (shared_ptr<MeshAccess> ama, const Flags & flags,
48
36
  bool parseflags = false );
49
37
 
@@ -61,20 +49,11 @@ namespace ngcomp
61
49
  virtual void SetOrder (NodeId ni, int order) override;
62
50
  virtual int GetOrder (NodeId ni) const override;
63
51
 
64
-
65
- // virtual size_t GetNDof() const throw() override { return ndof; }
66
- // virtual size_t GetNDofLevel ( int i ) const override { return ndlevel[i]; }
67
-
68
52
  virtual FlatArray<VorB> GetDualShapeNodes (VorB vb) const override;
69
53
 
70
- // virtual int GetNDofLowOrder () const
71
- // { return ndof_lo; }
72
54
 
73
55
  virtual FiniteElement & GetFE(ElementId ei, Allocator & lh) const override;
74
56
 
75
- // virtual const FiniteElement & GetFE ( int elnr, LocalHeap & lh ) const;
76
- // virtual const FiniteElement & GetSFE ( int selnr, LocalHeap & lh ) const;
77
-
78
57
  virtual void GetFacetDofNrs (int felnr, Array<DofId> & dnums) const;
79
58
 
80
59
  virtual int GetNFacetDofs (int felnr) const;
@@ -90,6 +69,12 @@ namespace ngcomp
90
69
  virtual IVec<2> GetFacetOrder(int fnr) const;
91
70
 
92
71
  virtual int GetFirstFacetDof(int fanr) const;
72
+ const auto & GetFirstFacetDof() const { return first_facet_dof; }
73
+
74
+ IntRange GetFacetDofs (int nr) const
75
+ {
76
+ return IntRange (first_facet_dof[nr], first_facet_dof[nr+1]);
77
+ }
93
78
 
94
79
  virtual bool UsesHighestOrderDiscontinuous() const {return highest_order_dc;};
95
80
 
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 ADDED
Binary file
netgen/libngsolve.dylib CHANGED
Binary file
netgen/libngstd.dylib CHANGED
Binary file
@@ -1,4 +1,4 @@
1
- set(PACKAGE_VERSION "6.2.2502")
1
+ set(PACKAGE_VERSION "6.2.2503")
2
2
  find_package(Netgen CONFIG REQUIRED HINTS
3
3
  ${CMAKE_CURRENT_LIST_DIR}
4
4
  ${CMAKE_CURRENT_LIST_DIR}/..
@@ -23,15 +23,15 @@ set(NGSOLVE_PYBIND_INCLUDE_DIR "")
23
23
  set(NGSOLVE_PYTHON_INCLUDE_DIRS "/Library/Frameworks/Python.framework/Versions/3.11/include/python3.11")
24
24
  set(NGSOLVE_PYTHON_LIBRARIES "/Library/Frameworks/Python.framework/Versions/3.11/lib/libpython3.11.dylib")
25
25
  set(NGSOLVE_PYTHON_PACKAGES_INSTALL_DIR "")
26
- set(NGSOLVE_TCL_INCLUDE_PATH "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/macosx-10.15-universal2-3.11/cmake-build/dependencies/src/project_tcl/generic")
26
+ set(NGSOLVE_TCL_INCLUDE_PATH "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/netgen/_skbuild/macosx-10.15-universal2-3.11/cmake-build/dependencies/src/project_tcl/generic")
27
27
  set(NGSOLVE_TCL_LIBRARY "/Library/Frameworks/Python.framework/Versions/3.11/lib/libtclstub8.6.a")
28
28
  set(NGSOLVE_TK_DND_LIBRARY "")
29
- set(NGSOLVE_TK_INCLUDE_PATH "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/macosx-10.15-universal2-3.11/cmake-build/dependencies/src/project_tk/generic")
29
+ set(NGSOLVE_TK_INCLUDE_PATH "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/netgen/_skbuild/macosx-10.15-universal2-3.11/cmake-build/dependencies/src/project_tk/generic")
30
30
  set(NGSOLVE_TK_LIBRARY "/Library/Frameworks/Python.framework/Versions/3.11/lib/libtkstub8.6.a")
31
31
  set(NGSOLVE_X11_X11_LIB "")
32
32
  set(NGSOLVE_X11_Xmu_LIB "")
33
- set(NGSOLVE_ZLIB_INCLUDE_DIRS "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/macosx-10.15-universal2-3.11/cmake-build/dependencies/zlib/include")
34
- set(NGSOLVE_ZLIB_LIBRARIES "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/macosx-10.15-universal2-3.11/cmake-build/dependencies/zlib/lib/libz.a")
33
+ set(NGSOLVE_ZLIB_INCLUDE_DIRS "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/netgen/_skbuild/macosx-10.15-universal2-3.11/cmake-build/dependencies/zlib/include")
34
+ set(NGSOLVE_ZLIB_LIBRARIES "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/netgen/_skbuild/macosx-10.15-universal2-3.11/cmake-build/dependencies/zlib/lib/libz.a")
35
35
 
36
36
  set(NGSOLVE_INTEL_MIC OFF)
37
37
  set(NGSOLVE_USE_CCACHE ON)
@@ -45,6 +45,16 @@ set_target_properties(ngfem PROPERTIES
45
45
  list(APPEND _cmake_import_check_targets ngfem )
46
46
  list(APPEND _cmake_import_check_files_for_ngfem "${_IMPORT_PREFIX}/netgen/libngfem.dylib" )
47
47
 
48
+ # Import target "ngsbem" for configuration "Release"
49
+ set_property(TARGET ngsbem APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
50
+ set_target_properties(ngsbem PROPERTIES
51
+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/netgen/libngsbem.dylib"
52
+ IMPORTED_SONAME_RELEASE "@rpath/libngsbem.dylib"
53
+ )
54
+
55
+ list(APPEND _cmake_import_check_targets ngsbem )
56
+ list(APPEND _cmake_import_check_files_for_ngsbem "${_IMPORT_PREFIX}/netgen/libngsbem.dylib" )
57
+
48
58
  # Import target "ngcomp" for configuration "Release"
49
59
  set_property(TARGET ngcomp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
50
60
  set_target_properties(ngcomp PROPERTIES
@@ -19,7 +19,7 @@ set(CMAKE_IMPORT_FILE_VERSION 1)
19
19
  set(_cmake_targets_defined "")
20
20
  set(_cmake_targets_not_defined "")
21
21
  set(_cmake_expected_targets "")
22
- foreach(_cmake_expected_target IN ITEMS netgen_libs ngs_lapack netgen_python ngstd ngbla ngla ngfem ngcomp ngsolve)
22
+ foreach(_cmake_expected_target IN ITEMS netgen_libs ngs_lapack netgen_python ngstd ngbla ngla ngfem ngsbem ngcomp ngsolve)
23
23
  list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
24
24
  if(TARGET "${_cmake_expected_target}")
25
25
  list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
@@ -105,6 +105,13 @@ set_target_properties(ngfem PROPERTIES
105
105
  INTERFACE_LINK_LIBRARIES "ngbla;ngstd"
106
106
  )
107
107
 
108
+ # Create imported target ngsbem
109
+ add_library(ngsbem SHARED IMPORTED)
110
+
111
+ set_target_properties(ngsbem PROPERTIES
112
+ INTERFACE_LINK_LIBRARIES "ngcomp;ngfem;ngla;ngbla;ngstd"
113
+ )
114
+
108
115
  # Create imported target ngcomp
109
116
  add_library(ngcomp SHARED IMPORTED)
110
117
 
@@ -116,7 +123,7 @@ set_target_properties(ngcomp PROPERTIES
116
123
  add_library(ngsolve SHARED IMPORTED)
117
124
 
118
125
  set_target_properties(ngsolve PROPERTIES
119
- INTERFACE_LINK_LIBRARIES "netgen_libs;ngsolve;ngcomp;ngfem;ngbla;ngla;ngstd"
126
+ INTERFACE_LINK_LIBRARIES "netgen_libs;ngsolve;ngcomp;ngfem;ngsbem;ngbla;ngla;ngstd"
120
127
  )
121
128
 
122
129
  if(CMAKE_VERSION VERSION_LESS 3.0.0)
ngsolve/config/config.py CHANGED
@@ -29,15 +29,15 @@ NGSOLVE_INSTALL_DIR_INCLUDE = "netgen/include"
29
29
  NGSOLVE_INSTALL_DIR_CMAKE = "ngsolve/cmake"
30
30
  NGSOLVE_INSTALL_DIR_RES = "share"
31
31
 
32
- NGSOLVE_VERSION = "6.2.2502"
33
- NGSOLVE_VERSION_GIT = "v6.2.2502-0-g984bf8ae2"
34
- NGSOLVE_VERSION_PYTHON = "6.2.2502"
32
+ NGSOLVE_VERSION = "6.2.2503"
33
+ NGSOLVE_VERSION_GIT = "v6.2.2503-0-ga44fe5348"
34
+ NGSOLVE_VERSION_PYTHON = "6.2.2503"
35
35
 
36
36
  NGSOLVE_VERSION_MAJOR = "6"
37
37
  NGSOLVE_VERSION_MINOR = "2"
38
38
  NGSOLVE_VERSION_TWEAK = "0"
39
- NGSOLVE_VERSION_PATCH = "2502"
40
- NGSOLVE_VERSION_HASH = "g984bf8ae2"
39
+ NGSOLVE_VERSION_PATCH = "2503"
40
+ NGSOLVE_VERSION_HASH = "ga44fe5348"
41
41
 
42
42
  CMAKE_CXX_COMPILER = "/Library/Developer/CommandLineTools/usr/bin/c++"
43
43
  CMAKE_CUDA_COMPILER = ""
ngsolve/ngslib.so CHANGED
Binary file
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ngsolve
3
- Version: 6.2.2502
3
+ Version: 6.2.2503
4
4
  Summary: NGSolve
5
5
  Author: The NGSolve team
6
6
  License: LGPL2.1
7
7
  License-File: LICENSE
8
- Requires-Dist: netgen-mesher (==6.2.2501.post54.dev0)
8
+ Requires-Dist: netgen-mesher (==6.2.2503)
9
9
 
@@ -1,9 +1,10 @@
1
- netgen/libngbla.dylib,sha256=CrxlIUk9e_7dneFTQGP6XJfxK5TT8HqXsP1m2zfZZ1Q,5196096
2
- netgen/libngcomp.dylib,sha256=XCzmM7OdndpmoOMC_RcGZhIDuo0JrV_tmqCYiDu4GjA,43270576
3
- netgen/libngfem.dylib,sha256=TlIn88kNz1UMOuLt6cRGjXLsAxidI0Ikxs3qtz9Pli8,51915376
4
- netgen/libngla.dylib,sha256=NvZMOew6yINEwEP55hUrnpDY_hLGbQFmkkGUI5NkYGg,24876272
5
- netgen/libngsolve.dylib,sha256=8ZBuylT4yPw9BZqIsNSVDHDXaPBJy8wvsbZrNDgVIv0,939280
6
- netgen/libngstd.dylib,sha256=GigHUuHSGQJClu5EYT5yjYVOALt4JgSK6iNF7kV3jmY,922576
1
+ netgen/libngbla.dylib,sha256=WSxw9kSWZTqjZ5L-b_28SmT8FuhxDzoB96AKjD3JdFI,5196096
2
+ netgen/libngcomp.dylib,sha256=yg-9CQyQFT6WllF8fHT26iN31mNguKbdLXiWhl8s8Xo,42690144
3
+ netgen/libngfem.dylib,sha256=FCKPbeyY0aB85Fy403JpFhwRj8H2hrJRXHwmrPWmdNo,51445120
4
+ netgen/libngla.dylib,sha256=VbMB_D0kox6F2IQN7clJPOeGdBSBzxJ6GG9llL3WRg8,25355264
5
+ netgen/libngsbem.dylib,sha256=RbELvA_heup0b4SUrHmJTrYXGMLUB2MyLEksOkskBi0,4699920
6
+ netgen/libngsolve.dylib,sha256=psqhjQiUhRJnkwWm0nX1ufoyPoPM4pxOkPPq4ceGHfk,939280
7
+ netgen/libngstd.dylib,sha256=PzFDTjOo6ypTztO60mvB7f_5KaRVlnr9AiL3whMFwkU,922576
7
8
  netgen/include/arnoldi.hpp,sha256=b8mRu9wGyaLa7z6mXCFIhxfW_xcQvsOMD6TqbfYZ05g,1437
8
9
  netgen/include/bandmatrix.hpp,sha256=zwKz89QY53MPsWgNsl0cXEAFKka_W4sXPIO54M3eT80,7778
9
10
  netgen/include/basematrix.hpp,sha256=6YGW07HMH7F2JWXUKOwlGZ2ZvEoP7uCSGihdrzzKPag,28634
@@ -53,7 +54,7 @@ netgen/include/facetsurffespace.hpp,sha256=3FTy--cwUqVFZqF9MAaK78aRSIHWQUgOvSjPr
53
54
  netgen/include/fe_interfaces.hpp,sha256=gWxTH8E-g3RgDfLG7kkggKUIBC_zWefOaJPpYFBiiDI,822
54
55
  netgen/include/fem.hpp,sha256=xXxfiwpi3EW3jJZtWE9WxRJm9htSaivfKhCbD2_ToBo,2094
55
56
  netgen/include/fesconvert.hpp,sha256=WL-icGOUDl2edBG6QoI1MCohKibLqPVFuaTzyAenIb0,560
56
- netgen/include/fespace.hpp,sha256=U7MFlS7vdNpqrveigBrW3ruqK7_1rL02rfvEhYUZhU0,46962
57
+ netgen/include/fespace.hpp,sha256=tRyAbXR5q3-X-gYt-Sgy46ZiSA3n3bBJeQBCoR-x-1I,47056
57
58
  netgen/include/finiteelement.hpp,sha256=yGHVHO5GJqHCnEcvyNwtXZHFRhebVTdaBfM96jlIppg,9145
58
59
  netgen/include/globalinterfacespace.hpp,sha256=JMRw_B8kfWRAlhZglT0IH9fFvcQbHZgF1T0tnIuszsM,2719
59
60
  netgen/include/globalspace.hpp,sha256=Hjzmz9zaUuKVSkduBYVr6zbRHV503wK2vdFL6Vxr_fY,3964
@@ -97,6 +98,7 @@ netgen/include/integrator.hpp,sha256=XWrxwQUnqV2LHc48Yt6KfzZ7BN2_3xnnYM1sAMABG0E
97
98
  netgen/include/integratorcf.hpp,sha256=2we_yBJ3VfNxeJktLM5_33omlI7FXb7MJfyWpDRocCA,7866
98
99
  netgen/include/interpolate.hpp,sha256=hhLTubF95erlQ-3iCgSqRVqbCDUeE3f2zBWqIKHPQtI,1640
99
100
  netgen/include/intrule.hpp,sha256=_9a5im2qNmF6dLOSCrp8JMz6M_5GoSG2MCRhegkA1O4,80820
101
+ netgen/include/intrules_SauterSchwab.hpp,sha256=1HiSgmdJHNoCp1ZYY7gNFPHdanepbGtay2YJrTaYHBg,650
100
102
  netgen/include/irspace.hpp,sha256=DcpkPMFKx5nDvfLfTWKmpYuLX-X5rBuWF8Ta9e__m-A,1508
101
103
  netgen/include/jacobi.hpp,sha256=pIrx5vu5H0sLUiarGpu2s2__6qEWFcB7xU1ezdKSW5U,4086
102
104
  netgen/include/l2hofe.hpp,sha256=Qjg5jtkhx8cE1gUdoKslhKTqlUg9qbAbL8g4NTMCW2s,6650
@@ -109,7 +111,7 @@ netgen/include/matrix.hpp,sha256=6Tg9xvyHWRmzrmK_pa15fE_V77y9pof3z78GnyzXmRE,557
109
111
  netgen/include/memusage.hpp,sha256=H-8rWQ8UQDCnOiYQnbwvILPuPoJD8bqwiNGB2QAUa0o,1168
110
112
  netgen/include/meshaccess.hpp,sha256=7K6OgV987dOd-LRlJ5MGLeIjA6VSnfeE3I-hQximURU,47061
111
113
  netgen/include/mgpre.hpp,sha256=zdNozWRSyluOF8E4GLeOR290Yw2wqGYGc1sTTSB5n3U,4825
112
- netgen/include/mptools.hpp,sha256=Nn_hGWyyhWMDPNk9jEu-XpxlXQ6YtQHvT3KU90YZ7SQ,37057
114
+ netgen/include/mptools.hpp,sha256=8ibWZLw-vWjpbPENqbVEKSC__Rg7ywN8AMZPLmmj0es,38838
113
115
  netgen/include/multigrid.hpp,sha256=ovl1GXcTfXuYLVVMcFfCKP5sg6diSGlqdjCMMPCgFUo,856
114
116
  netgen/include/multivector.hpp,sha256=nuLxMiq2y6HoH5w9j6ka2BhJjRyREPeEnNFx_x0SMU0,12635
115
117
  netgen/include/mumpsinverse.hpp,sha256=Jaa5NPQzwPo2kSbHijI_LX3tr0qUmVhqVlRM14KeD18,4062
@@ -138,9 +140,10 @@ netgen/include/plateaufespace.hpp,sha256=H031F3WCIJNHx8HVmfUZJM7D46D9sWtV7pn5OIR
138
140
  netgen/include/pml.hpp,sha256=GM19mHCmme07y32MV80D2xULzPrZPG6u45ORn4W-uYU,7284
139
141
  netgen/include/pmltrafo.hpp,sha256=SrlOgJ4qmBST4uIjtl4VatEw5dsGrL1-7xSrXnuAPAg,19606
140
142
  netgen/include/postproc.hpp,sha256=kaMQUfm_kd5Q4E0C5NaXPv3XyZncgOjwnZrvNJIP39A,5192
143
+ netgen/include/potentialtools.hpp,sha256=SFOWcEpbecioRbUFTZA6PbyQsMLAzG2zT9VNc-wRiW0,335
141
144
  netgen/include/precomp.hpp,sha256=R-xo8gpTBNlyaQ-vj12q-VZoGZMox0FM5IWF22zWmMA,1277
142
145
  netgen/include/preconditioner.hpp,sha256=AAU4RjzjJDslSWoomyid1MIpWqBq1uwr7XWPmn3jrGQ,14028
143
- netgen/include/prolongation.hpp,sha256=sLxm8xVtfKmfsKr96UJzT8WJ3XQgzLeIIECBp5W5qGY,7214
146
+ netgen/include/prolongation.hpp,sha256=_VUX2vzhcXOGPM1HnRBXkTKrNyXew72VWRnAnvFitF4,10927
144
147
  netgen/include/python_comp.hpp,sha256=IVR8USVPy6hf1ZksUCUjvXcK7lcnyTpqzteR8a6Sblw,3464
145
148
  netgen/include/python_fem.hpp,sha256=9-GoQrCprOReAgK9-v_X3NwGWJ229vmGjtwGI9td5GA,3072
146
149
  netgen/include/python_linalg.hpp,sha256=JBDn31Fq7yaOsMgtXQFJfrOd46A12XXpTWF8lPV3btQ,1703
@@ -158,7 +161,7 @@ netgen/include/solve.hpp,sha256=OZQfkg6HN20eudQ4kkRSecr-miwV35NPEjAtoMcunG4,2034
158
161
  netgen/include/sparsecholesky.hpp,sha256=2HKM6aKO02YX32jxGna6CAjBBfeXvCsmPk4hoWZWIQk,8888
159
162
  netgen/include/sparsematrix.hpp,sha256=7YN50okcY5Lxipc43njHPKzzKZ_gLtMhwQB_Jsj99rE,32706
160
163
  netgen/include/sparsematrix_dyn.hpp,sha256=T6J3fGx_qgeA56ctmGUi6b4NdwrdCOxKlzg5rKv5VjU,2701
161
- netgen/include/sparsematrix_impl.hpp,sha256=BwgxyJOFITQRhYQ_mW6wh5HyPXLKO2N1EydPrqpIj7o,27812
164
+ netgen/include/sparsematrix_impl.hpp,sha256=9ZmRhU01llR3useALAIqXcrbTwsiHadptDtcRbS_vIM,29275
162
165
  netgen/include/special_matrix.hpp,sha256=OXRXgjPY0-VrNqcn14_mDTZ03NgMLrU5Ttdiyd_VIwc,16443
163
166
  netgen/include/specialelement.hpp,sha256=iiQaIE-cHbwGX014jET8k-rfb8k1GT6Gs_vsMIBWaOA,3226
164
167
  netgen/include/statushandler.hpp,sha256=Lh0Cevr7xnEoFW4QhTlNzEq9brpneGGmjAbv9o1kotY,646
@@ -167,7 +170,7 @@ netgen/include/superluinverse.hpp,sha256=FDSnHdTbVFDsFPF6B56IZJPDQKZx4fp2OubRQjE
167
170
  netgen/include/symbolicintegrator.hpp,sha256=7bk-m6p8KVEo9wi6zRBCjhq7iDnEsDuWj-qF4Q6W6rI,36019
168
171
  netgen/include/symmetricmatrix.hpp,sha256=YNzHHV9TWt3O-f1l6VAcFeml-KwIUQgMXcBco_Dt0MY,2810
169
172
  netgen/include/tangentialfacetfe.hpp,sha256=qCh6qYnPd_5PEYdEiLmx6-VrIPMJMBaR1UZ44EVk6IM,7267
170
- netgen/include/tangentialfacetfespace.hpp,sha256=B0xCNiZKTc16-3eHqbyi0ahQAtyGDoEPn1Gm6mHjOkA,3092
173
+ netgen/include/tangentialfacetfespace.hpp,sha256=iwgRIYZhrPdsgUBdheL3XfLOf-VO710a8lC3Unf_WaA,2717
171
174
  netgen/include/tensor.hpp,sha256=KamSIrz84lS67oahraDusQNjGJWpDGfOAUkSy0ymhbk,12013
172
175
  netgen/include/tensorcoefficient.hpp,sha256=FXb0umIxQT5lQ5D-qtYddh8E1OtpIn2pVZaf_I7qWAU,17076
173
176
  netgen/include/tensorproductintegrator.hpp,sha256=ZtcEnhvibtXK20dmfntzk0xKFdwazP5emZKdZYmX-II,4530
@@ -200,7 +203,7 @@ ngsolve/krylovspace.py,sha256=wBSsE4-lmBnJsiNU1BYBKjfYgFAcqR1Ioe84DMwIjIM,31863
200
203
  ngsolve/meshes.py,sha256=fxxtbxkfKuO2nUkXUiYwAwBAVxr9gkdnyIbZX3VpITQ,26786
201
204
  ngsolve/ngs2petsc.py,sha256=6978Z7Na6eMOZ5NTEZx0ZVflyX6Kyy4gPQT_9RYuNss,12499
202
205
  ngsolve/ngscxx.py,sha256=q3t5DgE3sJazWueas8FTXJ9jZM-LVa9KbGj_RTam6V4,1293
203
- ngsolve/ngslib.so,sha256=xLfl4litOFuFl0I23FCPs2zJl-_NixVfBJXVG6zBClk,336648
206
+ ngsolve/ngslib.so,sha256=IM3vb9hsk0R_cGRfu_WUcwrbvOAiqDZi_iaWE5RaV5Q,336760
204
207
  ngsolve/nonlinearsolvers.py,sha256=8Q_CrD9vjdpZRV9sj2Fth7Y_kJJl7djPgarQmTK7Xfw,8216
205
208
  ngsolve/preconditioners.py,sha256=WSr3vnxskLHgnlwFVYpSyWJFpvrDUK6_30tATiBB5V8,208
206
209
  ngsolve/solvers.py,sha256=WgZ9X1x9mtQegXDu8VcTjP-wbS2EnrUS96Y8LXqeflw,304
@@ -208,12 +211,12 @@ ngsolve/timestepping.py,sha256=SLbsgE5pY5tXYTLGlVypk4kS2Ui8GxOwWmKVxqneZRU,8350
208
211
  ngsolve/timing.py,sha256=Xqkq2byJjNNK9vJjHG2O3cMf6xuKIyySjk8yv6Le2T8,3985
209
212
  ngsolve/utils.py,sha256=V2yVF4K3uv1007-DEs_GrzJ3BOOh09c4lDGGR1Xw-PU,4557
210
213
  ngsolve/webgui.py,sha256=Oz6RN1_xQ8d6oMIx-KYIRDnBmlJIgwluCtZZjUOHtCs,24233
211
- ngsolve/cmake/NGSolveConfig.cmake,sha256=39vEVVV4RWKSwfvcZMI0RGNc4D1RVrCbauNKOgwtOZ8,5172
212
- ngsolve/cmake/ngsolve-targets-release.cmake,sha256=nMntuQpzqLTlVDB6b6P-ImLBZfFa4USlrHMz_TpGMCY,2986
213
- ngsolve/cmake/ngsolve-targets.cmake,sha256=bqGmtFDdmt9s-9zX9ZxhbVSSuO32jR7kYacE7TdKUf8,5706
214
+ ngsolve/cmake/NGSolveConfig.cmake,sha256=Xu8Dkuo0XtE9ULA1oUw0slTqZ9bgCfzw3B4Dc3utju8,5052
215
+ ngsolve/cmake/ngsolve-targets-release.cmake,sha256=2dUHzaaMQX08eT7Tjti0crzp_Ah3oqW86gp5UgSufmw,3426
216
+ ngsolve/cmake/ngsolve-targets.cmake,sha256=HYFYEdnKC4wai1D4NNDXr6dWAgVtxYWjGf_EKamw3Q8,5891
214
217
  ngsolve/config/__init__.py,sha256=A00lpnUKg-q3y_b-cN3jKF9urkGTGjb2Yz_gGc9WCLs,22
215
218
  ngsolve/config/__main__.py,sha256=m8k2RrXnXR5oYaUna1dwkKNhOZBiM7EyFSE9kIcZKvo,89
216
- ngsolve/config/config.py,sha256=0W23eYy4ZpPFt1daij3MDHU46Yli73HHTVko3iKXy2s,2439
219
+ ngsolve/config/config.py,sha256=TD490IavBRAv_3GS1h_3qNzuQXmYFvgxTlTAy4x25Nc,2439
217
220
  ngsolve/demos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
218
221
  ngsolve/demos/TensorProduct/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
219
222
  ngsolve/demos/TensorProduct/tp_dg_1d_1d.py,sha256=CrJCkbJNinVYUL3DO-4DnCAMGSAhegNc0QVWiJTk3Js,2109
@@ -245,41 +248,41 @@ ngsolve/demos/mpi/mpi_cmagnet.py,sha256=HuN4lttA2q2kNWss6LZNUKraHqskRQNVEBRjkrU2
245
248
  ngsolve/demos/mpi/mpi_navierstokes.py,sha256=Sct0G6EziYVfeIeSa7_b6r3WiYXcxZekoOGsZQALx-c,2911
246
249
  ngsolve/demos/mpi/mpi_poisson.py,sha256=UvXODjpWtqIgqq7lvMJf3ZEoJZLY1Dck-82R7auiW6I,2468
247
250
  ngsolve/demos/mpi/mpi_timeDG.py,sha256=TPJZ-DwmzOpuAol-fFKeU-R2rJ74MbjOm3DDkQI9BcY,1881
248
- ngsolve-6.2.2502.data/data/Netgen.icns,sha256=Ebqct4LKxLzxdJLwGg0tTUQb1VjLwkKhtmdYhpRhKjg,291475
249
- ngsolve-6.2.2502.data/data/bin/ngscxx,sha256=TDWPvQxbPYsPFhbPU6RlApEuxCoOOzwj3J80VKMMyp8,1755
250
- ngsolve-6.2.2502.data/data/bin/ngsld,sha256=50UErkFWLTocn8GtZDTkUWmPTIqsoK5lcfBGwyP0Vnc,557
251
- ngsolve-6.2.2502.data/data/bin/ngsolve.tcl,sha256=SSBYLyp4zgl6eM17LXIiLoj1Doy-h2s4EZg6oKi6ucA,20995
252
- ngsolve-6.2.2502.data/data/bin/ngspy,sha256=OvTnzkYgC9G3IK42QJpjmXkV7Q_Arig43STSfPDsDD4,103
253
- ngsolve-6.2.2502.data/data/share/ngsolve/beam.geo,sha256=EtxklGAIo6SxZlHHC_FZHoQGZqZUDGJQSheEMFO-bJ8,387
254
- ngsolve-6.2.2502.data/data/share/ngsolve/beam.vol,sha256=aotG4VA7sIgAsPQsYkzbMP1Jta_TddG2gMCblkSPkqc,13594
255
- ngsolve-6.2.2502.data/data/share/ngsolve/chip.in2d,sha256=g6C-mcoD8-q9JtZpuh4mf4iFEZUIGvvivp4C5YYMlAw,551
256
- ngsolve-6.2.2502.data/data/share/ngsolve/chip.vol,sha256=if0yLn8E3P4mZ_X5sBcrEIp2C4ZhMysGROtB1YCkJHI,27897
257
- ngsolve-6.2.2502.data/data/share/ngsolve/coil.geo,sha256=PVD4I9ztZowKwNOUrjnoOP7Tj2KG9J0UCJFRS9EhlxU,364
258
- ngsolve-6.2.2502.data/data/share/ngsolve/coil.vol,sha256=IOZe4oPxMUa9vBGJWN4LG9M79XAruY23S2rtAh_2_98,144724
259
- ngsolve-6.2.2502.data/data/share/ngsolve/coilshield.geo,sha256=lCUDCAhfowBttSGEY_giyY0xEFInAbgVfIPwSWBb504,605
260
- ngsolve-6.2.2502.data/data/share/ngsolve/coilshield.vol,sha256=2Dq5VCX7dqGxo_ExtUhI716I-SnxhLGPawW29IR9nYY,162397
261
- ngsolve-6.2.2502.data/data/share/ngsolve/cube.geo,sha256=kbBNVUYVSf1ogV7-Xf31KXju3LCUIPaDLfvwZHMgddI,386
262
- ngsolve-6.2.2502.data/data/share/ngsolve/cube.vol,sha256=54108a3RvrTUOJSFltxUY8iiNzyWoBTtNrWM0kufj7c,90295
263
- ngsolve-6.2.2502.data/data/share/ngsolve/d10_DGdoubleglazing.pde,sha256=bPQAvbYlyvCfLzk9cOzjXDn94UFC_vBCONl7fEIaMVs,1304
264
- ngsolve-6.2.2502.data/data/share/ngsolve/d11_chip_nitsche.pde,sha256=Mq3Ap63mWqjQyXsASFAlkRQ0AWxBlY3BYYejTYd-lwg,1101
265
- ngsolve-6.2.2502.data/data/share/ngsolve/d1_square.pde,sha256=ysOroxhoAOePmB_Aswps9iGjA2qV5435iu3hOnSvN8M,1029
266
- ngsolve-6.2.2502.data/data/share/ngsolve/d2_chip.pde,sha256=AowiGbuAWEdyFUB3d1LlZeQ7rarbkqIYsj1QcWc89-A,950
267
- ngsolve-6.2.2502.data/data/share/ngsolve/d3_helmholtz.pde,sha256=nG0HxrxboI2qGoR5_LNZt7RYB7ji2o5jtkyIqTFR4y8,568
268
- ngsolve-6.2.2502.data/data/share/ngsolve/d4_cube.pde,sha256=-C4RgoVtBXZu7XHCwZy7F7pr_PGNGcRwWCFzBppq1mQ,1033
269
- ngsolve-6.2.2502.data/data/share/ngsolve/d5_beam.pde,sha256=QOYC7YN7LdcjSFeLdJu1Tlfi-lmsVsa7b9G6qoCsGo8,1985
270
- ngsolve-6.2.2502.data/data/share/ngsolve/d6_shaft.pde,sha256=Iua3INfuIUeaBk21qNg4u5KZt__H1B8BZUsy5frjhdY,1901
271
- ngsolve-6.2.2502.data/data/share/ngsolve/d7_coil.pde,sha256=-ELH2obynMJcvSOqoYT1OThXcllIcdss0ZrklLSimZw,1200
272
- ngsolve-6.2.2502.data/data/share/ngsolve/d8_coilshield.pde,sha256=WUUulvd3dsedB25sFVQgU7FgZ3B7BkbxgkXTEBglk1w,1141
273
- ngsolve-6.2.2502.data/data/share/ngsolve/d9_hybridDG.pde,sha256=drLxnz1GvCEeme-FV772cGbS-YTgeUB4G5DrbkLdapw,1479
274
- ngsolve-6.2.2502.data/data/share/ngsolve/doubleglazing.in2d,sha256=bKn7m7eCcoLimGgoO3nxhiu7Mm0lIRnbx0TJh5dC1I0,506
275
- ngsolve-6.2.2502.data/data/share/ngsolve/doubleglazing.vol,sha256=Eg-H6nl2Hd5Nr593SFCCLVTDl25kIXuddrWpd7xlrP8,34987
276
- ngsolve-6.2.2502.data/data/share/ngsolve/piezo2d40round4.vol.gz,sha256=RuxM0vtYljoAImOH6U6avt0LmWaUbGNao37n8p_Yd1w,496477
277
- ngsolve-6.2.2502.data/data/share/ngsolve/shaft.geo,sha256=aPbk4EItJSLN_PjpOejnijk74y53QBW-IPCXHvLNlVs,2434
278
- ngsolve-6.2.2502.data/data/share/ngsolve/shaft.vol,sha256=fT8qu1L-p0MkI-l3WVisKG52W5FCzO_NzXaCvMJT1V4,270450
279
- ngsolve-6.2.2502.data/data/share/ngsolve/square.in2d,sha256=evpVgNNzReABv6bIs4J_r1OFeedMppoS-TEzE-tfKgY,192
280
- ngsolve-6.2.2502.data/data/share/ngsolve/square.vol,sha256=IXIHYmq85hkFsMVZ_vEVthUnd0YTQWE4jRegjW8_ImI,9162
281
- ngsolve-6.2.2502.dist-info/LICENSE,sha256=oZDcnIBDdV2Q-LCnX6ZrnkLUr0yYC_XdxjPwEk2zzuc,26430
282
- ngsolve-6.2.2502.dist-info/METADATA,sha256=UTBXfgq3rolR7X1R3BjvTqZAMmfvCDQTco97Et2P3jU,190
283
- ngsolve-6.2.2502.dist-info/WHEEL,sha256=YeDGh2t9OVO8eQwJ7A2CpeTltZRPMYGUji0_oep_V1g,110
284
- ngsolve-6.2.2502.dist-info/top_level.txt,sha256=1llU44DxNIP85uPT4RChsIuV3h2d0_5j0Ui_Df5vV8E,15
285
- ngsolve-6.2.2502.dist-info/RECORD,,
251
+ ngsolve-6.2.2503.data/data/Netgen.icns,sha256=Ebqct4LKxLzxdJLwGg0tTUQb1VjLwkKhtmdYhpRhKjg,291475
252
+ ngsolve-6.2.2503.data/data/bin/ngscxx,sha256=TDWPvQxbPYsPFhbPU6RlApEuxCoOOzwj3J80VKMMyp8,1755
253
+ ngsolve-6.2.2503.data/data/bin/ngsld,sha256=50UErkFWLTocn8GtZDTkUWmPTIqsoK5lcfBGwyP0Vnc,557
254
+ ngsolve-6.2.2503.data/data/bin/ngsolve.tcl,sha256=SSBYLyp4zgl6eM17LXIiLoj1Doy-h2s4EZg6oKi6ucA,20995
255
+ ngsolve-6.2.2503.data/data/bin/ngspy,sha256=OvTnzkYgC9G3IK42QJpjmXkV7Q_Arig43STSfPDsDD4,103
256
+ ngsolve-6.2.2503.data/data/share/ngsolve/beam.geo,sha256=EtxklGAIo6SxZlHHC_FZHoQGZqZUDGJQSheEMFO-bJ8,387
257
+ ngsolve-6.2.2503.data/data/share/ngsolve/beam.vol,sha256=aotG4VA7sIgAsPQsYkzbMP1Jta_TddG2gMCblkSPkqc,13594
258
+ ngsolve-6.2.2503.data/data/share/ngsolve/chip.in2d,sha256=g6C-mcoD8-q9JtZpuh4mf4iFEZUIGvvivp4C5YYMlAw,551
259
+ ngsolve-6.2.2503.data/data/share/ngsolve/chip.vol,sha256=if0yLn8E3P4mZ_X5sBcrEIp2C4ZhMysGROtB1YCkJHI,27897
260
+ ngsolve-6.2.2503.data/data/share/ngsolve/coil.geo,sha256=PVD4I9ztZowKwNOUrjnoOP7Tj2KG9J0UCJFRS9EhlxU,364
261
+ ngsolve-6.2.2503.data/data/share/ngsolve/coil.vol,sha256=IOZe4oPxMUa9vBGJWN4LG9M79XAruY23S2rtAh_2_98,144724
262
+ ngsolve-6.2.2503.data/data/share/ngsolve/coilshield.geo,sha256=lCUDCAhfowBttSGEY_giyY0xEFInAbgVfIPwSWBb504,605
263
+ ngsolve-6.2.2503.data/data/share/ngsolve/coilshield.vol,sha256=2Dq5VCX7dqGxo_ExtUhI716I-SnxhLGPawW29IR9nYY,162397
264
+ ngsolve-6.2.2503.data/data/share/ngsolve/cube.geo,sha256=kbBNVUYVSf1ogV7-Xf31KXju3LCUIPaDLfvwZHMgddI,386
265
+ ngsolve-6.2.2503.data/data/share/ngsolve/cube.vol,sha256=54108a3RvrTUOJSFltxUY8iiNzyWoBTtNrWM0kufj7c,90295
266
+ ngsolve-6.2.2503.data/data/share/ngsolve/d10_DGdoubleglazing.pde,sha256=bPQAvbYlyvCfLzk9cOzjXDn94UFC_vBCONl7fEIaMVs,1304
267
+ ngsolve-6.2.2503.data/data/share/ngsolve/d11_chip_nitsche.pde,sha256=Mq3Ap63mWqjQyXsASFAlkRQ0AWxBlY3BYYejTYd-lwg,1101
268
+ ngsolve-6.2.2503.data/data/share/ngsolve/d1_square.pde,sha256=ysOroxhoAOePmB_Aswps9iGjA2qV5435iu3hOnSvN8M,1029
269
+ ngsolve-6.2.2503.data/data/share/ngsolve/d2_chip.pde,sha256=AowiGbuAWEdyFUB3d1LlZeQ7rarbkqIYsj1QcWc89-A,950
270
+ ngsolve-6.2.2503.data/data/share/ngsolve/d3_helmholtz.pde,sha256=nG0HxrxboI2qGoR5_LNZt7RYB7ji2o5jtkyIqTFR4y8,568
271
+ ngsolve-6.2.2503.data/data/share/ngsolve/d4_cube.pde,sha256=-C4RgoVtBXZu7XHCwZy7F7pr_PGNGcRwWCFzBppq1mQ,1033
272
+ ngsolve-6.2.2503.data/data/share/ngsolve/d5_beam.pde,sha256=QOYC7YN7LdcjSFeLdJu1Tlfi-lmsVsa7b9G6qoCsGo8,1985
273
+ ngsolve-6.2.2503.data/data/share/ngsolve/d6_shaft.pde,sha256=Iua3INfuIUeaBk21qNg4u5KZt__H1B8BZUsy5frjhdY,1901
274
+ ngsolve-6.2.2503.data/data/share/ngsolve/d7_coil.pde,sha256=-ELH2obynMJcvSOqoYT1OThXcllIcdss0ZrklLSimZw,1200
275
+ ngsolve-6.2.2503.data/data/share/ngsolve/d8_coilshield.pde,sha256=WUUulvd3dsedB25sFVQgU7FgZ3B7BkbxgkXTEBglk1w,1141
276
+ ngsolve-6.2.2503.data/data/share/ngsolve/d9_hybridDG.pde,sha256=drLxnz1GvCEeme-FV772cGbS-YTgeUB4G5DrbkLdapw,1479
277
+ ngsolve-6.2.2503.data/data/share/ngsolve/doubleglazing.in2d,sha256=bKn7m7eCcoLimGgoO3nxhiu7Mm0lIRnbx0TJh5dC1I0,506
278
+ ngsolve-6.2.2503.data/data/share/ngsolve/doubleglazing.vol,sha256=Eg-H6nl2Hd5Nr593SFCCLVTDl25kIXuddrWpd7xlrP8,34987
279
+ ngsolve-6.2.2503.data/data/share/ngsolve/piezo2d40round4.vol.gz,sha256=RuxM0vtYljoAImOH6U6avt0LmWaUbGNao37n8p_Yd1w,496477
280
+ ngsolve-6.2.2503.data/data/share/ngsolve/shaft.geo,sha256=aPbk4EItJSLN_PjpOejnijk74y53QBW-IPCXHvLNlVs,2434
281
+ ngsolve-6.2.2503.data/data/share/ngsolve/shaft.vol,sha256=fT8qu1L-p0MkI-l3WVisKG52W5FCzO_NzXaCvMJT1V4,270450
282
+ ngsolve-6.2.2503.data/data/share/ngsolve/square.in2d,sha256=evpVgNNzReABv6bIs4J_r1OFeedMppoS-TEzE-tfKgY,192
283
+ ngsolve-6.2.2503.data/data/share/ngsolve/square.vol,sha256=IXIHYmq85hkFsMVZ_vEVthUnd0YTQWE4jRegjW8_ImI,9162
284
+ ngsolve-6.2.2503.dist-info/LICENSE,sha256=oZDcnIBDdV2Q-LCnX6ZrnkLUr0yYC_XdxjPwEk2zzuc,26430
285
+ ngsolve-6.2.2503.dist-info/METADATA,sha256=I3ktZiZZbsd4xVnddCNwV4zMDS2o96a9yzpYePQQWbg,178
286
+ ngsolve-6.2.2503.dist-info/WHEEL,sha256=YeDGh2t9OVO8eQwJ7A2CpeTltZRPMYGUji0_oep_V1g,110
287
+ ngsolve-6.2.2503.dist-info/top_level.txt,sha256=1llU44DxNIP85uPT4RChsIuV3h2d0_5j0Ui_Df5vV8E,15
288
+ ngsolve-6.2.2503.dist-info/RECORD,,