ngsolve 6.2.2406.post36.dev1__cp313-cp313-macosx_10_15_universal2.whl → 6.2.2406.post111.dev1__cp313-cp313-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 (102) hide show
  1. netgen/include/arnoldi.hpp +3 -0
  2. netgen/include/basematrix.hpp +9 -18
  3. netgen/include/basevector.hpp +43 -71
  4. netgen/include/bilinearform.hpp +8 -59
  5. netgen/include/blockjacobi.hpp +3 -0
  6. netgen/include/cg.hpp +3 -0
  7. netgen/include/chebyshev.hpp +3 -0
  8. netgen/include/comp.hpp +0 -4
  9. netgen/include/diagonalmatrix.hpp +154 -0
  10. netgen/include/eigen.hpp +3 -0
  11. netgen/include/elementbyelement.hpp +4 -0
  12. netgen/include/elementtopology.hpp +0 -3
  13. netgen/include/fespace.hpp +11 -13
  14. netgen/include/h1amg.hpp +3 -1
  15. netgen/include/hcurlhdivfes.hpp +2 -0
  16. netgen/include/hcurlhofespace.hpp +4 -3
  17. netgen/include/hdivfes.hpp +3 -3
  18. netgen/include/hdivhosurfacefespace.hpp +3 -3
  19. netgen/include/intrule.hpp +15 -1
  20. netgen/include/jacobi.hpp +3 -0
  21. netgen/include/la.hpp +1 -13
  22. netgen/include/matrix.hpp +21 -0
  23. netgen/include/meshaccess.hpp +15 -45
  24. netgen/include/mgpre.hpp +1 -1
  25. netgen/include/multivector.hpp +2 -0
  26. netgen/include/ngsobject.hpp +1 -1
  27. netgen/include/normalfacetfespace.hpp +4 -5
  28. netgen/include/order.hpp +3 -1
  29. netgen/include/parallel_matrices.hpp +5 -0
  30. netgen/include/paralleldofs.hpp +13 -51
  31. netgen/include/parallelngs.hpp +2 -1
  32. netgen/include/parallelvector.hpp +5 -2
  33. netgen/include/pardisoinverse.hpp +1 -0
  34. netgen/include/periodic.hpp +1 -0
  35. netgen/include/preconditioner.hpp +3 -1
  36. netgen/include/sparsecholesky.hpp +4 -0
  37. netgen/include/sparsematrix.hpp +8 -41
  38. netgen/include/sparsematrix_dyn.hpp +2 -0
  39. netgen/include/sparsematrix_impl.hpp +66 -1
  40. netgen/include/special_matrix.hpp +3 -138
  41. netgen/include/tpintrule.hpp +2 -0
  42. netgen/include/umfpackinverse.hpp +1 -1
  43. netgen/include/vector.hpp +6 -1
  44. netgen/include/vvector.hpp +10 -1
  45. netgen/libngbla.dylib +0 -0
  46. netgen/libngcomp.dylib +0 -0
  47. netgen/libngfem.dylib +0 -0
  48. netgen/libngla.dylib +0 -0
  49. netgen/libngsolve.dylib +0 -0
  50. netgen/libngstd.dylib +0 -0
  51. ngsolve/__init__.pyi +2 -2
  52. ngsolve/cmake/NGSolveConfig.cmake +2 -2
  53. ngsolve/comp/__init__.pyi +94 -0
  54. ngsolve/config/__init__.pyi +6 -6
  55. ngsolve/config/config.py +5 -5
  56. ngsolve/config/config.pyi +6 -6
  57. ngsolve/config.py +5 -5
  58. ngsolve/demos/intro/poisson.py +1 -1
  59. ngsolve/directsolvers.pyi +1 -1
  60. ngsolve/krylovspace.pyi +2 -2
  61. ngsolve/ngslib.so +0 -0
  62. ngsolve/nonlinearsolvers.pyi +1 -1
  63. ngsolve/timestepping.pyi +3 -3
  64. ngsolve/timing.pyi +1 -1
  65. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/bin/ngscxx +2 -2
  66. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/bin/ngsld +1 -1
  67. {ngsolve-6.2.2406.post36.dev1.dist-info → ngsolve-6.2.2406.post111.dev1.dist-info}/METADATA +2 -2
  68. {ngsolve-6.2.2406.post36.dev1.dist-info → ngsolve-6.2.2406.post111.dev1.dist-info}/RECORD +102 -101
  69. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/Netgen.icns +0 -0
  70. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/bin/ngsolve.tcl +0 -0
  71. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/bin/ngspy +0 -0
  72. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/beam.geo +0 -0
  73. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/beam.vol +0 -0
  74. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/chip.in2d +0 -0
  75. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/chip.vol +0 -0
  76. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/coil.geo +0 -0
  77. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/coil.vol +0 -0
  78. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/coilshield.geo +0 -0
  79. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/coilshield.vol +0 -0
  80. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/cube.geo +0 -0
  81. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/cube.vol +0 -0
  82. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
  83. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
  84. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/d1_square.pde +0 -0
  85. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/d2_chip.pde +0 -0
  86. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
  87. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/d4_cube.pde +0 -0
  88. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/d5_beam.pde +0 -0
  89. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/d6_shaft.pde +0 -0
  90. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/d7_coil.pde +0 -0
  91. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
  92. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
  93. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
  94. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/doubleglazing.vol +0 -0
  95. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  96. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/shaft.geo +0 -0
  97. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/shaft.vol +0 -0
  98. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/square.in2d +0 -0
  99. {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post111.dev1.data}/data/share/ngsolve/square.vol +0 -0
  100. {ngsolve-6.2.2406.post36.dev1.dist-info → ngsolve-6.2.2406.post111.dev1.dist-info}/LICENSE +0 -0
  101. {ngsolve-6.2.2406.post36.dev1.dist-info → ngsolve-6.2.2406.post111.dev1.dist-info}/WHEEL +0 -0
  102. {ngsolve-6.2.2406.post36.dev1.dist-info → ngsolve-6.2.2406.post111.dev1.dist-info}/top_level.txt +0 -0
