ngsolve 6.2.2501.post55.dev1__cp313-cp313-macosx_10_15_universal2.whl → 6.2.2501.post70.dev1__cp313-cp313-macosx_10_15_universal2.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ngsolve might be problematic. Click here for more details.

Files changed (59) hide show
  1. netgen/include/ectypes.hpp +121 -0
  2. netgen/include/h1lofe.hpp +3 -0
  3. netgen/include/mptools.hpp +86 -1176
  4. netgen/include/vector.hpp +8 -0
  5. netgen/libngbla.dylib +0 -0
  6. netgen/libngcomp.dylib +0 -0
  7. netgen/libngfem.dylib +0 -0
  8. netgen/libngla.dylib +0 -0
  9. netgen/libngstd.dylib +0 -0
  10. ngsolve/__init__.pyi +3 -3
  11. ngsolve/cmake/NGSolveConfig.cmake +1 -1
  12. ngsolve/config/__init__.pyi +6 -6
  13. ngsolve/config/config.py +5 -5
  14. ngsolve/config/config.pyi +6 -6
  15. ngsolve/directsolvers.pyi +1 -1
  16. ngsolve/fem.pyi +20 -3
  17. ngsolve/krylovspace.pyi +2 -2
  18. ngsolve/nonlinearsolvers.pyi +1 -1
  19. ngsolve/timestepping.pyi +3 -3
  20. ngsolve/timing.pyi +1 -1
  21. ngsolve/utils.pyi +3 -2
  22. {ngsolve-6.2.2501.post55.dev1.dist-info → ngsolve-6.2.2501.post70.dev1.dist-info}/METADATA +1 -1
  23. {ngsolve-6.2.2501.post55.dev1.dist-info → ngsolve-6.2.2501.post70.dev1.dist-info}/RECORD +59 -58
  24. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/Netgen.icns +0 -0
  25. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/bin/ngscxx +0 -0
  26. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/bin/ngsld +0 -0
  27. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/bin/ngsolve.tcl +0 -0
  28. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/bin/ngspy +0 -0
  29. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/beam.geo +0 -0
  30. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/beam.vol +0 -0
  31. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/chip.in2d +0 -0
  32. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/chip.vol +0 -0
  33. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/coil.geo +0 -0
  34. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/coil.vol +0 -0
  35. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/coilshield.geo +0 -0
  36. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/coilshield.vol +0 -0
  37. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/cube.geo +0 -0
  38. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/cube.vol +0 -0
  39. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
  40. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
  41. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/d1_square.pde +0 -0
  42. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/d2_chip.pde +0 -0
  43. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
  44. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/d4_cube.pde +0 -0
  45. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/d5_beam.pde +0 -0
  46. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/d6_shaft.pde +0 -0
  47. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/d7_coil.pde +0 -0
  48. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
  49. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
  50. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
  51. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/doubleglazing.vol +0 -0
  52. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  53. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/shaft.geo +0 -0
  54. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/shaft.vol +0 -0
  55. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/square.in2d +0 -0
  56. {ngsolve-6.2.2501.post55.dev1.data → ngsolve-6.2.2501.post70.dev1.data}/data/share/ngsolve/square.vol +0 -0
  57. {ngsolve-6.2.2501.post55.dev1.dist-info → ngsolve-6.2.2501.post70.dev1.dist-info}/LICENSE +0 -0
  58. {ngsolve-6.2.2501.post55.dev1.dist-info → ngsolve-6.2.2501.post70.dev1.dist-info}/WHEEL +0 -0
  59. {ngsolve-6.2.2501.post55.dev1.dist-info → ngsolve-6.2.2501.post70.dev1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,121 @@
1
+ #include "expr.hpp"
2
+
3
+ // arithmetics with error control (better say error monitoring)
4
+
5
+
6
+ namespace ngbla
7
+ {
8
+
9
+
10
+ class EC_double
11
+ {
12
+ double val;
13
+ double err;
14
+ public:
15
+ EC_double () : val(0), err(0) { }
16
+ EC_double (double a)
17
+ : val(a), err(fabs(a)*1e-16) { }
18
+ EC_double (double a, double aerr)
19
+ : val(a), err(aerr)
20
+ {
21
+ Check();
22
+ }
23
+ EC_double (EC_double&) = default;
24
+
25
+ EC_double & operator= (EC_double&) = default;
26
+ EC_double & operator= (double a)
27
+ {
28
+ val = a; err = fabs(a)*1e-16;
29
+ return *this;
30
+ }
31
+
32
+ double Val() const { return val; }
33
+ double Err() const { return err; }
34
+ operator double() const { return val; }
35
+
36
+ EC_double & operator*= (EC_double b)
37
+ {
38
+ *this = EC_double(*this)*b;
39
+ return *this;
40
+ }
41
+
42
+ EC_double & operator+= (EC_double b)
43
+ {
44
+ val += b.Val();
45
+ err += b.Err();
46
+ Check();
47
+ return *this;
48
+ }
49
+
50
+ EC_double & operator-= (EC_double b)
51
+ {
52
+ *this = EC_double(*this) + (-b);
53
+ return *this;
54
+ }
55
+
56
+ EC_double operator- () const
57
+ {
58
+ return EC_double(-val, err);
59
+ }
60
+
61
+ void Check() const
62
+ {
63
+ if (err > 1e-4 * abs(val))
64
+ {
65
+ // throw Exception("roundoff is big, val = "+ToString(val)+", err = ", ToString(err));
66
+ cout << "roundoff is big, val = "+ToString(val)+", err = " + ToString(err) << endl;
67
+ }
68
+ }
69
+ };
70
+
71
+
72
+ inline EC_double operator* (EC_double a, EC_double b)
73
+ {
74
+ return EC_double(a.Val()*b.Val(), abs(a.Val())*b.Err()+abs(b.Val())*a.Err());
75
+ }
76
+
77
+ inline EC_double operator* (EC_double a, double b)
78
+ {
79
+ return a * EC_double(b);
80
+ }
81
+
82
+ inline EC_double operator* (double b, EC_double a)
83
+ {
84
+ return a * EC_double(b);
85
+ }
86
+
87
+ inline EC_double operator+ (EC_double a, EC_double b)
88
+ {
89
+ return EC_double(a.Val()+b.Val(), a.Err()+b.Err());
90
+ }
91
+
92
+ typedef std::complex<EC_double> EC_Complex;
93
+
94
+ inline auto operator* (double a, EC_Complex b)
95
+ {
96
+ return EC_double(a) * b;
97
+ }
98
+
99
+ inline auto operator* (EC_Complex a, const Complex b)
100
+ {
101
+ return a*EC_Complex(b);
102
+ }
103
+
104
+ inline double L2Norm2 (EC_Complex val)
105
+ {
106
+ return sqr(val.real().Val()) + sqr(val.imag().Val());
107
+ }
108
+
109
+
110
+ // typedef std::complex<__128float> Complex128;
111
+ // typedef std::complex<double> Complex128;
112
+
113
+
114
+
115
+
116
+ template<> struct is_scalar_type<ngfem::EC_Complex> { static constexpr bool value = true; };
117
+ template<> struct is_scalar_type<ngfem::EC_double> { static constexpr bool value = true; };
118
+ template <> inline constexpr bool IsComplex<ngfem::EC_Complex> () { return true; }
119
+
120
+
121
+ }
netgen/include/h1lofe.hpp CHANGED
@@ -1095,6 +1095,9 @@ namespace ngfem
1095
1095
  H1LOFE_EXTERN template class T_ScalarFiniteElement<FE_TSegmL2<2>,ET_SEGM>;
1096
1096
  H1LOFE_EXTERN template class T_ScalarFiniteElement<FE_TSegmL2<3>,ET_SEGM>;
1097
1097
 
1098
+ H1LOFE_EXTERN template class T_ScalarFiniteElement<ScalarFE<ET_POINT, 1>, ET_POINT, ScalarFiniteElement<0>>;
1099
+ H1LOFE_EXTERN template class T_ScalarFiniteElement<ScalarFE<ET_TRIG, 2>, ET_TRIG, ScalarFiniteElement<2>>;
1100
+
1098
1101
  H1LOFE_EXTERN template class T_ScalarFiniteElement<ScalarFE<ET_TRIG,0>,ET_TRIG>;
1099
1102
  H1LOFE_EXTERN template class T_ScalarFiniteElement<ScalarFE<ET_TRIG,1>,ET_TRIG>;
1100
1103
  // H1LOFE_EXTERN template class T_ScalarFiniteElement<FE_Trig2,ET_TRIG>;