ngsolve 6.2.2406.post36.dev1__cp39-cp39-macosx_10_15_universal2.whl → 6.2.2406.post134.dev1__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.
- netgen/include/arnoldi.hpp +3 -0
- netgen/include/basematrix.hpp +9 -18
- netgen/include/basevector.hpp +43 -71
- netgen/include/bilinearform.hpp +8 -59
- netgen/include/blockjacobi.hpp +3 -0
- netgen/include/cg.hpp +3 -0
- netgen/include/chebyshev.hpp +3 -0
- netgen/include/comp.hpp +0 -4
- netgen/include/diagonalmatrix.hpp +154 -0
- netgen/include/eigen.hpp +3 -0
- netgen/include/elementbyelement.hpp +6 -0
- netgen/include/elementtopology.hpp +0 -3
- netgen/include/fespace.hpp +11 -13
- netgen/include/h1amg.hpp +3 -1
- netgen/include/hcurlcurlfespace.hpp +78 -0
- netgen/include/hcurlhdivfes.hpp +2 -0
- netgen/include/hcurlhofespace.hpp +4 -3
- netgen/include/hdivfes.hpp +3 -3
- netgen/include/hdivhosurfacefespace.hpp +3 -3
- netgen/include/intrule.hpp +15 -1
- netgen/include/jacobi.hpp +3 -0
- netgen/include/la.hpp +1 -13
- netgen/include/matrix.hpp +21 -0
- netgen/include/meshaccess.hpp +15 -45
- netgen/include/mgpre.hpp +1 -1
- netgen/include/mptools.hpp +1 -1
- netgen/include/multivector.hpp +2 -0
- netgen/include/ngsobject.hpp +1 -1
- netgen/include/normalfacetfespace.hpp +4 -5
- netgen/include/order.hpp +3 -1
- netgen/include/parallel_matrices.hpp +5 -0
- netgen/include/paralleldofs.hpp +13 -51
- netgen/include/parallelngs.hpp +2 -1
- netgen/include/parallelvector.hpp +5 -2
- netgen/include/pardisoinverse.hpp +1 -0
- netgen/include/periodic.hpp +1 -0
- netgen/include/preconditioner.hpp +3 -1
- netgen/include/sparsecholesky.hpp +4 -0
- netgen/include/sparsematrix.hpp +11 -41
- netgen/include/sparsematrix_dyn.hpp +2 -0
- netgen/include/sparsematrix_impl.hpp +66 -1
- netgen/include/special_matrix.hpp +7 -138
- netgen/include/tpintrule.hpp +2 -0
- netgen/include/umfpackinverse.hpp +1 -1
- netgen/include/vector.hpp +6 -1
- netgen/include/vvector.hpp +10 -1
- netgen/libngbla.dylib +0 -0
- netgen/libngcomp.dylib +0 -0
- netgen/libngfem.dylib +0 -0
- netgen/libngla.dylib +0 -0
- netgen/libngsolve.dylib +0 -0
- netgen/libngstd.dylib +0 -0
- ngsolve/cmake/NGSolveConfig.cmake +2 -2
- ngsolve/config/config.py +5 -5
- ngsolve/config.py +5 -5
- ngsolve/demos/intro/poisson.py +1 -1
- ngsolve/ngslib.so +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/bin/ngscxx +2 -2
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/bin/ngsld +1 -1
- {ngsolve-6.2.2406.post36.dev1.dist-info → ngsolve-6.2.2406.post134.dev1.dist-info}/METADATA +2 -2
- {ngsolve-6.2.2406.post36.dev1.dist-info → ngsolve-6.2.2406.post134.dev1.dist-info}/RECORD +95 -93
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/Netgen.icns +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/bin/ngsolve.tcl +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/bin/ngspy +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/beam.geo +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/beam.vol +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/chip.in2d +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/chip.vol +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/coil.geo +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/coil.vol +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/coilshield.geo +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/coilshield.vol +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/cube.geo +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/cube.vol +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/d1_square.pde +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/d2_chip.pde +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/d4_cube.pde +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/d5_beam.pde +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/d6_shaft.pde +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/d7_coil.pde +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/doubleglazing.vol +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/shaft.geo +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/shaft.vol +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/square.in2d +0 -0
- {ngsolve-6.2.2406.post36.dev1.data → ngsolve-6.2.2406.post134.dev1.data}/data/share/ngsolve/square.vol +0 -0
- {ngsolve-6.2.2406.post36.dev1.dist-info → ngsolve-6.2.2406.post134.dev1.dist-info}/LICENSE +0 -0
- {ngsolve-6.2.2406.post36.dev1.dist-info → ngsolve-6.2.2406.post134.dev1.dist-info}/WHEEL +0 -0
- {ngsolve-6.2.2406.post36.dev1.dist-info → ngsolve-6.2.2406.post134.dev1.dist-info}/top_level.txt +0 -0
netgen/include/parallelngs.hpp
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#ifndef FILE_PARALLELNGS
|
|
2
2
|
#define FILE_PARALLELNGS
|
|
3
3
|
|
|
4
|
+
/*
|
|
4
5
|
#include <ngstd.hpp>
|
|
5
6
|
#include <la.hpp>
|
|
6
7
|
|
|
@@ -9,7 +10,7 @@ namespace ngparallel
|
|
|
9
10
|
using namespace ngstd;
|
|
10
11
|
using namespace ngla;
|
|
11
12
|
}
|
|
12
|
-
|
|
13
|
+
*/
|
|
13
14
|
|
|
14
15
|
#include "parallelvector.hpp"
|
|
15
16
|
#include "parallel_matrices.hpp"
|
|
@@ -7,10 +7,13 @@
|
|
|
7
7
|
/* Date: 2007,2011 */
|
|
8
8
|
/* ************************************************************************/
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
#include <vvector.hpp>
|
|
11
|
+
#include <multivector.hpp>
|
|
12
|
+
#include <paralleldofs.hpp>
|
|
11
13
|
|
|
12
14
|
namespace ngla
|
|
13
15
|
{
|
|
16
|
+
|
|
14
17
|
class NGS_DLL_HEADER ParallelBaseVector : virtual public BaseVector
|
|
15
18
|
{
|
|
16
19
|
protected:
|
|
@@ -169,7 +172,7 @@ namespace ngla
|
|
|
169
172
|
using ParallelBaseVector :: sreqs;
|
|
170
173
|
using ParallelBaseVector :: rreqs;
|
|
171
174
|
|
|
172
|
-
Table<SCAL>
|
|
175
|
+
Table<SCAL> recvvalues;
|
|
173
176
|
|
|
174
177
|
using S_BaseVectorPtr<TSCAL> :: pdata;
|
|
175
178
|
using ParallelBaseVector :: local_vec;
|
netgen/include/periodic.hpp
CHANGED
|
@@ -80,6 +80,7 @@ namespace ngcomp
|
|
|
80
80
|
{ space->VTransformVC(ei, vec, tt); }
|
|
81
81
|
|
|
82
82
|
auto & GetVertexMap() const { return vertex_map; }
|
|
83
|
+
auto & GetDofMap() const { return dofmap; }
|
|
83
84
|
protected:
|
|
84
85
|
// overload in quasiperiodic space
|
|
85
86
|
virtual void DofMapped(size_t from, size_t to, size_t idnr) { ; }
|
|
@@ -7,8 +7,10 @@
|
|
|
7
7
|
/* Date: 10. Jul. 2000 */
|
|
8
8
|
/*********************************************************************/
|
|
9
9
|
|
|
10
|
-
#include <la.hpp>
|
|
10
|
+
// #include <la.hpp>
|
|
11
|
+
#include <basematrix.hpp>
|
|
11
12
|
#include <mgpre.hpp>
|
|
13
|
+
#include <chebyshev.hpp>
|
|
12
14
|
|
|
13
15
|
namespace ngcomp
|
|
14
16
|
{
|
netgen/include/sparsematrix.hpp
CHANGED
|
@@ -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
|
|
|
@@ -149,6 +152,9 @@ namespace ngla
|
|
|
149
152
|
void CalcBalancing ();
|
|
150
153
|
const Partitioning & GetBalancing() const { return balance; }
|
|
151
154
|
|
|
155
|
+
void EmbedHeight (size_t starti, size_t newheight);
|
|
156
|
+
void EmbedWidth (size_t starti, size_t newwidth);
|
|
157
|
+
|
|
152
158
|
ostream & Print (ostream & ost) const;
|
|
153
159
|
|
|
154
160
|
virtual Array<MemoryUsage> GetMemoryUsage () const;
|
|
@@ -555,7 +561,7 @@ namespace ngla
|
|
|
555
561
|
virtual tuple<int,int> EntrySizes() const override { return { ngbla::Height<TM>(), ngbla::Width<TM>() }; }
|
|
556
562
|
|
|
557
563
|
shared_ptr<BaseSparseMatrix>
|
|
558
|
-
CreateTransposeTM (const function<shared_ptr<SparseMatrixTM<decltype(Trans(TM()))>>(const Array<int>&, int)> & creator) const;
|
|
564
|
+
CreateTransposeTM (const function<shared_ptr<SparseMatrixTM<decltype(ngbla::Trans(TM()))>>(const Array<int>&, int)> & creator) const;
|
|
559
565
|
|
|
560
566
|
public:
|
|
561
567
|
using BaseMatrix::GetMemoryTracer;
|
|
@@ -616,37 +622,13 @@ namespace ngla
|
|
|
616
622
|
{ return { string("SparseMatrix")+typeid(TM).name(), this->Height(), this->Width() }; }
|
|
617
623
|
|
|
618
624
|
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
|
-
}
|
|
625
|
+
CreateJacobiPrecond (shared_ptr<BitArray> inner) const override;
|
|
629
626
|
|
|
630
627
|
virtual shared_ptr<BaseBlockJacobiPrecond>
|
|
631
628
|
CreateBlockJacobiPrecond (shared_ptr<Table<int>> blocks,
|
|
632
629
|
const BaseVector * constraint = 0,
|
|
633
630
|
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
|
-
}
|
|
631
|
+
shared_ptr<BitArray> freedofs = NULL) const override;
|
|
650
632
|
|
|
651
633
|
virtual shared_ptr<BaseMatrix> InverseMatrix (shared_ptr<BitArray> subset = nullptr) const override;
|
|
652
634
|
virtual shared_ptr<BaseMatrix> InverseMatrix (shared_ptr<const Array<int>> clusters) const override;
|
|
@@ -793,24 +775,12 @@ namespace ngla
|
|
|
793
775
|
this->AddElementMatrixSymmetric (dnums1, elmat, use_atomic);
|
|
794
776
|
}
|
|
795
777
|
|
|
796
|
-
virtual shared_ptr<BaseJacobiPrecond> CreateJacobiPrecond (shared_ptr<BitArray> inner) const override
|
|
797
|
-
{
|
|
798
|
-
return make_shared<JacobiPrecondSymmetric<TM,TV>> (*this, inner);
|
|
799
|
-
}
|
|
800
|
-
|
|
778
|
+
virtual shared_ptr<BaseJacobiPrecond> CreateJacobiPrecond (shared_ptr<BitArray> inner) const override;
|
|
801
779
|
virtual shared_ptr<BaseBlockJacobiPrecond>
|
|
802
780
|
CreateBlockJacobiPrecond (shared_ptr<Table<int>> blocks,
|
|
803
781
|
const BaseVector * constraint = 0,
|
|
804
782
|
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
|
-
|
|
783
|
+
shared_ptr<BitArray> freedofs = NULL) const override;
|
|
814
784
|
|
|
815
785
|
virtual shared_ptr<BaseSparseMatrix> Restrict (const SparseMatrixTM<double> & prol,
|
|
816
786
|
shared_ptr<BaseSparseMatrix> cmat = nullptr) const override;
|
|
@@ -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
|
{
|
|
@@ -234,6 +99,7 @@ namespace ngla
|
|
|
234
99
|
|
|
235
100
|
virtual void MultAdd (double s, const BaseVector & x, BaseVector & y) const override;
|
|
236
101
|
virtual void MultTransAdd (double s, const BaseVector & x, BaseVector & y) const override;
|
|
102
|
+
virtual shared_ptr<BaseSparseMatrix> CreateSparseMatrix() const override;
|
|
237
103
|
};
|
|
238
104
|
|
|
239
105
|
|
|
@@ -273,6 +139,9 @@ namespace ngla
|
|
|
273
139
|
shared_ptr<BaseMatrix> GetMatrix() const { return mat; }
|
|
274
140
|
IntRange GetRange() const { return range; }
|
|
275
141
|
|
|
142
|
+
virtual shared_ptr<BaseSparseMatrix> CreateSparseMatrix() const override;
|
|
143
|
+
|
|
144
|
+
|
|
276
145
|
/*
|
|
277
146
|
virtual shared_ptr<BaseMatrix> CreateDeviceMatrix() const override
|
|
278
147
|
{
|
netgen/include/tpintrule.hpp
CHANGED
|
@@ -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
|
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
|
{
|
netgen/include/vvector.hpp
CHANGED
|
@@ -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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
set(PACKAGE_VERSION "6.2.2406-
|
|
1
|
+
set(PACKAGE_VERSION "6.2.2406-134-gde91cdff7")
|
|
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/
|
|
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.9/include/python3.9 CACHE STRING "Include dirs set in ngscxx")
|
|
55
55
|
|
|
56
56
|
set(NGSOLVE_INSTALL_DIR_PYTHON .)
|
ngsolve/config/config.py
CHANGED
|
@@ -30,15 +30,15 @@ NGSOLVE_INSTALL_DIR_INCLUDE = "netgen/include"
|
|
|
30
30
|
NGSOLVE_INSTALL_DIR_CMAKE = "ngsolve/cmake"
|
|
31
31
|
NGSOLVE_INSTALL_DIR_RES = "share"
|
|
32
32
|
|
|
33
|
-
NGSOLVE_VERSION = "6.2.2406-
|
|
34
|
-
NGSOLVE_VERSION_GIT = "v6.2.2406-
|
|
35
|
-
NGSOLVE_VERSION_PYTHON = "6.2.2406.
|
|
33
|
+
NGSOLVE_VERSION = "6.2.2406-134-gde91cdff7"
|
|
34
|
+
NGSOLVE_VERSION_GIT = "v6.2.2406-134-gde91cdff7"
|
|
35
|
+
NGSOLVE_VERSION_PYTHON = "6.2.2406.post134.dev1"
|
|
36
36
|
|
|
37
37
|
NGSOLVE_VERSION_MAJOR = "6"
|
|
38
38
|
NGSOLVE_VERSION_MINOR = "2"
|
|
39
|
-
NGSOLVE_VERSION_TWEAK = "
|
|
39
|
+
NGSOLVE_VERSION_TWEAK = "134"
|
|
40
40
|
NGSOLVE_VERSION_PATCH = "2406"
|
|
41
|
-
NGSOLVE_VERSION_HASH = "
|
|
41
|
+
NGSOLVE_VERSION_HASH = "gde91cdff7"
|
|
42
42
|
|
|
43
43
|
CMAKE_CXX_COMPILER = "/Library/Developer/CommandLineTools/usr/bin/c++"
|
|
44
44
|
CMAKE_CUDA_COMPILER = ""
|
ngsolve/config.py
CHANGED
|
@@ -30,15 +30,15 @@ NGSOLVE_INSTALL_DIR_INCLUDE = "netgen/include"
|
|
|
30
30
|
NGSOLVE_INSTALL_DIR_CMAKE = "ngsolve/cmake"
|
|
31
31
|
NGSOLVE_INSTALL_DIR_RES = "share"
|
|
32
32
|
|
|
33
|
-
NGSOLVE_VERSION = "6.2.2406-
|
|
34
|
-
NGSOLVE_VERSION_GIT = "v6.2.2406-
|
|
35
|
-
NGSOLVE_VERSION_PYTHON = "6.2.2406.
|
|
33
|
+
NGSOLVE_VERSION = "6.2.2406-134-gde91cdff7"
|
|
34
|
+
NGSOLVE_VERSION_GIT = "v6.2.2406-134-gde91cdff7"
|
|
35
|
+
NGSOLVE_VERSION_PYTHON = "6.2.2406.post134.dev1"
|
|
36
36
|
|
|
37
37
|
NGSOLVE_VERSION_MAJOR = "6"
|
|
38
38
|
NGSOLVE_VERSION_MINOR = "2"
|
|
39
|
-
NGSOLVE_VERSION_TWEAK = "
|
|
39
|
+
NGSOLVE_VERSION_TWEAK = "134"
|
|
40
40
|
NGSOLVE_VERSION_PATCH = "2406"
|
|
41
|
-
NGSOLVE_VERSION_HASH = "
|
|
41
|
+
NGSOLVE_VERSION_HASH = "gde91cdff7"
|
|
42
42
|
|
|
43
43
|
CMAKE_CXX_COMPILER = "/Library/Developer/CommandLineTools/usr/bin/c++"
|
|
44
44
|
CMAKE_CUDA_COMPILER = ""
|
ngsolve/demos/intro/poisson.py
CHANGED
ngsolve/ngslib.so
CHANGED
|
Binary file
|
|
@@ -12,6 +12,6 @@ Netgen_MACOS="$Netgen_BUNDLE/Contents/MacOS"
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
if [ -f /usr/local/bin/ccache ]
|
|
15
|
-
then /usr/local/bin/ccache $NGSCXX -O3 -DNDEBUG -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 -std=c++17 -Wno-undefined-var-template -Wno-vla-extension -DMAX_SYS_DIM=3 -Xarch_x86_64 -march=core-avx2 -fPIC -isysroot /Library/Developer/CommandLineTools/SDKs/
|
|
16
|
-
else $NGSCXX -O3 -DNDEBUG -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 -std=c++17 -Wno-undefined-var-template -Wno-vla-extension -DMAX_SYS_DIM=3 -Xarch_x86_64 -march=core-avx2 -fPIC -isysroot /Library/Developer/CommandLineTools/SDKs/
|
|
15
|
+
then /usr/local/bin/ccache $NGSCXX -O3 -DNDEBUG -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 -std=c++17 -Wno-undefined-var-template -Wno-vla-extension -DMAX_SYS_DIM=3 -Xarch_x86_64 -march=core-avx2 -fPIC -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX15.2.sdk -I/Library/Frameworks/Python.framework/Versions/3.9/include/python3.9 -I$NGSCXX_DIR/../netgen/include -I$NGSCXX_DIR/../netgen/include/include $PY_INCLUDE_FLAGS -I$Netgen_BUNDLE/Contents/Resources/include $*
|
|
16
|
+
else $NGSCXX -O3 -DNDEBUG -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 -std=c++17 -Wno-undefined-var-template -Wno-vla-extension -DMAX_SYS_DIM=3 -Xarch_x86_64 -march=core-avx2 -fPIC -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX15.2.sdk -I/Library/Frameworks/Python.framework/Versions/3.9/include/python3.9 -I$NGSCXX_DIR/../netgen/include -I$NGSCXX_DIR/../netgen/include/include $PY_INCLUDE_FLAGS -I$Netgen_BUNDLE/Contents/Resources/include $*
|
|
17
17
|
fi
|
|
@@ -10,4 +10,4 @@ export CCACHE_NOHASHDIR=1
|
|
|
10
10
|
Netgen_BUNDLE="`echo "$0" | sed -e 's/\/Contents\/MacOS\/ngsld//'`"
|
|
11
11
|
Netgen_MACOS="$Netgen_BUNDLE/Contents/MacOS"
|
|
12
12
|
|
|
13
|
-
$NGSCXX -isysroot /Library/Developer/CommandLineTools/SDKs/
|
|
13
|
+
$NGSCXX -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX15.2.sdk -L$Netgen_BUNDLE/Contents/MacOS -undefined dynamic_lookup $*
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ngsolve
|
|
3
|
-
Version: 6.2.2406.
|
|
3
|
+
Version: 6.2.2406.post134.dev1
|
|
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.2406.
|
|
10
|
+
Requires-Dist: netgen-mesher (==6.2.2406.post130.dev0)
|
|
11
11
|
|
|
12
12
|
UNKNOWN
|
|
13
13
|
|