ngsolve 6.2.2505__cp312-cp312-macosx_10_15_universal2.whl → 6.2.2505.post70.dev0__cp312-cp312-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 (64) hide show
  1. netgen/include/bilinearform.hpp +1 -1
  2. netgen/include/diffop_impl.hpp +3 -1
  3. netgen/include/fespace.hpp +4 -2
  4. netgen/include/gridfunction.hpp +1 -1
  5. netgen/include/h1amg.hpp +24 -1
  6. netgen/include/hdivhofespace.hpp +2 -0
  7. netgen/include/mptools.hpp +599 -85
  8. netgen/include/ngblas.hpp +113 -4
  9. netgen/include/recursive_pol.hpp +63 -11
  10. netgen/include/sparsematrix_dyn.hpp +2 -2
  11. netgen/include/sparsematrix_impl.hpp +25 -0
  12. netgen/include/vector.hpp +13 -1
  13. netgen/libngbla.dylib +0 -0
  14. netgen/libngcomp.dylib +0 -0
  15. netgen/libngfem.dylib +0 -0
  16. netgen/libngla.dylib +0 -0
  17. netgen/libngsbem.dylib +0 -0
  18. netgen/libngstd.dylib +0 -0
  19. ngsolve/__init__.pyi +2 -2
  20. ngsolve/bla.pyi +4 -0
  21. ngsolve/cmake/NGSolveConfig.cmake +5 -5
  22. ngsolve/comp/__init__.pyi +14 -1
  23. ngsolve/config/__init__.pyi +6 -6
  24. ngsolve/config/config.py +5 -5
  25. ngsolve/config/config.pyi +6 -6
  26. ngsolve/fem.pyi +1 -1
  27. {ngsolve-6.2.2505.dist-info → ngsolve-6.2.2505.post70.dev0.dist-info}/METADATA +2 -2
  28. {ngsolve-6.2.2505.dist-info → ngsolve-6.2.2505.post70.dev0.dist-info}/RECORD +64 -64
  29. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/Netgen.icns +0 -0
  30. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/bin/ngscxx +0 -0
  31. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/bin/ngsld +0 -0
  32. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/bin/ngsolve.tcl +0 -0
  33. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/bin/ngspy +0 -0
  34. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/beam.geo +0 -0
  35. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/beam.vol +0 -0
  36. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/chip.in2d +0 -0
  37. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/chip.vol +0 -0
  38. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/coil.geo +0 -0
  39. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/coil.vol +0 -0
  40. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/coilshield.geo +0 -0
  41. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/coilshield.vol +0 -0
  42. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/cube.geo +0 -0
  43. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/cube.vol +0 -0
  44. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
  45. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
  46. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/d1_square.pde +0 -0
  47. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/d2_chip.pde +0 -0
  48. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
  49. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/d4_cube.pde +0 -0
  50. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/d5_beam.pde +0 -0
  51. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/d6_shaft.pde +0 -0
  52. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/d7_coil.pde +0 -0
  53. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
  54. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
  55. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
  56. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/doubleglazing.vol +0 -0
  57. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  58. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/shaft.geo +0 -0
  59. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/shaft.vol +0 -0
  60. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/square.in2d +0 -0
  61. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post70.dev0.data}/data/share/ngsolve/square.vol +0 -0
  62. {ngsolve-6.2.2505.dist-info → ngsolve-6.2.2505.post70.dev0.dist-info}/LICENSE +0 -0
  63. {ngsolve-6.2.2505.dist-info → ngsolve-6.2.2505.post70.dev0.dist-info}/WHEEL +0 -0
  64. {ngsolve-6.2.2505.dist-info → ngsolve-6.2.2505.post70.dev0.dist-info}/top_level.txt +0 -0
netgen/include/ngblas.hpp CHANGED
@@ -584,12 +584,31 @@ namespace ngbla
584
584
  }
585
585
  }
586
586
 
