ddfem 1.0.9__py3-none-any.whl → 1.0.11__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 (89) hide show
  1. ddfem/__init__.py +10 -6
  2. ddfem/__main__.py +12 -13
  3. ddfem/boundary.py +2 -2
  4. ddfem/data/2.11.dev20250709/extra.modules +14 -0
  5. ddfem/data/2.11.dev20250709/femscheme_0bb54cd4f1cd1df2477f5f59393c6a2e.cc +43 -0
  6. ddfem/data/2.11.dev20250709/femscheme_5c9e2700386c07226eb4db155fa5ef14.cc +43 -0
  7. ddfem/data/2.11.dev20250709/femscheme_765ef00d995a939c34bdc0d0cc4847ca.cc +43 -0
  8. ddfem/data/2.11.dev20250709/femspace_11b3436cb033df683615c50d5d4239bd_f14dd0b3b474c0cd816334330f55ad72.cc +45 -0
  9. ddfem/data/2.11.dev20250709/femspace_f4f043307753c8e74af23c94c28a3b0d_438586e783f51d84a82e82b0d8daceea.cc +45 -0
  10. ddfem/data/2.11.dev20250709/{integrands_3bde0abfafcf45a3cff4d1029568ab5cv1_3_a524c1196983e65de1c06d7d6afdeb44.cc → integrands_0003e4cbb961fd653fe295d2c4fa50a7v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +367 -14
  11. ddfem/data/2.11.dev20250709/{integrands_f3ca00a2ef95c9a48de9ec1b807b1b30v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → integrands_0fa4a1c37449cf574971977e10cf682av1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +8 -8
  12. ddfem/data/2.11.dev20250709/{integrands_2e5e6f48655bd358419554a0857f697bv1_3_a524c1196983e65de1c06d7d6afdeb44.cc → integrands_29b696aa653181a57d036f771efa8be9v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +8 -8
  13. ddfem/data/2.11.dev20250709/{integrands_5e1afa60a15644998389a84306246ea5v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → integrands_536f9ba0ea4ecd1f7d4e2bc43ef29d08v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +8 -8
  14. ddfem/data/2.11.dev20250709/{integrands_008eefa148b772fa3192dd3c1728c140v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → integrands_5907ab5c70328c21dd308abf09e529aev1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +8 -8
  15. ddfem/data/2.11.dev20250709/{integrands_563572f4cb20b041e8198ba7d5f88584v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → integrands_68eba4e963a61031a52da3365f515585v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +8 -8
  16. ddfem/data/2.11.dev20250709/integrands_83927be37e79b291517b827b9ddc1983v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +533 -0
  17. ddfem/data/2.11.dev20250709/integrands_8ed2f23c088e3a3d82a3259b663796c7v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +533 -0
  18. ddfem/data/2.11.dev20250709/integrands_af3bbe7d629df162ef8c570e1503bf62v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +762 -0
  19. ddfem/data/2.11.dev20250709/{integrands_2339be3c67df1d67b18125c34ced69c2v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → integrands_bf510277401791ad5e30831b49a8ed7cv1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +25 -14
  20. ddfem/data/2.11.dev20250709/integrands_d0634430f14d3432dae186e57ec5aecav1_3_a524c1196983e65de1c06d7d6afdeb44.cc +587 -0
  21. ddfem/data/2.11.dev20250709/intro.modules +34 -100
  22. ddfem/data/2.11.dev20250709/{localfunction_10ad0a2d88c74db5f4bf5f81e138974f_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_0cb4ca9e24e2891510640b0737aaab21_a524c1196983e65de1c06d7d6afdeb44.cc} +64 -29
  23. ddfem/data/2.11.dev20250709/localfunction_0f7b2106478c5d2af781b1f377a180d2_a524c1196983e65de1c06d7d6afdeb44.cc +393 -0
  24. ddfem/data/2.11.dev20250709/localfunction_10f9d7a54f79c12d6ca923b9ee56b80d_a524c1196983e65de1c06d7d6afdeb44.cc +324 -0
  25. ddfem/data/2.11.dev20250709/localfunction_10f9d7a54f79c12d6ca923b9ee56b80d_af122c1df944c95cd395ec0f91d0f970.cc +322 -0
  26. ddfem/data/2.11.dev20250709/localfunction_1c20e613977d8cea4cf5227c12aa68a6_a524c1196983e65de1c06d7d6afdeb44.cc +164 -0
  27. ddfem/data/2.11.dev20250709/{localfunction_191355e6250b2d2e260d96f519ad9976_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_217e4bf8b368a7768c4897cf58f71d84_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -14
  28. ddfem/data/2.11.dev20250709/localfunction_22e797a8f3e8c322f33c41e07bd15165_a524c1196983e65de1c06d7d6afdeb44.cc +1445 -0
  29. ddfem/data/2.11.dev20250709/localfunction_2a97db5a6a479d02138a836cb0890cf2_a524c1196983e65de1c06d7d6afdeb44.cc +173 -0
  30. ddfem/data/2.11.dev20250709/localfunction_2e2afc8df6107683d574a8d96d5249f4_af122c1df944c95cd395ec0f91d0f970.cc +512 -0
  31. ddfem/data/2.11.dev20250709/localfunction_32613626342183eafa360dc1f0f18924_a524c1196983e65de1c06d7d6afdeb44.cc +1425 -0
  32. ddfem/data/2.11.dev20250709/localfunction_37174cfc9d6bf565336cac0d2ea785f5_a524c1196983e65de1c06d7d6afdeb44.cc +786 -0
  33. ddfem/data/2.11.dev20250709/{localfunction_d75993d7ae5919d23117b153e900840d_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_3d957c5b2628e5120636b8e3f461bc0d_a524c1196983e65de1c06d7d6afdeb44.cc} +64 -29
  34. ddfem/data/2.11.dev20250709/localfunction_3ecaa105be9e3abddf3a85d8adc5d36f_a524c1196983e65de1c06d7d6afdeb44.cc +697 -0
  35. ddfem/data/2.11.dev20250709/{localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_3ecaf7de7505b53bb0b5fb6d78549387_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -14
  36. ddfem/data/2.11.dev20250709/{localfunction_1d27a90a52b9053192c9cc902283f79b_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_4192604521151252f1c8fa56a1f9f226_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -14
  37. ddfem/data/2.11.dev20250709/localfunction_4484607e3f9bd9999dbd7bb9d595a7b2_a524c1196983e65de1c06d7d6afdeb44.cc +173 -0
  38. ddfem/data/2.11.dev20250709/localfunction_4976bbef3267846b59f3a26497ffe9db_a524c1196983e65de1c06d7d6afdeb44.cc +474 -0
  39. ddfem/data/2.11.dev20250709/{localfunction_a8c726f728cd35d137188b33301aeef1_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_4adfaf8a08fac23151af0b1e790db1f7_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -14
  40. ddfem/data/2.11.dev20250709/{localfunction_00f2e5593eeb23f01906255d67244f6e_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_4f6a526abfe63959f81b09a5796c5eb1_a524c1196983e65de1c06d7d6afdeb44.cc} +44 -29
  41. ddfem/data/2.11.dev20250709/localfunction_5591a2c803b9658084d8f11d44bf3ae1_a524c1196983e65de1c06d7d6afdeb44.cc +485 -0
  42. ddfem/data/2.11.dev20250709/localfunction_6363af791dde11d699a9a3d876cc5d9a_a524c1196983e65de1c06d7d6afdeb44.cc +549 -0
  43. ddfem/data/2.11.dev20250709/localfunction_6363af791dde11d699a9a3d876cc5d9a_af122c1df944c95cd395ec0f91d0f970.cc +547 -0
  44. ddfem/data/2.11.dev20250709/localfunction_65bda5736a84d4aa0ef2d48ebcc90ed5_a524c1196983e65de1c06d7d6afdeb44.cc +173 -0
  45. ddfem/data/2.11.dev20250709/localfunction_6eccfc8fd91ce34d81e7c3962ece5d94_a524c1196983e65de1c06d7d6afdeb44.cc +766 -0
  46. ddfem/data/2.11.dev20250709/localfunction_762aa49bc5a47ad3d8d8bbde36b42ee5_a524c1196983e65de1c06d7d6afdeb44.cc +723 -0
  47. ddfem/data/2.11.dev20250709/localfunction_76e8db0f046ac9e37a793e0bb13eea7b_a524c1196983e65de1c06d7d6afdeb44.cc +292 -0
  48. ddfem/data/2.11.dev20250709/localfunction_7792f4273b0fd848c5a0fc9d6f12683e_a524c1196983e65de1c06d7d6afdeb44.cc +280 -0
  49. ddfem/data/2.11.dev20250709/localfunction_7d81d496538f240d504e5597484ee746_a524c1196983e65de1c06d7d6afdeb44.cc +462 -0
  50. ddfem/data/2.11.dev20250709/localfunction_7f7ef99c50708814ba5a82b0956b0aed_a524c1196983e65de1c06d7d6afdeb44.cc +461 -0
  51. ddfem/data/2.11.dev20250709/localfunction_898de4ae138e0ed305ef1399c66aa10a_a524c1196983e65de1c06d7d6afdeb44.cc +313 -0
  52. ddfem/data/2.11.dev20250709/localfunction_98b04b00bb93b8c6da99c91867e597ca_a524c1196983e65de1c06d7d6afdeb44.cc +639 -0
  53. ddfem/data/2.11.dev20250709/{localfunction_86a0670f34bf2ac8155423a1c1bc2e75_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_a46a988b5d8571e80fd401a36d7341b7_a524c1196983e65de1c06d7d6afdeb44.cc} +64 -29
  54. ddfem/data/2.11.dev20250709/{localfunction_1d13146d4bff10e178aba773fe2a9f1d_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_a99a0c7f35b06ac5a1fa7f081b5e64f9_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -14
  55. ddfem/data/2.11.dev20250709/{localfunction_e4557ecff74fe5b37313674e67db2782_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_a9bb07439605d560b583608f20441342_a524c1196983e65de1c06d7d6afdeb44.cc} +67 -29
  56. ddfem/data/2.11.dev20250709/{localfunction_82d7cb9338bf118426fac2abf41a91a4_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_cda923259a47bb19861404a9fdb64303_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -14
  57. ddfem/data/2.11.dev20250709/localfunction_d0f33c2dc1ae0e619d85a7621c8e83a6_a524c1196983e65de1c06d7d6afdeb44.cc +325 -0
  58. ddfem/data/2.11.dev20250709/localfunction_d3d9b8a21e3075c9ff40117c5244f28e_a524c1196983e65de1c06d7d6afdeb44.cc +381 -0
  59. ddfem/data/2.11.dev20250709/localfunction_d4b9ca85d48735ee01f395a42eaa0cee_af122c1df944c95cd395ec0f91d0f970.cc +774 -0
  60. ddfem/data/2.11.dev20250709/localfunction_dd1fb4bd60f2d8b3a062dbbdaedb9fee_a524c1196983e65de1c06d7d6afdeb44.cc +869 -0
  61. ddfem/data/2.11.dev20250709/localfunction_dd5ab085a9d94f578c1f3d337ea360a3_a524c1196983e65de1c06d7d6afdeb44.cc +161 -0
  62. ddfem/data/2.11.dev20250709/{localfunction_3e323e81c52891c0ecb656eac273e52f_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_e2b19c5987f9b6fb0cd5453bfa7f4f9f_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -30
  63. ddfem/data/2.11.dev20250709/{localfunction_e69118a51208cfab8a028711e966e76c_19659fe2f2f74bcfb5d532f1a0d38be9.cc → localfunction_e85b93fe9b8fcd40ee82782fc600b65b_a524c1196983e65de1c06d7d6afdeb44.cc} +89 -78
  64. ddfem/data/extra.modules +13 -0
  65. ddfem/examples/beam.py +43 -50
  66. ddfem/examples/chemical_reaction.py +1 -1
  67. ddfem/examples/five_circle_flat.py +42 -28
  68. ddfem/examples/linear_elasticity.py +5 -1
  69. ddfem/examples/triple_circle.py +86 -83
  70. ddfem/examples/triple_circle_beam.py +71 -61
  71. ddfem/geometry/primitive_base.py +1 -1
  72. {ddfem-1.0.9.dist-info → ddfem-1.0.11.dist-info}/METADATA +35 -3
  73. ddfem-1.0.11.dist-info/RECORD +124 -0
  74. ddfem/data/2.11.dev20250709/boundary.modules +0 -9
  75. ddfem/data/2.11.dev20250709/femspace_90f0a9524a8cb701e8ee5027b7658a0e_0faf32f13b591f4f60f83c591507b9be.cc +0 -40
  76. ddfem/data/2.11.dev20250709/geometry.modules +0 -84
  77. ddfem/data/2.11.dev20250709/hierarchicalgrid_966e2a5c8356c5b278ccd3acad180f0a.cc +0 -30
  78. ddfem/data/2.11.dev20250709/localfunction_aeb3d963412cdc65630e0a4c3c0dde0f_a524c1196983e65de1c06d7d6afdeb44.cc +0 -135
  79. ddfem/data/2.11.dev20250709/localfunction_bdfb7ddf42a423f7d0791458634d4b8f_a524c1196983e65de1c06d7d6afdeb44.cc +0 -135
  80. ddfem/data/2.11.dev20250709/localfunction_c5ebc4ae4b5d3bad6be770eb08c50d08_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -1131
  81. ddfem/data/2.11.dev20250709/localfunction_f4583c5cc10d24a8bdedf7510ce9da7b_a524c1196983e65de1c06d7d6afdeb44.cc +0 -299
  82. ddfem/data/2.11.dev20250709/localfunction_f4b1d42cbb447375f39ed834570cd3f0_a524c1196983e65de1c06d7d6afdeb44.cc +0 -135
  83. ddfem/data/2.11.dev20250709/localfunction_fc22d5adaf3b9563160dc2aec55e8ba1_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -113
  84. ddfem/data/2.11.dev20250709/transformers.modules +0 -13
  85. ddfem/data/2.11.dev20250709/yaspcoordinates_dim2_ctdouble.cc +0 -55
  86. ddfem-1.0.9.dist-info/RECORD +0 -96
  87. {ddfem-1.0.9.dist-info → ddfem-1.0.11.dist-info}/WHEEL +0 -0
  88. {ddfem-1.0.9.dist-info → ddfem-1.0.11.dist-info}/licenses/LICENSE +0 -0
  89. {ddfem-1.0.9.dist-info → ddfem-1.0.11.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,5 @@
1
- #ifndef GUARD_86a0670f34bf2ac8155423a1c1bc2e75
2
- #define GUARD_86a0670f34bf2ac8155423a1c1bc2e75
1
+ #ifndef GUARD_a46a988b5d8571e80fd401a36d7341b7
2
+ #define GUARD_a46a988b5d8571e80fd401a36d7341b7
3
3
 
4
4
  #define USING_DUNE_PYTHON 1
5
5
  #include <config.h>
@@ -19,7 +19,7 @@
19
19
  #include <dune/common/exceptions.hh>
20
20
  #include <dune/fempy/py/ufllocalfunction.hh>
21
21
 
22
- namespace UFLLocalFunctions_86a0670f34bf2ac8155423a1c1bc2e75
22
+ namespace UFLLocalFunctions_a46a988b5d8571e80fd401a36d7341b7
23
23
  {
24
24
 
25
25
  // UFLLocalFunction
@@ -39,10 +39,7 @@ struct UFLLocalFunction
39
39
  typedef typename EntityType::Geometry Geometry;
40
40
  typedef typename Geometry::GlobalCoordinate GlobalCoordinateType;
41
41
  typedef Dune::Fem::IntersectionSide Side;
42
- typedef double Conc6;
43
- typedef std::tuple< std::shared_ptr< Conc6 > > ConstantTupleType;
44
- template< std::size_t i >
45
- using ConstantsRangeType = typename std::tuple_element_t< i, ConstantTupleType >::element_type;
42
+ typedef std::tuple<> ConstantTupleType;
46
43
  typedef std::tuple<> CoefficientTupleType;
47
44
  static constexpr bool gridPartValid = true;
48
45
  template< std::size_t i >
@@ -54,9 +51,7 @@ struct UFLLocalFunction
54
51
 
55
52
  UFLLocalFunction ( const GridPartType &gridPart, const std::string &name, int order, const Dune::Fem::ParameterReader &parameter = Dune::Fem::Parameter::container() )
56
53
  : BaseType(gridPart,name,order)
57
- {
58
- std::get< 0 >( constants_ ) = std::make_shared< Conc6 >( (Conc6(0)) );
59
- }
54
+ {}
60
55
 
61
56
  void bind ( const IntersectionType &intersection, Side side )
62
57
  {
@@ -76,20 +71,71 @@ struct UFLLocalFunction
76
71
  template< class Point >
77
72
  void evaluate ( const Point &x, typename FunctionSpaceType::RangeType &result ) const
78
73
  {
79
- double tmp0 = constant< 0 >();
80
- result[ 0 ] = tmp0;
74
+ using std::sqrt;
75
+ GlobalCoordinateType tmp0 = geometry().global( Dune::Fem::coordinate( x ) );
76
+ const auto tmp1 = tmp0[ 1 ] * tmp0[ 1 ];
77
+ const auto tmp2 = tmp0[ 0 ] * tmp0[ 0 ];
78
+ const auto tmp3 = tmp2 + tmp1;
79
+ const auto tmp4 = 1e-10 + tmp3;
80
+ const auto tmp5 = std::sqrt( tmp4 );
81
+ const auto tmp6 = -1 + tmp5;
82
+ result[ 0 ] = tmp6;
81
83
  }
82
84
 
83
85
  template< class Point >
84
86
  void jacobian ( const Point &x, typename FunctionSpaceType::JacobianRangeType &result ) const
85
87
  {
86
- result=typename FunctionSpaceType::JacobianRangeType(0);
88
+ using std::sqrt;
89
+ GlobalCoordinateType tmp0 = geometry().global( Dune::Fem::coordinate( x ) );
90
+ const auto tmp1 = tmp0[ 1 ] * tmp0[ 1 ];
91
+ const auto tmp2 = tmp0[ 0 ] * tmp0[ 0 ];
92
+ const auto tmp3 = tmp2 + tmp1;
93
+ const auto tmp4 = 1e-10 + tmp3;
94
+ const auto tmp5 = std::sqrt( tmp4 );
95
+ const auto tmp6 = 2 * tmp5;
96
+ const auto tmp7 = tmp0[ 0 ] + tmp0[ 0 ];
97
+ const auto tmp8 = tmp7 / tmp6;
98
+ const auto tmp9 = tmp0[ 1 ] + tmp0[ 1 ];
99
+ const auto tmp10 = tmp9 / tmp6;
100
+ (result[ 0 ])[ 0 ] = tmp8;
101
+ (result[ 0 ])[ 1 ] = tmp10;
87
102
  }
88
103
 
89
104
  template< class Point >
90
105
  void hessian ( const Point &x, typename FunctionSpaceType::HessianRangeType &result ) const
91
106
  {
92
- result=typename FunctionSpaceType::HessianRangeType(0);
107
+ using std::sqrt;
108
+ GlobalCoordinateType tmp0 = geometry().global( Dune::Fem::coordinate( x ) );
109
+ const auto tmp1 = tmp0[ 1 ] * tmp0[ 1 ];
110
+ const auto tmp2 = tmp0[ 0 ] * tmp0[ 0 ];
111
+ const auto tmp3 = tmp2 + tmp1;
112
+ const auto tmp4 = 1e-10 + tmp3;
113
+ const auto tmp5 = std::sqrt( tmp4 );
114
+ const auto tmp6 = 2 * tmp5;
115
+ const auto tmp7 = tmp0[ 0 ] + tmp0[ 0 ];
116
+ const auto tmp8 = tmp7 / tmp6;
117
+ const auto tmp9 = 2 * tmp8;
118
+ const auto tmp10 = tmp9 * tmp8;
119
+ const auto tmp11 = -1 * tmp10;
120
+ const auto tmp12 = 2 + tmp11;
121
+ const auto tmp13 = tmp12 / tmp6;
122
+ const auto tmp14 = tmp0[ 1 ] + tmp0[ 1 ];
123
+ const auto tmp15 = tmp14 / tmp6;
124
+ const auto tmp16 = 2 * tmp15;
125
+ const auto tmp17 = tmp16 * tmp8;
126
+ const auto tmp18 = -1 * tmp17;
127
+ const auto tmp19 = tmp18 / tmp6;
128
+ const auto tmp20 = tmp9 * tmp15;
129
+ const auto tmp21 = -1 * tmp20;
130
+ const auto tmp22 = tmp21 / tmp6;
131
+ const auto tmp23 = tmp16 * tmp15;
132
+ const auto tmp24 = -1 * tmp23;
133
+ const auto tmp25 = 2 + tmp24;
134
+ const auto tmp26 = tmp25 / tmp6;
135
+ ((result[ 0 ])[ 0 ])[ 0 ] = tmp13;
136
+ ((result[ 0 ])[ 0 ])[ 1 ] = tmp19;
137
+ ((result[ 0 ])[ 1 ])[ 0 ] = tmp22;
138
+ ((result[ 0 ])[ 1 ])[ 1 ] = tmp26;
93
139
  }
94
140
 
95
141
  template< std::size_t i >
@@ -103,31 +149,20 @@ struct UFLLocalFunction
103
149
  {
104
150
  return *std::get< i >( constants_ );
105
151
  }
106
-
107
- const Conc6 &conc6 () const
108
- {
109
- return *std::get< 0 >( constants_ );
110
- }
111
-
112
- Conc6 &conc6 ()
113
- {
114
- return *std::get< 0 >( constants_ );
115
- }
116
152
  ConstantTupleType constants_;
117
153
  std::tuple< > coefficients_;
118
154
  };
119
155
 
120
- } // namespace UFLLocalFunctions_86a0670f34bf2ac8155423a1c1bc2e75
156
+ } // namespace UFLLocalFunctions_a46a988b5d8571e80fd401a36d7341b7
121
157
 
122
- PYBIND11_MODULE( localfunction_86a0670f34bf2ac8155423a1c1bc2e75_a524c1196983e65de1c06d7d6afdeb44, module )
158
+ PYBIND11_MODULE( localfunction_a46a988b5d8571e80fd401a36d7341b7_a524c1196983e65de1c06d7d6afdeb44, module )
123
159
  {
124
- typedef UFLLocalFunctions_86a0670f34bf2ac8155423a1c1bc2e75::UFLLocalFunction< 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 > > > LocalFunctionType;
160
+ typedef UFLLocalFunctions_a46a988b5d8571e80fd401a36d7341b7::UFLLocalFunction< 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 > > > LocalFunctionType;
125
161
  if constexpr( LocalFunctionType::gridPartValid )
126
162
  {
127
- auto cls = Dune::Python::insertClass<LocalFunctionType>(module,"UFLLocalFunction",Dune::Python::GenerateTypeName("UFLLocalFunctions_86a0670f34bf2ac8155423a1c1bc2e75::UFLLocalFunction< 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 > > >"), Dune::Python::IncludeFiles({"python/dune/generated/localfunction_86a0670f34bf2ac8155423a1c1bc2e75_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
163
+ auto cls = Dune::Python::insertClass<LocalFunctionType>(module,"UFLLocalFunction",Dune::Python::GenerateTypeName("UFLLocalFunctions_a46a988b5d8571e80fd401a36d7341b7::UFLLocalFunction< 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 > > >"), Dune::Python::IncludeFiles({"python/dune/generated/localfunction_a46a988b5d8571e80fd401a36d7341b7_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
128
164
  Dune::FemPy::registerUFLLocalFunction( module, cls );
129
165
  cls.def( pybind11::init( [] ( pybind11::object gridView, const std::string &name, int order ) {return new LocalFunctionType( 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 >>(gridView),name,order); } ), pybind11::keep_alive< 1, 2 >() );
130
- cls.def_property( "c6", [] ( LocalFunctionType &self ) -> UFLLocalFunctions_86a0670f34bf2ac8155423a1c1bc2e75::UFLLocalFunction< 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 > > >::Conc6 { return self.conc6(); }, [] ( LocalFunctionType &self, const UFLLocalFunctions_86a0670f34bf2ac8155423a1c1bc2e75::UFLLocalFunction< 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 > > >::Conc6 &v ) { self.conc6() = v; } );
131
166
  cls.def_property_readonly( "virtualized", [] ( LocalFunctionType& ) -> bool { return true;});
132
167
  }
133
168
  }
@@ -1,5 +1,5 @@
1
- #ifndef GUARD_1d13146d4bff10e178aba773fe2a9f1d
2
- #define GUARD_1d13146d4bff10e178aba773fe2a9f1d
1
+ #ifndef GUARD_a99a0c7f35b06ac5a1fa7f081b5e64f9
2
+ #define GUARD_a99a0c7f35b06ac5a1fa7f081b5e64f9
3
3
 
4
4
  #define USING_DUNE_PYTHON 1
5
5
  #include <config.h>
@@ -20,13 +20,13 @@
20
20
  #include <dune/fempy/function/virtualizedgridfunction.hh>
21
21
  #include <dune/fempy/py/ufllocalfunction.hh>
22
22
 
23
- namespace UFLLocalFunctions_1d13146d4bff10e178aba773fe2a9f1d
23
+ namespace UFLLocalFunctions_a99a0c7f35b06ac5a1fa7f081b5e64f9
24
24
  {
25
25
 
26
26
  // UFLLocalFunction
27
27
  // ----------------
28
28
 
29
- template< class GridPart, class Coeffddm >
29
+ template< class GridPart, class Coeffuh >
30
30
  struct UFLLocalFunction
31
31
  : public Dune::Fem::BindableGridFunctionWithSpace<GridPart,Dune::Dim<1>>
32
32
  {
@@ -42,14 +42,14 @@ struct UFLLocalFunction
42
42
  typedef Dune::Fem::IntersectionSide Side;
43
43
  typedef std::tuple<> ConstantTupleType;
44
44
  typedef std::tuple< Dune::Fem::GridFunctionSpace< GridPartType, Dune::FieldVector< double, 1 > > > CoefficientFunctionSpaceTupleType;
45
- typedef std::tuple< Coeffddm > CoefficientTupleType;
45
+ typedef std::tuple< Coeffuh > CoefficientTupleType;
46
46
  template< std::size_t i >
47
47
  using CoefficientFunctionSpaceType = std::tuple_element_t< i, CoefficientFunctionSpaceTupleType >;
48
48
  template< std::size_t i >
49
49
  using CoefficientRangeType = typename CoefficientFunctionSpaceType< i >::RangeType;
50
50
  template< std::size_t i >
51
51
  using CoefficientJacobianRangeType = typename CoefficientFunctionSpaceType< i >::JacobianRangeType;
52
- static constexpr bool gridPartValid = Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffddm>>();
52
+ static constexpr bool gridPartValid = Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffuh>>();
53
53
  template< std::size_t i >
54
54
  using CoefficientType = std::tuple_element_t< i, CoefficientTupleType >;
55
55
  template< std::size_t i >
@@ -57,9 +57,9 @@ struct UFLLocalFunction
57
57
  using BaseType::entity;
58
58
  using BaseType::geometry;
59
59
 
60
- UFLLocalFunction ( const GridPartType &gridPart, const std::string &name, int order, const Coeffddm &coeffddm, const Dune::Fem::ParameterReader &parameter = Dune::Fem::Parameter::container() )
60
+ UFLLocalFunction ( const GridPartType &gridPart, const std::string &name, int order, const Coeffuh &coeffuh, const Dune::Fem::ParameterReader &parameter = Dune::Fem::Parameter::container() )
61
61
  : BaseType(gridPart,name,order),
62
- coefficients_( Dune::Fem::ConstLocalFunction< Coeffddm >( coeffddm ) )
62
+ coefficients_( Dune::Fem::ConstLocalFunction< Coeffuh >( coeffuh ) )
63
63
  {}
64
64
 
65
65
  void bind ( const IntersectionType &intersection, Side side )
@@ -243,19 +243,19 @@ struct UFLLocalFunction
243
243
  return result;
244
244
  }
245
245
  ConstantTupleType constants_;
246
- std::tuple< Dune::Fem::ConstLocalFunction< Coeffddm > > coefficients_;
246
+ std::tuple< Dune::Fem::ConstLocalFunction< Coeffuh > > coefficients_;
247
247
  };
248
248
 
249
- } // namespace UFLLocalFunctions_1d13146d4bff10e178aba773fe2a9f1d
249
+ } // namespace UFLLocalFunctions_a99a0c7f35b06ac5a1fa7f081b5e64f9
250
250
 
251
- PYBIND11_MODULE( localfunction_1d13146d4bff10e178aba773fe2a9f1d_a524c1196983e65de1c06d7d6afdeb44, module )
251
+ PYBIND11_MODULE( localfunction_a99a0c7f35b06ac5a1fa7f081b5e64f9_a524c1196983e65de1c06d7d6afdeb44, module )
252
252
  {
253
- typedef UFLLocalFunctions_1d13146d4bff10e178aba773fe2a9f1d::UFLLocalFunction< 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 > >, 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 > > > LocalFunctionType;
253
+ typedef UFLLocalFunctions_a99a0c7f35b06ac5a1fa7f081b5e64f9::UFLLocalFunction< 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 > >, 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 > > > LocalFunctionType;
254
254
  if constexpr( LocalFunctionType::gridPartValid )
255
255
  {
256
- auto cls = Dune::Python::insertClass<LocalFunctionType>(module,"UFLLocalFunction",Dune::Python::GenerateTypeName("UFLLocalFunctions_1d13146d4bff10e178aba773fe2a9f1d::UFLLocalFunction< 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 > >, 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/localfunction_1d13146d4bff10e178aba773fe2a9f1d_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
256
+ auto cls = Dune::Python::insertClass<LocalFunctionType>(module,"UFLLocalFunction",Dune::Python::GenerateTypeName("UFLLocalFunctions_a99a0c7f35b06ac5a1fa7f081b5e64f9::UFLLocalFunction< 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 > >, 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/localfunction_a99a0c7f35b06ac5a1fa7f081b5e64f9_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
257
257
  Dune::FemPy::registerUFLLocalFunction( module, cls );
258
- cls.def( pybind11::init( [] ( pybind11::object gridView, const std::string &name, int order, 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 > > &coeffddm ) {return new LocalFunctionType( 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 >>(gridView),name,order, coeffddm); } ), pybind11::keep_alive< 1, 2 >(), pybind11::keep_alive< 1, 3 >() );
258
+ cls.def( pybind11::init( [] ( pybind11::object gridView, const std::string &name, int order, 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 > > &coeffuh ) {return new LocalFunctionType( 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 >>(gridView),name,order, coeffuh); } ), pybind11::keep_alive< 1, 2 >(), pybind11::keep_alive< 1, 3 >() );
259
259
  cls.def_property_readonly( "virtualized", [] ( LocalFunctionType& ) -> bool { return true;});
260
260
  }
261
261
  }
@@ -1,5 +1,5 @@
1
- #ifndef GUARD_e4557ecff74fe5b37313674e67db2782
2
- #define GUARD_e4557ecff74fe5b37313674e67db2782
1
+ #ifndef GUARD_a9bb07439605d560b583608f20441342
2
+ #define GUARD_a9bb07439605d560b583608f20441342
3
3
 
4
4
  #define USING_DUNE_PYTHON 1
5
5
  #include <config.h>
@@ -19,7 +19,7 @@
19
19
  #include <dune/common/exceptions.hh>
20
20
  #include <dune/fempy/py/ufllocalfunction.hh>
21
21
 
22
- namespace UFLLocalFunctions_e4557ecff74fe5b37313674e67db2782
22
+ namespace UFLLocalFunctions_a9bb07439605d560b583608f20441342
23
23
  {
24
24
 
25
25
  // UFLLocalFunction
@@ -39,10 +39,7 @@ struct UFLLocalFunction
39
39
  typedef typename EntityType::Geometry Geometry;
40
40
  typedef typename Geometry::GlobalCoordinate GlobalCoordinateType;
41
41
  typedef Dune::Fem::IntersectionSide Side;
42
- typedef double Conc8;
43
- typedef std::tuple< std::shared_ptr< Conc8 > > ConstantTupleType;
44
- template< std::size_t i >
45
- using ConstantsRangeType = typename std::tuple_element_t< i, ConstantTupleType >::element_type;
42
+ typedef std::tuple<> ConstantTupleType;
46
43
  typedef std::tuple<> CoefficientTupleType;
47
44
  static constexpr bool gridPartValid = true;
48
45
  template< std::size_t i >
@@ -54,9 +51,7 @@ struct UFLLocalFunction
54
51
 
55
52
  UFLLocalFunction ( const GridPartType &gridPart, const std::string &name, int order, const Dune::Fem::ParameterReader &parameter = Dune::Fem::Parameter::container() )
56
53
  : BaseType(gridPart,name,order)
57
- {
58
- std::get< 0 >( constants_ ) = std::make_shared< Conc8 >( (Conc8(0)) );
59
- }
54
+ {}
60
55
 
61
56
  void bind ( const IntersectionType &intersection, Side side )
62
57
  {
@@ -76,20 +71,74 @@ struct UFLLocalFunction
76
71
  template< class Point >
77
72
  void evaluate ( const Point &x, typename FunctionSpaceType::RangeType &result ) const
78
73
  {
79
- double tmp0 = constant< 0 >();
80
- result[ 0 ] = tmp0;
74
+ using std::sqrt;
75
+ GlobalCoordinateType tmp0 = geometry().global( Dune::Fem::coordinate( x ) );
76
+ const auto tmp1 = -1 + tmp0[ 0 ];
77
+ const auto tmp2 = tmp1 * tmp1;
78
+ const auto tmp3 = tmp0[ 1 ] * tmp0[ 1 ];
79
+ const auto tmp4 = tmp3 + tmp2;
80
+ const auto tmp5 = 1e-10 + tmp4;
81
+ const auto tmp6 = std::sqrt( tmp5 );
82
+ const auto tmp7 = -0.5 + tmp6;
83
+ result[ 0 ] = tmp7;
81
84
  }
82
85
 
83
86
  template< class Point >
84
87
  void jacobian ( const Point &x, typename FunctionSpaceType::JacobianRangeType &result ) const
85
88
  {
86
- result=typename FunctionSpaceType::JacobianRangeType(0);
89
+ using std::sqrt;
90
+ GlobalCoordinateType tmp0 = geometry().global( Dune::Fem::coordinate( x ) );
91
+ const auto tmp1 = -1 + tmp0[ 0 ];
92
+ const auto tmp2 = tmp1 * tmp1;
93
+ const auto tmp3 = tmp0[ 1 ] * tmp0[ 1 ];
94
+ const auto tmp4 = tmp3 + tmp2;
95
+ const auto tmp5 = 1e-10 + tmp4;
96
+ const auto tmp6 = std::sqrt( tmp5 );
97
+ const auto tmp7 = 2 * tmp6;
98
+ const auto tmp8 = tmp1 + tmp1;
99
+ const auto tmp9 = tmp8 / tmp7;
100
+ const auto tmp10 = tmp0[ 1 ] + tmp0[ 1 ];
101
+ const auto tmp11 = tmp10 / tmp7;
102
+ (result[ 0 ])[ 0 ] = tmp9;
103
+ (result[ 0 ])[ 1 ] = tmp11;
87
104
  }
88
105
 
89
106
  template< class Point >
90
107
  void hessian ( const Point &x, typename FunctionSpaceType::HessianRangeType &result ) const
91
108
  {
92
- result=typename FunctionSpaceType::HessianRangeType(0);
109
+ using std::sqrt;
110
+ GlobalCoordinateType tmp0 = geometry().global( Dune::Fem::coordinate( x ) );
111
+ const auto tmp1 = -1 + tmp0[ 0 ];
112
+ const auto tmp2 = tmp1 * tmp1;
113
+ const auto tmp3 = tmp0[ 1 ] * tmp0[ 1 ];
114
+ const auto tmp4 = tmp3 + tmp2;
115
+ const auto tmp5 = 1e-10 + tmp4;
116
+ const auto tmp6 = std::sqrt( tmp5 );
117
+ const auto tmp7 = 2 * tmp6;
118
+ const auto tmp8 = tmp1 + tmp1;
119
+ const auto tmp9 = tmp8 / tmp7;
120
+ const auto tmp10 = 2 * tmp9;
121
+ const auto tmp11 = tmp10 * tmp9;
122
+ const auto tmp12 = -1 * tmp11;
123
+ const auto tmp13 = 2 + tmp12;
124
+ const auto tmp14 = tmp13 / tmp7;
125
+ const auto tmp15 = tmp0[ 1 ] + tmp0[ 1 ];
126
+ const auto tmp16 = tmp15 / tmp7;
127
+ const auto tmp17 = 2 * tmp16;
128
+ const auto tmp18 = tmp17 * tmp9;
129
+ const auto tmp19 = -1 * tmp18;
130
+ const auto tmp20 = tmp19 / tmp7;
131
+ const auto tmp21 = tmp10 * tmp16;
132
+ const auto tmp22 = -1 * tmp21;
133
+ const auto tmp23 = tmp22 / tmp7;
134
+ const auto tmp24 = tmp17 * tmp16;
135
+ const auto tmp25 = -1 * tmp24;
136
+ const auto tmp26 = 2 + tmp25;
137
+ const auto tmp27 = tmp26 / tmp7;
138
+ ((result[ 0 ])[ 0 ])[ 0 ] = tmp14;
139
+ ((result[ 0 ])[ 0 ])[ 1 ] = tmp20;
140
+ ((result[ 0 ])[ 1 ])[ 0 ] = tmp23;
141
+ ((result[ 0 ])[ 1 ])[ 1 ] = tmp27;
93
142
  }
94
143
 
95
144
  template< std::size_t i >
@@ -103,31 +152,20 @@ struct UFLLocalFunction
103
152
  {
104
153
  return *std::get< i >( constants_ );
105
154
  }
106
-
107
- const Conc8 &conc8 () const
108
- {
109
- return *std::get< 0 >( constants_ );
110
- }
111
-
112
- Conc8 &conc8 ()
113
- {
114
- return *std::get< 0 >( constants_ );
115
- }
116
155
  ConstantTupleType constants_;
117
156
  std::tuple< > coefficients_;
118
157
  };
119
158
 
120
- } // namespace UFLLocalFunctions_e4557ecff74fe5b37313674e67db2782
159
+ } // namespace UFLLocalFunctions_a9bb07439605d560b583608f20441342
121
160
 
122
- PYBIND11_MODULE( localfunction_e4557ecff74fe5b37313674e67db2782_a524c1196983e65de1c06d7d6afdeb44, module )
161
+ PYBIND11_MODULE( localfunction_a9bb07439605d560b583608f20441342_a524c1196983e65de1c06d7d6afdeb44, module )
123
162
  {
124
- typedef UFLLocalFunctions_e4557ecff74fe5b37313674e67db2782::UFLLocalFunction< 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 > > > LocalFunctionType;
163
+ typedef UFLLocalFunctions_a9bb07439605d560b583608f20441342::UFLLocalFunction< 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 > > > LocalFunctionType;
125
164
  if constexpr( LocalFunctionType::gridPartValid )
126
165
  {
127
- auto cls = Dune::Python::insertClass<LocalFunctionType>(module,"UFLLocalFunction",Dune::Python::GenerateTypeName("UFLLocalFunctions_e4557ecff74fe5b37313674e67db2782::UFLLocalFunction< 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 > > >"), Dune::Python::IncludeFiles({"python/dune/generated/localfunction_e4557ecff74fe5b37313674e67db2782_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
166
+ auto cls = Dune::Python::insertClass<LocalFunctionType>(module,"UFLLocalFunction",Dune::Python::GenerateTypeName("UFLLocalFunctions_a9bb07439605d560b583608f20441342::UFLLocalFunction< 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 > > >"), Dune::Python::IncludeFiles({"python/dune/generated/localfunction_a9bb07439605d560b583608f20441342_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
128
167
  Dune::FemPy::registerUFLLocalFunction( module, cls );
129
168
  cls.def( pybind11::init( [] ( pybind11::object gridView, const std::string &name, int order ) {return new LocalFunctionType( 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 >>(gridView),name,order); } ), pybind11::keep_alive< 1, 2 >() );
130
- cls.def_property( "c8", [] ( LocalFunctionType &self ) -> UFLLocalFunctions_e4557ecff74fe5b37313674e67db2782::UFLLocalFunction< 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 > > >::Conc8 { return self.conc8(); }, [] ( LocalFunctionType &self, const UFLLocalFunctions_e4557ecff74fe5b37313674e67db2782::UFLLocalFunction< 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 > > >::Conc8 &v ) { self.conc8() = v; } );
131
169
  cls.def_property_readonly( "virtualized", [] ( LocalFunctionType& ) -> bool { return true;});
132
170
  }
133
171
  }
@@ -1,5 +1,5 @@
1
- #ifndef GUARD_82d7cb9338bf118426fac2abf41a91a4
2
- #define GUARD_82d7cb9338bf118426fac2abf41a91a4
1
+ #ifndef GUARD_cda923259a47bb19861404a9fdb64303
2
+ #define GUARD_cda923259a47bb19861404a9fdb64303
3
3
 
4
4
  #define USING_DUNE_PYTHON 1
5
5
  #include <config.h>
@@ -20,13 +20,13 @@
20
20
  #include <dune/fempy/function/virtualizedgridfunction.hh>
21
21
  #include <dune/fempy/py/ufllocalfunction.hh>
22
22
 
23
- namespace UFLLocalFunctions_82d7cb9338bf118426fac2abf41a91a4
23
+ namespace UFLLocalFunctions_cda923259a47bb19861404a9fdb64303
24
24
  {
25
25
 
26
26
  // UFLLocalFunction
27
27
  // ----------------
28
28
 
29
- template< class GridPart, class Coeffbndproj, class Coeffddm, class Coeffsdfprojfull, class Coeffphidomain >
29
+ template< class GridPart, class Coeffbndproj, class Coeffuh, class Coeffsdfprojfull, class Coeffphidomain >
30
30
  struct UFLLocalFunction
31
31
  : public Dune::Fem::BindableGridFunctionWithSpace<GridPart,Dune::Dim<1>>
32
32
  {
@@ -42,14 +42,14 @@ struct UFLLocalFunction
42
42
  typedef Dune::Fem::IntersectionSide Side;
43
43
  typedef std::tuple<> ConstantTupleType;
44
44
  typedef std::tuple< Dune::Fem::GridFunctionSpace< GridPartType, Dune::FieldVector< double, 2 > >, Dune::Fem::GridFunctionSpace< GridPartType, Dune::FieldVector< double, 1 > >, Dune::Fem::GridFunctionSpace< GridPartType, Dune::FieldVector< double, 1 > >, Dune::Fem::GridFunctionSpace< GridPartType, Dune::FieldVector< double, 1 > > > CoefficientFunctionSpaceTupleType;
45
- typedef std::tuple< Coeffbndproj, Coeffddm, Coeffsdfprojfull, Coeffphidomain > CoefficientTupleType;
45
+ typedef std::tuple< Coeffbndproj, Coeffuh, Coeffsdfprojfull, Coeffphidomain > CoefficientTupleType;
46
46
  template< std::size_t i >
47
47
  using CoefficientFunctionSpaceType = std::tuple_element_t< i, CoefficientFunctionSpaceTupleType >;
48
48
  template< std::size_t i >
49
49
  using CoefficientRangeType = typename CoefficientFunctionSpaceType< i >::RangeType;
50
50
  template< std::size_t i >
51
51
  using CoefficientJacobianRangeType = typename CoefficientFunctionSpaceType< i >::JacobianRangeType;
52
- static constexpr bool gridPartValid = Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffbndproj>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffddm>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffsdfprojfull>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffphidomain>>();
52
+ static constexpr bool gridPartValid = Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffbndproj>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffuh>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffsdfprojfull>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffphidomain>>();
53
53
  template< std::size_t i >
54
54
  using CoefficientType = std::tuple_element_t< i, CoefficientTupleType >;
55
55
  template< std::size_t i >
@@ -57,9 +57,9 @@ struct UFLLocalFunction
57
57
  using BaseType::entity;
58
58
  using BaseType::geometry;
59
59
 
60
- UFLLocalFunction ( const GridPartType &gridPart, const std::string &name, int order, const Coeffbndproj &coeffbndproj, const Coeffddm &coeffddm, const Coeffsdfprojfull &coeffsdfprojfull, const Coeffphidomain &coeffphidomain, const Dune::Fem::ParameterReader &parameter = Dune::Fem::Parameter::container() )
60
+ UFLLocalFunction ( const GridPartType &gridPart, const std::string &name, int order, const Coeffbndproj &coeffbndproj, const Coeffuh &coeffuh, const Coeffsdfprojfull &coeffsdfprojfull, const Coeffphidomain &coeffphidomain, const Dune::Fem::ParameterReader &parameter = Dune::Fem::Parameter::container() )
61
61
  : BaseType(gridPart,name,order),
62
- coefficients_( Dune::Fem::ConstLocalFunction< Coeffbndproj >( coeffbndproj ), Dune::Fem::ConstLocalFunction< Coeffddm >( coeffddm ), Dune::Fem::ConstLocalFunction< Coeffsdfprojfull >( coeffsdfprojfull ), Dune::Fem::ConstLocalFunction< Coeffphidomain >( coeffphidomain ) )
62
+ coefficients_( Dune::Fem::ConstLocalFunction< Coeffbndproj >( coeffbndproj ), Dune::Fem::ConstLocalFunction< Coeffuh >( coeffuh ), Dune::Fem::ConstLocalFunction< Coeffsdfprojfull >( coeffsdfprojfull ), Dune::Fem::ConstLocalFunction< Coeffphidomain >( coeffphidomain ) )
63
63
  {}
64
64
 
65
65
  void bind ( const IntersectionType &intersection, Side side )
@@ -366,19 +366,19 @@ struct UFLLocalFunction
366
366
  return result;
367
367
  }
368
368
  ConstantTupleType constants_;
369
- std::tuple< Dune::Fem::ConstLocalFunction< Coeffbndproj >, Dune::Fem::ConstLocalFunction< Coeffddm >, Dune::Fem::ConstLocalFunction< Coeffsdfprojfull >, Dune::Fem::ConstLocalFunction< Coeffphidomain > > coefficients_;
369
+ std::tuple< Dune::Fem::ConstLocalFunction< Coeffbndproj >, Dune::Fem::ConstLocalFunction< Coeffuh >, Dune::Fem::ConstLocalFunction< Coeffsdfprojfull >, Dune::Fem::ConstLocalFunction< Coeffphidomain > > coefficients_;
370
370
  };
371
371
 
372
- } // namespace UFLLocalFunctions_82d7cb9338bf118426fac2abf41a91a4
372
+ } // namespace UFLLocalFunctions_cda923259a47bb19861404a9fdb64303
373
373
 
374
- PYBIND11_MODULE( localfunction_82d7cb9338bf118426fac2abf41a91a4_a524c1196983e65de1c06d7d6afdeb44, module )
374
+ PYBIND11_MODULE( localfunction_cda923259a47bb19861404a9fdb64303_a524c1196983e65de1c06d7d6afdeb44, module )
375
375
  {
376
- typedef UFLLocalFunctions_82d7cb9338bf118426fac2abf41a91a4::UFLLocalFunction< 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 > >, 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 > > > LocalFunctionType;
376
+ typedef UFLLocalFunctions_cda923259a47bb19861404a9fdb64303::UFLLocalFunction< 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 > >, 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 > > > LocalFunctionType;
377
377
  if constexpr( LocalFunctionType::gridPartValid )
378
378
  {
379
- auto cls = Dune::Python::insertClass<LocalFunctionType>(module,"UFLLocalFunction",Dune::Python::GenerateTypeName("UFLLocalFunctions_82d7cb9338bf118426fac2abf41a91a4::UFLLocalFunction< 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 > >, 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/localfunction_82d7cb9338bf118426fac2abf41a91a4_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
379
+ auto cls = Dune::Python::insertClass<LocalFunctionType>(module,"UFLLocalFunction",Dune::Python::GenerateTypeName("UFLLocalFunctions_cda923259a47bb19861404a9fdb64303::UFLLocalFunction< 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 > >, 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/localfunction_cda923259a47bb19861404a9fdb64303_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
380
380
  Dune::FemPy::registerUFLLocalFunction( module, cls );
381
- cls.def( pybind11::init( [] ( pybind11::object gridView, const std::string &name, int order, 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, 1 > > &coeffddm, 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 > > &coeffphidomain ) {return new LocalFunctionType( 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 >>(gridView),name,order, coeffbndproj, coeffddm, coeffsdfprojfull, 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 >() );
381
+ cls.def( pybind11::init( [] ( pybind11::object gridView, const std::string &name, int order, 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, 1 > > &coeffuh, 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 > > &coeffphidomain ) {return new LocalFunctionType( 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 >>(gridView),name,order, coeffbndproj, coeffuh, coeffsdfprojfull, 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 >() );
382
382
  cls.def_property_readonly( "virtualized", [] ( LocalFunctionType& ) -> bool { return true;});
383
383
  }
384
384
  }