ngsolve 6.2.2505__cp311-cp311-macosx_10_15_universal2.whl → 6.2.2505.post17.dev0__cp311-cp311-macosx_10_15_universal2.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. netgen/include/fespace.hpp +4 -2
  2. netgen/include/h1amg.hpp +24 -1
  3. netgen/include/hdivhofespace.hpp +2 -0
  4. netgen/include/mptools.hpp +63 -13
  5. netgen/include/ngblas.hpp +102 -4
  6. netgen/include/sparsematrix_dyn.hpp +2 -2
  7. netgen/libngbla.dylib +0 -0
  8. netgen/libngcomp.dylib +0 -0
  9. netgen/libngfem.dylib +0 -0
  10. netgen/libngla.dylib +0 -0
  11. netgen/libngsbem.dylib +0 -0
  12. netgen/libngstd.dylib +0 -0
  13. ngsolve/cmake/NGSolveConfig.cmake +1 -1
  14. ngsolve/config/config.py +5 -5
  15. {ngsolve-6.2.2505.dist-info → ngsolve-6.2.2505.post17.dev0.dist-info}/METADATA +2 -2
  16. {ngsolve-6.2.2505.dist-info → ngsolve-6.2.2505.post17.dev0.dist-info}/RECORD +52 -52
  17. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/Netgen.icns +0 -0
  18. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/bin/ngscxx +0 -0
  19. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/bin/ngsld +0 -0
  20. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/bin/ngsolve.tcl +0 -0
  21. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/bin/ngspy +0 -0
  22. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/beam.geo +0 -0
  23. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/beam.vol +0 -0
  24. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/chip.in2d +0 -0
  25. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/chip.vol +0 -0
  26. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/coil.geo +0 -0
  27. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/coil.vol +0 -0
  28. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/coilshield.geo +0 -0
  29. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/coilshield.vol +0 -0
  30. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/cube.geo +0 -0
  31. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/cube.vol +0 -0
  32. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
  33. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
  34. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d1_square.pde +0 -0
  35. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d2_chip.pde +0 -0
  36. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
  37. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d4_cube.pde +0 -0
  38. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d5_beam.pde +0 -0
  39. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d6_shaft.pde +0 -0
  40. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d7_coil.pde +0 -0
  41. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
  42. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
  43. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
  44. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/doubleglazing.vol +0 -0
  45. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  46. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/shaft.geo +0 -0
  47. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/shaft.vol +0 -0
  48. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/square.in2d +0 -0
  49. {ngsolve-6.2.2505.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/square.vol +0 -0
  50. {ngsolve-6.2.2505.dist-info → ngsolve-6.2.2505.post17.dev0.dist-info}/LICENSE +0 -0
  51. {ngsolve-6.2.2505.dist-info → ngsolve-6.2.2505.post17.dev0.dist-info}/WHEEL +0 -0
  52. {ngsolve-6.2.2505.dist-info → ngsolve-6.2.2505.post17.dev0.dist-info}/top_level.txt +0 -0
@@ -448,7 +448,8 @@ ANY 1 1 1 1 | 15
448
448
  virtual void GetDofNrs (NodeId ni, Array<DofId> & dnums) const;
449
449
  BitArray GetDofs (const Region & reg) const;
450
450
  Table<int> CreateDofTable (VorB vorb) const;
451
-
451
+ virtual void SelectDofs (const string & name, BitArray & dofs) const;
452
+
452
453
  /// get coupling types of dofs
453
454
  virtual void GetDofCouplingTypes (int elnr, Array<COUPLING_TYPE> & dnums) const;
454
455
 
@@ -1141,7 +1142,8 @@ ANY 1 1 1 1 | 15
1141
1142
  void GetEdgeDofNrs (int ednr, Array<DofId> & dnums) const override;
1142
1143
  void GetFaceDofNrs (int fanr, Array<DofId> & dnums) const override;
1143
1144
  void GetInnerDofNrs (int elnr, Array<DofId> & dnums) const override;
1144
-
1145
+ void SelectDofs (const string & name, BitArray & dofs) const override;
1146
+
1145
1147
  void SolveM(CoefficientFunction * rho, BaseVector & vec, Region * definedon,
1146
1148
  LocalHeap & lh) const override;
1147
1149
  void ApplyM(CoefficientFunction * rho, BaseVector & vec, Region * definedon,
netgen/include/h1amg.hpp CHANGED
@@ -9,6 +9,20 @@
9
9
  namespace ngcomp
10
10
  {
11
11
  using namespace ngla;
12
+
13
+
14
+
15
+ struct H1AMG_Parameters
16
+ {
17
+ int verbose = 0;
18
+ int smoothing_steps = 3;
19
+ int coarsenings_per_level = 3; // number of binary coarsenings per level
20
+ bool block_smoother = true; // block or point smoother ?
21
+ bool use_smoothed_prolongation = true;
22
+ int max_coarse = 10;
23
+ int max_level = 20;
24
+ };
25
+
12
26
 
13
27
  template <class SCAL>
14
28
  class NGS_DLL_HEADER H1AMG_Matrix : public ngla::BaseMatrix
@@ -26,6 +40,7 @@ namespace ngcomp
26
40
  ngcore::FlatArray<ngcore::IVec<2>> e2v,
27
41
  ngcore::FlatArray<double> edge_weights,
28
42
  ngcore::FlatArray<double> vertex_weights,
43
+ const H1AMG_Parameters & param,
29
44
  size_t level);
30
45
 
31
46
  virtual int VHeight() const override { return size; }
@@ -50,7 +65,9 @@ namespace ngcomp
50
65
 
51
66
  ParallelHashTable<IVec<2>,double> edge_weights_ht;
52
67
  ParallelHashTable<IVec<1>,double> vertex_weights_ht;
53
-
68
+
69
+ H1AMG_Parameters param;
70
+
54
71
  public:
55
72
 
56
73
  static shared_ptr<Preconditioner> CreateBF (shared_ptr<BilinearForm> bfa, const Flags & flags, const string & name)
@@ -71,6 +88,12 @@ namespace ngcomp
71
88
  cout << IM(3) << "Create H1AMG" << endl;
72
89
  else
73
90
  cout << IM(3) << "Create H1AMG, complex" << endl;
91
+
92
+ param.verbose = int(flags.GetNumFlag("verbose", 0));
93
+ param.smoothing_steps = int(flags.GetNumFlag("smoothingsteps", 1));
94
+ param.use_smoothed_prolongation = flags.GetDefineFlagX("smoothedprolongation").IsMaybeTrue();
95
+ param.max_coarse = int(flags.GetNumFlag("maxcoarse", 10));
96
+ param.max_level = int(flags.GetNumFlag("maxlevel", 20));
74
97
  }
75
98
 
76
99
  virtual void InitLevel (shared_ptr<BitArray> _freedofs) override
@@ -143,6 +143,8 @@ namespace ngcomp
143
143
  }