587
- template <typename TM, typename TVX, typename TVY>
588
- extern void TestFunc (TM m, TVX x, TVY y);
589
-
587
+ // template <typename TM, typename TVX, typename TVY>
588
+ // extern void TestFunc (TM m, TVX x, TVY y);
589
+
590
+
591
+ template <typename TS, typename T> constexpr bool IsVec = false;
592
+ template <typename TS, int S> constexpr bool IsVec<TS, Vec<S,TS>> = true;
593
+
590
594
  template <bool ADD, bool POS, typename TM, ORDERING ORD, typename TX, typename TY>
591
595
  INLINE void NgGEMV (BareSliceMatrix<TM,ORD> a, FlatVector<const TX> x, FlatVector<TY> y)
592
596
  {
597
+ if constexpr (std::is_same<TM,double>() && std::is_same<TX,TY>() && IsVec<Complex,TX>)
598
+ {
599
+ FlatMatrix<double> mx(x.Size(), sizeof(TX)/sizeof(double), (double*)(void*)x.Addr(0));
600
+ FlatMatrix<double> my(y.Size(), sizeof(TX)/sizeof(double), (double*)(void*)y.Addr(0));
601
+ NgGEMM<ADD,POS> (a.AddSize(y.Size(), x.Size()),make_SliceMatrix(mx), make_SliceMatrix(my));
602
+ return;
603
+ }
604
+ if constexpr (std::is_same<TM,Complex>() && std::is_same<TX,TY>() && IsVec<Complex,TX>)
605
+ {
606
+ FlatMatrix<Complex> mx(x.Size(), sizeof(TX)/sizeof(Complex), &const_cast<Complex&>(*(x.Data()->Data())));
607
+ FlatMatrix<Complex> my(y.Size(), sizeof(TX)/sizeof(Complex), y.Data()->Data());
608
+ NgGEMM<ADD,POS> (a.AddSize(y.Size(), x.Size()),make_SliceMatrix(mx), make_SliceMatrix(my));
609
+ return;
610
+ }
611
+
593
612
  if (!ADD)
594
613
  {
595
614
  if (!POS)
@@ -635,6 +654,16 @@ namespace ngbla
635
654
  extern NGS_DLL_HEADER
636
655
  void NgGEMV (double s, BareSliceMatrix<double,ord> a, SliceVector<double> x, SliceVector<double> y) NETGEN_NOEXCEPT;
637
656
  */
657
+
658
+
659
+
660
+
661
+
662
+
663
+
664
+ /* *********************** GEMV - SliceVector **************************** */
665
+
666
+
638
667
 
639
668
  template <bool ADD, ORDERING ord>
640
669
  extern NGS_DLL_HEADER
@@ -714,7 +743,30 @@ namespace ngbla
714
743
  }
715
744
 
716
745
 
717
-
746
+
747
+
748
+ template <bool ADD, bool POS, typename TM, ORDERING ORD, typename TX, typename TY>
749
+ INLINE void NgGEMV (BareSliceMatrix<TM,ORD> a, SliceVector<TX> x, SliceVector<TY> y)
750
+ {
751
+ if constexpr (std::is_same<TM,double>() && std::is_same<TX,TY>() && IsVec<Complex,TX>)
752
+ {
753
+ constexpr int VS = sizeof(TX)/sizeof(double);
754
+ SliceMatrix<double> mx(x.Size(), VS, x.Dist()*VS, (double*)(void*)x.Addr(0));
755
+ SliceMatrix<double> my(y.Size(), VS, y.Dist()*VS, (double*)(void*)y.Addr(0));
756
+ NgGEMM<ADD,POS> (a.AddSize(y.Size(), x.Size()),make_SliceMatrix(mx), make_SliceMatrix(my));
757
+ return;
758
+ }
759
+ else if constexpr (std::is_same<TM,Complex>() && std::is_same<TX,TY>() && IsVec<Complex,TX>)
760
+ {
761
+ constexpr int VS = sizeof(TX)/sizeof(Complex);
762
+ SliceMatrix<Complex> mx(x.Size(), VS, x.Dist()*VS, &const_cast<Complex&>(*(x.Data()->Data())));
763
+ SliceMatrix<Complex> my(y.Size(), VS, y.Dist()*VS, y.Data()->Data());
764
+ NgGEMM<ADD,POS> (a.AddSize(y.Size(), x.Size()),make_SliceMatrix(mx), make_SliceMatrix(my));
765
+ return;
766
+ }
767
+ else
768
+ NgGEMV<ADD> (POS ? 1.0 : -1.0, a, x, y);
769
+ }
718
770
 
719
771
 
720
772
 
@@ -880,9 +932,14 @@ namespace ngbla
880
932
  FlatVector<const TB>(prod.View().B().Range(0,w)),
881
933
  FlatVector<T>(self.Spec().Range(0,h)));
