ngsolve 6.2.2502__cp311-cp311-win_amd64.whl → 6.2.2503__cp311-cp311-win_amd64.whl

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

Potentially problematic release.


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

Files changed (47) 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/lib/libngsolve.lib +0 -0
  9. netgen/libngsolve.dll +0 -0
  10. ngsolve/cmake/NGSolveConfig.cmake +5 -5
  11. ngsolve/cmake/ngsolve-targets.cmake +9 -2
  12. ngsolve/config/config.py +5 -5
  13. ngsolve/ngslib.pyd +0 -0
  14. {ngsolve-6.2.2502.dist-info → ngsolve-6.2.2503.dist-info}/METADATA +2 -2
  15. {ngsolve-6.2.2502.dist-info → ngsolve-6.2.2503.dist-info}/RECORD +47 -45
  16. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/Scripts/ngsolve.tcl +0 -0
  17. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/beam.geo +0 -0
  18. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/beam.vol +0 -0
  19. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/chip.in2d +0 -0
  20. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/chip.vol +0 -0
  21. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/coil.geo +0 -0
  22. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/coil.vol +0 -0
  23. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/coilshield.geo +0 -0
  24. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/coilshield.vol +0 -0
  25. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/cube.geo +0 -0
  26. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/cube.vol +0 -0
  27. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
  28. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
  29. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d1_square.pde +0 -0
  30. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d2_chip.pde +0 -0
  31. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
  32. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d4_cube.pde +0 -0
  33. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d5_beam.pde +0 -0
  34. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d6_shaft.pde +0 -0
  35. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d7_coil.pde +0 -0
  36. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
  37. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
  38. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
  39. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/doubleglazing.vol +0 -0
  40. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  41. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/shaft.geo +0 -0
  42. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/shaft.vol +0 -0
  43. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/square.in2d +0 -0
  44. {ngsolve-6.2.2502.data → ngsolve-6.2.2503.data}/data/share/ngsolve/square.vol +0 -0
  45. {ngsolve-6.2.2502.dist-info → ngsolve-6.2.2503.dist-info}/LICENSE +0 -0
  46. {ngsolve-6.2.2502.dist-info → ngsolve-6.2.2503.dist-info}/WHEEL +0 -0
  47. {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/lib/libngsolve.lib CHANGED
Binary file
netgen/libngsolve.dll 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 "C:/Python311/include")
24
24
  set(NGSOLVE_PYTHON_LIBRARIES "C:/Python311/libs/python311.lib")
25
25
  set(NGSOLVE_PYTHON_PACKAGES_INSTALL_DIR "")
26
- set(NGSOLVE_TCL_INCLUDE_PATH "C:/gitlabci/tools/builds/3zsqG5ns/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/win-amd64-3.11/cmake-build/dependencies/src/project_tcl/generic")
26
+ set(NGSOLVE_TCL_INCLUDE_PATH "C:/gitlabci/tools/builds/3zsqG5ns/0/ngsolve/netgen/_skbuild/win-amd64-3.11/cmake-build/dependencies/src/project_tcl/generic")
27
27
  set(NGSOLVE_TCL_LIBRARY "C:/Python311/tcl/tclstub86.lib")
28
28
  set(NGSOLVE_TK_DND_LIBRARY "")
29
- set(NGSOLVE_TK_INCLUDE_PATH "C:/gitlabci/tools/builds/3zsqG5ns/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/win-amd64-3.11/cmake-build/dependencies/src/project_tk/generic")
29
+ set(NGSOLVE_TK_INCLUDE_PATH "C:/gitlabci/tools/builds/3zsqG5ns/0/ngsolve/netgen/_skbuild/win-amd64-3.11/cmake-build/dependencies/src/project_tk/generic")
30
30
  set(NGSOLVE_TK_LIBRARY "C:/Python311/tcl/tkstub86.lib")
31
31
  set(NGSOLVE_X11_X11_LIB "")
32
32
  set(NGSOLVE_X11_Xmu_LIB "")
33
- set(NGSOLVE_ZLIB_INCLUDE_DIRS "C:/gitlabci/tools/builds/3zsqG5ns/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/win-amd64-3.11/cmake-build/dependencies/zlib/include")
34
- set(NGSOLVE_ZLIB_LIBRARIES "C:/gitlabci/tools/builds/3zsqG5ns/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/win-amd64-3.11/cmake-build/dependencies/zlib/lib/zlibstatic.lib")
33
+ set(NGSOLVE_ZLIB_INCLUDE_DIRS "C:/gitlabci/tools/builds/3zsqG5ns/0/ngsolve/netgen/_skbuild/win-amd64-3.11/cmake-build/dependencies/zlib/include")
34
+ set(NGSOLVE_ZLIB_LIBRARIES "C:/gitlabci/tools/builds/3zsqG5ns/0/ngsolve/netgen/_skbuild/win-amd64-3.11/cmake-build/dependencies/zlib/lib/zlibstatic.lib")
35
35
 