@@ -8,6 +8,9 @@
8
8
  /**************************************************************************/
9
9
 
10
10
 
11
+ #include "vvector.hpp"
12
+ #include "basematrix.hpp"
13
+
11
14
  namespace ngla
12
15
  {
13
16
 
@@ -555,7 +558,7 @@ namespace ngla
555
558
  virtual tuple<int,int> EntrySizes() const override { return { ngbla::Height<TM>(), ngbla::Width<TM>() }; }
556
559
 
557
560
  shared_ptr<BaseSparseMatrix>
558
- CreateTransposeTM (const function<shared_ptr<SparseMatrixTM<decltype(Trans(TM()))>>(const Array<int>&, int)> & creator) const;
561
+ CreateTransposeTM (const function<shared_ptr<SparseMatrixTM<decltype(ngbla::Trans(TM()))>>(const Array<int>&, int)> & creator) const;
559
562
 
560
563
  public:
561
564
  using BaseMatrix::GetMemoryTracer;
@@ -616,37 +619,13 @@ namespace ngla
616
619
  { return { string("SparseMatrix")+typeid(TM).name(), this->Height(), this->Width() }; }
617
620
 
618
621
  virtual shared_ptr<BaseJacobiPrecond>
619
- CreateJacobiPrecond (shared_ptr<BitArray> inner) const override
620
- {
621
- // if constexpr(mat_traits<TM>::HEIGHT != mat_traits<TM>::WIDTH) return nullptr;
622
- if constexpr(ngbla::Height<TM>() != ngbla::Width<TM>()) return nullptr;
623
- else if constexpr(ngbla::Height<TM>() > MAX_SYS_DIM) {
624
- throw Exception(string("MAX_SYS_DIM = ")+to_string(MAX_SYS_DIM)+string(", need ")+to_string(mat_traits<TM>::HEIGHT));
625
- return nullptr;
626
- }
627
- else return make_shared<JacobiPrecond<TM,TV_ROW,TV_COL>> (*this, inner);
628
- }
622
+ CreateJacobiPrecond (shared_ptr<BitArray> inner) const override;
629
623
 
630
624
  virtual shared_ptr<BaseBlockJacobiPrecond>
631
625
  CreateBlockJacobiPrecond (shared_ptr<Table<int>> blocks,
632
626
  const BaseVector * constraint = 0,
633
627
  bool parallel = 1,
634
- shared_ptr<BitArray> freedofs = NULL) const override
635
- {
636
- // if constexpr(mat_traits<TM>::HEIGHT != mat_traits<TM>::WIDTH) return nullptr;
637
- if constexpr(ngbla::Height<TM>() != ngbla::Width<TM>()) return nullptr;
638
- else if constexpr(ngbla::Height<TM>() > MAX_SYS_DIM) {
639
- throw Exception(string("MAX_SYS_DIM = ")+to_string(MAX_SYS_DIM)+string(", need ")+to_string(ngbla::Height<TM>()));
640
- return nullptr;
641
- }
642
- else
643
- // return make_shared<BlockJacobiPrecond<TM,TV_ROW,TV_COL>> (*this, blocks, parallel);
644
-
645
- return make_shared<BlockJacobiPrecond<TM,TV_ROW,TV_COL>>
646
- ( dynamic_pointer_cast<const SparseMatrix>
647
- (this->shared_from_this()),
648
- blocks, parallel);
649
- }
628
+ shared_ptr<BitArray> freedofs = NULL) const override;
650
629
 
651
630
  virtual shared_ptr<BaseMatrix> InverseMatrix (shared_ptr<BitArray> subset = nullptr) const override;
652
631
  virtual shared_ptr<BaseMatrix> InverseMatrix (shared_ptr<const Array<int>> clusters) const override;
@@ -793,24 +772,12 @@ namespace ngla
793
772
  this->AddElementMatrixSymmetric (dnums1, elmat, use_atomic);