882
934
  else
935
+ NgGEMV<ADD,POS> (make_BareSliceMatrix(prod.View().A()),
936
+ SliceVector<TB>(prod.View().B().Range(0,w)),
937
+ SliceVector<T>(self.Spec().Range(0,h)));
938
+ /*
883
939
  NgGEMV<ADD> (POS ? 1.0 : -1.0, make_BareSliceMatrix(prod.View().A()),
884
940
  SliceVector<TB>(prod.View().B().Range(0,w)),
885
941
  SliceVector<T>(self.Spec().Range(0,h)));
942
+ */
886
943
  return self.Spec();
887
944
  }
888
945
  };
@@ -1099,8 +1156,60 @@ namespace ngbla
1099
1156
  }
1100
1157
  };
1101
1158
 
1159
+ // typedef void (*pmatmatcRR)(size_t, size_t, BareSliceMatrix<Complex,RowMajor>, BareSliceMatrix<Complex,RowMajor>,BareSliceMatrix<Complex,RowMajor>);
1160
+
1161
+ template <ORDERING OA, ORDERING OB>
1162
+ using pmatmatc = void (*)(size_t, size_t, BareSliceMatrix<Complex, OA>, BareSliceMatrix<Complex,OB>,BareSliceMatrix<Complex,RowMajor>);
1163
+ template <bool ADD, bool POS, ORDERING OA, ORDERING OB>
1164
+ extern NGS_DLL_HEADER pmatmatc<OA,OB> dispatch_matmatc[9];
1165
+
1166
+ template <bool ADD, bool POS, ORDERING OA, ORDERING OB>
1167
+ extern NGS_DLL_HEADER void NgGEMMBare (size_t ah, size_t aw, size_t bw, BareSliceMatrix<Complex,OA> a, BareSliceMatrix<Complex,OB> b, BareSliceMatrix<Complex,RowMajor> c);
1102
1168
 
1103
1169
 
1170
+ template <bool ADD, bool POS, ORDERING OA, ORDERING OB>
1171
+ void NgGEMM (SliceMatrix<Complex,OA> a, SliceMatrix<Complex,OB> b, SliceMatrix<Complex,RowMajor> c)
1172
+ {
1173
+ size_t ah = a.Height();
1174
+ size_t aw = a.Width();
1175
+ size_t bw = b.Width();
1176
+ if (aw < std::size(dispatch_matmatc<ADD,POS,OA,OB>))
1177
+ {
1178
+ (*dispatch_matmatc<ADD,POS,OA,OB>[aw])(ah, bw, make_BareSliceMatrix(a), make_BareSliceMatrix(b), make_BareSliceMatrix(c));
1179
+ return;
1180
+ }
1181
+
1182
+ NgGEMMBare<ADD,POS>(ah, aw, bw, make_BareSliceMatrix(a), make_BareSliceMatrix(b), make_BareSliceMatrix(c));
1183
+ }
1184
+
1185
+ template <bool ADD, bool POS, ORDERING OA, ORDERING OB>
1186
+ void NgGEMM (SliceMatrix<Complex,OA> a, SliceMatrix<Complex,OB> b, SliceMatrix<Complex,ColMajor> c)
1187
+ {
1188
+ NgGEMM<ADD,POS> (Trans(b), Trans(a), Trans(c));
1189
+ }
1190
+
1191
+ template <typename OP, typename T, typename TA, typename TB>
1192
+ class assign_trait<OP, T, MultExpr<TA, TB>,
1193
+ enable_if_t<IsConvertibleToSliceMatrix<TA,Complex>() &&
1194
+ IsConvertibleToSliceMatrix<TB,Complex>() &&
1195
+ IsConvertibleToSliceMatrix<T,Complex>(), int>>
1196
+ {
1197
+ public:
1198
+ static inline T & Assign (MatExpr<T> & self, const Expr<MultExpr<TA, TB>> & prod)
1199
+ {
1200
+ constexpr bool ADD = std::is_same<OP,typename MatExpr<T>::AsAdd>::value || std::is_same<OP,typename MatExpr<T>::AsSub>::value;
1201
+ constexpr bool POS = std::is_same<OP,typename MatExpr<T>::As>::value || std::is_same<OP,typename MatExpr<T>::AsAdd>::value;
1202
+
1203
+ size_t n = CombinedSize(prod.View().A().Height(), self.Spec().Height());
1204
+ size_t m = CombinedSize(prod.View().B().Width(), self.Spec().Width());
1205
+ size_t k = CombinedSize(prod.View().A().Width(), prod.View().B().Height());
1206
+
1207
+ NgGEMM<ADD,POS> (make_BareSliceMatrix(prod.View().A()).AddSize(n,k).RemoveConst(),
1208
+ make_BareSliceMatrix(prod.View().B()).AddSize(k,m).RemoveConst(),
1209
+ make_BareSliceMatrix(self.Spec()).AddSize(n,m));
1210
+ return self.Spec();
1211
+ }
1212
+ };
1104
1213
 