36
36
  set(NGSOLVE_INTEL_MIC OFF)
37
37
  set(NGSOLVE_USE_CCACHE ON)
@@ -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}")
@@ -107,6 +107,13 @@ set_target_properties(ngfem PROPERTIES
107
107
  INTERFACE_LINK_LIBRARIES "ngbla;ngstd;\$<LINK_ONLY:>"
108
108
  )
109
109
 
110
+ # Create imported target ngsbem
111
+ add_library(ngsbem INTERFACE IMPORTED)
112
+
113
+ set_target_properties(ngsbem PROPERTIES
114
+ INTERFACE_LINK_LIBRARIES "ngcomp;ngfem;ngla;ngbla;ngstd;\$<LINK_ONLY:>"
115
+ )
116
+
110
117
  # Create imported target ngcomp
111
118
  add_library(ngcomp INTERFACE IMPORTED)
112
119
 
@@ -118,7 +125,7 @@ set_target_properties(ngcomp PROPERTIES
118
125
  add_library(ngsolve SHARED IMPORTED)
119
126
 
120
127
  set_target_properties(ngsolve PROPERTIES
121
- INTERFACE_LINK_LIBRARIES "netgen_libs;ngsolve;ngcomp;ngfem;ngbla;ngla;ngstd"
128
+ INTERFACE_LINK_LIBRARIES "netgen_libs;ngsolve;ngcomp;ngfem;ngsbem;ngbla;ngla;ngstd"
122
129
  )
123
130
 
124
131
  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 = "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.44.35207/bin/Hostx64/x64/cl.exe"
43
43
  CMAKE_CUDA_COMPILER = ""
ngsolve/ngslib.pyd CHANGED
Binary file
@@ -1,10 +1,10 @@
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
  Requires-Dist: mkl
10
10
 
@@ -1,4 +1,4 @@
1
- netgen/libngsolve.dll,sha256=cLj_UE_zSR_PzMn-GIp6Xx796QCNodXaGwwq42UmP_M,35119104
1
+ netgen/libngsolve.dll,sha256=ajRtFTHG2eraVvxqll6gMzPd6_PC8K0CcgAs6qQlu2w,35803136
2
2
  netgen/ngscxx.bat,sha256=VoM77lA1caaCxceVKRtN_SRBB3U1Duofhz1B-LtAGsg,698
3
3
  netgen/ngsld.bat,sha256=YD1I1rK70K_YvLev7aYQMD9mCcwF55k1B_8pRWPpob0,428
4
4
  netgen/ngspy,sha256=3e0duHqv6lx2t8qE3kj2nTLz76Pd-RwjY7L7J-94UP4,70
@@ -51,7 +51,7 @@ netgen/include/facetsurffespace.hpp,sha256=qO4tLszTL3YHmWCsWZn9QKTW45GiIJ4UFnf5y
51
51
  netgen/include/fe_interfaces.hpp,sha256=gGLCSJtPBuOCQZuo2t0VGvXrRwNt0OOPLRag--qXfS8,854
52
52
  netgen/include/fem.hpp,sha256=DPZpvRbOezchnVcUGlOE5R6xKFvmAqUeRza4GC285rw,2181
53
53
  netgen/include/fesconvert.hpp,sha256=hbGst9rksfUJX3BguHcgiF62myv3D3a2zkbjv2Ccl4g,574
54
- netgen/include/fespace.hpp,sha256=T0ZIfr2k7yj4wtXLJrqIgFSfx4C4R-1eS0KlBAvQeyI,48408
54
+ netgen/include/fespace.hpp,sha256=fFarmWIll99eUN5y3Dedz3fOtDJGymkQ5cSDxfGXqUI,48503
55
55
  netgen/include/finiteelement.hpp,sha256=ULds8D80WXlpVqgCppjHKrXhFuo-WewzIr3IalsIv8g,9431
56
56
  netgen/include/globalinterfacespace.hpp,sha256=atR009fWSlJpYjRI3OgMcvInOajz1W5egPLdfPAPFu8,2796
57
57
  netgen/include/globalspace.hpp,sha256=ZYni-ie6O2DD0N3u-fdmVfwygpV5lwJ3SOAnSSgWMNo,4079
@@ -95,6 +95,7 @@ netgen/include/integrator.hpp,sha256=feIiNHlv5DIxyf5TfDQhEnGVc0o3sx4qYC0YC04YiB0
95
95
  netgen/include/integratorcf.hpp,sha256=YFUZSINM8_aUfXc73ewJEBVesuR6wD-mnt9rHoiB5Wg,8119
96
96
  netgen/include/interpolate.hpp,sha256=mM3hYHpyjUtVlrinl59DaCUGA04F82-ZAJUCYMuh76M,1689
97
97
  netgen/include/intrule.hpp,sha256=XxsIC1L5b4DMfXu9xe7Kr9gKgFki9g0p39nByE-k2eY,83361
98
+ netgen/include/intrules_SauterSchwab.hpp,sha256=2f9Lb77H6sgaVq7576L78zNGbv4MYgHpddIzfc36TKA,675
98
99
  netgen/include/irspace.hpp,sha256=UFWeaFVUDwsHCJZqtZBBDnhWC4Oyy34z9Pr6KzofHPg,1557
99
100
  netgen/include/jacobi.hpp,sha256=Y4lJtfjoeHjtuYqlNwMH_WDumFmARIw4a-V8eU_Ij9o,4222
100
101
  netgen/include/l2hofe.hpp,sha256=03O8VX8PyBM6v8IrrVooN85H_X-NM4j2neDPivn-xGI,6843
@@ -107,7 +108,7 @@ netgen/include/matrix.hpp,sha256=0UT4qQMFBMf3eq8FS7XTkMbQaVSgz--EiNdVMzGq-Sc,579
107
108
  netgen/include/memusage.hpp,sha256=m_-fuupqepSve37WkRkoFHHyTtE9PdGnOVPIdQHlDiw,1209
108
109
  netgen/include/meshaccess.hpp,sha256=Yk5VSmQx4cp5WEHnfsZXUOijVlooEoozTAaUu75zla8,48419
109
110
  netgen/include/mgpre.hpp,sha256=5Zqt3pzrvm3EOfr84iU6rQx23LTkntUTd_s4_i6wEzI,5029
110
- netgen/include/mptools.hpp,sha256=LUuPHuRv06i7UxENbUJcp3HQRFJuwoBfGT5nzw2C3EQ,38375
111
+ netgen/include/mptools.hpp,sha256=VLWS03RnSZhTFkH2j5nSupTcXMXfbDHzxKxdOLrm9oI,40220
111
112
  netgen/include/multigrid.hpp,sha256=7YgJfeGTBnb-aFWHrbcVk3dos6XYU0iVCgiY8UvRopY,898
112
113
  netgen/include/multivector.hpp,sha256=5rkNSqyPhIXAb1lGKLcy908D9Uw9oqY4wpUXZEXbEPE,13082
113
114
  netgen/include/mumpsinverse.hpp,sha256=8YiUlQZMFVsJ0kuwaSphGZvxyEZJAZZApH8XahiTeEo,4249
@@ -136,9 +137,10 @@ netgen/include/plateaufespace.hpp,sha256=EKUQyPESNdB1vhz3U7B-QVQmfkNACNk2r5KvN-x
136
137
  netgen/include/pml.hpp,sha256=iftuUVHXkFSqa-dIU8hImQewscv0qdek_fN3gR9xbSY,7559
137
138
  netgen/include/pmltrafo.hpp,sha256=j6Sk5tHbzKPT1hj_jI6n6-cRUgV5b3_o3kRNev95wDE,20237
138
139
  netgen/include/postproc.hpp,sha256=TiEqDkANZJtxl-aOYMac-FKhtSkokXS3AuxAScqUDBQ,5334
140
+ netgen/include/potentialtools.hpp,sha256=DhBMmkL4xcm3UYOqt1cWoonjVf5m2ceCxp6s6qTWp24,355
139
141
  netgen/include/precomp.hpp,sha256=mx_zGsnBxqRVArwgkDpvUcX8EzP8v_8QwVdOp5m1nWQ,1337
140
142
  netgen/include/preconditioner.hpp,sha256=3UCrQqZ49YUHneg24-JoYVO40B4Di1DR-A3TQLZme2A,14630
141
- netgen/include/prolongation.hpp,sha256=JGW4mvgtPsqANsNZpTUeEMJuSp9eh07M_Whmoa2qxAQ,7468
143
+ netgen/include/prolongation.hpp,sha256=WjfpHPXxSBa1lOPbrTXEKo44wxe6OeGVMPK-XR0E-7c,11304
142
144
  netgen/include/python_comp.hpp,sha256=FgujlcVk9FKWwMBEo9CfJ-q_Kb4TNcCziotVTFIuXvY,3571
143
145
  netgen/include/python_fem.hpp,sha256=pdSB1RLhv2Vi52TaRoGpjQ21EHOA3RFAF0jeiWDp6EQ,3161
144
146
  netgen/include/python_linalg.hpp,sha256=HdWTpdddyVmv3ZO73sG0BoHleKiREg9emIcyjFl3au8,1761
@@ -156,7 +158,7 @@ netgen/include/solve.hpp,sha256=lzCGHU1QOj9VXG43Q8MzvDi48-BfVH_fG8R0ttU8Xfg,2123
156
158
  netgen/include/sparsecholesky.hpp,sha256=hOzFoXMEelAdJROF1q4zkYv0yfZgSDhjwaYvRRmiMcE,9201
157
159
  netgen/include/sparsematrix.hpp,sha256=vyk1ViL0oXSiPZX4FfrFgy8whefffUrTmSlTS60SbrU,33744
158
160
  netgen/include/sparsematrix_dyn.hpp,sha256=RSxxEAg6Y82DDt7S46Hw_KCxvQBPvEoBvH8j-H5plz4,2792
159
- netgen/include/sparsematrix_impl.hpp,sha256=C2yLlIx3QPXCreg5GLBy2mV8E-1DUD1S8m3jzbWzlWQ,28732
161
+ netgen/include/sparsematrix_impl.hpp,sha256=Y7uMOMhksi3-7xGmievBI1V8QFlvgzQiGhAcapCzM9I,30261
160
162
  netgen/include/special_matrix.hpp,sha256=2BdxqD7aNfKGsyXjW5rmJAhRfSPro36VaSH4__RYMJE,16904
161
163
  netgen/include/specialelement.hpp,sha256=ovP0KuLWkBRnoc72hfzGgrrigzNQBdJexVAgSUj63vg,3351
162
164
  netgen/include/statushandler.hpp,sha256=IJPw19bARTth8D8wc6kHTBkxE4o3QTWB-cGDGz1Q2oE,679
@@ -165,7 +167,7 @@ netgen/include/superluinverse.hpp,sha256=A5YmUv_5R0qAzcD4zIxpUPAB6HqLcXuFU6J91Yg
165
167
  netgen/include/symbolicintegrator.hpp,sha256=tk8SwRT2swPiafO1JevZskjFVwvAxbGd0HTGPJjx5oo,36868
166
168
  netgen/include/symmetricmatrix.hpp,sha256=M79mq0z70ohLFoi8cxPAxxlqD3RjFZAkbCrHwQrhvY8,2954
167
169
  netgen/include/tangentialfacetfe.hpp,sha256=iEP_cU3nBtVUnH67dvzeMqIS-JM6SeILhB738YX9Spg,7491
168
- netgen/include/tangentialfacetfespace.hpp,sha256=DoijcYOUEG8Tud_RqYOsmOZlpsQ2swx0XTLgI6eGGG4,3198
170
+ netgen/include/tangentialfacetfespace.hpp,sha256=Ot0m9OA3ps0xh7AWiLUK-yeZ40ogeFx7zY6dGWQuTPc,2808
169
171
  netgen/include/tensor.hpp,sha256=nzrF84BknvEixYfMyN-RdaWVlBIXJkYw82kpjmfyqCE,12535
170
172
  netgen/include/tensorcoefficient.hpp,sha256=eA-SVbv_N89PnBLAEf-O--8SwicgiCwRPbx_NHQp-fw,17522
171
173
  netgen/include/tensorproductintegrator.hpp,sha256=Sfo_YsCL_TZnbqR2gBWcFLDr7DOlmSHAUJu-mCeYrI0,4643
@@ -185,7 +187,7 @@ netgen/include/voxelcoefficientfunction.hpp,sha256=zPlatX_nf2ODK2X979wvpm1HXHEzn
185
187
  netgen/include/vtkoutput.hpp,sha256=GwPaFtOVY27_1hKwSqpNHV4ppOk3CVsLdMpocm27odQ,6628
186
188
  netgen/include/vvector.hpp,sha256=vpnwWlNWsEJB26ve8cKADbUMGVBTTVCFvrBC4r_LDDQ,4785
187
189
  netgen/include/webgui.hpp,sha256=xm1S5KHockrzf_R4zHzQ9fzwfQ4H5aZaZm9ItCaR41s,2199
188
- netgen/lib/libngsolve.lib,sha256=NyQso40noaNdGKAII1SxjaB0ksz6KltH6Ul2ze2-C1Y,13475284
190
+ netgen/lib/libngsolve.lib,sha256=LorUNc1K1GErsTBhNoayFNwSDF4OBGI00gCXoHHkf9A,13487688
189
191
  ngsolve/TensorProductTools.py,sha256=jD4LtJdEiLt2dDsU6STMXb10yrau_i20gatwGlqbiFQ,8562
190
192
  ngsolve/__console.py,sha256=QLnfw1ONU9eVPQZ_LjzY-7b_gfZpRRRdI7imHR1lJR8,2983
191
193
  ngsolve/__expr.py,sha256=ZAtv94PVtAdvWWKFIvQGJC55aIEY6ajo-l5Hp-1V-6s,4396
@@ -200,7 +202,7 @@ ngsolve/meshes.py,sha256=nz95LP1EEIVAEJ0jyQGqq0E-62uuy2tvIRgqIrEqDHQ,27534
200
202
  ngsolve/ngs2petsc.py,sha256=PLAkvu4H-ZEXd0-bM2v0OJX7gga-OJ9d-NB7g322-wQ,12809
201
203
  ngsolve/ngscxx.py,sha256=r9TV49w0MKIxE6fgJYO4FNv-5wcM9eAFYIG9GspUy_A,1335
202
204
  ngsolve/ngslib.lib,sha256=_HzV4t-JUpCMSs1rNu4Jjtmr69v0FQUaOatAn17WF4A,1716
203
- ngsolve/ngslib.pyd,sha256=woUSdgqUe46cs4kRL96aIwfQFR8YZNu0TVf-eHp8qEY,123392
205
+ ngsolve/ngslib.pyd,sha256=9zgV5PIJ9HNG5aS4lQ_u80QO-Ay0mKWIAYaKjfGp91c,123392
204
206
  ngsolve/nonlinearsolvers.py,sha256=nKd-SVJseTWztHZPEPKsbv0mLwQjFILZtOh7Ggft0xs,8419
205
207
  ngsolve/preconditioners.py,sha256=2To9cGdhZscFRKrIb6NfjKLBXoIfkemnhryaXrdgNC8,218
206
208
  ngsolve/solvers.py,sha256=Vbm5RfIJ83nMtQ1pYJL0uBBuys4-mcY6b63MNkyiqxU,311
@@ -208,12 +210,12 @@ ngsolve/timestepping.py,sha256=SuKsFS7cDXRixKWdMMIWW4flet12HLeqWTBC0DFhPwg,8535
208
210
  ngsolve/timing.py,sha256=j_Plbbh51pS9QwMq93hyvFDSrbywmdKZ6Z6OOZmZoe4,4093
209
211
  ngsolve/utils.py,sha256=jg6smLuKF6G9Rvg-EXjyYwjFJGyyiqSRknevdjp-9J4,4724
210
212
  ngsolve/webgui.py,sha256=MG9bzYvfZYodiC5-DR-9auveCzKX3d13AGOgKANne-A,24902
211
- ngsolve/cmake/NGSolveConfig.cmake,sha256=xa61Ej1HRbPc5PEb-NmxLayA0E_jTDkVdoJli4Dj27g,5288
213
+ ngsolve/cmake/NGSolveConfig.cmake,sha256=fgDfNK8ZTrlGyKZCTFw-D-2AddOipQmZ8qNLD1lrv1g,5168
212
214
  ngsolve/cmake/ngsolve-targets-release.cmake,sha256=knQjCmz6J-x_Egg5DosY5hU_CZdZlSQxQ4Za7pS07fA,907
213
- ngsolve/cmake/ngsolve-targets.cmake,sha256=uE62doG1tPEZEI_OoCTCnFnjVuiEih6aeQIycTA9EXE,5969
215
+ ngsolve/cmake/ngsolve-targets.cmake,sha256=JkoJi3ef-KegNIlyBc6FLugP1fW-FacmJ8CrB4S8Xkk,6179
214
216
  ngsolve/config/__init__.py,sha256=IjGKWBHvRx572Z6m-5z0q82xuQaWlBABy1whwy2Uxak,23
215
217
  ngsolve/config/__main__.py,sha256=anI_XpgrpEnVnMyrFiH3Yon_tpQZkehnqRTNC02NiBI,93
216
- ngsolve/config/config.py,sha256=uQKapuz6-n1bML03UQre9QbZcncZ8epoVyPoOVdRGIo,2521
218
+ ngsolve/config/config.py,sha256=0ybUMoeLeAoMhC_yBF9I450SNNDmYaOuAu8U07TLsq8,2521
217
219
  ngsolve/demos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
218
220
  ngsolve/demos/TensorProduct/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
219
221
  ngsolve/demos/TensorProduct/tp_dg_1d_1d.py,sha256=3Q9ntmVJGIKQ-JLdGWgECR_kDjTG8FPVCSiTJkxyi40,2188
@@ -245,37 +247,37 @@ ngsolve/demos/mpi/mpi_cmagnet.py,sha256=59TuQvIIGoDStyJneH47NG131nppBoQpZQ9rfvG_
245
247
  ngsolve/demos/mpi/mpi_navierstokes.py,sha256=ieAWMDd9LoH99L14iBgF_YmX_xk7gltZ9MruTFN6xAY,3028
246
248
  ngsolve/demos/mpi/mpi_poisson.py,sha256=_-H0HFqlwlpasiVD9OQjUvJbWJcQ34-4y-va1WOSOzE,2557
247
249
  ngsolve/demos/mpi/mpi_timeDG.py,sha256=FUOh_1dzOGUU-uAsD4iyz0RVT382jMiMiuYkZjarhAE,1963
248
- ngsolve-6.2.2502.data/data/Scripts/ngsolve.tcl,sha256=8KBOXZKYU_qx8785PIjdmVjcUbCxR5aYrod0BZ4UgGc,21637
249
- ngsolve-6.2.2502.data/data/share/ngsolve/beam.geo,sha256=HTv0A6IUoVuavifolhGKY6U44z0hni07Htonqe6rw_A,404
250
- ngsolve-6.2.2502.data/data/share/ngsolve/beam.vol,sha256=QZbM9JE4rBs5nVXaw7ZAbDf60yXbX19bm1OnOScF57M,13834
251
- ngsolve-6.2.2502.data/data/share/ngsolve/chip.in2d,sha256=561AjEIPnlzMZHIzep5lRjocQDm8w7o7IDna5u8s9JQ,592
252
- ngsolve-6.2.2502.data/data/share/ngsolve/chip.vol,sha256=gkEmBWlQh8BkSFNTf-XISfmuGzHXDKANV4Uoww_BwJI,28511
253
- ngsolve-6.2.2502.data/data/share/ngsolve/coil.geo,sha256=ylB2OiWEZztFXPx99qTNRJKmZFIDPEezEgQt4EPtZRA,376
254
- ngsolve-6.2.2502.data/data/share/ngsolve/coil.vol,sha256=t8cWP_YX38FMw0S-7vEVUOcSH0VK6DlaqVWG_zmBo-4,147284
255
- ngsolve-6.2.2502.data/data/share/ngsolve/coilshield.geo,sha256=Sq8w7i22WQ0viaiM3bU_63lZGFWp8JgyDqs3RdjeTe0,629
256
- ngsolve-6.2.2502.data/data/share/ngsolve/coilshield.vol,sha256=JiZOM9A529-hikvv1kyLwffTRpeatLtaVTNcu42o1fo,165576
257
- ngsolve-6.2.2502.data/data/share/ngsolve/cube.geo,sha256=Wd9AnPdoQgjQ-JK6zmoXjsNxPR9B8ED4pdHVwmRoe1M,405
258
- ngsolve-6.2.2502.data/data/share/ngsolve/cube.vol,sha256=RS8bay_KlF6IZM0QDDr7_dGaFLqoxszQU_w8TYutMKY,92127
259
- ngsolve-6.2.2502.data/data/share/ngsolve/d10_DGdoubleglazing.pde,sha256=lK3sXmK74eFEMk8F6hwFHe_tBYnOdRq3F-RbzKpDK0c,1354
260
- ngsolve-6.2.2502.data/data/share/ngsolve/d11_chip_nitsche.pde,sha256=VuEQtkZaIJA9yuvjG_jcx1UB9UtAaZSoeJYFHcHeYxk,1141
261
- ngsolve-6.2.2502.data/data/share/ngsolve/d1_square.pde,sha256=24ZZ0nlbr5LKl_mPyeZZMSkiCBiBk1fzNElo3yITX2A,1072
262
- ngsolve-6.2.2502.data/data/share/ngsolve/d2_chip.pde,sha256=yGIbzuTdCEjdoC9Ig_hbcy5qz69_wxgPZeYmhY1rN7k,985
263
- ngsolve-6.2.2502.data/data/share/ngsolve/d3_helmholtz.pde,sha256=gWqQTh1M9NiKGohlu5JxDJuvRz-T28WlNSVbwmMvM-0,590
264
- ngsolve-6.2.2502.data/data/share/ngsolve/d4_cube.pde,sha256=6kL43ehAh1PdwnFlLjadg325bFjpz02p2PpAOxlDFuc,1079
265
- ngsolve-6.2.2502.data/data/share/ngsolve/d5_beam.pde,sha256=VQt9WbqAVWObFH9Jy1YieE9WHnVZ_hnsKVTz6ysEBxI,2059
266
- ngsolve-6.2.2502.data/data/share/ngsolve/d6_shaft.pde,sha256=y10nLFA2-GwEwnAs5R-8wppRq-09vYJ_C9LJ3DSvlS0,1974
267
- ngsolve-6.2.2502.data/data/share/ngsolve/d7_coil.pde,sha256=KFkqtZiPD4LQsGnghwwdq1qmpWf0T5xQR4HwbRL9ZZA,1250
268
- ngsolve-6.2.2502.data/data/share/ngsolve/d8_coilshield.pde,sha256=9XG0TcgZ7mComh_pVntnuzDldEx5PD-C7gqK05PTWus,1190
269
- ngsolve-6.2.2502.data/data/share/ngsolve/d9_hybridDG.pde,sha256=vYschVRu5vC91YpyVZFCBFuno-ZlOcRznPD-OvJTLtQ,1551
270
- ngsolve-6.2.2502.data/data/share/ngsolve/doubleglazing.in2d,sha256=lDCukUh9iTpkiH-qJAVdeAlMpiYF0AibAA6g3jOeWDY,533
271
- ngsolve-6.2.2502.data/data/share/ngsolve/doubleglazing.vol,sha256=IUOhUrZi8WMnvrIJe--A8cYPN6mscslA8_4yxvKShb0,35724
272
- ngsolve-6.2.2502.data/data/share/ngsolve/piezo2d40round4.vol.gz,sha256=RuxM0vtYljoAImOH6U6avt0LmWaUbGNao37n8p_Yd1w,496477
273
- ngsolve-6.2.2502.data/data/share/ngsolve/shaft.geo,sha256=Y3OVQlWjgICe2Dwz6-Qs8r0tLanjwtWP0xFx5AwNRJk,2507
274
- ngsolve-6.2.2502.data/data/share/ngsolve/shaft.vol,sha256=IqViJ4hJKk3Uf66PkVJ-kHpBQ_ZpkigRuh5g1Po4euY,274741
275
- ngsolve-6.2.2502.data/data/share/ngsolve/square.in2d,sha256=5dewiEjTsRFiNkBlmaTjBAZejq55TTlusp8ALfTMc2M,209
276
- ngsolve-6.2.2502.data/data/share/ngsolve/square.vol,sha256=tWdPeQ52deUNgWOsWKhqgNVsJKhkJmEAVp5-xjhzEwg,9311
277
- ngsolve-6.2.2502.dist-info/LICENSE,sha256=iFoD9UsVeWEjb0aEPnmXKr_NaJC2y7NovH7KMo_5WhI,26934
278
- ngsolve-6.2.2502.dist-info/METADATA,sha256=p9HMKc12-0TmLTZ9yv4tBBUz7TxzrFO7Mvsj3iAPPuo,216
279
- ngsolve-6.2.2502.dist-info/WHEEL,sha256=m80YfzNz3jW1qC3l3wcIVYwAZZ7BsFPRWWkkti4tjCc,96
280
- ngsolve-6.2.2502.dist-info/top_level.txt,sha256=1llU44DxNIP85uPT4RChsIuV3h2d0_5j0Ui_Df5vV8E,15
281
- ngsolve-6.2.2502.dist-info/RECORD,,
250
+ ngsolve-6.2.2503.data/data/Scripts/ngsolve.tcl,sha256=8KBOXZKYU_qx8785PIjdmVjcUbCxR5aYrod0BZ4UgGc,21637
251
+ ngsolve-6.2.2503.data/data/share/ngsolve/beam.geo,sha256=HTv0A6IUoVuavifolhGKY6U44z0hni07Htonqe6rw_A,404
252
+ ngsolve-6.2.2503.data/data/share/ngsolve/beam.vol,sha256=QZbM9JE4rBs5nVXaw7ZAbDf60yXbX19bm1OnOScF57M,13834
253
+ ngsolve-6.2.2503.data/data/share/ngsolve/chip.in2d,sha256=561AjEIPnlzMZHIzep5lRjocQDm8w7o7IDna5u8s9JQ,592
254
+ ngsolve-6.2.2503.data/data/share/ngsolve/chip.vol,sha256=gkEmBWlQh8BkSFNTf-XISfmuGzHXDKANV4Uoww_BwJI,28511
255
+ ngsolve-6.2.2503.data/data/share/ngsolve/coil.geo,sha256=ylB2OiWEZztFXPx99qTNRJKmZFIDPEezEgQt4EPtZRA,376
256
+ ngsolve-6.2.2503.data/data/share/ngsolve/coil.vol,sha256=t8cWP_YX38FMw0S-7vEVUOcSH0VK6DlaqVWG_zmBo-4,147284
257
+ ngsolve-6.2.2503.data/data/share/ngsolve/coilshield.geo,sha256=Sq8w7i22WQ0viaiM3bU_63lZGFWp8JgyDqs3RdjeTe0,629
258
+ ngsolve-6.2.2503.data/data/share/ngsolve/coilshield.vol,sha256=JiZOM9A529-hikvv1kyLwffTRpeatLtaVTNcu42o1fo,165576
259
+ ngsolve-6.2.2503.data/data/share/ngsolve/cube.geo,sha256=Wd9AnPdoQgjQ-JK6zmoXjsNxPR9B8ED4pdHVwmRoe1M,405
260
+ ngsolve-6.2.2503.data/data/share/ngsolve/cube.vol,sha256=RS8bay_KlF6IZM0QDDr7_dGaFLqoxszQU_w8TYutMKY,92127
261
+ ngsolve-6.2.2503.data/data/share/ngsolve/d10_DGdoubleglazing.pde,sha256=lK3sXmK74eFEMk8F6hwFHe_tBYnOdRq3F-RbzKpDK0c,1354
262
+ ngsolve-6.2.2503.data/data/share/ngsolve/d11_chip_nitsche.pde,sha256=VuEQtkZaIJA9yuvjG_jcx1UB9UtAaZSoeJYFHcHeYxk,1141
263
+ ngsolve-6.2.2503.data/data/share/ngsolve/d1_square.pde,sha256=24ZZ0nlbr5LKl_mPyeZZMSkiCBiBk1fzNElo3yITX2A,1072
264
+ ngsolve-6.2.2503.data/data/share/ngsolve/d2_chip.pde,sha256=yGIbzuTdCEjdoC9Ig_hbcy5qz69_wxgPZeYmhY1rN7k,985
265
+ ngsolve-6.2.2503.data/data/share/ngsolve/d3_helmholtz.pde,sha256=gWqQTh1M9NiKGohlu5JxDJuvRz-T28WlNSVbwmMvM-0,590
266
+ ngsolve-6.2.2503.data/data/share/ngsolve/d4_cube.pde,sha256=6kL43ehAh1PdwnFlLjadg325bFjpz02p2PpAOxlDFuc,1079
267
+ ngsolve-6.2.2503.data/data/share/ngsolve/d5_beam.pde,sha256=VQt9WbqAVWObFH9Jy1YieE9WHnVZ_hnsKVTz6ysEBxI,2059
268
+ ngsolve-6.2.2503.data/data/share/ngsolve/d6_shaft.pde,sha256=y10nLFA2-GwEwnAs5R-8wppRq-09vYJ_C9LJ3DSvlS0,1974
269
+ ngsolve-6.2.2503.data/data/share/ngsolve/d7_coil.pde,sha256=KFkqtZiPD4LQsGnghwwdq1qmpWf0T5xQR4HwbRL9ZZA,1250
270
+ ngsolve-6.2.2503.data/data/share/ngsolve/d8_coilshield.pde,sha256=9XG0TcgZ7mComh_pVntnuzDldEx5PD-C7gqK05PTWus,1190
271
+ ngsolve-6.2.2503.data/data/share/ngsolve/d9_hybridDG.pde,sha256=vYschVRu5vC91YpyVZFCBFuno-ZlOcRznPD-OvJTLtQ,1551
272
+ ngsolve-6.2.2503.data/data/share/ngsolve/doubleglazing.in2d,sha256=lDCukUh9iTpkiH-qJAVdeAlMpiYF0AibAA6g3jOeWDY,533
273
+ ngsolve-6.2.2503.data/data/share/ngsolve/doubleglazing.vol,sha256=IUOhUrZi8WMnvrIJe--A8cYPN6mscslA8_4yxvKShb0,35724
274
+ ngsolve-6.2.2503.data/data/share/ngsolve/piezo2d40round4.vol.gz,sha256=RuxM0vtYljoAImOH6U6avt0LmWaUbGNao37n8p_Yd1w,496477
275
+ ngsolve-6.2.2503.data/data/share/ngsolve/shaft.geo,sha256=Y3OVQlWjgICe2Dwz6-Qs8r0tLanjwtWP0xFx5AwNRJk,2507
276
+ ngsolve-6.2.2503.data/data/share/ngsolve/shaft.vol,sha256=IqViJ4hJKk3Uf66PkVJ-kHpBQ_ZpkigRuh5g1Po4euY,274741
277
+ ngsolve-6.2.2503.data/data/share/ngsolve/square.in2d,sha256=5dewiEjTsRFiNkBlmaTjBAZejq55TTlusp8ALfTMc2M,209
278
+ ngsolve-6.2.2503.data/data/share/ngsolve/square.vol,sha256=tWdPeQ52deUNgWOsWKhqgNVsJKhkJmEAVp5-xjhzEwg,9311
279
+ ngsolve-6.2.2503.dist-info/LICENSE,sha256=iFoD9UsVeWEjb0aEPnmXKr_NaJC2y7NovH7KMo_5WhI,26934
280
+ ngsolve-6.2.2503.dist-info/METADATA,sha256=zPKj7bP3_tXl9BYqPKKenE0fqchkJBrJ_OCGss_U7C8,204
281
+ ngsolve-6.2.2503.dist-info/WHEEL,sha256=m80YfzNz3jW1qC3l3wcIVYwAZZ7BsFPRWWkkti4tjCc,96
282
+ ngsolve-6.2.2503.dist-info/top_level.txt,sha256=1llU44DxNIP85uPT4RChsIuV3h2d0_5j0Ui_Df5vV8E,15
283
+ ngsolve-6.2.2503.dist-info/RECORD,,