ddfem 1.0.7__py3-none-any.whl → 1.0.9__py3-none-any.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.
Files changed (73) hide show
  1. ddfem/__main__.py +43 -7
  2. ddfem/data/2.11.dev20250709/boundary.modules +9 -0
  3. ddfem/data/2.11.dev20250709/femscheme_ddd4458a70dff1f9762ec5a96ca4ba9c.cc +43 -0
  4. ddfem/data/2.11.dev20250709/femspace_90f0a9524a8cb701e8ee5027b7658a0e_0faf32f13b591f4f60f83c591507b9be.cc +40 -0
  5. ddfem/data/2.11.dev20250709/geometry.modules +84 -0
  6. ddfem/data/2.11.dev20250709/hierarchicalgrid_966e2a5c8356c5b278ccd3acad180f0a.cc +30 -0
  7. ddfem/data/{2.11.dev20250326/integrands_c7ee79ef352597693466ebc895f89b17v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/integrands_2e5e6f48655bd358419554a0857f697bv1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +8 -8
  8. ddfem/data/{2.11.dev20250326/integrands_35d2bd9aedbe0c70a7d3804f461aa3a2v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/integrands_563572f4cb20b041e8198ba7d5f88584v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +8 -8
  9. ddfem/data/{2.11.dev20250326/integrands_8d076606b6431bd52818b74371b326fev1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/integrands_5e1afa60a15644998389a84306246ea5v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +8 -8
  10. ddfem/data/2.11.dev20250709/integrands_ed7208bd651abb351e34c9990e0313bcv1_3_a524c1196983e65de1c06d7d6afdeb44.cc +427 -0
  11. ddfem/data/{2.11.dev20250326/integrands_6da979bc28230b7c9b9703e3f1014016v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/integrands_f3ca00a2ef95c9a48de9ec1b807b1b30v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +8 -8
  12. ddfem/data/2.11.dev20250709/intro.modules +109 -0
  13. ddfem/data/2.11.dev20250709/localfunction_c5ebc4ae4b5d3bad6be770eb08c50d08_19659fe2f2f74bcfb5d532f1a0d38be9.cc +1131 -0
  14. ddfem/data/2.11.dev20250709/localfunction_e4557ecff74fe5b37313674e67db2782_a524c1196983e65de1c06d7d6afdeb44.cc +135 -0
  15. ddfem/data/{2.11.dev20250326/localfunction_e85b93fe9b8fcd40ee82782fc600b65b_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_e69118a51208cfab8a028711e966e76c_19659fe2f2f74bcfb5d532f1a0d38be9.cc} +78 -89
  16. ddfem/data/2.11.dev20250709/localfunction_f4583c5cc10d24a8bdedf7510ce9da7b_a524c1196983e65de1c06d7d6afdeb44.cc +299 -0
  17. ddfem/data/2.11.dev20250709/localfunction_fc22d5adaf3b9563160dc2aec55e8ba1_19659fe2f2f74bcfb5d532f1a0d38be9.cc +113 -0
  18. ddfem/data/2.11.dev20250709/transformers.modules +13 -0
  19. ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/view_a524c1196983e65de1c06d7d6afdeb44.cc +1 -1
  20. ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/view_af122c1df944c95cd395ec0f91d0f970.cc +1 -1
  21. ddfem/data/2.11.dev20250709/yaspcoordinates_dim2_ctdouble.cc +55 -0
  22. ddfem/data/generate.py +5 -4
  23. ddfem/geometry/__init__.py +2 -0
  24. ddfem/plot.py +6 -3
  25. {ddfem-1.0.7.dist-info → ddfem-1.0.9.dist-info}/METADATA +12 -5
  26. {ddfem-1.0.7.dist-info → ddfem-1.0.9.dist-info}/RECORD +62 -60
  27. ddfem/data/2.11.dev20250326/localfunction_0cb4ca9e24e2891510640b0737aaab21_a524c1196983e65de1c06d7d6afdeb44.cc +0 -170
  28. ddfem/data/2.11.dev20250326/localfunction_0f7b2106478c5d2af781b1f377a180d2_a524c1196983e65de1c06d7d6afdeb44.cc +0 -393
  29. ddfem/data/2.11.dev20250326/localfunction_2021505441469e99dd3c9b164e083239_a524c1196983e65de1c06d7d6afdeb44.cc +0 -620
  30. ddfem/data/2.11.dev20250326/localfunction_2a97db5a6a479d02138a836cb0890cf2_a524c1196983e65de1c06d7d6afdeb44.cc +0 -173
  31. ddfem/data/2.11.dev20250326/localfunction_4484607e3f9bd9999dbd7bb9d595a7b2_a524c1196983e65de1c06d7d6afdeb44.cc +0 -173
  32. ddfem/data/2.11.dev20250326/localfunction_6363af791dde11d699a9a3d876cc5d9a_a524c1196983e65de1c06d7d6afdeb44.cc +0 -549
  33. ddfem/data/2.11.dev20250326/localfunction_65bda5736a84d4aa0ef2d48ebcc90ed5_a524c1196983e65de1c06d7d6afdeb44.cc +0 -173
  34. ddfem/data/2.11.dev20250326/localfunction_7d81d496538f240d504e5597484ee746_a524c1196983e65de1c06d7d6afdeb44.cc +0 -462
  35. ddfem/data/2.11.dev20250326/localfunction_a46a988b5d8571e80fd401a36d7341b7_a524c1196983e65de1c06d7d6afdeb44.cc +0 -170
  36. ddfem/data/2.11.dev20250326/localfunction_a9bb07439605d560b583608f20441342_a524c1196983e65de1c06d7d6afdeb44.cc +0 -173
  37. ddfem/data/2.11.dev20250326/localfunction_d0f33c2dc1ae0e619d85a7621c8e83a6_a524c1196983e65de1c06d7d6afdeb44.cc +0 -325
  38. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/adapt_010e1455a389aa01992af42c0a3f4b14.cc +0 -0
  39. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/femscheme_f2a3cb32a864b08c0236366e732fb908.cc +0 -0
  40. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563.cc +0 -0
  41. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/hierarchicalgrid_d827e80243feae36e8b9006bb24207e7.cc +0 -0
  42. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/indexset_e9c0cdc96a4fc702a0969c29910954e6.cc +0 -0
  43. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/integrands_008eefa148b772fa3192dd3c1728c140v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  44. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/integrands_2339be3c67df1d67b18125c34ced69c2v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  45. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/integrands_3bde0abfafcf45a3cff4d1029568ab5cv1_3_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  46. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_00f2e5593eeb23f01906255d67244f6e_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  47. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_10ad0a2d88c74db5f4bf5f81e138974f_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  48. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_191355e6250b2d2e260d96f519ad9976_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  49. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_1d13146d4bff10e178aba773fe2a9f1d_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  50. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_1d27a90a52b9053192c9cc902283f79b_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  51. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_228c55d163ca194a905826bcc20fcbc0_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  52. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_3e323e81c52891c0ecb656eac273e52f_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  53. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_42ff56710f3bd510798ecabb32a6cbf0_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  54. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_42ff56710f3bd510798ecabb32a6cbf0_af122c1df944c95cd395ec0f91d0f970.cc +0 -0
  55. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_82d7cb9338bf118426fac2abf41a91a4_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  56. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_83d9e6dd70d1c31c973224e210cc36b4_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  57. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_86a0670f34bf2ac8155423a1c1bc2e75_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  58. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_a854465b265a1a51dacb4f71f7eeb06b_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  59. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_a8c726f728cd35d137188b33301aeef1_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  60. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_ae8173bdb67b8ea50ce75c3912841100_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  61. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_aeb3d963412cdc65630e0a4c3c0dde0f_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  62. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_b8239bf849ec7c1903f627833e6dac5a_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  63. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_bcafb581216501f273e23c0e26cd57af_af122c1df944c95cd395ec0f91d0f970.cc +0 -0
  64. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_bdfb7ddf42a423f7d0791458634d4b8f_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  65. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_d75993d7ae5919d23117b153e900840d_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  66. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_f4b1d42cbb447375f39ed834570cd3f0_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  67. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
  68. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/referenceelements_0fff57b283123cc055345ec95574c857.cc +0 -0
  69. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/referenceelements_de274310a0055100b832a0e8892b0258.cc +0 -0
  70. /ddfem/data/{2.11.dev20250326 → 2.11.dev20250709}/referenceelements_f4457f35395151d83a965d4cf5fce70d.cc +0 -0
  71. {ddfem-1.0.7.dist-info → ddfem-1.0.9.dist-info}/WHEEL +0 -0
  72. {ddfem-1.0.7.dist-info → ddfem-1.0.9.dist-info}/licenses/LICENSE +0 -0
  73. {ddfem-1.0.7.dist-info → ddfem-1.0.9.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,427 @@
1
+ #ifndef GuardIntegrands_ed7208bd651abb351e34c9990e0313bcv1_3
2
+ #define GuardIntegrands_ed7208bd651abb351e34c9990e0313bcv1_3
3
+ #define USING_DUNE_PYTHON 1
4
+ #include <config.h>
5
+ #include <dune/alugrid/dgf.hh>
6
+ #include <dune/alugrid/grid.hh>
7
+ #include <dune/fem/gridpart/adaptiveleafgridpart.hh>
8
+ #include <dune/fem/gridpart/filter/simple.hh>
9
+ #include <dune/fem/gridpart/filteredgridpart.hh>
10
+ #include <dune/fempy/py/gridview.hh>
11
+ #include <dune/python/grid/gridview.hh>
12
+ #include <dune/python/grid/hierarchical.hh>
13
+ #include <cmath>
14
+ #include <tuple>
15
+ #include <dune/python/pybind11/pybind11.h>
16
+ #include <dune/python/pybind11/extensions.h>
17
+ #include <dune/fempy/py/grid/gridpart.hh>
18
+ #include <dune/fempy/geometry/edgelength.hh>
19
+ #include <dune/fempy/py/integrands.hh>
20
+
21
+ namespace Integrands_ed7208bd651abb351e34c9990e0313bcv1_3
22
+ {
23
+
24
+
25
+
26
+
27
+ // Integrands
28
+ // ----------
29
+
30
+ template< class GridPart >
31
+ struct Integrands
32
+ {
33
+ typedef GridPart GridPartType;
34
+ typedef typename GridPartType::GridViewType GridView;
35
+ typedef typename GridView::ctype ctype;
36
+ typedef typename GridPartType::template Codim< 0 >::EntityType EntityType;
37
+ typedef typename GridPartType::IntersectionType IntersectionType;
38
+ typedef typename EntityType::Geometry Geometry;
39
+ typedef typename Geometry::GlobalCoordinate GlobalCoordinateType;
40
+ typedef Dune::Fem::IntersectionSide Side;
41
+ typedef std::tuple<> ConstantTupleType;
42
+ typedef std::tuple<> CoefficientTupleType;
43
+ static constexpr bool gridPartValid = true;
44
+ template< std::size_t i >
45
+ using CoefficientType = std::tuple_element_t< i, CoefficientTupleType >;
46
+ template< std::size_t i >
47
+ using ConstantType = typename std::tuple_element_t< i, ConstantTupleType >::element_type;
48
+
49
+ Integrands ( const Dune::Fem::ParameterReader &parameter = Dune::Fem::Parameter::container() )
50
+ {}
51
+
52
+ bool init ( const EntityType &entity )
53
+ {
54
+ entity_ = entity;
55
+ geometry_.emplace( this->entity().geometry() );
56
+ return true;
57
+ }
58
+
59
+ void unbind ()
60
+ {}
61
+
62
+ bool init ( const IntersectionType &intersection )
63
+ {
64
+ intersection_ = intersection;
65
+ return (intersection.boundary() && init( intersection.inside() ));
66
+ }
67
+ typedef std::tuple< Dune::FieldVector< double, 1 >, Dune::FieldMatrix< double, 1, 2 > > DomainValueType;
68
+ typedef std::tuple< Dune::FieldVector< double, 1 >, Dune::FieldMatrix< double, 1, 2 > > RangeValueType;
69
+ static constexpr bool _nonlinear = false;
70
+
71
+ bool nonlinear () const
72
+ {
73
+ return _nonlinear;
74
+ }
75
+
76
+ template< class Point >
77
+ RangeValueType interior ( const Point &x, const DomainValueType &u ) const
78
+ {
79
+ using std::cosh;
80
+ using std::pow;
81
+ using std::sqrt;
82
+ using std::tanh;
83
+ GlobalCoordinateType tmp0 = geometry().global( Dune::Fem::coordinate( x ) );
84
+ const auto tmp1 = tmp0[ 1 ] * tmp0[ 1 ];
85
+ const auto tmp2 = tmp0[ 0 ] * tmp0[ 0 ];
86
+ const auto tmp3 = tmp2 + tmp1;
87
+ const auto tmp4 = 1e-10 + tmp3;
88
+ const auto tmp5 = std::sqrt( tmp4 );
89
+ const auto tmp6 = 2 * tmp5;
90
+ const auto tmp7 = tmp0[ 1 ] + tmp0[ 1 ];
91
+ const auto tmp8 = tmp7 / tmp6;
92
+ const auto tmp9 = -1 * tmp8;
93
+ const auto tmp10 = -1 + tmp5;
94
+ const auto tmp11 = tmp10 * tmp9;
95
+ const auto tmp12 = tmp0[ 1 ] + tmp11;
96
+ const auto tmp13 = tmp12 * tmp12;
97
+ const auto tmp14 = tmp0[ 0 ] + tmp0[ 0 ];
98
+ const auto tmp15 = tmp14 / tmp6;
99
+ const auto tmp16 = -1 * tmp15;
100
+ const auto tmp17 = tmp10 * tmp16;
101
+ const auto tmp18 = tmp0[ 0 ] + tmp17;
102
+ const auto tmp19 = tmp18 * tmp18;
103
+ const auto tmp20 = tmp19 + tmp13;
104
+ const auto tmp21 = 1e-10 + tmp20;
105
+ const auto tmp22 = std::sqrt( tmp21 );
106
+ const auto tmp23 = -1 + tmp22;
107
+ const auto tmp24 = 3 * tmp23;
108
+ const auto tmp25 = tmp24 / 0.225;
109
+ const auto tmp26 = std::tanh( tmp25 );
110
+ const auto tmp27 = -1 * tmp26;
111
+ const auto tmp28 = 1 + tmp27;
112
+ const auto tmp29 = 0.5 * tmp28;
113
+ const auto tmp30 = -1 * tmp29;
114
+ const auto tmp31 = 1 + tmp30;
115
+ const auto tmp32 = tmp31 * tmp29;
116
+ const auto tmp33 = 1e-10 + tmp32;
117
+ const auto tmp34 = 3 * tmp10;
118
+ const auto tmp35 = tmp34 / 0.225;
119
+ const auto tmp36 = 2.0 * tmp35;
120
+ const auto tmp37 = std::cosh( tmp36 );
121
+ const auto tmp38 = 1.0 + tmp37;
122
+ const auto tmp39 = std::cosh( tmp35 );
123
+ const auto tmp40 = 2.0 * tmp39;
124
+ const auto tmp41 = tmp40 / tmp38;
125
+ const auto tmp42 = std::pow( tmp41, 2 );
126
+ const auto tmp43 = 3 * tmp8;
127
+ const auto tmp44 = tmp43 / 0.225;
128
+ const auto tmp45 = tmp44 * tmp42;
129
+ const auto tmp46 = -1 * tmp45;
130
+ const auto tmp47 = 0.5 * tmp46;
131
+ const auto tmp48 = 0.9999999999 * tmp47;
132
+ const auto tmp49 = -1 * tmp48;
133
+ const auto tmp50 = tmp49 * tmp49;
134
+ const auto tmp51 = 3 * tmp15;
135
+ const auto tmp52 = tmp51 / 0.225;
136
+ const auto tmp53 = tmp52 * tmp42;
137
+ const auto tmp54 = -1 * tmp53;
138
+ const auto tmp55 = 0.5 * tmp54;
139
+ const auto tmp56 = 0.9999999999 * tmp55;
140
+ const auto tmp57 = -1 * tmp56;
141
+ const auto tmp58 = tmp57 * tmp57;
142
+ const auto tmp59 = tmp58 + tmp50;
143
+ const auto tmp60 = std::sqrt( tmp59 );
144
+ const auto tmp61 = 10 * tmp18;
145
+ const auto tmp62 = tmp12 * tmp61;
146
+ const auto tmp63 = std::tanh( tmp62 );
147
+ const auto tmp64 = tmp63 / 2;
148
+ const auto tmp65 = -1 * tmp64;
149
+ const auto tmp66 = tmp32 * tmp65;
150
+ const auto tmp67 = tmp66 * tmp60;
151
+ const auto tmp68 = -1 * tmp67;
152
+ const auto tmp69 = tmp68 / tmp33;
153
+ const auto tmp70 = -1 * tmp69;
154
+ const auto tmp71 = -1 * tmp70;
155
+ const auto tmp72 = tmp64 * tmp60;
156
+ const auto tmp73 = -1 * tmp72;
157
+ const auto tmp74 = tmp32 * tmp73;
158
+ const auto tmp75 = tmp74 / tmp33;
159
+ const auto tmp76 = -1 * tmp75;
160
+ const auto tmp77 = std::tanh( tmp35 );
161
+ const auto tmp78 = -1 * tmp77;
162
+ const auto tmp79 = 1 + tmp78;
163
+ const auto tmp80 = 0.5 * tmp79;
164
+ const auto tmp81 = 0.9999999999 * tmp80;
165
+ const auto tmp82 = 1e-10 + tmp81;
166
+ const auto tmp83 = std::get< 0 >( u );
167
+ const auto tmp84 = 0.01 * tmp83[ 0 ];
168
+ const auto tmp85 = -1 * tmp84;
169
+ const auto tmp86 = -1 * (tmp10 <= 0.0 ? 1 : 0.0);
170
+ const auto tmp87 = 1 + tmp86;
171
+ const auto tmp88 = tmp87 * tmp11;
172
+ const auto tmp89 = tmp0[ 1 ] + tmp88;
173
+ const auto tmp90 = tmp89 * tmp89;
174
+ const auto tmp91 = tmp87 * tmp17;
175
+ const auto tmp92 = tmp0[ 0 ] + tmp91;
176
+ const auto tmp93 = tmp92 * tmp92;
177
+ const auto tmp94 = tmp93 + tmp90;
178
+ const auto tmp95 = -1 * tmp94;
179
+ const auto tmp96 = 1 + tmp95;
180
+ const auto tmp97 = 0.1 * tmp96;
181
+ const auto tmp98 = tmp97 + tmp85;
182
+ const auto tmp99 = tmp98 * tmp82;
183
+ const auto tmp100 = tmp99 + tmp76;
184
+ const auto tmp101 = -1 * tmp100;
185
+ const auto tmp102 = tmp101 + tmp71;
186
+ const auto tmp103 = 3 * tmp89;
187
+ const auto tmp104 = tmp83[ 0 ] * tmp103;
188
+ const auto tmp105 = tmp82 * tmp104;
189
+ const auto tmp106 = -1 * tmp105;
190
+ const auto tmp107 = 0.05 * tmp94;
191
+ const auto tmp108 = -1 * tmp107;
192
+ const auto tmp109 = 0.1 + tmp108;
193
+ const auto tmp110 = std::get< 1 >( u );
194
+ const auto tmp111 = (tmp110[ 0 ])[ 0 ] * tmp109;
195
+ const auto tmp112 = tmp82 * tmp111;
196
+ const auto tmp113 = tmp112 + tmp106;
197
+ const auto tmp114 = -1 * tmp92;
198
+ const auto tmp115 = 3 * tmp114;
199
+ const auto tmp116 = tmp83[ 0 ] * tmp115;
200
+ const auto tmp117 = tmp82 * tmp116;
201
+ const auto tmp118 = -1 * tmp117;
202
+ const auto tmp119 = (tmp110[ 0 ])[ 1 ] * tmp109;
203
+ const auto tmp120 = tmp82 * tmp119;
204
+ const auto tmp121 = tmp120 + tmp118;
205
+ return RangeValueType{ { tmp102 }, { { tmp113, tmp121 } } };
206
+ }
207
+
208
+ template< class Point >
209
+ auto linearizedInterior ( const Point &x, const DomainValueType &u ) const
210
+ {
211
+ using std::sqrt;
212
+ using std::tanh;
213
+ GlobalCoordinateType tmp0 = geometry().global( Dune::Fem::coordinate( x ) );
214
+ const auto tmp1 = tmp0[ 1 ] * tmp0[ 1 ];
215
+ const auto tmp2 = tmp0[ 0 ] * tmp0[ 0 ];
216
+ const auto tmp3 = tmp2 + tmp1;
217
+ const auto tmp4 = 1e-10 + tmp3;
218
+ const auto tmp5 = std::sqrt( tmp4 );
219
+ const auto tmp6 = -1 + tmp5;
220
+ const auto tmp7 = 3 * tmp6;
221
+ const auto tmp8 = tmp7 / 0.225;
222
+ const auto tmp9 = std::tanh( tmp8 );
223
+ const auto tmp10 = -1 * tmp9;
224
+ const auto tmp11 = 1 + tmp10;
225
+ const auto tmp12 = 0.5 * tmp11;
226
+ const auto tmp13 = 0.9999999999 * tmp12;
227
+ const auto tmp14 = 1e-10 + tmp13;
228
+ const auto tmp15 = -0.01 * tmp14;
229
+ const auto tmp16 = -1 * tmp15;
230
+ const auto tmp17 = 2 * tmp5;
231
+ const auto tmp18 = tmp0[ 1 ] + tmp0[ 1 ];
232
+ const auto tmp19 = tmp18 / tmp17;
233
+ const auto tmp20 = -1 * tmp19;
234
+ const auto tmp21 = tmp6 * tmp20;
235
+ const auto tmp22 = -1 * (tmp6 <= 0.0 ? 1 : 0.0);
236
+ const auto tmp23 = 1 + tmp22;
237
+ const auto tmp24 = tmp23 * tmp21;
238
+ const auto tmp25 = tmp0[ 1 ] + tmp24;
239
+ const auto tmp26 = 3 * tmp25;
240
+ const auto tmp27 = tmp14 * tmp26;
241
+ const auto tmp28 = -1 * tmp27;
242
+ const auto tmp29 = tmp0[ 0 ] + tmp0[ 0 ];
243
+ const auto tmp30 = tmp29 / tmp17;
244
+ const auto tmp31 = -1 * tmp30;
245
+ const auto tmp32 = tmp6 * tmp31;
246
+ const auto tmp33 = tmp23 * tmp32;
247
+ const auto tmp34 = tmp0[ 0 ] + tmp33;
248
+ const auto tmp35 = -1 * tmp34;
249
+ const auto tmp36 = 3 * tmp35;
250
+ const auto tmp37 = tmp14 * tmp36;
251
+ const auto tmp38 = -1 * tmp37;
252
+ const auto tmp39 = tmp25 * tmp25;
253
+ const auto tmp40 = tmp34 * tmp34;
254
+ const auto tmp41 = tmp40 + tmp39;
255
+ const auto tmp42 = 0.05 * tmp41;
256
+ const auto tmp43 = -1 * tmp42;
257
+ const auto tmp44 = 0.1 + tmp43;
258
+ const auto tmp45 = tmp44 * tmp14;
259
+ return [ tmp16, tmp28, tmp38, tmp45 ] ( const DomainValueType &phi ) {
260
+ return RangeValueType{ { tmp16 * (std::get< 0 >( phi ))[ 0 ] }, { { tmp28 * (std::get< 0 >( phi ))[ 0 ] + tmp45 * ((std::get< 1 >( phi ))[ 0 ])[ 0 ], tmp38 * (std::get< 0 >( phi ))[ 0 ] + tmp45 * ((std::get< 1 >( phi ))[ 0 ])[ 1 ] } } };
261
+ };
262
+ }
263
+
264
+ template< class Point >
265
+ RangeValueType boundary ( const Point &x, const DomainValueType &u ) const
266
+ {
267
+ using std::cosh;
268
+ using std::pow;
269
+ using std::sqrt;
270
+ using std::tanh;
271
+ GlobalCoordinateType tmp0 = geometry().global( Dune::Fem::coordinate( x ) );
272
+ const auto tmp1 = tmp0[ 1 ] * tmp0[ 1 ];
273
+ const auto tmp2 = tmp0[ 0 ] * tmp0[ 0 ];
274
+ const auto tmp3 = tmp2 + tmp1;
275
+ const auto tmp4 = 1e-10 + tmp3;
276
+ const auto tmp5 = std::sqrt( tmp4 );
277
+ const auto tmp6 = 2 * tmp5;
278
+ const auto tmp7 = tmp0[ 1 ] + tmp0[ 1 ];
279
+ const auto tmp8 = tmp7 / tmp6;
280
+ const auto tmp9 = -1 * tmp8;
281
+ const auto tmp10 = -1 + tmp5;
282
+ const auto tmp11 = tmp10 * tmp9;
283
+ const auto tmp12 = tmp0[ 1 ] + tmp11;
284
+ const auto tmp13 = tmp12 * tmp12;
285
+ const auto tmp14 = tmp0[ 0 ] + tmp0[ 0 ];
286
+ const auto tmp15 = tmp14 / tmp6;
287
+ const auto tmp16 = -1 * tmp15;
288
+ const auto tmp17 = tmp10 * tmp16;
289
+ const auto tmp18 = tmp0[ 0 ] + tmp17;
290
+ const auto tmp19 = tmp18 * tmp18;
291
+ const auto tmp20 = tmp19 + tmp13;
292
+ const auto tmp21 = 1e-10 + tmp20;
293
+ const auto tmp22 = std::sqrt( tmp21 );
294
+ const auto tmp23 = -1 + tmp22;
295
+ const auto tmp24 = 3 * tmp23;
296
+ const auto tmp25 = tmp24 / 0.225;
297
+ const auto tmp26 = std::tanh( tmp25 );
298
+ const auto tmp27 = -1 * tmp26;
299
+ const auto tmp28 = 1 + tmp27;
300
+ const auto tmp29 = 0.5 * tmp28;
301
+ const auto tmp30 = -1 * tmp29;
302
+ const auto tmp31 = 1 + tmp30;
303
+ const auto tmp32 = tmp31 * tmp29;
304
+ const auto tmp33 = 1e-10 + tmp32;
305
+ const auto tmp34 = 3 * tmp10;
306
+ const auto tmp35 = tmp34 / 0.225;
307
+ const auto tmp36 = 2.0 * tmp35;
308
+ const auto tmp37 = std::cosh( tmp36 );
309
+ const auto tmp38 = 1.0 + tmp37;
310
+ const auto tmp39 = std::cosh( tmp35 );
311
+ const auto tmp40 = 2.0 * tmp39;
312
+ const auto tmp41 = tmp40 / tmp38;
313
+ const auto tmp42 = std::pow( tmp41, 2 );
314
+ const auto tmp43 = 3 * tmp8;
315
+ const auto tmp44 = tmp43 / 0.225;
316
+ const auto tmp45 = tmp44 * tmp42;
317
+ const auto tmp46 = -1 * tmp45;
318
+ const auto tmp47 = 0.5 * tmp46;
319
+ const auto tmp48 = 0.9999999999 * tmp47;
320
+ const auto tmp49 = -1 * tmp48;
321
+ const auto tmp50 = tmp49 * tmp49;
322
+ const auto tmp51 = 3 * tmp15;
323
+ const auto tmp52 = tmp51 / 0.225;
324
+ const auto tmp53 = tmp52 * tmp42;
325
+ const auto tmp54 = -1 * tmp53;
326
+ const auto tmp55 = 0.5 * tmp54;
327
+ const auto tmp56 = 0.9999999999 * tmp55;
328
+ const auto tmp57 = -1 * tmp56;
329
+ const auto tmp58 = tmp57 * tmp57;
330
+ const auto tmp59 = tmp58 + tmp50;
331
+ const auto tmp60 = std::sqrt( tmp59 );
332
+ const auto tmp61 = 10 * tmp18;
333
+ const auto tmp62 = tmp12 * tmp61;
334
+ const auto tmp63 = std::tanh( tmp62 );
335
+ const auto tmp64 = tmp63 / 2;
336
+ const auto tmp65 = tmp64 * tmp60;
337
+ const auto tmp66 = -1 * tmp65;
338
+ const auto tmp67 = tmp32 * tmp66;
339
+ const auto tmp68 = tmp67 / tmp33;
340
+ const auto tmp69 = -1 * tmp68;
341
+ const auto tmp70 = -1 * tmp69;
342
+ const auto tmp71 = -1 * tmp64;
343
+ const auto tmp72 = tmp32 * tmp71;
344
+ const auto tmp73 = tmp72 * tmp60;
345
+ const auto tmp74 = -1 * tmp73;
346
+ const auto tmp75 = tmp74 / tmp33;
347
+ const auto tmp76 = -1 * tmp75;
348
+ const auto tmp77 = -1 * tmp76;
349
+ const auto tmp78 = -1 * tmp77;
350
+ const auto tmp79 = tmp78 + tmp70;
351
+ return RangeValueType{ { tmp79 }, { { 0, 0 } } };
352
+ }
353
+
354
+ template< class Point >
355
+ auto linearizedBoundary ( const Point &x, const DomainValueType &u ) const
356
+ {
357
+ return [] ( const DomainValueType &phi ) {
358
+ return RangeValueType{ { 0 }, { { 0, 0 } } };
359
+ };
360
+ }
361
+ typedef Dune::FieldVector< double, 1 > RRangeType;
362
+ typedef Dune::FieldMatrix< double, 1, GridPartType::dimension > RJacobianRangeType;
363
+ typedef Dune::Fem::BoundaryIdProvider< typename GridPartType::GridType > BoundaryIdProviderType;
364
+ typedef std::array<int,1> DirichletComponentType;
365
+
366
+ bool hasDirichletBoundary () const
367
+ {
368
+ return false;
369
+ }
370
+
371
+ bool isDirichletIntersection ( const IntersectionType &intersection, DirichletComponentType &dirichletComponent ) const
372
+ {
373
+ return false;
374
+ }
375
+
376
+ template< class Point >
377
+ void dirichlet ( int bndId, const Point &x, RRangeType &result ) const
378
+ {}
379
+
380
+ template< class Point >
381
+ void dDirichlet ( int bndId, const Point &x, RJacobianRangeType &result ) const
382
+ {}
383
+
384
+ template< std::size_t i >
385
+ const ConstantType< i > &constant () const
386
+ {
387
+ return *std::get< i >( constants_ );
388
+ }
389
+
390
+ template< std::size_t i >
391
+ ConstantType< i > &constant ()
392
+ {
393
+ return *std::get< i >( constants_ );
394
+ }
395
+
396
+ const EntityType &entity () const
397
+ {
398
+ return entity_;
399
+ }
400
+
401
+ const Geometry &geometry () const
402
+ {
403
+ return *geometry_;
404
+ }
405
+ EntityType entity_;
406
+ IntersectionType intersection_;
407
+ std::optional< Geometry > geometry_;
408
+ ConstantTupleType constants_;
409
+ std::tuple< > coefficients_;
410
+ };
411
+
412
+ } // namespace Integrands_ed7208bd651abb351e34c9990e0313bcv1_3
413
+
414
+ PYBIND11_MODULE( integrands_ed7208bd651abb351e34c9990e0313bcv1_3_a524c1196983e65de1c06d7d6afdeb44, module )
415
+ {
416
+ typedef typename Dune::FemPy::GridPart< Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true > > GridPart;
417
+ typedef Integrands_ed7208bd651abb351e34c9990e0313bcv1_3::Integrands< GridPart > Integrands;
418
+ if constexpr( Integrands::gridPartValid )
419
+ {
420
+ auto cls = Dune::Python::insertClass<Integrands>(module,"Integrands",Dune::Python::GenerateTypeName("Integrands_ed7208bd651abb351e34c9990e0313bcv1_3::Integrands< GridPart >"), Dune::Python::IncludeFiles({"python/dune/generated/integrands_ed7208bd651abb351e34c9990e0313bcv1_3_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
421
+ Dune::FemPy::registerIntegrands< Integrands >( module, cls );
422
+ cls.def( pybind11::init( [] () { return new Integrands(); } ) );
423
+ cls.def_property_readonly( "virtualized", [] ( Integrands& ) -> bool { return true;});
424
+ cls.def_property_readonly( "hasDirichletBoundary", [] ( Integrands& ) -> bool { return false;});
425
+ }
426
+ }
427
+ #endif // GuardIntegrands_ed7208bd651abb351e34c9990e0313bcv1_3
@@ -1,5 +1,5 @@
1
- #ifndef GuardIntegrands_6da979bc28230b7c9b9703e3f1014016v1_3
2
- #define GuardIntegrands_6da979bc28230b7c9b9703e3f1014016v1_3
1
+ #ifndef GuardIntegrands_f3ca00a2ef95c9a48de9ec1b807b1b30v1_3
2
+ #define GuardIntegrands_f3ca00a2ef95c9a48de9ec1b807b1b30v1_3
3
3
  #define USING_DUNE_PYTHON 1
4
4
  #include <config.h>
5
5
  #include <dune/alugrid/dgf.hh>
@@ -21,7 +21,7 @@
21
21
  #include <dune/fem/misc/gridfunctionview.hh>
22
22
  #include <dune/fempy/py/integrands.hh>
23
23
 
24
- namespace Integrands_6da979bc28230b7c9b9703e3f1014016v1_3
24
+ namespace Integrands_f3ca00a2ef95c9a48de9ec1b807b1b30v1_3
25
25
  {
26
26
 
27
27
 
@@ -434,15 +434,15 @@ namespace Integrands_6da979bc28230b7c9b9703e3f1014016v1_3
434
434
  std::tuple< Dune::Fem::ConstLocalFunction< Coeffbndproj >, Dune::Fem::ConstLocalFunction< Coeffextproj >, Dune::Fem::ConstLocalFunction< Coeffsdfprojfull >, Dune::Fem::ConstLocalFunction< CoeffsdfprojfullA >, Dune::Fem::ConstLocalFunction< Coeffphidomain > > coefficients_;
435
435
  };
436
436
 
437
- } // namespace Integrands_6da979bc28230b7c9b9703e3f1014016v1_3
437
+ } // namespace Integrands_f3ca00a2ef95c9a48de9ec1b807b1b30v1_3
438
438
 
439
- PYBIND11_MODULE( integrands_6da979bc28230b7c9b9703e3f1014016v1_3_a524c1196983e65de1c06d7d6afdeb44, module )
439
+ PYBIND11_MODULE( integrands_f3ca00a2ef95c9a48de9ec1b807b1b30v1_3_a524c1196983e65de1c06d7d6afdeb44, module )
440
440
  {
441
441
  typedef typename Dune::FemPy::GridPart< Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true > > GridPart;
442
- typedef Integrands_6da979bc28230b7c9b9703e3f1014016v1_3::Integrands< GridPart, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > > Integrands;
442
+ typedef Integrands_f3ca00a2ef95c9a48de9ec1b807b1b30v1_3::Integrands< GridPart, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > > Integrands;
443
443
  if constexpr( Integrands::gridPartValid )
444
444
  {
445
- auto cls = Dune::Python::insertClass<Integrands>(module,"Integrands",Dune::Python::GenerateTypeName("Integrands_6da979bc28230b7c9b9703e3f1014016v1_3::Integrands< GridPart, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > >"), Dune::Python::IncludeFiles({"python/dune/generated/integrands_6da979bc28230b7c9b9703e3f1014016v1_3_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
445
+ auto cls = Dune::Python::insertClass<Integrands>(module,"Integrands",Dune::Python::GenerateTypeName("Integrands_f3ca00a2ef95c9a48de9ec1b807b1b30v1_3::Integrands< GridPart, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > >"), Dune::Python::IncludeFiles({"python/dune/generated/integrands_f3ca00a2ef95c9a48de9ec1b807b1b30v1_3_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
446
446
  Dune::FemPy::registerIntegrands< Integrands >( module, cls );
447
447
  cls.def( pybind11::init( [] ( const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > > &coeffbndproj, const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > > &coeffextproj, const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > &coeffsdfprojfull, const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > &coeffsdfprojfullA, const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > &coeffphidomain ) { return new Integrands( coeffbndproj, coeffextproj, coeffsdfprojfull, coeffsdfprojfullA, coeffphidomain ); } ), pybind11::keep_alive< 1, 2 >(), pybind11::keep_alive< 1, 3 >(), pybind11::keep_alive< 1, 4 >(), pybind11::keep_alive< 1, 5 >(), pybind11::keep_alive< 1, 6 >() );
448
448
  cls.def_property( "epsilon", [] ( Integrands &self ) -> Integrands::Conepsilon { return self.conepsilon(); }, [] ( Integrands &self, const Integrands::Conepsilon &v ) { self.conepsilon() = v; } );
@@ -450,4 +450,4 @@ PYBIND11_MODULE( integrands_6da979bc28230b7c9b9703e3f1014016v1_3_a524c1196983e65
450
450
  cls.def_property_readonly( "hasDirichletBoundary", [] ( Integrands& ) -> bool { return true;});
451
451
  }
452
452
  }
453
- #endif // GuardIntegrands_6da979bc28230b7c9b9703e3f1014016v1_3
453
+ #endif // GuardIntegrands_f3ca00a2ef95c9a48de9ec1b807b1b30v1_3
@@ -0,0 +1,109 @@
1
+ hierarchicalgrid_d827e80243feae36e8b9006bb24207e7
2
+ referenceelements_de274310a0055100b832a0e8892b0258
3
+ referenceelements_0fff57b283123cc055345ec95574c857
4
+ referenceelements_f4457f35395151d83a965d4cf5fce70d
5
+ view_af122c1df944c95cd395ec0f91d0f970
6
+ view_a524c1196983e65de1c06d7d6afdeb44
7
+ femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563
8
+ integrands_2339be3c67df1d67b18125c34ced69c2v1_3_a524c1196983e65de1c06d7d6afdeb44
9
+ femscheme_f2a3cb32a864b08c0236366e732fb908
10
+ localfunction_aeb3d963412cdc65630e0a4c3c0dde0f_a524c1196983e65de1c06d7d6afdeb44
11
+ hierarchicalgrid_d827e80243feae36e8b9006bb24207e7
12
+ view_af122c1df944c95cd395ec0f91d0f970
13
+ view_a524c1196983e65de1c06d7d6afdeb44
14
+ femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563
15
+ integrands_3bde0abfafcf45a3cff4d1029568ab5cv1_3_a524c1196983e65de1c06d7d6afdeb44
16
+ femscheme_f2a3cb32a864b08c0236366e732fb908
17
+ localfunction_f4b1d42cbb447375f39ed834570cd3f0_a524c1196983e65de1c06d7d6afdeb44
18
+ localfunction_1d27a90a52b9053192c9cc902283f79b_a524c1196983e65de1c06d7d6afdeb44
19
+ hierarchicalgrid_d827e80243feae36e8b9006bb24207e7
20
+ view_af122c1df944c95cd395ec0f91d0f970
21
+ view_a524c1196983e65de1c06d7d6afdeb44
22
+ femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563
23
+ integrands_008eefa148b772fa3192dd3c1728c140v1_3_a524c1196983e65de1c06d7d6afdeb44
24
+ femscheme_f2a3cb32a864b08c0236366e732fb908
25
+ localfunction_00f2e5593eeb23f01906255d67244f6e_a524c1196983e65de1c06d7d6afdeb44
26
+ localfunction_191355e6250b2d2e260d96f519ad9976_a524c1196983e65de1c06d7d6afdeb44
27
+ localfunction_a854465b265a1a51dacb4f71f7eeb06b_a524c1196983e65de1c06d7d6afdeb44
28
+ localfunction_a854465b265a1a51dacb4f71f7eeb06b_a524c1196983e65de1c06d7d6afdeb44
29
+ hierarchicalgrid_d827e80243feae36e8b9006bb24207e7
30
+ view_af122c1df944c95cd395ec0f91d0f970
31
+ view_a524c1196983e65de1c06d7d6afdeb44
32
+ femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563
33
+ integrands_ed7208bd651abb351e34c9990e0313bcv1_3_a524c1196983e65de1c06d7d6afdeb44
34
+ femscheme_ddd4458a70dff1f9762ec5a96ca4ba9c
35
+ localfunction_d75993d7ae5919d23117b153e900840d_a524c1196983e65de1c06d7d6afdeb44
36
+ localfunction_191355e6250b2d2e260d96f519ad9976_a524c1196983e65de1c06d7d6afdeb44
37
+ localfunction_a854465b265a1a51dacb4f71f7eeb06b_a524c1196983e65de1c06d7d6afdeb44
38
+ localfunction_a854465b265a1a51dacb4f71f7eeb06b_a524c1196983e65de1c06d7d6afdeb44
39
+ hierarchicalgrid_d827e80243feae36e8b9006bb24207e7
40
+ view_af122c1df944c95cd395ec0f91d0f970
41
+ view_a524c1196983e65de1c06d7d6afdeb44
42
+ localfunction_42ff56710f3bd510798ecabb32a6cbf0_a524c1196983e65de1c06d7d6afdeb44
43
+ localfunction_b8239bf849ec7c1903f627833e6dac5a_a524c1196983e65de1c06d7d6afdeb44
44
+ localfunction_228c55d163ca194a905826bcc20fcbc0_a524c1196983e65de1c06d7d6afdeb44
45
+ localfunction_83d9e6dd70d1c31c973224e210cc36b4_a524c1196983e65de1c06d7d6afdeb44
46
+ localfunction_ae8173bdb67b8ea50ce75c3912841100_a524c1196983e65de1c06d7d6afdeb44
47
+ indexset_e9c0cdc96a4fc702a0969c29910954e6
48
+ femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563
49
+ integrands_5e1afa60a15644998389a84306246ea5v1_3_a524c1196983e65de1c06d7d6afdeb44
50
+ femscheme_f2a3cb32a864b08c0236366e732fb908
51
+ localfunction_10ad0a2d88c74db5f4bf5f81e138974f_a524c1196983e65de1c06d7d6afdeb44
52
+ localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44
53
+ hierarchicalgrid_d827e80243feae36e8b9006bb24207e7
54
+ view_af122c1df944c95cd395ec0f91d0f970
55
+ view_a524c1196983e65de1c06d7d6afdeb44
56
+ femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563
57
+ integrands_2339be3c67df1d67b18125c34ced69c2v1_3_a524c1196983e65de1c06d7d6afdeb44
58
+ femscheme_f2a3cb32a864b08c0236366e732fb908
59
+ localfunction_3e323e81c52891c0ecb656eac273e52f_a524c1196983e65de1c06d7d6afdeb44
60
+ hierarchicalgrid_d827e80243feae36e8b9006bb24207e7
61
+ view_af122c1df944c95cd395ec0f91d0f970
62
+ localfunction_42ff56710f3bd510798ecabb32a6cbf0_af122c1df944c95cd395ec0f91d0f970
63
+ view_a524c1196983e65de1c06d7d6afdeb44
64
+ localfunction_42ff56710f3bd510798ecabb32a6cbf0_a524c1196983e65de1c06d7d6afdeb44
65
+ localfunction_b8239bf849ec7c1903f627833e6dac5a_a524c1196983e65de1c06d7d6afdeb44
66
+ localfunction_228c55d163ca194a905826bcc20fcbc0_a524c1196983e65de1c06d7d6afdeb44
67
+ localfunction_83d9e6dd70d1c31c973224e210cc36b4_a524c1196983e65de1c06d7d6afdeb44
68
+ localfunction_ae8173bdb67b8ea50ce75c3912841100_a524c1196983e65de1c06d7d6afdeb44
69
+ femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563
70
+ integrands_f3ca00a2ef95c9a48de9ec1b807b1b30v1_3_a524c1196983e65de1c06d7d6afdeb44
71
+ femscheme_f2a3cb32a864b08c0236366e732fb908
72
+ localfunction_86a0670f34bf2ac8155423a1c1bc2e75_a524c1196983e65de1c06d7d6afdeb44
73
+ localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44
74
+ femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563
75
+ integrands_2e5e6f48655bd358419554a0857f697bv1_3_a524c1196983e65de1c06d7d6afdeb44
76
+ femscheme_f2a3cb32a864b08c0236366e732fb908
77
+ localfunction_bdfb7ddf42a423f7d0791458634d4b8f_a524c1196983e65de1c06d7d6afdeb44
78
+ localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44
79
+ localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44
80
+ localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44
81
+ localfunction_a8c726f728cd35d137188b33301aeef1_a524c1196983e65de1c06d7d6afdeb44
82
+ localfunction_1d13146d4bff10e178aba773fe2a9f1d_a524c1196983e65de1c06d7d6afdeb44
83
+ localfunction_82d7cb9338bf118426fac2abf41a91a4_a524c1196983e65de1c06d7d6afdeb44
84
+ localfunction_a8c726f728cd35d137188b33301aeef1_a524c1196983e65de1c06d7d6afdeb44
85
+ localfunction_1d13146d4bff10e178aba773fe2a9f1d_a524c1196983e65de1c06d7d6afdeb44
86
+ localfunction_82d7cb9338bf118426fac2abf41a91a4_a524c1196983e65de1c06d7d6afdeb44
87
+ localfunction_a8c726f728cd35d137188b33301aeef1_a524c1196983e65de1c06d7d6afdeb44
88
+ localfunction_a8c726f728cd35d137188b33301aeef1_a524c1196983e65de1c06d7d6afdeb44
89
+ localfunction_f4583c5cc10d24a8bdedf7510ce9da7b_a524c1196983e65de1c06d7d6afdeb44
90
+ hierarchicalgrid_d827e80243feae36e8b9006bb24207e7
91
+ view_af122c1df944c95cd395ec0f91d0f970
92
+ localfunction_bcafb581216501f273e23c0e26cd57af_af122c1df944c95cd395ec0f91d0f970
93
+ adapt_010e1455a389aa01992af42c0a3f4b14
94
+ localfunction_42ff56710f3bd510798ecabb32a6cbf0_af122c1df944c95cd395ec0f91d0f970
95
+ view_a524c1196983e65de1c06d7d6afdeb44
96
+ localfunction_42ff56710f3bd510798ecabb32a6cbf0_a524c1196983e65de1c06d7d6afdeb44
97
+ localfunction_b8239bf849ec7c1903f627833e6dac5a_a524c1196983e65de1c06d7d6afdeb44
98
+ localfunction_228c55d163ca194a905826bcc20fcbc0_a524c1196983e65de1c06d7d6afdeb44
99
+ localfunction_83d9e6dd70d1c31c973224e210cc36b4_a524c1196983e65de1c06d7d6afdeb44
100
+ localfunction_ae8173bdb67b8ea50ce75c3912841100_a524c1196983e65de1c06d7d6afdeb44
101
+ femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563
102
+ integrands_563572f4cb20b041e8198ba7d5f88584v1_3_a524c1196983e65de1c06d7d6afdeb44
103
+ femscheme_f2a3cb32a864b08c0236366e732fb908
104
+ localfunction_e4557ecff74fe5b37313674e67db2782_a524c1196983e65de1c06d7d6afdeb44
105
+ localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44
106
+ localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44
107
+ localfunction_a8c726f728cd35d137188b33301aeef1_a524c1196983e65de1c06d7d6afdeb44
108
+ localfunction_1d13146d4bff10e178aba773fe2a9f1d_a524c1196983e65de1c06d7d6afdeb44
109
+ localfunction_82d7cb9338bf118426fac2abf41a91a4_a524c1196983e65de1c06d7d6afdeb44