794
773
  }
795
774
 
796
- virtual shared_ptr<BaseJacobiPrecond> CreateJacobiPrecond (shared_ptr<BitArray> inner) const override
797
- {
798
- return make_shared<JacobiPrecondSymmetric<TM,TV>> (*this, inner);
799
- }
800
-
775
+ virtual shared_ptr<BaseJacobiPrecond> CreateJacobiPrecond (shared_ptr<BitArray> inner) const override;
801
776
  virtual shared_ptr<BaseBlockJacobiPrecond>
802
777
  CreateBlockJacobiPrecond (shared_ptr<Table<int>> blocks,
803
778
  const BaseVector * constraint = 0,
804
779
  bool parallel = 1,
805
- shared_ptr<BitArray> freedofs = NULL) const override
806
- {
807
- // return make_shared<BlockJacobiPrecondSymmetric<TM,TV>> (*this, blocks);
808
- return make_shared<BlockJacobiPrecondSymmetric<TM,TV>>
809
- ( dynamic_pointer_cast<const SparseMatrixSymmetric>
810
- (this->shared_from_this()),
811
- blocks);
812
- }
813
-
780
+ shared_ptr<BitArray> freedofs = NULL) const override;
814
781
 
815
782
  virtual shared_ptr<BaseSparseMatrix> Restrict (const SparseMatrixTM<double> & prol,
816
783
  shared_ptr<BaseSparseMatrix> cmat = nullptr) const override;
@@ -8,6 +8,8 @@
8
8
  /**************************************************************************/
9
9
 
10
10
 
11
+ #include "sparsematrix.hpp"
12
+
11
13
  namespace ngla
