ngsolve 6.2.2504.post12.dev0__cp310-cp310-macosx_10_15_universal2.whl → 6.2.2505.post17.dev0__cp310-cp310-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/blockjacobi.hpp +17 -5
- netgen/include/cholesky.hpp +2 -2
- netgen/include/fespace.hpp +4 -2
- netgen/include/h1amg.hpp +24 -1
- netgen/include/hdiv_equations.hpp +15 -0
- netgen/include/hdivhofespace.hpp +2 -0
- netgen/include/intrule.hpp +2 -1
- netgen/include/jacobi.hpp +35 -18
- netgen/include/meshaccess.hpp +3 -2
- netgen/include/mptools.hpp +63 -13
- netgen/include/ngblas.hpp +102 -4
- netgen/include/sparsematrix_dyn.hpp +2 -2
- netgen/include/sparsematrix_impl.hpp +4 -2
- netgen/libngbla.dylib +0 -0
- netgen/libngcomp.dylib +0 -0
- netgen/libngfem.dylib +0 -0
- netgen/libngla.dylib +0 -0
- netgen/libngsbem.dylib +0 -0
- netgen/libngstd.dylib +0 -0
- ngsolve/cmake/NGSolveConfig.cmake +5 -5
- ngsolve/cmake/ngsolve-targets.cmake +1 -8
- ngsolve/config/config.py +6 -6
- ngsolve/solve_implementation.py +11 -2
- ngsolve/webgui.py +1 -0
- {ngsolve-6.2.2504.post12.dev0.dist-info → ngsolve-6.2.2505.post17.dev0.dist-info}/METADATA +2 -2
- {ngsolve-6.2.2504.post12.dev0.dist-info → ngsolve-6.2.2505.post17.dev0.dist-info}/RECORD +62 -62
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/Netgen.icns +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/bin/ngscxx +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/bin/ngsld +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/bin/ngsolve.tcl +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/bin/ngspy +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/beam.geo +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/beam.vol +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/chip.in2d +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/chip.vol +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/coil.geo +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/coil.vol +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/coilshield.geo +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/coilshield.vol +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/cube.geo +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/cube.vol +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d1_square.pde +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d2_chip.pde +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d4_cube.pde +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d5_beam.pde +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d6_shaft.pde +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d7_coil.pde +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/doubleglazing.vol +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/shaft.geo +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/shaft.vol +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/square.in2d +0 -0
- {ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/square.vol +0 -0
- {ngsolve-6.2.2504.post12.dev0.dist-info → ngsolve-6.2.2505.post17.dev0.dist-info}/LICENSE +0 -0
- {ngsolve-6.2.2504.post12.dev0.dist-info → ngsolve-6.2.2505.post17.dev0.dist-info}/WHEEL +0 -0
- {ngsolve-6.2.2504.post12.dev0.dist-info → ngsolve-6.2.2505.post17.dev0.dist-info}/top_level.txt +0 -0
netgen/include/blockjacobi.hpp
CHANGED
|
@@ -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 :
|
|
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 :
|
|
105
|
-
|
|
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
|
-
|
|
194
|
-
|
|
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;
|
netgen/include/cholesky.hpp
CHANGED
|
@@ -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
|
{
|
netgen/include/fespace.hpp
CHANGED
|
@@ -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,
|
netgen/include/hdivhofespace.hpp
CHANGED
|
@@ -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
|
|
netgen/include/intrule.hpp
CHANGED
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
|
-
|
|
28
|
+
|
|
29
|
+
class BaseJacobiPrecond : public BaseMSMPrecond
|
|
22
30
|
{
|
|
23
31
|
public:
|
|
24
|
-
virtual void
|
|
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 (
|
|
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 :
|
|
48
|
-
|
|
64
|
+
class JacobiPrecond : public BaseJacobiPrecond,
|
|
65
|
+
public S_BaseMatrix<typename mat_traits<TM>::TSCAL>
|
|
49
66
|
{
|
|
50
67
|
protected:
|
|
51
|
-
|
|
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 (
|
|
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
|
|
78
|
-
AutoVector CreateColVector() const override { return mat
|
|
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 (
|
|
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
|
}
|
netgen/include/meshaccess.hpp
CHANGED
|
@@ -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
|
|
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,
|
netgen/include/mptools.hpp
CHANGED
|
@@ -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
|
-
|
|
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
|
-
{
|
|
53
|
+
{ return make_unique<VVector<TSCAL>> (VWidth()); }
|
|
54
54
|
AutoVector CreateColVector() const override
|
|
55
|
-
{
|
|
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>> (
|
|
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>> (
|
|
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.
|
|
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.10/include/python3.10")
|
|
24
24
|
set(NGSOLVE_PYTHON_LIBRARIES "/Library/Frameworks/Python.framework/Versions/3.10/lib/libpython3.10.dylib")
|
|
25
25
|
set(NGSOLVE_PYTHON_PACKAGES_INSTALL_DIR "")
|
|
26
|
-
set(NGSOLVE_TCL_INCLUDE_PATH "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/
|
|
26
|
+
set(NGSOLVE_TCL_INCLUDE_PATH "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/netgen/_skbuild/macosx-10.15-universal2-3.10/cmake-build/dependencies/src/project_tcl/generic")
|
|
27
27
|
set(NGSOLVE_TCL_LIBRARY "/Library/Frameworks/Python.framework/Versions/3.10/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/
|
|
29
|
+
set(NGSOLVE_TK_INCLUDE_PATH "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/netgen/_skbuild/macosx-10.15-universal2-3.10/cmake-build/dependencies/src/project_tk/generic")
|
|
30
30
|
set(NGSOLVE_TK_LIBRARY "/Library/Frameworks/Python.framework/Versions/3.10/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/
|
|
34
|
-
set(NGSOLVE_ZLIB_LIBRARIES "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/
|
|
33
|
+
set(NGSOLVE_ZLIB_INCLUDE_DIRS "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/netgen/_skbuild/macosx-10.15-universal2-3.10/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.10/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
|
|
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.10/include/python3.10"
|
|
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.
|
|
33
|
-
NGSOLVE_VERSION_GIT = "v6.2.
|
|
34
|
-
NGSOLVE_VERSION_PYTHON = "6.2.
|
|
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 = "
|
|
39
|
-
NGSOLVE_VERSION_PATCH = "
|
|
40
|
-
NGSOLVE_VERSION_HASH = "
|
|
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 = ""
|
ngsolve/solve_implementation.py
CHANGED
|
@@ -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,
|
|
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.
|
|
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.
|
|
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=
|
|
2
|
-
netgen/libngcomp.dylib,sha256=
|
|
3
|
-
netgen/libngfem.dylib,sha256=
|
|
4
|
-
netgen/libngla.dylib,sha256=
|
|
5
|
-
netgen/libngsbem.dylib,sha256=
|
|
1
|
+
netgen/libngbla.dylib,sha256=iSmy-_zc_CUppaRSGYB4slyD9RCeeUay-iF7piOZkkQ,5343120
|
|
2
|
+
netgen/libngcomp.dylib,sha256=bxMalulee1YjIgYIjuWSGddT76c1TZISj0U-RApX-1c,42901584
|
|
3
|
+
netgen/libngfem.dylib,sha256=sJLGft0YHgBOpoTQyaLileCldH26_D9n2Topc0OdeJI,51417376
|
|
4
|
+
netgen/libngla.dylib,sha256=hzPi82Ei6ReXdK-DkDekfuncTolEz7j2QBVkOOHZyeY,25308000
|
|
5
|
+
netgen/libngsbem.dylib,sha256=Je2j8_IyyAYEsBdZMsqKjd7SFKehuTewpMMqyh63QJo,5500000
|
|
6
6
|
netgen/libngsolve.dylib,sha256=1Csyic1b0bLPAl45sYsHSKVB20L48Auh4mwQLbLoot8,939136
|
|
7
|
-
netgen/libngstd.dylib,sha256=
|
|
7
|
+
netgen/libngstd.dylib,sha256=nRbe88OAQLD47nGY9XLTTGusXXB8wiKpXA5dHC2uVqg,922576
|
|
8
8
|
netgen/include/arnoldi.hpp,sha256=b8mRu9wGyaLa7z6mXCFIhxfW_xcQvsOMD6TqbfYZ05g,1437
|
|
9
9
|
netgen/include/bandmatrix.hpp,sha256=zwKz89QY53MPsWgNsl0cXEAFKka_W4sXPIO54M3eT80,7778
|
|
10
10
|
netgen/include/basematrix.hpp,sha256=6YGW07HMH7F2JWXUKOwlGZ2ZvEoP7uCSGihdrzzKPag,28634
|
|
@@ -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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
165
|
-
netgen/include/sparsematrix_impl.hpp,sha256=
|
|
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=GGAhgIujPWTc8_bmOsN2xXECOeSoJPP3bCJNUL4QbCk,336632
|
|
208
208
|
ngsolve/nonlinearsolvers.py,sha256=8Q_CrD9vjdpZRV9sj2Fth7Y_kJJl7djPgarQmTK7Xfw,8216
|
|
209
209
|
ngsolve/preconditioners.py,sha256=DLRUd9wQwxXUWL1wEBAbHQbWNp71qZYOFvH5Krfa834,239
|
|
210
|
-
ngsolve/solve_implementation.py,sha256=
|
|
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=
|
|
216
|
-
ngsolve/cmake/NGSolveConfig.cmake,sha256=
|
|
215
|
+
ngsolve/webgui.py,sha256=EUhaOtWHZy80aLXhXbHwbCQVNjRSw-BAAE50cz7Ydaw,24313
|
|
216
|
+
ngsolve/cmake/NGSolveConfig.cmake,sha256=AioHU74ZxtvojoLmtn0zgTyfC2g_VoDaXvjKCYVRPmg,5066
|
|
217
217
|
ngsolve/cmake/ngsolve-targets-release.cmake,sha256=2dUHzaaMQX08eT7Tjti0crzp_Ah3oqW86gp5UgSufmw,3426
|
|
218
|
-
ngsolve/cmake/ngsolve-targets.cmake,sha256=
|
|
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=
|
|
221
|
+
ngsolve/config/config.py,sha256=1aI8x1EvjzC-n4t_MV6QxJqW8jTwhb1KcNjA1C8JRtU,2467
|
|
222
222
|
ngsolve/demos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
223
223
|
ngsolve/demos/TensorProduct/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
224
224
|
ngsolve/demos/TensorProduct/tp_dg_1d_1d.py,sha256=CrJCkbJNinVYUL3DO-4DnCAMGSAhegNc0QVWiJTk3Js,2109
|
|
@@ -250,41 +250,41 @@ ngsolve/demos/mpi/mpi_cmagnet.py,sha256=HuN4lttA2q2kNWss6LZNUKraHqskRQNVEBRjkrU2
|
|
|
250
250
|
ngsolve/demos/mpi/mpi_navierstokes.py,sha256=Sct0G6EziYVfeIeSa7_b6r3WiYXcxZekoOGsZQALx-c,2911
|
|
251
251
|
ngsolve/demos/mpi/mpi_poisson.py,sha256=UvXODjpWtqIgqq7lvMJf3ZEoJZLY1Dck-82R7auiW6I,2468
|
|
252
252
|
ngsolve/demos/mpi/mpi_timeDG.py,sha256=TPJZ-DwmzOpuAol-fFKeU-R2rJ74MbjOm3DDkQI9BcY,1881
|
|
253
|
-
ngsolve-6.2.
|
|
254
|
-
ngsolve-6.2.
|
|
255
|
-
ngsolve-6.2.
|
|
256
|
-
ngsolve-6.2.
|
|
257
|
-
ngsolve-6.2.
|
|
258
|
-
ngsolve-6.2.
|
|
259
|
-
ngsolve-6.2.
|
|
260
|
-
ngsolve-6.2.
|
|
261
|
-
ngsolve-6.2.
|
|
262
|
-
ngsolve-6.2.
|
|
263
|
-
ngsolve-6.2.
|
|
264
|
-
ngsolve-6.2.
|
|
265
|
-
ngsolve-6.2.
|
|
266
|
-
ngsolve-6.2.
|
|
267
|
-
ngsolve-6.2.
|
|
268
|
-
ngsolve-6.2.
|
|
269
|
-
ngsolve-6.2.
|
|
270
|
-
ngsolve-6.2.
|
|
271
|
-
ngsolve-6.2.
|
|
272
|
-
ngsolve-6.2.
|
|
273
|
-
ngsolve-6.2.
|
|
274
|
-
ngsolve-6.2.
|
|
275
|
-
ngsolve-6.2.
|
|
276
|
-
ngsolve-6.2.
|
|
277
|
-
ngsolve-6.2.
|
|
278
|
-
ngsolve-6.2.
|
|
279
|
-
ngsolve-6.2.
|
|
280
|
-
ngsolve-6.2.
|
|
281
|
-
ngsolve-6.2.
|
|
282
|
-
ngsolve-6.2.
|
|
283
|
-
ngsolve-6.2.
|
|
284
|
-
ngsolve-6.2.
|
|
285
|
-
ngsolve-6.2.
|
|
286
|
-
ngsolve-6.2.
|
|
287
|
-
ngsolve-6.2.
|
|
288
|
-
ngsolve-6.2.
|
|
289
|
-
ngsolve-6.2.
|
|
290
|
-
ngsolve-6.2.
|
|
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=HFcVHkblKlDxFT-obJQYZU1pGqopDwzoO9kU6MMGS5w,1755
|
|
255
|
+
ngsolve-6.2.2505.post17.dev0.data/data/bin/ngsld,sha256=50UErkFWLTocn8GtZDTkUWmPTIqsoK5lcfBGwyP0Vnc,557
|
|
256
|
+
ngsolve-6.2.2505.post17.dev0.data/data/bin/ngsolve.tcl,sha256=SSBYLyp4zgl6eM17LXIiLoj1Doy-h2s4EZg6oKi6ucA,20995
|
|
257
|
+
ngsolve-6.2.2505.post17.dev0.data/data/bin/ngspy,sha256=KglThT4AqnzC-4q3Q_UdoOrCEvgISINlJFEChpY8GF8,106
|
|
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=vYGgz4rYivjGPkIS_2Kj6g97rQxH536HeP_jo4e1Oq8,110
|
|
289
|
+
ngsolve-6.2.2505.post17.dev0.dist-info/top_level.txt,sha256=1llU44DxNIP85uPT4RChsIuV3h2d0_5j0Ui_Df5vV8E,15
|
|
290
|
+
ngsolve-6.2.2505.post17.dev0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/bin/ngsolve.tcl
RENAMED
|
File without changes
|
|
File without changes
|
{ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/beam.geo
RENAMED
|
File without changes
|
{ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/beam.vol
RENAMED
|
File without changes
|
{ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/chip.in2d
RENAMED
|
File without changes
|
{ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/chip.vol
RENAMED
|
File without changes
|
{ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/coil.geo
RENAMED
|
File without changes
|
{ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/coil.vol
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/cube.geo
RENAMED
|
File without changes
|
{ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/cube.vol
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/shaft.geo
RENAMED
|
File without changes
|
{ngsolve-6.2.2504.post12.dev0.data → ngsolve-6.2.2505.post17.dev0.data}/data/share/ngsolve/shaft.vol
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ngsolve-6.2.2504.post12.dev0.dist-info → ngsolve-6.2.2505.post17.dev0.dist-info}/top_level.txt
RENAMED
|
File without changes
|