1105
1214
 
1106
1215
 
@@ -1507,9 +1507,24 @@ namespace ngfem
1507
1507
  class NormalizedLegendreFunctions : public RecursivePolynomialNonStatic<NormalizedLegendreFunctions>
1508
1508
  {
1509
1509
  int m;
1510
+ static Matrix<double,ColMajor> matA, matB;
1510
1511
  public:
1511
1512
  NormalizedLegendreFunctions (size_t _m) : m(_m) { }
1512
1513
 
1514
+
1515
+ static void Calc(int mmax)
1516
+ {
1517
+ if (matA.Height() >= mmax+1) return;
1518
+ matA.SetSize(mmax+1, mmax+1);
1519
+ matB.SetSize(mmax+1, mmax+1);
1520
+ for (int m = 0; m <= mmax; m++)
1521
+ for (int n = m+2; n <= mmax; n++)
1522
+ {
1523
+ matA(n,m) = (2*n-1) / sqrt((n-m+0.0)*(n+m));
1524
+ matB(n,m) = sqrt((n+m-1.0)*(n-m-1.0)) / sqrt((n-m+0.0)*(n+m));
1525
+ }
1526
+ }
1527
+
1513
1528
  template <typename T, typename S>
1514
1529
  NormalizedLegendreFunctions (size_t mmax, size_t nmax, T x, S && values)
1515
1530
  {
@@ -1524,23 +1539,60 @@ namespace ngfem
1524
1539
  auto y = Trans(values);
1525
1540
 
1526
1541
  y = 0.0;
1527
- double u = -sqrt((1-x)*(1+x));
1542
+ T u = -sqrt((1-x)*(1+x));
1528
1543
  y(0,0)=1;
1529
-
1530
- for (double m = 0; m <= mmax; m++)
1544
+
1545
+ if (mmax+1 > matA.Height() || nmax > matA.Width())
1546
+ {
1547
+ for (double m = 0; m <= mmax; m++)
1548
+ {
1549
+ if (m > 0)
1550
+ y(m,m)=y(m-1,m-1)*u*sqrt((2*m-1.0)/(2*m));
1551
+ if (m < nmax)
1552
+ y(m+1,m)=x*y(m,m)*sqrt(2*m+1.0);
1553
+ for (int n = m+2; n <= nmax; n++)
1554
+ y(n,m)=((2*n-1)*x*y(n-1,m) -
1555
+ sqrt((n+m-1.0)*(n-m-1.0))*y(n-2,m))
1556
+ /sqrt((n-m+0.0)*(n+m));
1557
+ }
1558
+ }
1559
+ else
1531
1560
  {
1532
- if (m > 0)
1533
- y(m,m)=y(m-1,m-1)*u*sqrt((2*m-1.0)/(2*m));
1534
- if (m < nmax)
1535
- y(m+1,m)=x*y(m,m)*sqrt(2*m+1.0);
1536
- for (int n = m+2; n <= nmax; n++)
1537
- y(n,m)=((2*n-1)*x*y(n-1,m) -
1538
- sqrt((n+m-1.0)*(n-m-1.0))*y(n-2,m))
1539
- /sqrt((n-m+0.0)*(n+m));
1561
+ for (double m = 0; m <= mmax; m++)
1562
+ {
1563
+ if (m > 0)
1564
+ y(m,m)=y(m-1,m-1)*u*sqrt((2*m-1.0)/(2*m));
1565
+ if (m < nmax)
1566
+ {
1567
+ T valold = y(m,m);
1568
+
1569
+ T val = x*valold*sqrt(2*m+1.0);
1570
+ y(m+1,m)=val;
1571
+
1572
+ auto coefsA = matA.Col(m);
1573
+ auto coefsB = matB.Col(m);
1574
+
1575
+ for (int n = m+2; n <= nmax; n++)
1576
+ {
1577
+ T valnew = coefsA(n) * x * val - coefsB(n) * valold;
1578
+ y(n,m) = valnew;
1579
+ valold = val;
1580
+ val = valnew;
1581
+ }
1582
+ }
1583
+ /*
1584
+ for (int n = m+2; n <= nmax; n++)
1585
+ y(n,m) = matA(n,m) * x * y(n-1,m) - matB(n,m) * y(n-2,m);
1586
+ */
1587
+ }
1540
1588
  }
1589
+
1541
1590
  for (int n = 0; n <= nmax; n++)
1591
+ y.Row(n).Range(0,n+1) *= sqrt(2*n+1.0);
1592
+ /*
1542
1593
  for (int m = 0; m <= n; m++)
1543
1594
  y(n,m)=y(n,m)*sqrt(2*n+1.0);
1595
+ */
1544
1596
  }
1545
1597
 
1546
1598
  template <class S>
@@ -50,9 +50,9 @@ namespace ngla
50
50
  virtual void MultAdd (double s, const BaseVector & x, BaseVector & y) const override;
51
51
 
52
52
  AutoVector CreateRowVector() const override
53
- { throw make_unique<VVector<TSCAL>> (VWidth()); }
53
+ { return make_unique<VVector<TSCAL>> (VWidth()); }
54
54
  AutoVector CreateColVector() const override
55
- { throw make_unique<VVector<TSCAL>> (VHeight()); }
55
+ { return make_unique<VVector<TSCAL>> (VHeight()); }
56
56
 
57
57
  virtual tuple<int,int> EntrySizes() const override { return { bh, bw }; }
58
58
  };