12
14
  {
13
15
 
@@ -155,6 +155,44 @@ namespace ngla
155
155
  : SparseMatrixTM<TM> (std::move(agraph))
156
156
  { ; }
157
157
 
158
+
159
+
160
+ template <class TM, class TV_ROW, class TV_COL>
161
+ shared_ptr<BaseJacobiPrecond> SparseMatrix<TM,TV_ROW,TV_COL> ::
162
+ CreateJacobiPrecond (shared_ptr<BitArray> inner) const
163
+ {
164
+ // if constexpr(mat_traits<TM>::HEIGHT != mat_traits<TM>::WIDTH) return nullptr;
165
+ if constexpr(ngbla::Height<TM>() != ngbla::Width<TM>()) return nullptr;
166
+ else if constexpr(ngbla::Height<TM>() > MAX_SYS_DIM) {
167
+ throw Exception(string("MAX_SYS_DIM = ")+to_string(MAX_SYS_DIM)+string(", need ")+to_string(mat_traits<TM>::HEIGHT));
168
+ return nullptr;
169
+ }
170
+ else return make_shared<JacobiPrecond<TM,TV_ROW,TV_COL>> (*this, inner);
171
+ }
172
+
173
+ template <class TM, class TV_ROW, class TV_COL>
174
+ shared_ptr<BaseBlockJacobiPrecond> SparseMatrix<TM,TV_ROW,TV_COL> ::
175
+ CreateBlockJacobiPrecond (shared_ptr<Table<int>> blocks,
176
+ const BaseVector * constraint,
177
+ bool parallel,
178
+ shared_ptr<BitArray> freedofs) const
179
+ {
180
+ // if constexpr(mat_traits<TM>::HEIGHT != mat_traits<TM>::WIDTH) return nullptr;
181
+ if constexpr(ngbla::Height<TM>() != ngbla::Width<TM>()) return nullptr;
182
+ else if constexpr(ngbla::Height<TM>() > MAX_SYS_DIM) {
183
+ throw Exception(string("MAX_SYS_DIM = ")+to_string(MAX_SYS_DIM)+string(", need ")+to_string(ngbla::Height<TM>()));
184
+ return nullptr;
185
+ }
186
+ else
187
+ // return make_shared<BlockJacobiPrecond<TM,TV_ROW,TV_COL>> (*this, blocks, parallel);
188
+
189
+ return make_shared<BlockJacobiPrecond<TM,TV_ROW,TV_COL>>
190
+ ( dynamic_pointer_cast<const SparseMatrix>
191
+ (this->shared_from_this()),
192
+ blocks, parallel);
193
+ }
194
+
195
+
158
196
 
159
197
  template <class TM, class TV_ROW, class TV_COL>
160
198
  void SparseMatrix<TM,TV_ROW,TV_COL> ::
@@ -602,7 +640,7 @@ namespace ngla
602
640
 
603
641
  template <class TM>
604
642
  shared_ptr<BaseSparseMatrix> SparseMatrixTM<TM> ::
605
- CreateTransposeTM (const function<shared_ptr<SparseMatrixTM<decltype(Trans(TM()))>>(const Array<int>&,int)> & creator) const
643
+ CreateTransposeTM (const function<shared_ptr<SparseMatrixTM<decltype(ngbla::Trans(TM()))>>(const Array<int>&,int)> & creator) const
606
644
  {
607
645
  Array<int> cnt(this->Width());
608
646
  cnt = 0;
@@ -750,7 +788,34 @@ namespace ngla
750
788
  {
751
789
  ;
752
790
  }
791
+
792
+
793
+ template <class TM, class TV>
794
+ shared_ptr<BaseJacobiPrecond>
795
+ SparseMatrixSymmetric<TM,TV> :: CreateJacobiPrecond (shared_ptr<BitArray> inner) const
796
+ {
797
+ return make_shared<JacobiPrecondSymmetric<TM,TV>> (*this, inner);
798
+ }
799
+
753
800
 
801
+ template <class TM, class TV>
802
+ shared_ptr<BaseBlockJacobiPrecond>
803
+ SparseMatrixSymmetric<TM,TV> :: CreateBlockJacobiPrecond (shared_ptr<Table<int>> blocks,
804
+ const BaseVector * constraint,
805
+ bool parallel,
806
+ shared_ptr<BitArray> freedofs) const
807
+ {
808
+ // return make_shared<BlockJacobiPrecondSymmetric<TM,TV>> (*this, blocks);
809
+ return make_shared<BlockJacobiPrecondSymmetric<TM,TV>>
810
+ ( dynamic_pointer_cast<const SparseMatrixSymmetric>
811
+ (this->shared_from_this()),
812
+ blocks);
813
+ }
814
+
815
+
816
+
817
+
818
+
754
819
  template <class TM, class TV>
755
820
  void SparseMatrixSymmetric<TM,TV> ::
756
821
  MultAdd (double s, const BaseVector & x, BaseVector & y) const
@@ -7,147 +7,12 @@
7
7
  /* Date: 14 Mar. 02 */
8
8
  /* ************************************************************************/
9
9
 
10
+ #include "basematrix.hpp"
11
+ #include "vvector.hpp"
12
+
10
13
  namespace ngla
11
14
  {
12
15
 
13
-
14
- class NGS_DLL_HEADER Projector : public BaseMatrix
15
- {
16
- shared_ptr<BitArray> bits;
17
- bool keep_values;
18
- public:
19
- // projector on true / false bits
20
- Projector (shared_ptr<BitArray> abits, bool akeep_values = true)
21
- : bits(abits), keep_values(akeep_values) { ; }
22
-
23
- virtual bool IsComplex() const override { return false; }
24
-
25
- virtual int VHeight() const override { return bits->Size(); }
26
- virtual int VWidth() const override { return bits->Size(); }
27
-
28
- virtual void Mult (const BaseVector & x, BaseVector & y) const override;
29
- virtual void MultTrans (const BaseVector & x, BaseVector & y) const override;
30
- virtual void MultAdd (double s, const BaseVector & x, BaseVector & y) const override;
31
- virtual void MultTransAdd (double s, const BaseVector & x, BaseVector & y) const override;
32
- virtual void Project (BaseVector & x) const;
33
- virtual void SetValues (BaseVector & x, double val) const;
34
-
35
- bool KeepValues() const { return keep_values; }
36
- shared_ptr<BitArray> Mask() const { return bits; }
37
-
38
- virtual shared_ptr<BaseSparseMatrix> CreateSparseMatrix() const override;
39
-
40
- AutoVector CreateRowVector() const override
41
- { throw Exception("CreateRowVector not implemented for Projector!"); }
42
- AutoVector CreateColVector() const override
43
- { throw Exception("CreateColVector not implemented for Projector!"); }
44
-
45
- AutoVector Evaluate(BaseVector & v) const override
46
- {
47
- auto res = v.CreateVector();
48
- Mult (v, res);
49
- return res;
50
- }
51
-
52
- };
53
-
54
-
55
- template <typename TM=double>
56
- class NGS_DLL_HEADER DiagonalMatrix : public BaseMatrix
57
- {
58
- shared_ptr<VVector<TM>> diag;
59
- public:
60
- // typedef typename mat_traits<TM>::TV_ROW TV_ROW;
61
- // typedef typename mat_traits<TM>::TV_COL TV_COL;
62
- typedef typename mat_traits<TM>::TSCAL TSCAL;
63
-
64
- DiagonalMatrix(size_t h)
65
- : diag(make_shared<VVector<TM>>(h)) { }
66
- DiagonalMatrix(const VVector<TM> & diag_)
67
- : diag(make_shared<VVector<TM>>(diag_)) { }
68
- DiagonalMatrix(shared_ptr<VVector<TM>> diag_)
69
- : diag(diag_) { }
70
-
71
- bool IsComplex() const override { return false; }
72
- TM & operator() (size_t i) { return (*diag)(i); }
73
- const TM & operator() (size_t i) const { return (*diag)(i); }
74
- int VHeight() const override { return diag->Size(); }
75
- int VWidth() const override { return diag->Size(); }
76
-
77
- BaseVector & AsVector() override { return *diag; }
78
- const BaseVector & AsVector() const override { return *diag; }
79
- ostream & Print (ostream & ost) const override;
80
-
81
- virtual shared_ptr<BaseSparseMatrix> CreateSparseMatrix() const override;
82
-
83
- AutoVector CreateRowVector () const override;
84
- AutoVector CreateColVector () const override;
85
-
86
- void MultAdd (double s, const BaseVector & x, BaseVector & y) const override;
87
- void MultTransAdd (double s, const BaseVector & x, BaseVector & y) const override;
88
-
89
- shared_ptr<BaseMatrix> InverseMatrix (shared_ptr<BitArray> subset = nullptr) const override;
90
- };
91
-
92
-
93
- template <typename TM=double>
94
- class BlockDiagonalMatrix : public BaseMatrix
95
- {
96
- Tensor<3,TM> blockdiag;
97
- int blocks, dimy, dimx;
98
- public:
99
- // typedef double TSCAL;
100
-
101
- BlockDiagonalMatrix(Tensor<3,TM> _blockdiag);
102
- bool IsComplex() const override { return ngbla::IsComplex<TM>(); }
103
-
104
- int VHeight() const override { return blocks*dimy; }
105
- int VWidth() const override { return blocks*dimx; }
106
-
107
- ostream & Print (ostream & ost) const override;
108
-
109
- AutoVector CreateRowVector () const override;
110
- AutoVector CreateColVector () const override;
111
-
112
- void Mult (const BaseVector & x, BaseVector & y) const override;
113
- void MultAdd (double s, const BaseVector & x, BaseVector & y) const override;
114
- void MultTransAdd (double s, const BaseVector & x, BaseVector & y) const override;
115
-
116
- shared_ptr<BaseMatrix> InverseMatrix (shared_ptr<BitArray> subset = nullptr) const override;
117
- };
118
-
119
- // blocks is inner-most dimension of tensor and vectors
120
- class BlockDiagonalMatrixSoA : public BaseMatrix
121
- {
122
- Tensor<3> blockdiag;
123
- int blocks, dimy, dimx;
124
- Matrix<double> nonzero;
125
- public:
126
- typedef double TSCAL;
127
-
128
- BlockDiagonalMatrixSoA(Tensor<3> _blockdiag);
129
- bool IsComplex() const override { return false; }
130
-
131
- int VHeight() const override { return blocks*dimy; }
132
- int VWidth() const override { return blocks*dimx; }
133
-
134
- ostream & Print (ostream & ost) const override;
135
- virtual BaseMatrix::OperatorInfo GetOperatorInfo () const override;
136
-
137
- AutoVector CreateRowVector () const override;
138
- AutoVector CreateColVector () const override;
139
-
140
- void MultAdd (double s, const BaseVector & x, BaseVector & y) const override;
141
- void MultTransAdd (double s, const BaseVector & x, BaseVector & y) const override;
142
- // shared_ptr<BaseMatrix> InverseMatrix (shared_ptr<BitArray> subset = nullptr) const override;
143
-
144
- FlatTensor<3> GetBlockDiag () const { return blockdiag; }
145
- FlatMatrix<double> GetNonZeroPattern() const { return nonzero; }
146
- };
147
-
148
-
149
-
150
-
151
16
  // Convert RowMajor to ColMajor matrix (stored as vector)
152
17
  class TransposeVector : public BaseMatrix
153
18
  {
@@ -46,6 +46,8 @@ namespace ngfem
46
46
  { throw Exception("TPMappedIntegrationRule::Range not implemented"); }
47
47
  virtual SliceMatrix<> GetPoints() const
48
48
  { throw Exception("TPMappedIntegrationRule::GetPoints not implemented"); }
49
+ virtual SliceMatrix<> GetNormals() const
50
+ { throw Exception("TPMappedIntegrationRule::GetNormals not implemented"); }
49
51
  virtual void ComputeNormalsAndMeasure (ELEMENT_TYPE et, int facetnr)
50
52
  { throw Exception("TPMappedIntegrationRule::ComputeNormalsAndMeasure not implemented"); }
51
53
  virtual bool IsComplex() const
@@ -18,7 +18,7 @@
18
18
  ////////////////////////////////////////////////////////////////////////////////
19
19
 
20
20
  #include <umfpack.h>
21
-
21
+ #include "sparsecholesky.hpp" // for SparseFactorization
22
22
  namespace ngla
23
23
  {
24
24
 
netgen/include/vector.hpp CHANGED
@@ -338,7 +338,12 @@ namespace ngbla
338
338
  {
339
339
  NETGEN_CHECK_RANGE(next,first,Size()+1);
340
340
  return VectorView<T,size_t,TDIST> (next-first, dist, data+first*dist);
341
- }
341
+ }
342
+
343
+ INLINE auto Range (size_t next) const
344
+ {
345
+ return Range(0, next);
346
+ }
342
347
 
343
348
  INLINE auto Range (IntRange range) const
344
349
  {
@@ -1,3 +1,8 @@
1
+ #ifndef FILE_VVECTOR
2
+ #define FILE_VVECTOR
3
+
4
+ #include "basevector.hpp"
5
+
1
6
  namespace ngla
2
7
  {
3
8
 
@@ -13,7 +18,7 @@ namespace ngla
13
18
  {
14
19
  protected:
15
20
  TSCAL * pdata;
16
- int es;
21
+ int es; // entry size in in term of TSCALs
17
22
  bool ownmem;
18
23
 
19
24
  public:
@@ -197,3 +202,7 @@ namespace ngla
197
202
  extern template class VVector<double>;
198
203
  extern template class VVector<Complex>;
199
204
  }
205
+
206
+
207
+
208
+ #endif
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/libngsolve.dylib CHANGED
Binary file
netgen/libngstd.dylib CHANGED
Binary file
ngsolve/__init__.pyi CHANGED
@@ -88,8 +88,8 @@ from ngsolve.fem import BSpline
88
88
  from ngsolve.fem import BlockBFI
89
89
  from ngsolve.fem import BlockLFI
90
90
  from ngsolve.fem import CacheCF
91
- from ngsolve.fem import CoefficientFunction as CF
92
91
  from ngsolve.fem import CoefficientFunction
92
+ from ngsolve.fem import CoefficientFunction as CF
93
93
  from ngsolve.fem import Cof
94
94
  from ngsolve.fem import CompoundBFI
95
95
  from ngsolve.fem import CompoundLFI
@@ -217,7 +217,7 @@ TET: fem.ET # value = <ET.TET: 20>
217
217
  TRIG: fem.ET # value = <ET.TRIG: 10>
218
218
  VERTEX: fem.NODE_TYPE # value = <NODE_TYPE.VERTEX: 0>
219
219
  VOL: comp.VorB # value = <VorB.VOL: 0>
220
- __version__: str = '6.2.2406-36-g8138ad5f1'
220
+ __version__: str = '6.2.2406-111-g5c9ac9808'
221
221
  ds: comp.DifferentialSymbol # value = <ngsolve.comp.DifferentialSymbol object>
222
222
  dx: comp.DifferentialSymbol # value = <ngsolve.comp.DifferentialSymbol object>
223
223
  ngsglobals: comp.GlobalVariables # value = <ngsolve.comp.GlobalVariables object>
@@ -1,4 +1,4 @@
1
- set(PACKAGE_VERSION "6.2.2406-36-g8138ad5f1")
1
+ set(PACKAGE_VERSION "6.2.2406-111-g5c9ac9808")
2
2
  find_package(Netgen CONFIG REQUIRED HINTS
3
3
  ${CMAKE_CURRENT_LIST_DIR}
4
4
  ${CMAKE_CURRENT_LIST_DIR}/..
@@ -50,7 +50,7 @@ set(NGSOLVE_USE_VTUNE OFF)
50
50
  set(NGSOLVE_MAX_SYS_DIM 3)
51
51
 
52
52
  set(NGSOLVE_COMPILE_FLAGS " -DHAVE_NETGEN_SOURCES -DHAVE_DLFCN_H -DHAVE_CXA_DEMANGLE -DUSE_TIMEOFDAY -DMSG_NOSIGNAL=0 -DTCL -DLAPACK -DNGS_PYTHON -DUSE_UMFPACK -DNETGEN_PYTHON -DNG_PYTHON -DPYBIND11_SIMPLE_GIL_MANAGEMENT -DPARALLEL -DNG_MPI_WRAPPER" CACHE STRING "Preprocessor definitions of ngscxx")
53
- set(NGSOLVE_LINK_FLAGS "-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk -L$Netgen_BUNDLE/Contents/MacOS -undefined dynamic_lookup" CACHE STRING "Link flags set in ngsld")
53
+ set(NGSOLVE_LINK_FLAGS "-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX15.2.sdk -L$Netgen_BUNDLE/Contents/MacOS -undefined dynamic_lookup" CACHE STRING "Link flags set in ngsld")
54
54
  set(NGSOLVE_INCLUDE_DIRS /Library/Frameworks/Python.framework/Versions/3.13/include/python3.13 CACHE STRING "Include dirs set in ngscxx")
55
55
 
56
56
  set(NGSOLVE_INSTALL_DIR_PYTHON .)
ngsolve/comp/__init__.pyi CHANGED
@@ -479,6 +479,13 @@ class Compress(FESpace):
479
479
  OLDSTYLE .. as it used to be for the last decade
480
480
  print: bool = False
481
481
  (historic) print some output into file set by 'SetTestoutFile'
482
+ segmorder: none
483
+ trigorder: none
484
+ quadorder: none
485
+ tetorder: none
486
+ hexorder: none
487
+ prismorder: none
488
+ pyramidorder: none
482
489
  """
483
490
  def GetActiveDofs(self) -> pyngcore.pyngcore.BitArray:
484
491
  ...
@@ -586,6 +593,13 @@ class Discontinuous(FESpace, NGS_Object):
586
593
  OLDSTYLE .. as it used to be for the last decade
587
594
  print: bool = False
588
595
  (historic) print some output into file set by 'SetTestoutFile'
596
+ segmorder: none
597
+ trigorder: none
598
+ quadorder: none
599
+ tetorder: none
600
+ hexorder: none
601
+ prismorder: none
602
+ pyramidorder: none
589
603
  """
590
604
  def __getstate__(self) -> tuple:
591
605
  ...
@@ -749,6 +763,13 @@ class FESpace(NGS_Object):
749
763
  OLDSTYLE .. as it used to be for the last decade
750
764
  print: bool = False
751
765
  (historic) print some output into file set by 'SetTestoutFile'
766
+ segmorder: none
767
+ trigorder: none
768
+ quadorder: none
769
+ tetorder: none
770
+ hexorder: none
771
+ prismorder: none
772
+ pyramidorder: none
752
773
  """
753
774
  __hash__: typing.ClassVar[None] = None
754
775
  @staticmethod
@@ -1282,6 +1303,13 @@ class GlobalInterfaceSpace(FESpace):
1282
1303
  OLDSTYLE .. as it used to be for the last decade
1283
1304
  print: bool = False
1284
1305
  (historic) print some output into file set by 'SetTestoutFile'
1306
+ segmorder: none
1307
+ trigorder: none
1308
+ quadorder: none
1309
+ tetorder: none
1310
+ hexorder: none
1311
+ prismorder: none
1312
+ pyramidorder: none
1285
1313
  """
1286
1314
  def __init__(self, mesh: Mesh, mapping: ngsolve.fem.CoefficientFunction, definedon: Region | None = None, periodic: bool = False, periodicu: bool = False, periodicv: bool = False, order: int = 3, complex: bool = False, polar: bool = False, autoupdate: bool = False) -> None:
1287
1315
  ...
@@ -2311,6 +2339,13 @@ class Hidden(FESpace, NGS_Object):
2311
2339
  OLDSTYLE .. as it used to be for the last decade
2312
2340
  print: bool = False
2313
2341
  (historic) print some output into file set by 'SetTestoutFile'
2342
+ segmorder: none
2343
+ trigorder: none
2344
+ quadorder: none
2345
+ tetorder: none
2346
+ hexorder: none
2347
+ prismorder: none
2348
+ pyramidorder: none
2314
2349
  """
2315
2350
  def __init__(self, fespace: FESpace, **kwargs) -> None:
2316
2351
  ...
@@ -2691,6 +2726,13 @@ class MatrixValued(ProductSpace):
2691
2726
  OLDSTYLE .. as it used to be for the last decade
2692
2727
  print: bool = False
2693
2728
  (historic) print some output into file set by 'SetTestoutFile'
2729
+ segmorder: none
2730
+ trigorder: none
2731
+ quadorder: none
2732
+ tetorder: none
2733
+ hexorder: none
2734
+ prismorder: none
2735
+ pyramidorder: none
2694
2736
  """
2695
2737
  def __init__(self, space: FESpace, dim: int | None = None, symmetric: bool = False, deviatoric: bool = False, skewsymmetric: bool = False, autoupdate: bool = False) -> None:
2696
2738
  ...
@@ -3531,6 +3573,13 @@ class Periodic(FESpace):
3531
3573
  OLDSTYLE .. as it used to be for the last decade
3532
3574
  print: bool = False
3533
3575
  (historic) print some output into file set by 'SetTestoutFile'
3576
+ segmorder: none
3577
+ trigorder: none
3578
+ quadorder: none
3579
+ tetorder: none
3580
+ hexorder: none
3581
+ prismorder: none
3582
+ pyramidorder: none
3534
3583
  """
3535
3584
  def __getstate__(self) -> tuple:
3536
3585
  ...
@@ -3538,6 +3587,9 @@ class Periodic(FESpace):
3538
3587
  ...
3539
3588
  def __setstate__(self, arg0: tuple) -> None:
3540
3589
  ...
3590
+ @property
3591
+ def dofmap(self) -> pyngcore.pyngcore.Array_I_S:
3592
+ ...
3541
3593
  class PlateauFESpace(FESpace):
3542
3594
  """
3543
3595
  PlateauFESpace
@@ -3585,6 +3637,13 @@ class PlateauFESpace(FESpace):
3585
3637
  OLDSTYLE .. as it used to be for the last decade
3586
3638
  print: bool = False
3587
3639
  (historic) print some output into file set by 'SetTestoutFile'
3640
+ segmorder: none
3641
+ trigorder: none
3642
+ quadorder: none
3643
+ tetorder: none
3644
+ hexorder: none
3645
+ prismorder: none
3646
+ pyramidorder: none
3588
3647
  """
3589
3648
  def __init__(self, arg0: FESpace, arg1: list[Region]) -> None:
3590
3649
  ...
@@ -3665,6 +3724,13 @@ class ProductSpace(FESpace):
3665
3724
  OLDSTYLE .. as it used to be for the last decade
3666
3725
  print: bool = False
3667
3726
  (historic) print some output into file set by 'SetTestoutFile'
3727
+ segmorder: none
3728
+ trigorder: none
3729
+ quadorder: none
3730
+ tetorder: none
3731
+ hexorder: none
3732
+ prismorder: none
3733
+ pyramidorder: none
3668
3734
  """
3669
3735
  def Embedding(self, component: int) -> BaseMatrix:
3670
3736
  """
@@ -3839,6 +3905,13 @@ class QuasiPeriodicC(Periodic):
3839
3905
  OLDSTYLE .. as it used to be for the last decade
3840
3906
  print: bool = False
3841
3907
  (historic) print some output into file set by 'SetTestoutFile'
3908
+ segmorder: none
3909
+ trigorder: none
3910
+ quadorder: none
3911
+ tetorder: none
3912
+ hexorder: none
3913
+ prismorder: none
3914
+ pyramidorder: none
3842
3915
  """
3843
3916
  def __getstate__(self) -> tuple:
3844
3917
  ...
@@ -3891,6 +3964,13 @@ class QuasiPeriodicD(Periodic):
3891
3964
  OLDSTYLE .. as it used to be for the last decade
3892
3965
  print: bool = False
3893
3966
  (historic) print some output into file set by 'SetTestoutFile'
3967
+ segmorder: none
3968
+ trigorder: none
3969
+ quadorder: none
3970
+ tetorder: none
3971
+ hexorder: none
3972
+ prismorder: none
3973
+ pyramidorder: none
3894
3974
  """
3895
3975
  def __getstate__(self) -> tuple:
3896
3976
  ...
@@ -4006,6 +4086,13 @@ class Reorder(FESpace):
4006
4086
  OLDSTYLE .. as it used to be for the last decade
4007
4087
  print: bool = False
4008
4088
  (historic) print some output into file set by 'SetTestoutFile'
4089
+ segmorder: none
4090
+ trigorder: none
4091
+ quadorder: none
4092
+ tetorder: none
4093
+ hexorder: none
4094
+ prismorder: none
4095
+ pyramidorder: none
4009
4096
  """
4010
4097
  def GetClusters(self) -> pyngcore.pyngcore.Table_I:
4011
4098
  ...
@@ -4936,6 +5023,13 @@ class VectorValued(ProductSpace):
4936
5023
  OLDSTYLE .. as it used to be for the last decade
4937
5024
  print: bool = False
4938
5025
  (historic) print some output into file set by 'SetTestoutFile'
5026
+ segmorder: none
5027
+ trigorder: none
5028
+ quadorder: none
5029
+ tetorder: none
5030
+ hexorder: none
5031
+ prismorder: none
5032
+ pyramidorder: none
4939
5033
  """
4940
5034
  def __getstate__(self) -> tuple:
4941
5035
  ...
@@ -23,14 +23,14 @@ NGSOLVE_INSTALL_DIR_INCLUDE: str = 'netgen/include'
23
23
  NGSOLVE_INSTALL_DIR_LIB: str = 'netgen'
24
24
  NGSOLVE_INSTALL_DIR_PYTHON: str = '.'
25
25
  NGSOLVE_INSTALL_DIR_RES: str = 'share'
26
- NGSOLVE_VERSION: str = '6.2.2406-36-g8138ad5f1'
27
- NGSOLVE_VERSION_GIT: str = 'v6.2.2406-36-g8138ad5f1'
28
- NGSOLVE_VERSION_HASH: str = 'g8138ad5f1'
26
+ NGSOLVE_VERSION: str = '6.2.2406-111-g5c9ac9808'
27
+ NGSOLVE_VERSION_GIT: str = 'v6.2.2406-111-g5c9ac9808'
28
+ NGSOLVE_VERSION_HASH: str = 'g5c9ac9808'
29
29
  NGSOLVE_VERSION_MAJOR: str = '6'
30
30
  NGSOLVE_VERSION_MINOR: str = '2'
31
31
  NGSOLVE_VERSION_PATCH: str = '2406'
32
- NGSOLVE_VERSION_PYTHON: str = '6.2.2406.post36.dev1'
33
- NGSOLVE_VERSION_TWEAK: str = '36'
32
+ NGSOLVE_VERSION_PYTHON: str = '6.2.2406.post111.dev1'
33
+ NGSOLVE_VERSION_TWEAK: str = '111'
34
34
  USE_CCACHE: bool = True
35
35
  USE_HYPRE: bool = False
36
36
  USE_LAPACK: bool = True
@@ -39,4 +39,4 @@ USE_MUMPS: bool = False
39
39
  USE_PARDISO: bool = False
40
40
  USE_UMFPACK: bool = True
41
41
  is_python_package: bool = True
42
- version: str = 'v6.2.2406-36-g8138ad5f1'
42
+ version: str = 'v6.2.2406-111-g5c9ac9808'