144
144
  }
145
145
 
146
+ void SelectDofs (const string & name, BitArray & dofs) const override;
147
+
146
148
  int GetFirstInnerDof(int elnr) const { return(first_inner_dof[elnr]);};
147
149
  // virtual int LowOrderDof() const { if(discont) return(0); else return(1);}
148
150
 
@@ -877,6 +877,34 @@ namespace ngsbem
877
877
  class NGS_DLL_HEADER RegularMLMultiPole
878
878
  {
879
879
  static Array<size_t> nodes_on_level;
880
+
881
+
882
+ struct RecordingRS
883
+ {
884
+ const MultiPole<MPSingular,elem_type> * mpS;
885
+ MultiPole<MPRegular,elem_type> * mpR;
886
+ Vec<3> dist;
887
+ double len, theta, phi;
888
+ public:
889
+ RecordingRS() = default;
890
+ RecordingRS (const MultiPole<MPSingular,elem_type> * ampS,
891
+ MultiPole<MPRegular,elem_type> * ampR,
892
+ Vec<3> adist)
893
+ : mpS(ampS), mpR(ampR), dist(adist)
894
+ {
895
+ len = L2Norm(dist);
896
+ if (len < 1e-30)
897
+ theta = 0;
898
+ else
899
+ theta = acos (dist(2) / len);
900
+
901
+ if (sqr(dist(0))+sqr(dist(1)) < 1e-30)
902
+ phi = 0;
903
+ else
904
+ phi = atan2(dist(1), dist(0));
905
+ }
906
+ };
907
+
880
908
 
881
909
  struct Node
882
910
  {
@@ -912,8 +940,9 @@ namespace ngsbem
912
940
  childs[i] = make_unique<Node> (cc, r/2, level+1, mp.Kappa());
913
941
  }
914
942
  }
915
-
916
- void AddSingularNode (const typename SingularMLMultiPole<elem_type>::Node & singnode, bool allow_refine)
943
+
944
+ void AddSingularNode (const typename SingularMLMultiPole<elem_type>::Node & singnode, bool allow_refine,
945
+ Array<RecordingRS> * recording)
917
946
  {
918
947
  if (mp.SH().Order() < 0) return;
919
948
  if (singnode.mp.SH().Order() < 0) return;
@@ -936,12 +965,15 @@ namespace ngsbem
936
965
  singnode.childs[0]->mp.Order() < singnode.mp.Order())
937
966
  {
938
967
  for (auto & child : singnode.childs)
939
- AddSingularNode (*child, allow_refine);
968
+ AddSingularNode (*child, allow_refine, recording);
940
969
  return;
941
970
  }
942
971
 
943
972
  // static Timer t("mptool transform Helmholtz-criterion"); RegionTimer r(t);
944
- singnode.mp.TransformAdd(mp, dist);
973
+ if (recording)
974
+ *recording += RecordingRS(&singnode.mp, &mp, dist);
975
+ else
976
+ singnode.mp.TransformAdd(mp, dist);
945
977
  return;
946
978
  }
947
979
 
@@ -960,21 +992,21 @@ namespace ngsbem
960
992
  CreateChilds();
961
993
 
962
994
  for (auto & ch : childs)
963
- ch -> AddSingularNode (singnode, allow_refine);
995
+ ch -> AddSingularNode (singnode, allow_refine, recording);
964
996
  }
965
997
  else
966
998
  {
967
- if (total_targets < 1000)
999
+ if (total_targets < 1000 || recording)
968
1000
  {
969
1001
  for (auto & ch : childs)
970
1002
  if (ch)
971
- ch -> AddSingularNode (singnode, allow_refine);
1003
+ ch -> AddSingularNode (singnode, allow_refine, recording);
972
1004
  }
973
1005
  else
974
1006
  ParallelFor (8, [&] (int nr)
975
1007
  {
976
1008
  if (childs[nr])
977
- childs[nr] -> AddSingularNode (singnode, allow_refine);
1009
+ childs[nr] -> AddSingularNode (singnode, allow_refine, recording);
978
1010
  });
979
1011
 
980
1012
  if (targets.Size())
@@ -984,7 +1016,7 @@ namespace ngsbem
984
1016
  else
985
1017
  {
986
1018
  for (auto & childsing : singnode.childs)
987
- AddSingularNode (*childsing, allow_refine);
1019
+ AddSingularNode (*childsing, allow_refine, recording);
988
1020
  }
989
1021
  }
990
1022
 
@@ -1158,8 +1190,8 @@ namespace ngsbem
1158
1190
  nodes_on_level = 0;
1159
1191
  nodes_on_level[0] = 1;
1160
1192
  {
1161
- static Timer t("mptool compute regular MLMP"); RegionTimer rg(t);
1162
- root.AddSingularNode(singmp->root, true);
1193
+ static Timer t("mptool compute regular MLMP"); RegionTimer rg(t);
1194
+ root.AddSingularNode(singmp->root, true, nullptr);
1163
1195
  // cout << "norm after S->R conversion: " << root.Norm() << endl;
1164
1196
  }