@@ -475,6 +475,31 @@ namespace ngla
475
475
  }
476
476
  }
477
477
  return this->CreateFromCOO(indi, indj, val, this->Height(), this->Width());
478
+
479
+ /*
480
+ // needs parallelization and testing
481
+ Array<int> cnt(this->Height());
482
+ cnt = 0;
483
+ size_t cnt0 = 0;
484
+ for (auto i : Range(this->Height()))
485
+ for (auto j : Range(firsti[i], firsti[i+1]))
486
+ if (ngbla::L2Norm2(data[j]) > tol*tol)
487
+ cnt[i]++;
488
+ else
489
+ cnt0++;
490
+
491
+ cout << "zero-els = " << cnt0 << endl;
492
+
493
+
494
+ auto matrix = make_shared<SparseMatrix<TM>> (cnt, this->Width());
495
+
496
+ for (auto i : Range(this->Height()))
497
+ for (auto j : Range(firsti[i], firsti[i+1]))
498
+ if (ngbla::L2Norm2(data[j]) > tol*tol)
499
+ (*matrix)(i, colnr[i]) = data[j];
500
+
501
+ return matrix;
502
+ */
478
503
  }
479
504
 
480
505
  template <class TM>
netgen/include/vector.hpp CHANGED
@@ -1196,10 +1196,22 @@ namespace ngbla
1196
1196
  for (int i = 0; i < DIM; i++)
1197
1197
  AtomicAdd (x(i), y(i));
1198
1198
  }
1199
-
1200
1199
 
