ngsolve 6.2.2501.post48.dev1__cp39-cp39-macosx_10_15_universal2.whl → 6.2.2501.post80.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.

Files changed (52) hide show
  1. netgen/include/contact.hpp +2 -2
  2. netgen/include/ectypes.hpp +121 -0
  3. netgen/include/h1lofe.hpp +3 -0
  4. netgen/include/mptools.hpp +90 -1138
  5. netgen/include/ngblas.hpp +11 -1
  6. netgen/include/periodic.hpp +4 -0
  7. netgen/include/vector.hpp +9 -1
  8. netgen/libngbla.dylib +0 -0
  9. netgen/libngcomp.dylib +0 -0
  10. netgen/libngfem.dylib +0 -0
  11. netgen/libngla.dylib +0 -0
  12. netgen/libngstd.dylib +0 -0
  13. ngsolve/cmake/NGSolveConfig.cmake +1 -1
  14. ngsolve/config/config.py +5 -5
  15. {ngsolve-6.2.2501.post48.dev1.dist-info → ngsolve-6.2.2501.post80.dev1.dist-info}/METADATA +2 -2
  16. {ngsolve-6.2.2501.post48.dev1.dist-info → ngsolve-6.2.2501.post80.dev1.dist-info}/RECORD +52 -51
  17. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/Netgen.icns +0 -0
  18. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/bin/ngscxx +0 -0
  19. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/bin/ngsld +0 -0
  20. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/bin/ngsolve.tcl +0 -0
  21. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/bin/ngspy +0 -0
  22. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/beam.geo +0 -0
  23. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/beam.vol +0 -0
  24. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/chip.in2d +0 -0
  25. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/chip.vol +0 -0
  26. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/coil.geo +0 -0
  27. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/coil.vol +0 -0
  28. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/coilshield.geo +0 -0
  29. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/coilshield.vol +0 -0
  30. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/cube.geo +0 -0
  31. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/cube.vol +0 -0
  32. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
  33. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
  34. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/d1_square.pde +0 -0
  35. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/d2_chip.pde +0 -0
  36. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
  37. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/d4_cube.pde +0 -0
  38. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/d5_beam.pde +0 -0
  39. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/d6_shaft.pde +0 -0
  40. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/d7_coil.pde +0 -0
  41. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
  42. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
  43. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
  44. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/doubleglazing.vol +0 -0
  45. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  46. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/shaft.geo +0 -0
  47. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/shaft.vol +0 -0
  48. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/square.in2d +0 -0
  49. {ngsolve-6.2.2501.post48.dev1.data → ngsolve-6.2.2501.post80.dev1.data}/data/share/ngsolve/square.vol +0 -0
  50. {ngsolve-6.2.2501.post48.dev1.dist-info → ngsolve-6.2.2501.post80.dev1.dist-info}/LICENSE +0 -0
  51. {ngsolve-6.2.2501.post48.dev1.dist-info → ngsolve-6.2.2501.post80.dev1.dist-info}/WHEEL +0 -0
  52. {ngsolve-6.2.2501.post48.dev1.dist-info → ngsolve-6.2.2501.post80.dev1.dist-info}/top_level.txt +0 -0
@@ -161,10 +161,10 @@ namespace ngcomp
161
161
  bool draw_pairs = false;
162
162
  Array<Vec<3>> primary_points;
163
163
  Array<Vec<3>> secondary_points;
164
- bool volume;
164
+ bool volume, element_boundary;
165
165
  public:
166
166
  void Draw();
167
- ContactBoundary(Region _master, Region _other, bool draw_pairs = false, bool _volume=false);
167
+ ContactBoundary(Region _master, Region _other, bool draw_pairs = false, bool _volume=false, bool element_boundary=false);
168
168
 
169
169
  ~ContactBoundary();
170
170
 
@@ -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>;