ngsolve 6.2.2504.post44.dev0__cp311-cp311-win_amd64.whl → 6.2.2601__cp311-cp311-win_amd64.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.
- netgen/include/analytic_integrals.hpp +10 -0
- netgen/include/basematrix.hpp +6 -0
- netgen/include/bdbequations.hpp +55 -0
- netgen/include/bem_diffops.hpp +475 -0
- netgen/include/bilinearform.hpp +4 -1
- netgen/include/bspline.hpp +2 -0
- netgen/include/code_generation.hpp +2 -2
- netgen/include/complex_wrapper.hpp +30 -2
- netgen/include/contact.hpp +8 -0
- netgen/include/diagonalmatrix.hpp +6 -0
- netgen/include/diffop_impl.hpp +3 -1
- netgen/include/diffopwithfactor.hpp +123 -0
- netgen/include/elementbyelement.hpp +9 -3
- netgen/include/expr.hpp +45 -7
- netgen/include/fespace.hpp +9 -2
- netgen/include/gridfunction.hpp +3 -3
- netgen/include/h1amg.hpp +24 -1
- netgen/include/h1lumping.hpp +6 -0
- netgen/include/hcurl_equations.hpp +29 -0
- netgen/include/hcurlcurlfe.hpp +20 -0
- netgen/include/hdivfe_utils.hpp +1 -0
- netgen/include/hdivhofespace.hpp +2 -0
- netgen/include/kernels.hpp +724 -0
- netgen/include/l2hofe.hpp +1 -0
- netgen/include/matrix.hpp +8 -3
- netgen/include/meshaccess.hpp +1 -1
- netgen/include/mp_coefficient.hpp +24 -19
- netgen/include/mptools.hpp +1255 -237
- netgen/include/mycomplex.hpp +1 -1
- netgen/include/ngblas.hpp +116 -7
- netgen/include/potentialtools.hpp +2 -2
- netgen/include/preconditioner.hpp +2 -2
- netgen/include/prolongation.hpp +6 -3
- netgen/include/recursive_pol.hpp +63 -11
- netgen/include/simd_complex.hpp +45 -0
- netgen/include/sparsecholesky.hpp +6 -2
- netgen/include/sparsefactorization_interface.hpp +159 -0
- netgen/include/sparsematrix.hpp +21 -7
- netgen/include/sparsematrix_dyn.hpp +2 -2
- netgen/include/sparsematrix_impl.hpp +100 -33
- netgen/include/statushandler.hpp +8 -8
- netgen/include/thdivfe_impl.hpp +66 -0
- netgen/include/tscalarfe.hpp +1 -1
- netgen/include/vector.hpp +272 -47
- netgen/lib/libngsolve.lib +0 -0
- netgen/libngsolve.dll +0 -0
- netgen/ngscxx.bat +1 -1
- netgen/ngsld.bat +1 -1
- ngsolve/cmake/NGSolveConfig.cmake +8 -8
- ngsolve/cmake/ngsolve-targets.cmake +17 -10
- ngsolve/config/config.py +8 -8
- ngsolve/demos/intro/cmagnet.py +19 -22
- ngsolve/directsolvers.py +9 -21
- ngsolve/krylovspace.py +172 -3
- ngsolve/ngslib.pyd +0 -0
- ngsolve/nonlinearsolvers.py +2 -2
- ngsolve/solve_implementation.py +14 -1
- ngsolve/{solvers.py → solvers/__init__.py} +1 -1
- ngsolve/solvers/cudss.py +112 -0
- ngsolve/webgui.py +1 -0
- {ngsolve-6.2.2504.post44.dev0.dist-info → ngsolve-6.2.2601.dist-info}/METADATA +2 -2
- {ngsolve-6.2.2504.post44.dev0.dist-info → ngsolve-6.2.2601.dist-info}/RECORD +94 -88
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/Scripts/ngsolve.tcl +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/beam.geo +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/beam.vol +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/chip.in2d +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/chip.vol +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/coil.geo +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/coil.vol +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/coilshield.geo +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/coilshield.vol +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/cube.geo +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/cube.vol +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/d1_square.pde +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/d2_chip.pde +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/d4_cube.pde +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/d5_beam.pde +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/d6_shaft.pde +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/d7_coil.pde +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/doubleglazing.vol +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/shaft.geo +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/shaft.vol +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/square.in2d +0 -0
- {ngsolve-6.2.2504.post44.dev0.data → ngsolve-6.2.2601.data}/data/share/ngsolve/square.vol +0 -0
- {ngsolve-6.2.2504.post44.dev0.dist-info → ngsolve-6.2.2601.dist-info}/LICENSE +0 -0
- {ngsolve-6.2.2504.post44.dev0.dist-info → ngsolve-6.2.2601.dist-info}/WHEEL +0 -0
- {ngsolve-6.2.2504.post44.dev0.dist-info → ngsolve-6.2.2601.dist-info}/top_level.txt +0 -0
netgen/include/l2hofe.hpp
CHANGED
netgen/include/matrix.hpp
CHANGED
|
@@ -1107,7 +1107,7 @@ namespace ngbla
|
|
|
1107
1107
|
//
|
|
1108
1108
|
MatrixView() = default;
|
|
1109
1109
|
// : h{0}, w{0}, dist{0}, data{nullptr} { }
|
|
1110
|
-
|
|
1110
|
+
MatrixView(const MatrixView &) = default;
|
|
1111
1111
|
|
|
1112
1112
|
template <typename T2, typename TH2, typename TW2, typename TDIST2,
|
|
1113
1113
|
enable_if_t<is_convertible<T2*,T*>::value, int> =0,
|
|
@@ -1742,7 +1742,8 @@ namespace ngbla
|
|
|
1742
1742
|
double operator() (int i) const
|
|
1743
1743
|
{
|
|
1744
1744
|
static_assert (true, "linear access of id");
|
|
1745
|
-
|
|
1745
|
+
return 0;
|
|
1746
|
+
// cerr << "id, linear access" << endl; return 0;
|
|
1746
1747
|
}
|
|
1747
1748
|
///
|
|
1748
1749
|
double operator() (int i, int j) const { return (i == j) ? 1 : 0; }
|
|
@@ -1764,7 +1765,11 @@ namespace ngbla
|
|
|
1764
1765
|
INLINE Identity (size_t s) : size(s) { ; }
|
|
1765
1766
|
|
|
1766
1767
|
INLINE double operator() (int i) const
|
|
1767
|
-
{
|
|
1768
|
+
{
|
|
1769
|
+
static_assert (true, "linear access of Identity");
|
|
1770
|
+
return 0;
|
|
1771
|
+
// cerr << "Identity, linear access" << endl; return 0;
|
|
1772
|
+
}
|
|
1768
1773
|
|
|
1769
1774
|
INLINE double operator() (int i, int j) const { return (i == j) ? 1 : 0; }
|
|
1770
1775
|
INLINE auto View() const { return Identity(size); }
|
netgen/include/meshaccess.hpp
CHANGED
|
@@ -1201,7 +1201,7 @@ namespace ngcomp
|
|
|
1201
1201
|
shared_ptr<BitArray> MaskPtr() { return mask; }
|
|
1202
1202
|
const shared_ptr<MeshAccess> & Mesh() const { return mesh; }
|
|
1203
1203
|
void DoArchive(Archive& ar)
|
|
1204
|
-
{ ar
|
|
1204
|
+
{ ar.Shallow(mesh) & vb & mask; }
|
|
1205
1205
|
Region operator+ (const Region & r2) const
|
|
1206
1206
|
{
|
|
1207
1207
|
return Region (mesh, vb, BitArray(*mask).Or(r2.Mask()));
|
|
@@ -41,16 +41,16 @@ namespace ngsbem
|
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
|
|
44
|
-
template <typename entry_type> class
|
|
44
|
+
template <typename entry_type> class RegularMLExpansionCF;
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
template <typename RADIAL, typename entry_type=Complex>
|
|
48
|
-
class
|
|
48
|
+
class SphericalExpansionCF : public CoefficientFunction
|
|
49
49
|
{
|
|
50
|
-
|
|
50
|
+
SphericalExpansion<RADIAL, entry_type> mp;
|
|
51
51
|
Vec<3> center;
|
|
52
52
|
public:
|
|
53
|
-
|
|
53
|
+
SphericalExpansionCF (int order, double kappa, Vec<3> acenter, double rtyp = 1)
|
|
54
54
|
: CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mp(order, kappa, rtyp), center(acenter) { }
|
|
55
55
|
|
|
56
56
|
entry_type & Coef(int n, int m) { return mp.Coef(n,m); }
|
|
@@ -70,23 +70,28 @@ namespace ngsbem
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
template <typename TARGET>
|
|
73
|
-
void ShiftZ (double z,
|
|
73
|
+
void ShiftZ (double z, SphericalExpansion<TARGET, entry_type> & target) { mp.ShiftZ(z, target); }
|
|
74
74
|
|
|
75
75
|
using CoefficientFunction::Transform;
|
|
76
76
|
template <typename TARGET>
|
|
77
|
-
void Transform (
|
|
77
|
+
void Transform (SphericalExpansionCF<TARGET, entry_type> & target)
|
|
78
78
|
{
|
|
79
79
|
mp.Transform (target.MP(), target.Center()-center);
|
|
80
80
|
}
|
|
81
|
+
template <typename TARGET>
|
|
82
|
+
void TransformAdd (SphericalExpansionCF<TARGET, entry_type> & target)
|
|
83
|
+
{
|
|
84
|
+
mp.TransformAdd (target.MP(), target.Center()-center);
|
|
85
|
+
}
|
|
81
86
|
};
|
|
82
87
|
|
|
83
88
|
template <typename entry_type>
|
|
84
|
-
class
|
|
89
|
+
class SingularMLExpansionCF : public CoefficientFunction
|
|
85
90
|
{
|
|
86
|
-
shared_ptr<
|
|
91
|
+
shared_ptr<SingularMLExpansion<entry_type>> mlmp;
|
|
87
92
|
public:
|
|
88
|
-
|
|
89
|
-
: CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<
|
|
93
|
+
SingularMLExpansionCF (Vec<3> center, double r, double kappa)
|
|
94
|
+
: CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<SingularMLExpansion<entry_type>>(center, r, kappa)} { }
|
|
90
95
|
|
|
91
96
|
virtual double Evaluate (const BaseMappedIntegrationPoint & ip) const override
|
|
92
97
|
{ throw Exception("real eval not available"); }
|
|
@@ -103,20 +108,20 @@ namespace ngsbem
|
|
|
103
108
|
|
|
104
109
|
}
|
|
105
110
|
|
|
106
|
-
shared_ptr<
|
|
107
|
-
shared_ptr<
|
|
111
|
+
shared_ptr<SingularMLExpansion<entry_type>> MLExpansion() const { return mlmp; }
|
|
112
|
+
shared_ptr<RegularMLExpansionCF<entry_type>> CreateRegularExpansion(Vec<3> center, double r) const;
|
|
108
113
|
};
|
|
109
114
|
|
|
110
115
|
|
|
111
116
|
template <typename entry_type>
|
|
112
|
-
class
|
|
117
|
+
class RegularMLExpansionCF : public CoefficientFunction
|
|
113
118
|
{
|
|
114
|
-
shared_ptr<
|
|
119
|
+
shared_ptr<RegularMLExpansion<entry_type>> mlmp;
|
|
115
120
|
public:
|
|
116
|
-
|
|
117
|
-
: CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<
|
|
118
|
-
|
|
119
|
-
: CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<
|
|
121
|
+
RegularMLExpansionCF (shared_ptr<SingularMLExpansionCF<entry_type>> asingmp, Vec<3> center, double r)
|
|
122
|
+
: CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<RegularMLExpansion<entry_type>>(asingmp->MLExpansion(), center, r, FMM_Parameters())} { }
|
|
123
|
+
RegularMLExpansionCF (shared_ptr<SingularMLExpansion<entry_type>> asingmp, Vec<3> center, double r)
|
|
124
|
+
: CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<RegularMLExpansion<entry_type>>(asingmp, center, r, FMM_Parameters())} { }
|
|
120
125
|
|
|
121
126
|
virtual double Evaluate (const BaseMappedIntegrationPoint & ip) const override
|
|
122
127
|
{ throw Exception("real eval not available"); }
|
|
@@ -131,7 +136,7 @@ namespace ngsbem
|
|
|
131
136
|
values = mlmp->Evaluate(mip.GetPoint());
|
|
132
137
|
}
|
|
133
138
|
|
|
134
|
-
shared_ptr<
|
|
139
|
+
shared_ptr<RegularMLExpansion<entry_type>> MLExpansion() { return mlmp; }
|
|
135
140
|
};
|
|
136
141
|
|
|
137
142
|
|