ngsolve 6.2.2504.post12.dev0__cp39-cp39-macosx_10_15_universal2.whl → 6.2.2505.post17.dev0__cp39-cp39-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 (62) hide show
  1. netgen/include/blockjacobi.hpp +17 -5
  2. netgen/include/cholesky.hpp +2 -2
  3. netgen/include/fespace.hpp +4 -2
  4. netgen/include/h1amg.hpp +24 -1
  5. netgen/include/hdiv_equations.hpp +15 -0
  6. netgen/include/hdivhofespace.hpp +2 -0
  7. netgen/include/intrule.hpp +2 -1
  8. netgen/include/jacobi.hpp +35 -18
  9. netgen/include/meshaccess.hpp +3 -2
  10. netgen/include/mptools.hpp +63 -13
  11. netgen/include/ngblas.hpp +102 -4
  12. netgen/include/sparsematrix_dyn.hpp +2 -2
  13. netgen/include/sparsematrix_impl.hpp +4 -2
  14. netgen/libngbla.dylib +0 -0
  15. netgen/libngcomp.dylib +0 -0
  16. netgen/libngfem.dylib +0 -0
  17. netgen/libngla.dylib +0 -0
  18. netgen/libngsbem.dylib +0 -0
  19. netgen/libngstd.dylib +0 -0
  20. ngsolve/cmake/NGSolveConfig.cmake +5 -5
  21. ngsolve/cmake/ngsolve-targets.cmake +1 -8
  22. ngsolve/config/config.py +6 -6
  23. ngsolve/solve_implementation.py +11 -2
  24. ngsolve/webgui.py +1 -0
  25. {ngsolve-6.2.2504.post12.dev0.dist-info → ngsolve-6.2.2505.post17.dev0.dist-info}/METADATA +2 -2
  26. {ngsolve-6.2.2504.post12.dev0.dist-info → ngsolve-6.2.2505.post17.dev0.dist-info}/RECORD +62 -62
  27. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/Netgen.icns +0 -0
  28. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/bin/ngscxx +0 -0
  29. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/bin/ngsld +0 -0
  30. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/bin/ngsolve.tcl +0 -0
  31. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/bin/ngspy +0 -0
  32. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/beam.geo +0 -0
  33. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/beam.vol +0 -0
  34. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/chip.in2d +0 -0
  35. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/chip.vol +0 -0
  36. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/coil.geo +0 -0
  37. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/coil.vol +0 -0
  38. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/coilshield.geo +0 -0
  39. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/coilshield.vol +0 -0
  40. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/cube.geo +0 -0
  41. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/cube.vol +0 -0
  42. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
  43. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
  44. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d1_square.pde +0 -0
  45. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d2_chip.pde +0 -0
  46. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
  47. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d4_cube.pde +0 -0
  48. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d5_beam.pde +0 -0
  49. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d6_shaft.pde +0 -0
  50. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d7_coil.pde +0 -0
  51. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
  52. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
  53. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
  54. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/doubleglazing.vol +0 -0
  55. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  56. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/shaft.geo +0 -0
  57. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/shaft.vol +0 -0
  58. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/square.in2d +0 -0
  59. {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/square.vol +0 -0
  60. {ngsolve-6.2.2504.post12.dev0.dist-info → ngsolve-6.2.2505.post17.dev0.dist-info}/LICENSE +0 -0
  61. {ngsolve-6.2.2504.post12.dev0.dist-info → ngsolve-6.2.2505.post17.dev0.dist-info}/WHEEL +0 -0
  62. {ngsolve-6.2.2504.post12.dev0.dist-info → ngsolve-6.2.2505.post17.dev0.dist-info}/top_level.txt +0 -0
@@ -9,6 +9,7 @@
9
9
 
10
10
 
11
11
  #include "sparsematrix.hpp"
12
+ #include "jacobi.hpp"
12
13
 
13
14
  namespace ngla
14
15
  {
@@ -16,7 +17,7 @@ namespace ngla
16
17
  /**
17
18
  Base class for Block - Jacobi and Block Gauss Seidel smoother.
18
19
  */
19
- class NGS_DLL_HEADER BaseBlockJacobiPrecond : virtual public BaseMatrix
20
+ class NGS_DLL_HEADER BaseBlockJacobiPrecond : public BaseMSMPrecond
20
21
  {
21
22
  protected:
22
23
  /// the table defining the blocks
@@ -38,6 +39,17 @@ namespace ngla
38
39
  /// deletes the table
39
40
  virtual ~BaseBlockJacobiPrecond ();
40
41
 
42
+ virtual void Smooth (BaseVector & x, const BaseVector & b, int steps = 1) const override
43
+ {
44
+ GSSmooth (x, b, steps);
45
+ }
46
+ virtual void SmoothBack (BaseVector & x, const BaseVector & b, int steps = 1) const override
47
+ {
48
+ GSSmoothBack (x, b, steps);
49
+ }
50
+
51
+
52
+
41
53
  /// performs steps Gauss-Seidel steps for the equation A x = b
42
54
  virtual void GSSmooth (BaseVector & x, const BaseVector & b,
43
55
  int steps = 1) const = 0;
@@ -101,8 +113,8 @@ namespace ngla
101
113
  The blocks are specified by a table container
102
114
  */
103
115
  template <class TM, class TV_ROW, class TV_COL>
104
- class NGS_DLL_HEADER BlockJacobiPrecond : virtual public BaseBlockJacobiPrecond,
105
- virtual public S_BaseMatrix<typename mat_traits<TM>::TSCAL>
116
+ class NGS_DLL_HEADER BlockJacobiPrecond : public BaseBlockJacobiPrecond,
117
+ public S_BaseMatrix<typename mat_traits<TM>::TSCAL>
106
118
  {
107
119
  protected:
108
120
  /// a reference to the matrix
@@ -190,8 +202,8 @@ namespace ngla
190
202
  ///
191
203
  template <class TM, class TV>
192
204
  class BlockJacobiPrecondSymmetric :
193
- virtual public BaseBlockJacobiPrecond,
194
- virtual public S_BaseMatrix<typename mat_traits<TM>::TSCAL>
205
+ public BaseBlockJacobiPrecond,
206
+ public S_BaseMatrix<typename mat_traits<TM>::TSCAL>
195
207
  {
196
208
  protected:
197
209
  shared_ptr<const SparseMatrixSymmetric<TM,TV>> mat;
@@ -503,7 +503,7 @@ namespace ngbla
503
503
 
504
504
  int n = mat.Height();
505
505
  STACK_ARRAY(T, mem, n);
506
- FlatVector<T> dinv(n, &mem);
506
+ FlatVector<T> dinv(n, &mem[0]);
507
507
 
508
508
  for (size_t i = 0; i < n; i++)
509
509
  // CalcInverse (mat(i,i), dinv(i));
@@ -528,7 +528,7 @@ namespace ngbla
528
528
  {
529
529
  size_t n = mat.Height();
530
530
  STACK_ARRAY(T,mem, n);
531
- FlatVector<T> dinv(n, &mem);
531
+ FlatVector<T> dinv(n, &mem[0]);
532
532
 
533
533
  for (size_t i = 0; i < n; i++)
534
534
  {
@@ -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
@@ -179,6 +179,14 @@ public:
179
179
  {
180
180
  return static_cast<const FEL&> (fel);
181
181
  }
182
+ static int DimRef() { return D-1; }
183
+
184
+ template <typename IP, typename MAT>
185
+ static void GenerateMatrixRef (const FiniteElement & fel, const IP & ip,
186
+ MAT && mat, LocalHeap & lh)
187
+ {
188
+ Cast(fel).CalcShape (ip, Trans(mat));
189
+ }
182
190
 
183
191
  template <typename AFEL, typename MIP, typename MAT>
184
192
  static void GenerateMatrix (const AFEL & fel, const MIP & mip,
@@ -188,6 +196,13 @@ public:
188
196
  Trans (Cast(fel).GetShape(mip.IP(),lh));
189
197
  }
190
198
 
199
+ template <typename MIP, typename MAT>
200
+ static void CalcTransformationMatrix (const MIP & bmip,
201
+ MAT & mat, LocalHeap & lh)
202
+ {
203
+ auto & mip = static_cast<const MappedIntegrationPoint<D-1,D>&>(bmip);
204
+ mat = 1./mip.GetJacobiDet() * mip.GetJacobian();
205
+ }
191
206
  /*
192
207
  template <typename AFEL, typename MIP, class TVX, class TVY>
193
208
  static void ApplyTrans (const AFEL & fel, const MIP & mip,
@@ -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
 
@@ -1525,7 +1525,8 @@ namespace ngfem
1525
1525
  else
1526
1526
  incr = 0;
1527
1527
  }
1528
-
1528
+
1529
+ virtual ~MappedIntegrationRule() { }
1529
1530
  INLINE MappedIntegrationPoint<DIM_ELEMENT, DIM_SPACE> & operator[] (size_t i) const
1530
1531
  {
1531
1532
  // return mips[i];
netgen/include/jacobi.hpp CHANGED
@@ -17,13 +17,30 @@ namespace ngla
17
17
  Jacobi and Gauss Seidel smoother
18
18
  for scalar, block and system matrices
19
19
  */
20
+
21
+ class BaseMSMPrecond : virtual public BaseMatrix
22
+ {
23
+ public:
24
+ virtual void Smooth (BaseVector & x, const BaseVector & b, int steps = 1) const = 0;
25
+ virtual void SmoothBack (BaseVector & x, const BaseVector & b, int steps = 1) const = 0;
26
+ };
20
27
 
21
- class BaseJacobiPrecond : virtual public BaseMatrix
28
+
29
+ class BaseJacobiPrecond : public BaseMSMPrecond
22
30
  {
23
31
  public:
24
- virtual void GSSmooth (BaseVector & x, const BaseVector & b) const = 0;
32
+ virtual void Smooth (BaseVector & x, const BaseVector & b, int steps = 1) const override
33
+ {
34
+ GSSmooth (x, b, steps);
35
+ }
36
+ virtual void SmoothBack (BaseVector & x, const BaseVector & b, int steps = 1) const override
37
+ {
38
+ GSSmoothBack (x, b, steps);
39
+ }
40
+
41
+ virtual void GSSmooth (BaseVector & x, const BaseVector & b, int steps = 1) const = 0;
25
42
  virtual void GSSmooth (BaseVector & x, const BaseVector & b, BaseVector & y) const = 0;
26
- virtual void GSSmoothBack (BaseVector & x, const BaseVector & b) const = 0;
43
+ virtual void GSSmoothBack (BaseVector & x, const BaseVector & b, int steps = 1) const = 0;
27
44
  };
28
45
 
29
46
 
@@ -31,7 +48,7 @@ namespace ngla
31
48
  {
32
49
  shared_ptr<BaseJacobiPrecond> jac;
33
50
  public:
34
- SymmetricGaussSeidelPrecond (const BaseSparseMatrix & mat, shared_ptr<BitArray> freedofs);
51
+ SymmetricGaussSeidelPrecond (shared_ptr<BaseSparseMatrix> mat, shared_ptr<BitArray> freedofs);
35
52
  int VHeight() const override { return jac->VHeight(); }
36
53
  int VWidth() const override { return jac->VHeight(); }
37
54
 
@@ -44,11 +61,11 @@ namespace ngla
44
61
 
45
62
  /// A Jaboci preconditioner for general sparse matrices
46
63
  template <class TM, class TV_ROW, class TV_COL>
47
- class JacobiPrecond : virtual public BaseJacobiPrecond,
48
- virtual public S_BaseMatrix<typename mat_traits<TM>::TSCAL>
64
+ class JacobiPrecond : public BaseJacobiPrecond,
65
+ public S_BaseMatrix<typename mat_traits<TM>::TSCAL>
49
66
  {
50
67
  protected:
51
- const SparseMatrix<TM,TV_ROW,TV_COL> & mat;
68
+ shared_ptr<SparseMatrix<TM,TV_ROW,TV_COL>> mat;
52
69
  ///
53
70
  shared_ptr<BitArray> inner;
54
71
  ///
@@ -60,7 +77,7 @@ namespace ngla
60
77
  typedef typename mat_traits<TM>::TSCAL TSCAL;
61
78
 
62
79
  ///
63
- JacobiPrecond (const SparseMatrix<TM,TV_ROW,TV_COL> & amat,
80
+ JacobiPrecond (shared_ptr<SparseMatrix<TM,TV_ROW,TV_COL>> amat,
64
81
  shared_ptr<BitArray> ainner = nullptr, bool use_par = true);
65
82
 
66
83
  int VHeight() const override { return height; }
@@ -74,20 +91,20 @@ namespace ngla
74
91
  void MultTransAdd (TSCAL s, const BaseVector & x, BaseVector & y) const override
75
92
  { MultAdd (s, x, y); }
76
93
  ///
77
- AutoVector CreateRowVector() const override { return mat.CreateColVector(); }
78
- AutoVector CreateColVector() const override { return mat.CreateRowVector(); }
94
+ AutoVector CreateRowVector() const override { return mat->CreateColVector(); }
95
+ AutoVector CreateColVector() const override { return mat->CreateRowVector(); }
79
96
  ///
80
- void GSSmooth (BaseVector & x, const BaseVector & b) const override;
97
+ void GSSmooth (BaseVector & x, const BaseVector & b, int steps) const override;
81
98
 
82
99
  /// computes partial residual y
83
100
  void GSSmooth (BaseVector & x, const BaseVector & b, BaseVector & y) const override
84
101
  {
85
- GSSmooth (x, b);
102
+ GSSmooth (x, b, 1);
86
103
  }
87
104
 
88
105
 
89
106
  ///
90
- void GSSmoothBack (BaseVector & x, const BaseVector & b) const override;
107
+ void GSSmoothBack (BaseVector & x, const BaseVector & b, int steps) const override;
91
108
 
92
109
  ///
93
110
  virtual void GSSmoothNumbering (BaseVector & x, const BaseVector & b,
@@ -111,23 +128,23 @@ namespace ngla
111
128
  typedef TV TVX;
112
129
 
113
130
  ///
114
- JacobiPrecondSymmetric (const SparseMatrixSymmetric<TM,TV> & amat,
131
+ JacobiPrecondSymmetric (shared_ptr<SparseMatrixSymmetric<TM,TV>> amat,
115
132
  shared_ptr<BitArray> ainner = nullptr, bool use_par = true);
116
133
 
117
134
  ///
118
- virtual void GSSmooth (BaseVector & x, const BaseVector & b) const;
135
+ virtual void GSSmooth (BaseVector & x, const BaseVector & b, int steps) const override;
119
136
 
120
137
  /// computes partial residual y
121
- virtual void GSSmooth (BaseVector & x, const BaseVector & b, BaseVector & y /* , BaseVector & help */) const;
138
+ virtual void GSSmooth (BaseVector & x, const BaseVector & b, BaseVector & y /* , BaseVector & help */) const override;
122
139
 
123
140
  ///
124
- virtual void GSSmoothBack (BaseVector & x, const BaseVector & b) const;
141
+ virtual void GSSmoothBack (BaseVector & x, const BaseVector & b, int steps) const override;
125
142
  virtual void GSSmoothBack (BaseVector & x, const BaseVector & b, BaseVector & y) const;
126
143
 
127
144
  ///
128
145
  virtual void GSSmoothNumbering (BaseVector & x, const BaseVector & b,
129
146
  const Array<int> & numbering,
130
- int forward = 1) const;
147
+ int forward = 1) const override;
131
148
  };
132
149
 
133
150
  }
@@ -1029,11 +1029,12 @@ namespace ngcomp
1029
1029
  ElementId FindElementOfPoint (FlatVector<double> point,
1030
1030
  IntegrationPoint & ip,
1031
1031
  bool build_searchtree,
1032
- const Array<int> * const indices = NULL) const;
1032
+ const Array<int> * const indices = NULL,
1033
+ double tol = 1e-4) const;
1033
1034
  ElementId FindElementOfPoint (FlatVector<double> point,
1034
1035
  IntegrationPoint & ip,
1035
1036
  bool build_searchtree,
1036
- int index) const;
1037
+ int index, double tol = 1e-4) const;
1037
1038
  int FindSurfaceElementOfPoint (FlatVector<double> point,
1038
1039
  IntegrationPoint & ip,
1039
1040
  bool build_searchtree,
@@ -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
  };
@@ -233,7 +233,8 @@ namespace ngla
233
233
  throw Exception(string("MAX_SYS_DIM = ")+to_string(MAX_SYS_DIM)+string(", need ")+to_string(mat_traits<TM>::HEIGHT));
234
234
  return nullptr;
235
235
  }
236
- else return make_shared<JacobiPrecond<TM,TV_ROW,TV_COL>> (*this, inner);
236
+ else return make_shared<JacobiPrecond<TM,TV_ROW,TV_COL>> ( dynamic_pointer_cast<SparseMatrix>
237
+ (const_cast<SparseMatrix*>(this)->shared_from_this()), inner);
237
238
  }
238
239
 
239
240
  template <class TM, class TV_ROW, class TV_COL>
@@ -860,7 +861,8 @@ namespace ngla
860
861
  shared_ptr<BaseJacobiPrecond>
861
862
  SparseMatrixSymmetric<TM,TV> :: CreateJacobiPrecond (shared_ptr<BitArray> inner) const
862
863
  {
863
- return make_shared<JacobiPrecondSymmetric<TM,TV>> (*this, inner);
864
+ return make_shared<JacobiPrecondSymmetric<TM,TV>> ( dynamic_pointer_cast<SparseMatrixSymmetric>
865
+ (const_cast<SparseMatrixSymmetric*>(this)->shared_from_this()), inner);
864
866
  }
865
867
 
866
868
 
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.2504-12-gd2e909551")
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}/..
@@ -23,15 +23,15 @@ set(NGSOLVE_PYBIND_INCLUDE_DIR "")
23
23
  set(NGSOLVE_PYTHON_INCLUDE_DIRS "/Library/Frameworks/Python.framework/Versions/3.9/include/python3.9")
24
24
  set(NGSOLVE_PYTHON_LIBRARIES "/Library/Frameworks/Python.framework/Versions/3.9/lib/libpython3.9.dylib")
25
25
  set(NGSOLVE_PYTHON_PACKAGES_INSTALL_DIR "")
26
- set(NGSOLVE_TCL_INCLUDE_PATH "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/macosx-10.15-universal2-3.9/cmake-build/dependencies/src/project_tcl/generic")
26
+ set(NGSOLVE_TCL_INCLUDE_PATH "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/netgen/_skbuild/macosx-10.15-universal2-3.9/cmake-build/dependencies/src/project_tcl/generic")
27
27
  set(NGSOLVE_TCL_LIBRARY "/Library/Frameworks/Python.framework/Versions/3.9/lib/libtclstub8.6.a")
28
28
  set(NGSOLVE_TK_DND_LIBRARY "")
29
- set(NGSOLVE_TK_INCLUDE_PATH "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/macosx-10.15-universal2-3.9/cmake-build/dependencies/src/project_tk/generic")
29
+ set(NGSOLVE_TK_INCLUDE_PATH "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/netgen/_skbuild/macosx-10.15-universal2-3.9/cmake-build/dependencies/src/project_tk/generic")
30
30
  set(NGSOLVE_TK_LIBRARY "/Library/Frameworks/Python.framework/Versions/3.9/lib/libtkstub8.6.a")
31
31
  set(NGSOLVE_X11_X11_LIB "")
32
32
  set(NGSOLVE_X11_Xmu_LIB "")
33
- set(NGSOLVE_ZLIB_INCLUDE_DIRS "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/macosx-10.15-universal2-3.9/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.9/cmake-build/dependencies/zlib/lib/libz.a")
33
+ set(NGSOLVE_ZLIB_INCLUDE_DIRS "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/netgen/_skbuild/macosx-10.15-universal2-3.9/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.9/cmake-build/dependencies/zlib/lib/libz.a")
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 ngsbem ngcomp ngsolve)
22
+ foreach(_cmake_expected_target IN ITEMS netgen_libs ngs_lapack 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}")
@@ -68,13 +68,6 @@ set_target_properties(ngs_lapack PROPERTIES
68
68
  INTERFACE_LINK_LIBRARIES "/System/Library/Frameworks/Accelerate.framework"
69
69
  )
70
70
 
71
- # Create imported target netgen_python
72
- add_library(netgen_python INTERFACE IMPORTED)
73
-
74
- set_target_properties(netgen_python PROPERTIES
75
- INTERFACE_INCLUDE_DIRECTORIES "/Library/Frameworks/Python.framework/Versions/3.9/include/python3.9"
76
- )
77
-
78
71
  # Create imported target ngstd
79
72
  add_library(ngstd SHARED IMPORTED)
80
73
 
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.2504-12-gd2e909551"
33
- NGSOLVE_VERSION_GIT = "v6.2.2504-12-gd2e909551"
34
- NGSOLVE_VERSION_PYTHON = "6.2.2504.post12.dev0"
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 = "12"
39
- NGSOLVE_VERSION_PATCH = "2504"
40
- NGSOLVE_VERSION_HASH = "gd2e909551"
38
+ NGSOLVE_VERSION_TWEAK = "17"
39
+ NGSOLVE_VERSION_PATCH = "2505"
40
+ NGSOLVE_VERSION_HASH = "g2593d4c47"
41
41
 
42
42
  CMAKE_CXX_COMPILER = "/Library/Developer/CommandLineTools/usr/bin/c++"
43
43
  CMAKE_CUDA_COMPILER = ""
@@ -59,7 +59,7 @@ class NonLinearApplication(Application):
59
59
  else:
60
60
  dirichlet_gf.Set(dirichlet, BND)
61
61
  solver.SetDirichlet(dirichlet_gf.vec)
62
- solver.Solve(**kwargs)
62
+ solver.Solve(printing=printing, **kwargs)
63
63
 
64
64
 
65
65
  class LinearApplication(Application):
@@ -91,7 +91,16 @@ class LinearApplication(Application):
91
91
  lin_solver = arg
92
92
  rhs.Assemble()
93
93
  if dirichlet is not None:
94
- if isinstance(dirichlet, Dirichlet):
94
+ if isinstance(dirichlet, list):
95
+ for i in range(len(dirichlet)):
96
+ if dirichlet[i] is not None:
97
+ if isinstance(dirichlet[i], Dirichlet):
98
+ self.gf.components[i].Set(
99
+ dirichlet[i].cf, definedon=dirichlet[i].region
100
+ )
101
+ else:
102
+ self.gf.components[i].Set(dirichlet[i], BND)
103
+ elif isinstance(dirichlet, Dirichlet):
95
104
  self.gf.Set(dirichlet.cf, definedon=dirichlet.region)
96
105
  else:
97
106
  self.gf.Set(dirichlet, BND)
ngsolve/webgui.py CHANGED
@@ -4,6 +4,7 @@ import ngsolve as ngs
4
4
  from typing import Optional
5
5
  from netgen.webgui import Draw, register_draw_type, WebGLScene, encodeData
6
6
 
7
+ np.seterr(all='ignore', divide='ignore', invalid='ignore') # , over='ignore')
7
8
 
8
9
  def updatePMinMax( pmat, pmima=None ):
9
10
  pmima_new = [ngs.Vector(pmat[:,i], copy=False).MinMax(ignore_inf=True) for i in range(3)]
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ngsolve
3
- Version: 6.2.2504.post12.dev0
3
+ Version: 6.2.2505.post17.dev0
4
4
  Summary: NGSolve
5
5
  Home-page: UNKNOWN
6
6
  Author: The NGSolve team
7
7
  License: LGPL2.1
8
8
  Platform: UNKNOWN
9
9
  License-File: LICENSE
10
- Requires-Dist: netgen-mesher (==6.2.2504.post1.dev0)
10
+ Requires-Dist: netgen-mesher (==6.2.2505.post3.dev0)
11
11
 
12
12
  UNKNOWN
13
13
 
@@ -1,10 +1,10 @@
1
- netgen/libngbla.dylib,sha256=StpWRzKt_DVnzBHeZjHHa70OZHFSmr-inPWVqApouZo,5184176
2
- netgen/libngcomp.dylib,sha256=elBkuz2uIigikBg1gvGyHoZn3OL0uPoOQHHMql9txRk,42810160
3
- netgen/libngfem.dylib,sha256=2X7Me-ELz_Lgg6Q0By8dOb4MFVrJId3EjdQnp85kDNU,51445776
4
- netgen/libngla.dylib,sha256=JINgNJqaIMoorGA22mUE2fNTzBiHYDPSsqj860GHIj8,25323120
5
- netgen/libngsbem.dylib,sha256=kZ0ORr5TNmOcv_Q1xtL9fuEiQCFh32fDVoZPtb2gc-k,4576464
1
+ netgen/libngbla.dylib,sha256=04RGMQXLSNuRVtXuv8NcWZutyOQhuo3gFEeF4jZbHC8,5343424
2
+ netgen/libngcomp.dylib,sha256=lT0InXdoexIovYDo52yByXOLM-g5trwReYpnYU9TFvw,42902784
3
+ netgen/libngfem.dylib,sha256=mGCg12FBk8-jf4KZtbLglFVRn2IhpzVZS5NeaEHukx8,51418144
4
+ netgen/libngla.dylib,sha256=mTTq_UlE020gwybL3QsgDEDaFMaPITCX4ZHN88UjITs,25308320
5
+ netgen/libngsbem.dylib,sha256=UHmdhjwlKLsayJa8DIn2fh_EzSoJGbw8KtFb8rI9-TI,5500288
6
6
  netgen/libngsolve.dylib,sha256=8WxjhbLTlBQGxquL3v1-c6dcym3Qh5qplK8t0m9rZWM,939456
7
- netgen/libngstd.dylib,sha256=eNGh0SbP7QhPILS8dFPW6gHxV9-bkDzc2SiPyZoLSvk,922880
7
+ netgen/libngstd.dylib,sha256=L3iZQkb24pypnRPeByYcCwgQRs-3LAzA3ajPRxSWd5M,922880
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
@@ -15,12 +15,12 @@ netgen/include/bessel.hpp,sha256=-6k_a2bsoY1rWgLSUvQMfm92xVLnlB28CU6Qwryj-GI,252
15
15
  netgen/include/bilinearform.hpp,sha256=1NSYi2OnleFqH9HZvDrqMbhvLKraBjMbM9sd5wIIn6k,30906
16
16
  netgen/include/bla.hpp,sha256=oPkojZCwoBdSVAmjH6yQ8PeCQMsUOahn8-xZ3PQQACc,493
17
17
  netgen/include/blockalloc.hpp,sha256=m7OLcsF3Kkm_jWnxQdzTAPeKDll-ASMU1bs_NQqXU0o,1985
18
- netgen/include/blockjacobi.hpp,sha256=no-E6nYouaO6cwvvlQdeDrMxdDnV6ZnHCpPg_4lMfn8,9356
18
+ netgen/include/blockjacobi.hpp,sha256=VQ1UvT6guthHtL1KrSdwLL8SN5Rls8xKJEs7NOohXGo,9631
19
19
  netgen/include/bspline.hpp,sha256=OvH07aW7pCFkgsfxXJ56Sm1r0YDU8OKbkucLNDLkjyA,4131
20
20
  netgen/include/calcinverse.hpp,sha256=qVQxfA34JCJhdmZCdFMYqSWy_DVjNG4J_3OyhS2L4B8,3147
21
21
  netgen/include/cg.hpp,sha256=xsi2g1jnucFX5MWj02XI9Cz2cwlUShOUhMC1BvdroTg,7787
22
22
  netgen/include/chebyshev.hpp,sha256=PLxCtgIsZtRSuvcZWYeCkwchzcWJGdBJtNhcWbwLJH4,1179
23
- netgen/include/cholesky.hpp,sha256=02kTHzICH8dmwxxukHyhb5TQLfSO0ZziXt_JBkEVVps,18577
23
+ netgen/include/cholesky.hpp,sha256=GoZrRC3ng7_3lXk0Ew9boVk18HLaC3bUyEk1PkV_j3M,18583
24
24
  netgen/include/clapack.h,sha256=L4LpLccbz12_DRpi4EWnBcEVmx_9ZXi2zddkFAcxhc4,376036
25
25
  netgen/include/code_generation.hpp,sha256=n95bVkO9Oo2cZK0Lqc7X230P_c1wpjTOUHkTFcZlsF0,8241
26
26
  netgen/include/coefficient.hpp,sha256=yPdSnbIW3asU15g6DypCvQH3FuZ1Wj52kakpoTT8DPM,73099
@@ -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
@@ -78,7 +78,7 @@ netgen/include/hcurlhofe.hpp,sha256=6NASoRfKH9kXdWGKbwXxvBFGbYVzOJ2H__bGsebj6BQ,
78
78
  netgen/include/hcurlhofe_impl.hpp,sha256=7TXHKmo1jqqmKw2kDTSkdBA1EUzhIEZtBZ9gjL7zQdo,58621
79
79
  netgen/include/hcurlhofespace.hpp,sha256=aBrf2vOW9p01-cHsh9FgA_AcU4gVH1Nt43s7nbMWYmo,5696
80
80
  netgen/include/hcurllofe.hpp,sha256=rMHdQCcXBfq-yoTYTuX9VYA6AvrrzYZuA4NOqHJnU7U,28390
81
- netgen/include/hdiv_equations.hpp,sha256=gkwpYibrhdcyClwcH8n4ijNIfODe1g45hJmLfXUAYP8,28275
81
+ netgen/include/hdiv_equations.hpp,sha256=sOsyH58VCrtYRSj91aZCVmYoLY9_Pg6MZehzUoOyRDM,28839
82
82
  netgen/include/hdivdivfe.hpp,sha256=M080aWpgapjgjnwln9L6oBEEdZwjF2RAnNBzWe45nRk,104238
83
83
  netgen/include/hdivdivsurfacespace.hpp,sha256=8lJb8AjIkubje-m4roqlZQbRLBc3uuU2oCEycZn0Lbk,2070
84
84
  netgen/include/hdivfe.hpp,sha256=Eay-KISOOiaYPs2VVFxmVwmky_TFnCUdf-SLAyjq57k,6616
@@ -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
@@ -97,10 +97,10 @@ netgen/include/hypre_precond.hpp,sha256=UjXH52siS1EkY1jWkfcbB1YyTH1y6eDaSnDja3Ty
97
97
  netgen/include/integrator.hpp,sha256=w3qWz6zijhuCW-tbfya862tHX4JazcY2m8Elf6Rc3Co,65144
98
98
  netgen/include/integratorcf.hpp,sha256=2we_yBJ3VfNxeJktLM5_33omlI7FXb7MJfyWpDRocCA,7866
99
99
  netgen/include/interpolate.hpp,sha256=hhLTubF95erlQ-3iCgSqRVqbCDUeE3f2zBWqIKHPQtI,1640
100
- netgen/include/intrule.hpp,sha256=_9a5im2qNmF6dLOSCrp8JMz6M_5GoSG2MCRhegkA1O4,80820
100
+ netgen/include/intrule.hpp,sha256=VSDdG7fpraQHY1eZFaKo7bLyfpwBjMM0Z2qJgcmYW3w,80857
101
101
  netgen/include/intrules_SauterSchwab.hpp,sha256=1HiSgmdJHNoCp1ZYY7gNFPHdanepbGtay2YJrTaYHBg,650
102
102
  netgen/include/irspace.hpp,sha256=DcpkPMFKx5nDvfLfTWKmpYuLX-X5rBuWF8Ta9e__m-A,1508
103
- netgen/include/jacobi.hpp,sha256=pIrx5vu5H0sLUiarGpu2s2__6qEWFcB7xU1ezdKSW5U,4086
103
+ netgen/include/jacobi.hpp,sha256=hFhMn5Q46_DxHGofXV_or5VCTREslMvpccV7FZCAefE,4738
104
104
  netgen/include/l2hofe.hpp,sha256=Qjg5jtkhx8cE1gUdoKslhKTqlUg9qbAbL8g4NTMCW2s,6650
105
105
  netgen/include/l2hofe_impl.hpp,sha256=-rWVybAL7QTkfNNXAz1tP4RYQcBuOVYLTZE3E502tuA,15848
106
106
  netgen/include/l2hofefo.hpp,sha256=sQhmfliTW2Ac_XLucufzbRdtSRr471i3qPFAMSByvU0,16592
@@ -109,16 +109,16 @@ netgen/include/la.hpp,sha256=pehGIv6urENIwwC37TlW5aGUwZ8c-IUWzxEZTDJd5Zk,725
109
109
  netgen/include/linearform.hpp,sha256=Perej5GsulNvaABk0N8z8kbV0KsUB3KdeKZNr3uHNDA,7069
110
110
  netgen/include/matrix.hpp,sha256=6Tg9xvyHWRmzrmK_pa15fE_V77y9pof3z78GnyzXmRE,55760
111
111
  netgen/include/memusage.hpp,sha256=H-8rWQ8UQDCnOiYQnbwvILPuPoJD8bqwiNGB2QAUa0o,1168
112
- netgen/include/meshaccess.hpp,sha256=7K6OgV987dOd-LRlJ5MGLeIjA6VSnfeE3I-hQximURU,47061
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,8 +161,8 @@ 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
165
- netgen/include/sparsematrix_impl.hpp,sha256=9ZmRhU01llR3useALAIqXcrbTwsiHadptDtcRbS_vIM,29275
164
+ netgen/include/sparsematrix_dyn.hpp,sha256=u9aWEYl6PhrevL9SPSXVE22_EIwIduDDvzY8xgIsw4Q,2656
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
168
168
  netgen/include/statushandler.hpp,sha256=Lh0Cevr7xnEoFW4QhTlNzEq9brpneGGmjAbv9o1kotY,646
@@ -207,18 +207,18 @@ ngsolve/ngscxx.py,sha256=q3t5DgE3sJazWueas8FTXJ9jZM-LVa9KbGj_RTam6V4,1293
207
207
  ngsolve/ngslib.so,sha256=KCpWZJlPkoeS2OhoDSFPwkNjAhQ2cM84B5Z5Sx4WygM,336856
208
208
  ngsolve/nonlinearsolvers.py,sha256=8Q_CrD9vjdpZRV9sj2Fth7Y_kJJl7djPgarQmTK7Xfw,8216
209
209
  ngsolve/preconditioners.py,sha256=DLRUd9wQwxXUWL1wEBAbHQbWNp71qZYOFvH5Krfa834,239
210
- ngsolve/solve_implementation.py,sha256=r51oazPIyCSpf1kK1CcRxtcKDnHq0yJTkjctct4Jq6Y,4378
210
+ ngsolve/solve_implementation.py,sha256=16itAqfpUYrznKhFBPsoaAsd2ZgYMmYW4iBA7UA3IbU,4871
211
211
  ngsolve/solvers.py,sha256=WgZ9X1x9mtQegXDu8VcTjP-wbS2EnrUS96Y8LXqeflw,304
212
212
  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
- ngsolve/webgui.py,sha256=Oz6RN1_xQ8d6oMIx-KYIRDnBmlJIgwluCtZZjUOHtCs,24233
216
- ngsolve/cmake/NGSolveConfig.cmake,sha256=ceYNWJlJA2tOLyQC-KCUNk5nxE6eLzPvJVYh690-xSw,5174
215
+ ngsolve/webgui.py,sha256=EUhaOtWHZy80aLXhXbHwbCQVNjRSw-BAAE50cz7Ydaw,24313
216
+ ngsolve/cmake/NGSolveConfig.cmake,sha256=4syfjOwEeCzjCOBbdxWI8-KLvs6vk_RnbFS_x_6CYZI,5054
217
217
  ngsolve/cmake/ngsolve-targets-release.cmake,sha256=2dUHzaaMQX08eT7Tjti0crzp_Ah3oqW86gp5UgSufmw,3426
218
- ngsolve/cmake/ngsolve-targets.cmake,sha256=gTZNJzmA9E0Jwva8X7vQwoj4whqhNxTtVuiHfyeNtDw,5889
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=2RXkEKU2QaHXsWq6lKNpneZxX74w3HnXn95E_ET98co,2465
221
+ ngsolve/config/config.py,sha256=lbmvb7WJifxljQxeSRKVw_dkr3WE8ZqopyPGqPt-c8Q,2465
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.2504.post12.dev0.data/data/Netgen.icns,sha256=Ebqct4LKxLzxdJLwGg0tTUQb1VjLwkKhtmdYhpRhKjg,291475
254
- ngsolve-6.2.2504.post12.dev0.data/data/bin/ngscxx,sha256=ELkWfd_zU4SS4gatogC7PjTVMj4mk-PuJ3Pq2zCUJa8,1751
255
- ngsolve-6.2.2504.post12.dev0.data/data/bin/ngsld,sha256=50UErkFWLTocn8GtZDTkUWmPTIqsoK5lcfBGwyP0Vnc,557
256
- ngsolve-6.2.2504.post12.dev0.data/data/bin/ngsolve.tcl,sha256=SSBYLyp4zgl6eM17LXIiLoj1Doy-h2s4EZg6oKi6ucA,20995
257
- ngsolve-6.2.2504.post12.dev0.data/data/bin/ngspy,sha256=KEtzflkZPs86Jnf7knSPWZqLlX70W7P1iyoyxbzMsec,104
258
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/beam.geo,sha256=EtxklGAIo6SxZlHHC_FZHoQGZqZUDGJQSheEMFO-bJ8,387
259
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/beam.vol,sha256=aotG4VA7sIgAsPQsYkzbMP1Jta_TddG2gMCblkSPkqc,13594
260
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/chip.in2d,sha256=g6C-mcoD8-q9JtZpuh4mf4iFEZUIGvvivp4C5YYMlAw,551
261
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/chip.vol,sha256=if0yLn8E3P4mZ_X5sBcrEIp2C4ZhMysGROtB1YCkJHI,27897
262
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/coil.geo,sha256=PVD4I9ztZowKwNOUrjnoOP7Tj2KG9J0UCJFRS9EhlxU,364
263
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/coil.vol,sha256=IOZe4oPxMUa9vBGJWN4LG9M79XAruY23S2rtAh_2_98,144724
264
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/coilshield.geo,sha256=lCUDCAhfowBttSGEY_giyY0xEFInAbgVfIPwSWBb504,605
265
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/coilshield.vol,sha256=2Dq5VCX7dqGxo_ExtUhI716I-SnxhLGPawW29IR9nYY,162397
266
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/cube.geo,sha256=kbBNVUYVSf1ogV7-Xf31KXju3LCUIPaDLfvwZHMgddI,386
267
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/cube.vol,sha256=54108a3RvrTUOJSFltxUY8iiNzyWoBTtNrWM0kufj7c,90295
268
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/d10_DGdoubleglazing.pde,sha256=bPQAvbYlyvCfLzk9cOzjXDn94UFC_vBCONl7fEIaMVs,1304
269
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/d11_chip_nitsche.pde,sha256=Mq3Ap63mWqjQyXsASFAlkRQ0AWxBlY3BYYejTYd-lwg,1101
270
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/d1_square.pde,sha256=ysOroxhoAOePmB_Aswps9iGjA2qV5435iu3hOnSvN8M,1029
271
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/d2_chip.pde,sha256=AowiGbuAWEdyFUB3d1LlZeQ7rarbkqIYsj1QcWc89-A,950
272
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/d3_helmholtz.pde,sha256=nG0HxrxboI2qGoR5_LNZt7RYB7ji2o5jtkyIqTFR4y8,568
273
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/d4_cube.pde,sha256=-C4RgoVtBXZu7XHCwZy7F7pr_PGNGcRwWCFzBppq1mQ,1033
274
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/d5_beam.pde,sha256=QOYC7YN7LdcjSFeLdJu1Tlfi-lmsVsa7b9G6qoCsGo8,1985
275
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/d6_shaft.pde,sha256=Iua3INfuIUeaBk21qNg4u5KZt__H1B8BZUsy5frjhdY,1901
276
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/d7_coil.pde,sha256=-ELH2obynMJcvSOqoYT1OThXcllIcdss0ZrklLSimZw,1200
277
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/d8_coilshield.pde,sha256=WUUulvd3dsedB25sFVQgU7FgZ3B7BkbxgkXTEBglk1w,1141
278
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/d9_hybridDG.pde,sha256=drLxnz1GvCEeme-FV772cGbS-YTgeUB4G5DrbkLdapw,1479
279
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/doubleglazing.in2d,sha256=bKn7m7eCcoLimGgoO3nxhiu7Mm0lIRnbx0TJh5dC1I0,506
280
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/doubleglazing.vol,sha256=Eg-H6nl2Hd5Nr593SFCCLVTDl25kIXuddrWpd7xlrP8,34987
281
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/piezo2d40round4.vol.gz,sha256=RuxM0vtYljoAImOH6U6avt0LmWaUbGNao37n8p_Yd1w,496477
282
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/shaft.geo,sha256=aPbk4EItJSLN_PjpOejnijk74y53QBW-IPCXHvLNlVs,2434
283
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/shaft.vol,sha256=fT8qu1L-p0MkI-l3WVisKG52W5FCzO_NzXaCvMJT1V4,270450
284
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/square.in2d,sha256=evpVgNNzReABv6bIs4J_r1OFeedMppoS-TEzE-tfKgY,192
285
- ngsolve-6.2.2504.post12.dev0.data/data/share/ngsolve/square.vol,sha256=IXIHYmq85hkFsMVZ_vEVthUnd0YTQWE4jRegjW8_ImI,9162
286
- ngsolve-6.2.2504.post12.dev0.dist-info/LICENSE,sha256=oZDcnIBDdV2Q-LCnX6ZrnkLUr0yYC_XdxjPwEk2zzuc,26430
287
- ngsolve-6.2.2504.post12.dev0.dist-info/METADATA,sha256=9cF4uJPs7LNoYnzOL3dUickwO2cMWYCi2uP41QaaooE,247
288
- ngsolve-6.2.2504.post12.dev0.dist-info/WHEEL,sha256=GUjFiIxJsa64p6UL_1XdSua8mJHV9PIo6rgmnfjsOyw,108
289
- ngsolve-6.2.2504.post12.dev0.dist-info/top_level.txt,sha256=1llU44DxNIP85uPT4RChsIuV3h2d0_5j0Ui_Df5vV8E,15
290
- ngsolve-6.2.2504.post12.dev0.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=ELkWfd_zU4SS4gatogC7PjTVMj4mk-PuJ3Pq2zCUJa8,1751
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=KEtzflkZPs86Jnf7knSPWZqLlX70W7P1iyoyxbzMsec,104
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=m_QtjpNkzWhWCiabUf-08HoW2sXYVcMhVM6ct2l8hHY,247
288
+ ngsolve-6.2.2505.post17.dev0.dist-info/WHEEL,sha256=GUjFiIxJsa64p6UL_1XdSua8mJHV9PIo6rgmnfjsOyw,108
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,,