1200
+
1201
+ template <typename T, typename TS, typename TDIST, typename TB>
1202
+ inline void AtomicAdd (VectorView<T,TS,TDIST> v, const Expr<TB> & v2)
1203
+ {
1204
+ auto viewv2 = v2.View();
1205
+ auto combsize = CombinedSize(v.Size(), v2.Height());
1206
+ for (size_t i = 0; i < combsize; i++)
1207
+ AtomicAdd (v(i), viewv2(i));
1208
+ }
1209
+
1210
+
1201
1211
  }
1202
1212
 
1213
+
1214
+
1203
1215
  namespace ngstd
1204
1216
  {
1205
1217
  template <typename ARCHIVE, int S, typename T>
netgen/libngbla.dylib CHANGED
Binary file
netgen/libngcomp.dylib CHANGED
Binary file
netgen/libngfem.dylib CHANGED
Binary file
netgen/libngla.dylib CHANGED
Binary file
netgen/libngsbem.dylib CHANGED
Binary file
netgen/libngstd.dylib CHANGED
Binary file
ngsolve/__init__.pyi CHANGED
@@ -88,8 +88,8 @@ from ngsolve.fem import BSpline
88
88
  from ngsolve.fem import BlockBFI
89
89
  from ngsolve.fem import BlockLFI
90
90
  from ngsolve.fem import CacheCF
91
- from ngsolve.fem import CoefficientFunction as CF
92
91
  from ngsolve.fem import CoefficientFunction
92
+ from ngsolve.fem import CoefficientFunction as CF
93
93
  from ngsolve.fem import Cof
94
94
  from ngsolve.fem import CompoundBFI
95
95
  from ngsolve.fem import CompoundLFI
@@ -219,7 +219,7 @@ TET: fem.ET # value = <ET.TET: 20>
219
219
  TRIG: fem.ET # value = <ET.TRIG: 10>
220
220
  VERTEX: fem.NODE_TYPE # value = <NODE_TYPE.VERTEX: 0>
221
221
  VOL: comp.VorB # value = <VorB.VOL: 0>
222
- __version__: str = '6.2.2505'
222
+ __version__: str = '6.2.2505-70-g173a6a105'
223
223
  ds: comp.DifferentialSymbol # value = <ngsolve.comp.DifferentialSymbol object>
224
224
  dx: comp.DifferentialSymbol # value = <ngsolve.comp.DifferentialSymbol object>
225
225
  ngsglobals: comp.GlobalVariables # value = <ngsolve.comp.GlobalVariables object>
ngsolve/bla.pyi CHANGED
@@ -1144,4 +1144,8 @@ def __timing__(what: int, n: int, m: int, k: int, lapack: bool = False, doublepr
1144
1144
  411 .. Complex MatVec A<RowMajor> = nxn SliceVector x,y
1145
1145
  412 .. Complex MatVec A<ColMajor> = nxn FlatVector x,y
1146
1146
  413 .. Complex MatVec A<ColMajor> = nxn SliceVector x,y
1147
+ 420 .. Complex MatMat RowMajor,RowMajor
1148
+ 421 .. Complex MatMat RowMajor,ColMajor
1149
+ 422 .. Complex MatMat ColMajor,RowMajor
1150
+ 423 .. Complex MatMat ColMajor,ColMajor
1147
1151
  """
@@ -1,4 +1,4 @@
1
- set(PACKAGE_VERSION "6.2.2505")
1
+ set(PACKAGE_VERSION "6.2.2505-70-g173a6a105")
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.12/include/python3.12")
24
24
  set(NGSOLVE_PYTHON_LIBRARIES "/Library/Frameworks/Python.framework/Versions/3.12/lib/libpython3.12.dylib")
25
25
  set(NGSOLVE_PYTHON_PACKAGES_INSTALL_DIR "")
26
- set(NGSOLVE_TCL_INCLUDE_PATH "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/netgen/_skbuild/macosx-10.15-universal2-3.12/cmake-build/dependencies/src/project_tcl/generic")
26
+ set(NGSOLVE_TCL_INCLUDE_PATH "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/macosx-10.15-universal2-3.12/cmake-build/dependencies/src/project_tcl/generic")
27
27
  set(NGSOLVE_TCL_LIBRARY "/Library/Frameworks/Python.framework/Versions/3.12/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/netgen/_skbuild/macosx-10.15-universal2-3.12/cmake-build/dependencies/src/project_tk/generic")
29
+ set(NGSOLVE_TK_INCLUDE_PATH "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/macosx-10.15-universal2-3.12/cmake-build/dependencies/src/project_tk/generic")
30
30
  set(NGSOLVE_TK_LIBRARY "/Library/Frameworks/Python.framework/Versions/3.12/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/netgen/_skbuild/macosx-10.15-universal2-3.12/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.12/cmake-build/dependencies/zlib/lib/libz.a")
33
+ set(NGSOLVE_ZLIB_INCLUDE_DIRS "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/macosx-10.15-universal2-3.12/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.12/cmake-build/dependencies/zlib/lib/libz.a")
35
35
 
36
36
  set(NGSOLVE_INTEL_MIC OFF)
37
37
  set(NGSOLVE_USE_CCACHE ON)
ngsolve/comp/__init__.pyi CHANGED
@@ -56,7 +56,12 @@ class BDDCPreconditioner(Preconditioner):
56
56
 
57
57
  TODO
58
58
 
59
- Keyword arguments can be:
59
+ Keyword arguments can be:
60
+
61
+ coarsetype: direct
62
+ preconditioner for wirebasket system, available: 'direct', 'h1amg'
63
+ coarseflags: {}
64
+ flags for coarse preconditioner
60
65
  """
61
66
  @staticmethod
62
67
  def __flags_doc__() -> dict:
@@ -67,11 +72,19 @@ class BDDCPreconditioner_complex(BDDCPreconditioner):
67
72
  """
68
73
 
69
74
  Keyword arguments can be:
75
+ coarsetype: direct
76
+ preconditioner for wirebasket system, available: 'direct', 'h1amg'
77
+ coarseflags: {}
78
+ flags for coarse preconditioner
70
79
  """
71
80
  class BDDCPreconditioner_double(BDDCPreconditioner):
72
81
  """
73
82
 
74
83
  Keyword arguments can be:
84
+ coarsetype: direct
85
+ preconditioner for wirebasket system, available: 'direct', 'h1amg'
86
+ coarseflags: {}
87
+ flags for coarse preconditioner
75
88
  """
76
89
  class BilinearForm(NGS_Object):
77
90
  """
@@ -24,14 +24,14 @@ NGSOLVE_INSTALL_DIR_INCLUDE: str = 'netgen/include'
24
24
  NGSOLVE_INSTALL_DIR_LIB: str = 'netgen'
25
25
  NGSOLVE_INSTALL_DIR_PYTHON: str = '.'
26
26
  NGSOLVE_INSTALL_DIR_RES: str = 'share'
27
- NGSOLVE_VERSION: str = '6.2.2505'
28
- NGSOLVE_VERSION_GIT: str = 'v6.2.2505-0-g8fbbbc389'
29
- NGSOLVE_VERSION_HASH: str = 'g8fbbbc389'
27
+ NGSOLVE_VERSION: str = '6.2.2505-70-g173a6a105'
28
+ NGSOLVE_VERSION_GIT: str = 'v6.2.2505-70-g173a6a105'
29
+ NGSOLVE_VERSION_HASH: str = 'g173a6a105'
30
30
  NGSOLVE_VERSION_MAJOR: str = '6'
31
31
  NGSOLVE_VERSION_MINOR: str = '2'
32
32
  NGSOLVE_VERSION_PATCH: str = '2505'
33
- NGSOLVE_VERSION_PYTHON: str = '6.2.2505'
34
- NGSOLVE_VERSION_TWEAK: str = '0'
33
+ NGSOLVE_VERSION_PYTHON: str = '6.2.2505.post70.dev0'
34
+ NGSOLVE_VERSION_TWEAK: str = '70'
35
35
  USE_CCACHE: bool = True
36
36
  USE_HYPRE: bool = False
37
37
  USE_LAPACK: bool = True
@@ -40,4 +40,4 @@ USE_MUMPS: bool = False
40
40
  USE_PARDISO: bool = False
41
41
  USE_UMFPACK: bool = True
42
42
  is_python_package: bool = True
43
- version: str = 'v6.2.2505-0-g8fbbbc389'
43
+ version: str = 'v6.2.2505-70-g173a6a105'
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.2505"
33
- NGSOLVE_VERSION_GIT = "v6.2.2505-0-g8fbbbc389"
34
- NGSOLVE_VERSION_PYTHON = "6.2.2505"
32
+ NGSOLVE_VERSION = "6.2.2505-70-g173a6a105"
33
+ NGSOLVE_VERSION_GIT = "v6.2.2505-70-g173a6a105"
34
+ NGSOLVE_VERSION_PYTHON = "6.2.2505.post70.dev0"
35
35
 
36
36
  NGSOLVE_VERSION_MAJOR = "6"
37
37
  NGSOLVE_VERSION_MINOR = "2"
38
- NGSOLVE_VERSION_TWEAK = "0"
38
+ NGSOLVE_VERSION_TWEAK = "70"
39
39
  NGSOLVE_VERSION_PATCH = "2505"
40
- NGSOLVE_VERSION_HASH = "g8fbbbc389"
40
+ NGSOLVE_VERSION_HASH = "g173a6a105"
41
41
 
42
42
  CMAKE_CXX_COMPILER = "/Library/Developer/CommandLineTools/usr/bin/c++"
43
43
  CMAKE_CUDA_COMPILER = ""
ngsolve/config/config.pyi CHANGED
@@ -26,14 +26,14 @@ NGSOLVE_INSTALL_DIR_INCLUDE: str = 'netgen/include'
26
26
  NGSOLVE_INSTALL_DIR_LIB: str = 'netgen'
27
27
  NGSOLVE_INSTALL_DIR_PYTHON: str = '.'
28
28
  NGSOLVE_INSTALL_DIR_RES: str = 'share'
29
- NGSOLVE_VERSION: str = '6.2.2505'
30
- NGSOLVE_VERSION_GIT: str = 'v6.2.2505-0-g8fbbbc389'
31
- NGSOLVE_VERSION_HASH: str = 'g8fbbbc389'
29
+ NGSOLVE_VERSION: str = '6.2.2505-70-g173a6a105'
30
+ NGSOLVE_VERSION_GIT: str = 'v6.2.2505-70-g173a6a105'
31
+ NGSOLVE_VERSION_HASH: str = 'g173a6a105'
32
32
  NGSOLVE_VERSION_MAJOR: str = '6'
33
33
  NGSOLVE_VERSION_MINOR: str = '2'
34
34
  NGSOLVE_VERSION_PATCH: str = '2505'
35
- NGSOLVE_VERSION_PYTHON: str = '6.2.2505'
36
- NGSOLVE_VERSION_TWEAK: str = '0'
35
+ NGSOLVE_VERSION_PYTHON: str = '6.2.2505.post70.dev0'
36
+ NGSOLVE_VERSION_TWEAK: str = '70'
37
37
  USE_CCACHE: bool = True
38
38
  USE_HYPRE: bool = False
39
39
  USE_LAPACK: bool = True
@@ -42,4 +42,4 @@ USE_MUMPS: bool = False
42
42
  USE_PARDISO: bool = False
43
43
  USE_UMFPACK: bool = True
44
44
  is_python_package: bool = True
45
- version: str = 'v6.2.2505-0-g8fbbbc389'
45
+ version: str = 'v6.2.2505-70-g173a6a105'
ngsolve/fem.pyi CHANGED
@@ -187,7 +187,7 @@ class BSpline2D:
187
187
 
188
188
  """
189
189
  @typing.overload
190
- def __call__(self, x: float, y: float) -> float:
190
+ def __call__(self, x: numpy.ndarray[numpy.float64], y: numpy.ndarray[numpy.float64]) -> typing.Any:
191
191
  ...
192
192
  @typing.overload
193
193
  def __call__(self, cx: CoefficientFunction, cy: CoefficientFunction) -> CoefficientFunction:
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ngsolve
3
- Version: 6.2.2505
3
+ Version: 6.2.2505.post70.dev0
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.2505
8
+ Requires-Dist: netgen-mesher ==6.2.2505.post13.dev0
9
9