1165
1197
 
@@ -1200,9 +1232,27 @@ namespace ngsbem
1200
1232
 
1201
1233
  root.CalcTotalTargets();
1202
1234
  root.RemoveEmptyTrees();
1203
-
1204
- root.AddSingularNode(singmp->root, false);
1205
1235
 
1236
+
1237
+ root.AddSingularNode(singmp->root, false, nullptr);
1238
+ /*
1239
+ Array<RecordingRS> recording;
1240
+ root.AddSingularNode(singmp->root, false, &recording);
1241
+ // cout << "recorded: " << recording.Size() << endl;
1242
+ QuickSort (recording, [] (auto & a, auto & b)
1243
+ {
1244
+ if (a.len < (1-1e-8) * b.len) return true;
1245
+ if (a.len > (1+1e-8) * b.len) return false;
1246
+ return a.theta < b.theta;
1247
+ });
1248
+ for (auto & record : recording)
1249
+ {
1250
+ record.mpS->TransformAdd(*record.mpR, record.dist);
1251
+ // *testout << record.len << ", " << record.theta << ", " << record.phi << endl;
1252
+ }
1253
+ */
1254
+
1255
+
1206
1256
  /*
1207
1257
  int maxlevel = 0;
1208
1258
  for (auto [i,num] : Enumerate(RegularMLMultiPole::nodes_on_level))
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
  };
@@ -1101,6 +1158,47 @@ namespace ngbla
1101
1158
 
1102
1159
 
1103
1160
 
1161
+ template <bool ADD, bool POS, ORDERING OA, ORDERING OB>
1162
+ 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);
1163
+
1164
+
1165
+ template <bool ADD, bool POS, ORDERING OA, ORDERING OB>
1166
+ void NgGEMM (SliceMatrix<Complex,OA> a, SliceMatrix<Complex,OB> b, SliceMatrix<Complex,RowMajor> c)
1167
+ {
1168
+ size_t ah = a.Height();
1169
+ size_t aw = a.Width();
1170
+ size_t bw = b.Width();
1171
+ NgGEMMBare<ADD,POS>(ah, aw, bw, make_BareSliceMatrix(a), make_BareSliceMatrix(b), make_BareSliceMatrix(c));
1172
+ }
1173
+
1174
+ template <bool ADD, bool POS, ORDERING OA, ORDERING OB>
1175
+ void NgGEMM (SliceMatrix<Complex,OA> a, SliceMatrix<Complex,OB> b, SliceMatrix<Complex,ColMajor> c)
1176
+ {
1177
+ NgGEMM<ADD,POS> (Trans(b), Trans(a), Trans(c));
1178
+ }
1179
+
1180
+ template <typename OP, typename T, typename TA, typename TB>
1181
+ class assign_trait<OP, T, MultExpr<TA, TB>,
1182
+ enable_if_t<IsConvertibleToSliceMatrix<TA,Complex>() &&
1183
+ IsConvertibleToSliceMatrix<TB,Complex>() &&
1184
+ IsConvertibleToSliceMatrix<T,Complex>(), int>>
1185
+ {
1186
+ public:
1187
+ static inline T & Assign (MatExpr<T> & self, const Expr<MultExpr<TA, TB>> & prod)
1188
+ {
1189
+ constexpr bool ADD = std::is_same<OP,typename MatExpr<T>::AsAdd>::value || std::is_same<OP,typename MatExpr<T>::AsSub>::value;
1190
+ constexpr bool POS = std::is_same<OP,typename MatExpr<T>::As>::value || std::is_same<OP,typename MatExpr<T>::AsAdd>::value;
1191
+
1192
+ size_t n = CombinedSize(prod.View().A().Height(), self.Spec().Height());
1193
+ size_t m = CombinedSize(prod.View().B().Width(), self.Spec().Width());
1194
+ size_t k = CombinedSize(prod.View().A().Width(), prod.View().B().Height());
1195
+
1196
+ NgGEMM<ADD,POS> (make_BareSliceMatrix(prod.View().A()).AddSize(n,k).RemoveConst(),
1197
+ make_BareSliceMatrix(prod.View().B()).AddSize(k,m).RemoveConst(),
1198
+ make_BareSliceMatrix(self.Spec()).AddSize(n,m));
1199
+ return self.Spec();
1200
+ }
1201
+ };
1104
1202
 
1105
1203
 
1106
1204
 
@@ -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
  };
netgen/libngbla.dylib CHANGED
Binary file
netgen/libngcomp.dylib CHANGED
Binary file
netgen/libngfem.dylib CHANGED
Binary file
netgen/libngla.dylib CHANGED
Binary file
netgen/libngsbem.dylib CHANGED
Binary file
netgen/libngstd.dylib CHANGED
Binary file
@@ -1,4 +1,4 @@
1
- set(PACKAGE_VERSION "6.2.2505")
1
+ set(PACKAGE_VERSION "6.2.2505-17-g2593d4c47")
2
2
  find_package(Netgen CONFIG REQUIRED HINTS
3
3
  ${CMAKE_CURRENT_LIST_DIR}
4
4
  ${CMAKE_CURRENT_LIST_DIR}/..
ngsolve/config/config.py CHANGED
@@ -29,15 +29,15 @@ NGSOLVE_INSTALL_DIR_INCLUDE = "netgen/include"
29
29
  NGSOLVE_INSTALL_DIR_CMAKE = "ngsolve/cmake"
30
30
  NGSOLVE_INSTALL_DIR_RES = "share"
31
31
 
32
- NGSOLVE_VERSION = "6.2.2505"
33
- NGSOLVE_VERSION_GIT = "v6.2.2505-0-g8fbbbc389"
34
- NGSOLVE_VERSION_PYTHON = "6.2.2505"
32
+ NGSOLVE_VERSION = "6.2.2505-17-g2593d4c47"
33
+ NGSOLVE_VERSION_GIT = "v6.2.2505-17-g2593d4c47"
34
+ NGSOLVE_VERSION_PYTHON = "6.2.2505.post17.dev0"
35
35
 
36
36
  NGSOLVE_VERSION_MAJOR = "6"
37
37
  NGSOLVE_VERSION_MINOR = "2"
38
- NGSOLVE_VERSION_TWEAK = "0"
38
+ NGSOLVE_VERSION_TWEAK = "17"
39
39
  NGSOLVE_VERSION_PATCH = "2505"
40
- NGSOLVE_VERSION_HASH = "g8fbbbc389"
40
+ NGSOLVE_VERSION_HASH = "g2593d4c47"
41
41
 
42
42
  CMAKE_CXX_COMPILER = "/Library/Developer/CommandLineTools/usr/bin/c++"
43
43
  CMAKE_CUDA_COMPILER = ""
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ngsolve
3
- Version: 6.2.2505
3
+ Version: 6.2.2505.post17.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.post3.dev0)
9
9
 
@@ -1,10 +1,10 @@
1
- netgen/libngbla.dylib,sha256=9nLm9hQTpmz3xCi95JN2DwBXGoOTn1JjuN_8uyJOBm8,5200384
2
- netgen/libngcomp.dylib,sha256=dIbPnbYaUSZhb01FAWkVlS1RINKRPiim_QPi6v5xt3Y,42864176
3
- netgen/libngfem.dylib,sha256=4I_3UoHDf_r_FisShR2fR0JuIO3PudDl-VEM-dclerk,51449232
4
- netgen/libngla.dylib,sha256=0vhkOXf7Q2dUTmO_g8LsL4netxX0frezsQBbP0rpp6s,25323968
5
- netgen/libngsbem.dylib,sha256=H5lvFDQnEy14B3mUx03iwY9OlK2n6H9vrjEl3b9KQUQ,5000800
1
+ netgen/libngbla.dylib,sha256=MX3O0cW9Z93f0_uRaSe8ONm0XIH0VhHR_VgFZYGJqE0,5343120
2
+ netgen/libngcomp.dylib,sha256=S5O5giWh_XMdOFPtoMI8tMUh_eHX0fo2BdEZoFc07Ns,42901568
3
+ netgen/libngfem.dylib,sha256=CDM8-1T9iJutF9U2TqtuBCN_S_bxuybOUeKBoh7-qlE,51417456
4
+ netgen/libngla.dylib,sha256=VgVFh8B74k0HtgE0SMZboxxAi70PgyL3W8ec_1Y4qQ4,25308064
5
+ netgen/libngsbem.dylib,sha256=FRfp01_f1uwWuLj9R10kL4VGMhMKbneQXSd10HWEYJE,5500080
6
6
  netgen/libngsolve.dylib,sha256=psqhjQiUhRJnkwWm0nX1ufoyPoPM4pxOkPPq4ceGHfk,939280
7
- netgen/libngstd.dylib,sha256=Bwl934AsdKHnYAGeCmzlhHQjSSWBlxAMZeky44TE7wE,922576
7
+ netgen/libngstd.dylib,sha256=c3vYl0XrLop_rHeltZAqRlLo0Yqzles8w6UtlqOK3xA,922576
8
8
  netgen/include/arnoldi.hpp,sha256=b8mRu9wGyaLa7z6mXCFIhxfW_xcQvsOMD6TqbfYZ05g,1437
9
9
  netgen/include/bandmatrix.hpp,sha256=zwKz89QY53MPsWgNsl0cXEAFKka_W4sXPIO54M3eT80,7778
10
10
  netgen/include/basematrix.hpp,sha256=6YGW07HMH7F2JWXUKOwlGZ2ZvEoP7uCSGihdrzzKPag,28634
@@ -54,12 +54,12 @@ netgen/include/facetsurffespace.hpp,sha256=3FTy--cwUqVFZqF9MAaK78aRSIHWQUgOvSjPr
54
54
  netgen/include/fe_interfaces.hpp,sha256=gWxTH8E-g3RgDfLG7kkggKUIBC_zWefOaJPpYFBiiDI,822
55
55
  netgen/include/fem.hpp,sha256=xXxfiwpi3EW3jJZtWE9WxRJm9htSaivfKhCbD2_ToBo,2094
56
56
  netgen/include/fesconvert.hpp,sha256=WL-icGOUDl2edBG6QoI1MCohKibLqPVFuaTzyAenIb0,560
57
- netgen/include/fespace.hpp,sha256=tRyAbXR5q3-X-gYt-Sgy46ZiSA3n3bBJeQBCoR-x-1I,47056
57
+ netgen/include/fespace.hpp,sha256=xWyWuCXziIiAnV2Gh7DhwLJJ_yQfr1_yVssiPV6h74A,47227
58
58
  netgen/include/finiteelement.hpp,sha256=yGHVHO5GJqHCnEcvyNwtXZHFRhebVTdaBfM96jlIppg,9145
59
59
  netgen/include/globalinterfacespace.hpp,sha256=JMRw_B8kfWRAlhZglT0IH9fFvcQbHZgF1T0tnIuszsM,2719
60
60
  netgen/include/globalspace.hpp,sha256=Hjzmz9zaUuKVSkduBYVr6zbRHV503wK2vdFL6Vxr_fY,3964
61
61
  netgen/include/gridfunction.hpp,sha256=em4M_5oUhofbD5jyoaAinKns4v4G9TCzs49Q2qANy0A,18041
62
- netgen/include/h1amg.hpp,sha256=O_fYedZwGOU3QxaYeyWuOnGbRzMXYVT3yDdJI-txRgM,3002
62
+ netgen/include/h1amg.hpp,sha256=ygadM9_MFv0Qc47jP8G__rhnyTtuj_QNETwpm-8WYw8,3801
63
63
  netgen/include/h1hofe.hpp,sha256=CSVONOnzWpt6bf-D2dacEheU-3OmID3QUeRD64Uoqz8,5844
64
64
  netgen/include/h1hofe_impl.hpp,sha256=ruuxMbKB_jNOCviiPhj5PF0vR_idTSQMvb9jfU2_ylo,35456
65
65
  netgen/include/h1hofefo.hpp,sha256=9wQDD_5zXMhlptPHZZzOUImFLkF0dZwYuYbLX1Ai2dA,4465
@@ -87,7 +87,7 @@ netgen/include/hdivfes.hpp,sha256=MrPtDM7GXnozM-PbOqyZX1X7CsDNuJxtTGE5tgtAXOE,21
87
87
  netgen/include/hdivhofe.hpp,sha256=fTcC2CaT3fghZOPwsmJUFI-XMFfZTfBgyJfCPxwu3pU,13703
88
88
  netgen/include/hdivhofe_impl.hpp,sha256=G59J6oeF5AS51G9TQBMFf-_1smPdjYFcPB5Vcux6dTI,37278
89
89
  netgen/include/hdivhofefo.hpp,sha256=_RbPV_e--FvyQheAkvGYIKCmKys-ludl26XbrD07qeo,6390
90
- netgen/include/hdivhofespace.hpp,sha256=31ozqB31tlWIQN3FtnQxNJrrof5OijewEeA1ITgx5ts,4955
90
+ netgen/include/hdivhofespace.hpp,sha256=F6lNi2Yd4m_34scgyvrcvT5Eshs92NkO5nrzDC6YBEM,5031
91
91
  netgen/include/hdivhosurfacefespace.hpp,sha256=Dp8EmF_Bj-jNvPQS_KEN87R4iqQgaYZnjCysRaruGw0,2843
92
92
  netgen/include/hdivlofe.hpp,sha256=QESj6iJ8UGLboWlCE3EHmPcD4Z5sMlaf6Uo7f7KFe7M,14603
93
93
  netgen/include/hidden.hpp,sha256=nYQrLY1eO8MiVZWfYLi5Sp8bOwiK4C7ZGPjQToLx_Os,2646
@@ -112,13 +112,13 @@ netgen/include/memusage.hpp,sha256=H-8rWQ8UQDCnOiYQnbwvILPuPoJD8bqwiNGB2QAUa0o,1
112
112
  netgen/include/meshaccess.hpp,sha256=j5dinD-8bVm18MkVqG9j-IhhZUHHXw3erdZy-LHxl-8,47133
113
113
  netgen/include/mgpre.hpp,sha256=zdNozWRSyluOF8E4GLeOR290Yw2wqGYGc1sTTSB5n3U,4825
114
114
  netgen/include/mp_coefficient.hpp,sha256=lzFP-XHYnFKDdAbb_4cWqEpCIgk4gwUWxOmwvJvSN3w,4736
115
- netgen/include/mptools.hpp,sha256=Wh2wxGYmO7iJYCH-B4iiZ5nrwR2bepwjLQ1k-4swCpU,34474
115
+ netgen/include/mptools.hpp,sha256=I0w37lAM8u2qZGAngoQj60HR9jKy4INUVK0Wp4LT80k,36032
116
116
  netgen/include/multigrid.hpp,sha256=ovl1GXcTfXuYLVVMcFfCKP5sg6diSGlqdjCMMPCgFUo,856
117
117
  netgen/include/multivector.hpp,sha256=nuLxMiq2y6HoH5w9j6ka2BhJjRyREPeEnNFx_x0SMU0,12635
118
118
  netgen/include/mumpsinverse.hpp,sha256=Jaa5NPQzwPo2kSbHijI_LX3tr0qUmVhqVlRM14KeD18,4062
119
119
  netgen/include/mycomplex.hpp,sha256=8xKKByk_qMMCvDAl-Wg5wN_Y8A1eCGxe8sWowWdG0co,7662
120
120
  netgen/include/ng_lapack.hpp,sha256=1sH75a5q-ja2lbGU450tiX-z1KPkerMV5ftjzUg4Inc,48408
121
- netgen/include/ngblas.hpp,sha256=ArfhQ60ahMUgo6voSK8Z3EHxPJhfT0BZT-mBgNGGNus,42769
121
+ netgen/include/ngblas.hpp,sha256=4ZsAHD5j0ulPIn2atd5mxrh6zf78xniy7DTGB_HWkHQ,47303
122
122
  netgen/include/ngs_defines.hpp,sha256=bGB_MsAq5tvNml55sklzLjGkzLuH3ZHCPCriS8zM7yM,686
123
123
  netgen/include/ngs_stdcpp_include.hpp,sha256=RUjXe5YfnAIBDg8jInLBw7DXu5AYvrkja3EFhMBa5fY,2551
124
124
  netgen/include/ngs_utils.hpp,sha256=qoXJBajujUW35GXix_olD7C7S3xWUeOcQ23kIF_hjXw,3144
@@ -161,7 +161,7 @@ netgen/include/smoother.hpp,sha256=hZAe15R6BU88hMfhcTM3-eclRgzmHJnPKgYYWol9Sx8,6
161
161
  netgen/include/solve.hpp,sha256=OZQfkg6HN20eudQ4kkRSecr-miwV35NPEjAtoMcunG4,2034
162
162
  netgen/include/sparsecholesky.hpp,sha256=2HKM6aKO02YX32jxGna6CAjBBfeXvCsmPk4hoWZWIQk,8888
163
163
  netgen/include/sparsematrix.hpp,sha256=7YN50okcY5Lxipc43njHPKzzKZ_gLtMhwQB_Jsj99rE,32706
164
- netgen/include/sparsematrix_dyn.hpp,sha256=XGTvSgtG3sOj6ho_Bu3VcZzUxO49VWztlxyuW--3Z9M,2654
164
+ netgen/include/sparsematrix_dyn.hpp,sha256=u9aWEYl6PhrevL9SPSXVE22_EIwIduDDvzY8xgIsw4Q,2656
165
165
  netgen/include/sparsematrix_impl.hpp,sha256=Z45m3piI8zPvBkRgdQiQLHmSRuL82gO6WPK1b2frW6M,29580
166
166
  netgen/include/special_matrix.hpp,sha256=1moUjxQ_uaS-GWrSbrbN4c8N3pDma9UpSaFqrNUXV80,16526
167
167
  netgen/include/specialelement.hpp,sha256=iiQaIE-cHbwGX014jET8k-rfb8k1GT6Gs_vsMIBWaOA,3226
@@ -213,12 +213,12 @@ ngsolve/timestepping.py,sha256=SLbsgE5pY5tXYTLGlVypk4kS2Ui8GxOwWmKVxqneZRU,8350
213
213
  ngsolve/timing.py,sha256=Xqkq2byJjNNK9vJjHG2O3cMf6xuKIyySjk8yv6Le2T8,3985
214
214
  ngsolve/utils.py,sha256=V2yVF4K3uv1007-DEs_GrzJ3BOOh09c4lDGGR1Xw-PU,4557
215
215
  ngsolve/webgui.py,sha256=EUhaOtWHZy80aLXhXbHwbCQVNjRSw-BAAE50cz7Ydaw,24313
216
- ngsolve/cmake/NGSolveConfig.cmake,sha256=w1A_SU306Lvhem25aw52n3EUKnwu3c472IWzdd__MTo,5052
216
+ ngsolve/cmake/NGSolveConfig.cmake,sha256=-TzEEHXZYoyjIP3E-azwViJBD7DrMM_pIVRJMKUrYOo,5066
217
217
  ngsolve/cmake/ngsolve-targets-release.cmake,sha256=2dUHzaaMQX08eT7Tjti0crzp_Ah3oqW86gp5UgSufmw,3426
218
218
  ngsolve/cmake/ngsolve-targets.cmake,sha256=1cQTFW-4aJfY356XRcuslSbFClmwPOSS03bj3WL15iM,5637
219
219
  ngsolve/config/__init__.py,sha256=A00lpnUKg-q3y_b-cN3jKF9urkGTGjb2Yz_gGc9WCLs,22
220
220
  ngsolve/config/__main__.py,sha256=m8k2RrXnXR5oYaUna1dwkKNhOZBiM7EyFSE9kIcZKvo,89
221
- ngsolve/config/config.py,sha256=zbwjJC7WzZ4wWNgZqW-FSyGrn93FxTWcXE11m6cIhGQ,2439
221
+ ngsolve/config/config.py,sha256=4uy9xETHG5abmcbZHzmzik3Nymn0TPRFYypUMN22ats,2467
222
222
  ngsolve/demos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
223
223
  ngsolve/demos/TensorProduct/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
224
  ngsolve/demos/TensorProduct/tp_dg_1d_1d.py,sha256=CrJCkbJNinVYUL3DO-4DnCAMGSAhegNc0QVWiJTk3Js,2109
@@ -250,41 +250,41 @@ ngsolve/demos/mpi/mpi_cmagnet.py,sha256=HuN4lttA2q2kNWss6LZNUKraHqskRQNVEBRjkrU2
250
250
  ngsolve/demos/mpi/mpi_navierstokes.py,sha256=Sct0G6EziYVfeIeSa7_b6r3WiYXcxZekoOGsZQALx-c,2911
251
251
  ngsolve/demos/mpi/mpi_poisson.py,sha256=UvXODjpWtqIgqq7lvMJf3ZEoJZLY1Dck-82R7auiW6I,2468
252
252
  ngsolve/demos/mpi/mpi_timeDG.py,sha256=TPJZ-DwmzOpuAol-fFKeU-R2rJ74MbjOm3DDkQI9BcY,1881
253
- ngsolve-6.2.2505.data/data/Netgen.icns,sha256=Ebqct4LKxLzxdJLwGg0tTUQb1VjLwkKhtmdYhpRhKjg,291475
254
- ngsolve-6.2.2505.data/data/bin/ngscxx,sha256=TDWPvQxbPYsPFhbPU6RlApEuxCoOOzwj3J80VKMMyp8,1755
255
- ngsolve-6.2.2505.data/data/bin/ngsld,sha256=50UErkFWLTocn8GtZDTkUWmPTIqsoK5lcfBGwyP0Vnc,557
256
- ngsolve-6.2.2505.data/data/bin/ngsolve.tcl,sha256=SSBYLyp4zgl6eM17LXIiLoj1Doy-h2s4EZg6oKi6ucA,20995
257
- ngsolve-6.2.2505.data/data/bin/ngspy,sha256=OvTnzkYgC9G3IK42QJpjmXkV7Q_Arig43STSfPDsDD4,103
258
- ngsolve-6.2.2505.data/data/share/ngsolve/beam.geo,sha256=EtxklGAIo6SxZlHHC_FZHoQGZqZUDGJQSheEMFO-bJ8,387
259
- ngsolve-6.2.2505.data/data/share/ngsolve/beam.vol,sha256=aotG4VA7sIgAsPQsYkzbMP1Jta_TddG2gMCblkSPkqc,13594
260
- ngsolve-6.2.2505.data/data/share/ngsolve/chip.in2d,sha256=g6C-mcoD8-q9JtZpuh4mf4iFEZUIGvvivp4C5YYMlAw,551
261
- ngsolve-6.2.2505.data/data/share/ngsolve/chip.vol,sha256=if0yLn8E3P4mZ_X5sBcrEIp2C4ZhMysGROtB1YCkJHI,27897
262
- ngsolve-6.2.2505.data/data/share/ngsolve/coil.geo,sha256=PVD4I9ztZowKwNOUrjnoOP7Tj2KG9J0UCJFRS9EhlxU,364
263
- ngsolve-6.2.2505.data/data/share/ngsolve/coil.vol,sha256=IOZe4oPxMUa9vBGJWN4LG9M79XAruY23S2rtAh_2_98,144724
264
- ngsolve-6.2.2505.data/data/share/ngsolve/coilshield.geo,sha256=lCUDCAhfowBttSGEY_giyY0xEFInAbgVfIPwSWBb504,605
265
- ngsolve-6.2.2505.data/data/share/ngsolve/coilshield.vol,sha256=2Dq5VCX7dqGxo_ExtUhI716I-SnxhLGPawW29IR9nYY,162397
266
- ngsolve-6.2.2505.data/data/share/ngsolve/cube.geo,sha256=kbBNVUYVSf1ogV7-Xf31KXju3LCUIPaDLfvwZHMgddI,386
267
- ngsolve-6.2.2505.data/data/share/ngsolve/cube.vol,sha256=54108a3RvrTUOJSFltxUY8iiNzyWoBTtNrWM0kufj7c,90295
268
- ngsolve-6.2.2505.data/data/share/ngsolve/d10_DGdoubleglazing.pde,sha256=bPQAvbYlyvCfLzk9cOzjXDn94UFC_vBCONl7fEIaMVs,1304
269
- ngsolve-6.2.2505.data/data/share/ngsolve/d11_chip_nitsche.pde,sha256=Mq3Ap63mWqjQyXsASFAlkRQ0AWxBlY3BYYejTYd-lwg,1101
270
- ngsolve-6.2.2505.data/data/share/ngsolve/d1_square.pde,sha256=ysOroxhoAOePmB_Aswps9iGjA2qV5435iu3hOnSvN8M,1029
271
- ngsolve-6.2.2505.data/data/share/ngsolve/d2_chip.pde,sha256=AowiGbuAWEdyFUB3d1LlZeQ7rarbkqIYsj1QcWc89-A,950
272
- ngsolve-6.2.2505.data/data/share/ngsolve/d3_helmholtz.pde,sha256=nG0HxrxboI2qGoR5_LNZt7RYB7ji2o5jtkyIqTFR4y8,568
273
- ngsolve-6.2.2505.data/data/share/ngsolve/d4_cube.pde,sha256=-C4RgoVtBXZu7XHCwZy7F7pr_PGNGcRwWCFzBppq1mQ,1033
274
- ngsolve-6.2.2505.data/data/share/ngsolve/d5_beam.pde,sha256=QOYC7YN7LdcjSFeLdJu1Tlfi-lmsVsa7b9G6qoCsGo8,1985
275
- ngsolve-6.2.2505.data/data/share/ngsolve/d6_shaft.pde,sha256=Iua3INfuIUeaBk21qNg4u5KZt__H1B8BZUsy5frjhdY,1901
276
- ngsolve-6.2.2505.data/data/share/ngsolve/d7_coil.pde,sha256=-ELH2obynMJcvSOqoYT1OThXcllIcdss0ZrklLSimZw,1200
277
- ngsolve-6.2.2505.data/data/share/ngsolve/d8_coilshield.pde,sha256=WUUulvd3dsedB25sFVQgU7FgZ3B7BkbxgkXTEBglk1w,1141
278
- ngsolve-6.2.2505.data/data/share/ngsolve/d9_hybridDG.pde,sha256=drLxnz1GvCEeme-FV772cGbS-YTgeUB4G5DrbkLdapw,1479
279
- ngsolve-6.2.2505.data/data/share/ngsolve/doubleglazing.in2d,sha256=bKn7m7eCcoLimGgoO3nxhiu7Mm0lIRnbx0TJh5dC1I0,506
280
- ngsolve-6.2.2505.data/data/share/ngsolve/doubleglazing.vol,sha256=Eg-H6nl2Hd5Nr593SFCCLVTDl25kIXuddrWpd7xlrP8,34987
281
- ngsolve-6.2.2505.data/data/share/ngsolve/piezo2d40round4.vol.gz,sha256=RuxM0vtYljoAImOH6U6avt0LmWaUbGNao37n8p_Yd1w,496477
282
- ngsolve-6.2.2505.data/data/share/ngsolve/shaft.geo,sha256=aPbk4EItJSLN_PjpOejnijk74y53QBW-IPCXHvLNlVs,2434
283
- ngsolve-6.2.2505.data/data/share/ngsolve/shaft.vol,sha256=fT8qu1L-p0MkI-l3WVisKG52W5FCzO_NzXaCvMJT1V4,270450
284
- ngsolve-6.2.2505.data/data/share/ngsolve/square.in2d,sha256=evpVgNNzReABv6bIs4J_r1OFeedMppoS-TEzE-tfKgY,192
285
- ngsolve-6.2.2505.data/data/share/ngsolve/square.vol,sha256=IXIHYmq85hkFsMVZ_vEVthUnd0YTQWE4jRegjW8_ImI,9162
286
- ngsolve-6.2.2505.dist-info/LICENSE,sha256=oZDcnIBDdV2Q-LCnX6ZrnkLUr0yYC_XdxjPwEk2zzuc,26430
287
- ngsolve-6.2.2505.dist-info/METADATA,sha256=aiIE63eOW4r7hjkXoPXrgs9PRSpJE8sQb3nvlM9zGds,178
288
- ngsolve-6.2.2505.dist-info/WHEEL,sha256=YeDGh2t9OVO8eQwJ7A2CpeTltZRPMYGUji0_oep_V1g,110
289
- ngsolve-6.2.2505.dist-info/top_level.txt,sha256=1llU44DxNIP85uPT4RChsIuV3h2d0_5j0Ui_Df5vV8E,15
290
- ngsolve-6.2.2505.dist-info/RECORD,,
253
+ ngsolve-6.2.2505.post17.dev0.data/data/Netgen.icns,sha256=Ebqct4LKxLzxdJLwGg0tTUQb1VjLwkKhtmdYhpRhKjg,291475
254
+ ngsolve-6.2.2505.post17.dev0.data/data/bin/ngscxx,sha256=TDWPvQxbPYsPFhbPU6RlApEuxCoOOzwj3J80VKMMyp8,1755
255
+ ngsolve-6.2.2505.post17.dev0.data/data/bin/ngsld,sha256=50UErkFWLTocn8GtZDTkUWmPTIqsoK5lcfBGwyP0Vnc,557
256
+ ngsolve-6.2.2505.post17.dev0.data/data/bin/ngsolve.tcl,sha256=SSBYLyp4zgl6eM17LXIiLoj1Doy-h2s4EZg6oKi6ucA,20995
257
+ ngsolve-6.2.2505.post17.dev0.data/data/bin/ngspy,sha256=OvTnzkYgC9G3IK42QJpjmXkV7Q_Arig43STSfPDsDD4,103
258
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/beam.geo,sha256=EtxklGAIo6SxZlHHC_FZHoQGZqZUDGJQSheEMFO-bJ8,387
259
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/beam.vol,sha256=aotG4VA7sIgAsPQsYkzbMP1Jta_TddG2gMCblkSPkqc,13594
260
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/chip.in2d,sha256=g6C-mcoD8-q9JtZpuh4mf4iFEZUIGvvivp4C5YYMlAw,551
261
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/chip.vol,sha256=if0yLn8E3P4mZ_X5sBcrEIp2C4ZhMysGROtB1YCkJHI,27897
262
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/coil.geo,sha256=PVD4I9ztZowKwNOUrjnoOP7Tj2KG9J0UCJFRS9EhlxU,364
263
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/coil.vol,sha256=IOZe4oPxMUa9vBGJWN4LG9M79XAruY23S2rtAh_2_98,144724
264
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/coilshield.geo,sha256=lCUDCAhfowBttSGEY_giyY0xEFInAbgVfIPwSWBb504,605
265
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/coilshield.vol,sha256=2Dq5VCX7dqGxo_ExtUhI716I-SnxhLGPawW29IR9nYY,162397
266
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/cube.geo,sha256=kbBNVUYVSf1ogV7-Xf31KXju3LCUIPaDLfvwZHMgddI,386
267
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/cube.vol,sha256=54108a3RvrTUOJSFltxUY8iiNzyWoBTtNrWM0kufj7c,90295
268
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/d10_DGdoubleglazing.pde,sha256=bPQAvbYlyvCfLzk9cOzjXDn94UFC_vBCONl7fEIaMVs,1304
269
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/d11_chip_nitsche.pde,sha256=Mq3Ap63mWqjQyXsASFAlkRQ0AWxBlY3BYYejTYd-lwg,1101
270
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/d1_square.pde,sha256=ysOroxhoAOePmB_Aswps9iGjA2qV5435iu3hOnSvN8M,1029
271
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/d2_chip.pde,sha256=AowiGbuAWEdyFUB3d1LlZeQ7rarbkqIYsj1QcWc89-A,950
272
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/d3_helmholtz.pde,sha256=nG0HxrxboI2qGoR5_LNZt7RYB7ji2o5jtkyIqTFR4y8,568
273
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/d4_cube.pde,sha256=-C4RgoVtBXZu7XHCwZy7F7pr_PGNGcRwWCFzBppq1mQ,1033
274
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/d5_beam.pde,sha256=QOYC7YN7LdcjSFeLdJu1Tlfi-lmsVsa7b9G6qoCsGo8,1985
275
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/d6_shaft.pde,sha256=Iua3INfuIUeaBk21qNg4u5KZt__H1B8BZUsy5frjhdY,1901
276
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/d7_coil.pde,sha256=-ELH2obynMJcvSOqoYT1OThXcllIcdss0ZrklLSimZw,1200
277
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/d8_coilshield.pde,sha256=WUUulvd3dsedB25sFVQgU7FgZ3B7BkbxgkXTEBglk1w,1141
278
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/d9_hybridDG.pde,sha256=drLxnz1GvCEeme-FV772cGbS-YTgeUB4G5DrbkLdapw,1479
279
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/doubleglazing.in2d,sha256=bKn7m7eCcoLimGgoO3nxhiu7Mm0lIRnbx0TJh5dC1I0,506
280
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/doubleglazing.vol,sha256=Eg-H6nl2Hd5Nr593SFCCLVTDl25kIXuddrWpd7xlrP8,34987
281
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/piezo2d40round4.vol.gz,sha256=RuxM0vtYljoAImOH6U6avt0LmWaUbGNao37n8p_Yd1w,496477
282
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/shaft.geo,sha256=aPbk4EItJSLN_PjpOejnijk74y53QBW-IPCXHvLNlVs,2434
283
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/shaft.vol,sha256=fT8qu1L-p0MkI-l3WVisKG52W5FCzO_NzXaCvMJT1V4,270450
284
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/square.in2d,sha256=evpVgNNzReABv6bIs4J_r1OFeedMppoS-TEzE-tfKgY,192
285
+ ngsolve-6.2.2505.post17.dev0.data/data/share/ngsolve/square.vol,sha256=IXIHYmq85hkFsMVZ_vEVthUnd0YTQWE4jRegjW8_ImI,9162
286
+ ngsolve-6.2.2505.post17.dev0.dist-info/LICENSE,sha256=oZDcnIBDdV2Q-LCnX6ZrnkLUr0yYC_XdxjPwEk2zzuc,26430
287
+ ngsolve-6.2.2505.post17.dev0.dist-info/METADATA,sha256=QE94V2Yut8el7dMRU0xeNcyFg5eZ12PAVgXGUUQaX9M,201
288
+ ngsolve-6.2.2505.post17.dev0.dist-info/WHEEL,sha256=YeDGh2t9OVO8eQwJ7A2CpeTltZRPMYGUji0_oep_V1g,110
289
+ ngsolve-6.2.2505.post17.dev0.dist-info/top_level.txt,sha256=1llU44DxNIP85uPT4RChsIuV3h2d0_5j0Ui_Df5vV8E,15
290
+ ngsolve-6.2.2505.post17.dev0.dist-info/RECORD,,