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_f626cd43dc8558135fe0b32cde016644
2
- #define GUARD_f626cd43dc8558135fe0b32cde016644
1
+ #ifndef GUARD_3ecaf7de7505b53bb0b5fb6d78549387
2
+ #define GUARD_3ecaf7de7505b53bb0b5fb6d78549387
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_f626cd43dc8558135fe0b32cde016644
23
+ namespace UFLLocalFunctions_3ecaf7de7505b53bb0b5fb6d78549387
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 )
@@ -274,19 +274,19 @@ struct UFLLocalFunction
274
274
  return result;
275
275
  }
276
276
  ConstantTupleType constants_;
277
- std::tuple< Dune::Fem::ConstLocalFunction< Coeffddm > > coefficients_;
277
+ std::tuple< Dune::Fem::ConstLocalFunction< Coeffuh > > coefficients_;
278
278
  };
279
279
 
280
- } // namespace UFLLocalFunctions_f626cd43dc8558135fe0b32cde016644
280
+ } // namespace UFLLocalFunctions_3ecaf7de7505b53bb0b5fb6d78549387
281
281
 
282
- PYBIND11_MODULE( localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44, module )
282
+ PYBIND11_MODULE( localfunction_3ecaf7de7505b53bb0b5fb6d78549387_a524c1196983e65de1c06d7d6afdeb44, module )
283
283
  {
284
- typedef UFLLocalFunctions_f626cd43dc8558135fe0b32cde016644::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;
284
+ typedef UFLLocalFunctions_3ecaf7de7505b53bb0b5fb6d78549387::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;
285
285
  if constexpr( LocalFunctionType::gridPartValid )
286
286
  {
287
- auto cls = Dune::Python::insertClass<LocalFunctionType>(module,"UFLLocalFunction",Dune::Python::GenerateTypeName("UFLLocalFunctions_f626cd43dc8558135fe0b32cde016644::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_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
287
+ auto cls = Dune::Python::insertClass<LocalFunctionType>(module,"UFLLocalFunction",Dune::Python::GenerateTypeName("UFLLocalFunctions_3ecaf7de7505b53bb0b5fb6d78549387::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_3ecaf7de7505b53bb0b5fb6d78549387_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
288
288
  Dune::FemPy::registerUFLLocalFunction( module, cls );
289
- 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 >() );
289
+ 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 >() );
290
290
  cls.def_property_readonly( "virtualized", [] ( LocalFunctionType& ) -> bool { return true;});
291
291
  }
292
292
  }
@@ -1,5 +1,5 @@
1
- #ifndef GUARD_1d27a90a52b9053192c9cc902283f79b
2
- #define GUARD_1d27a90a52b9053192c9cc902283f79b
1
+ #ifndef GUARD_4192604521151252f1c8fa56a1f9f226
2
+ #define GUARD_4192604521151252f1c8fa56a1f9f226
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_1d27a90a52b9053192c9cc902283f79b
23
+ namespace UFLLocalFunctions_4192604521151252f1c8fa56a1f9f226
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 )
@@ -169,19 +169,19 @@ struct UFLLocalFunction
169
169
  return result;
170
170
  }
171
171
  ConstantTupleType constants_;
172
- std::tuple< Dune::Fem::ConstLocalFunction< Coeffddm > > coefficients_;
172
+ std::tuple< Dune::Fem::ConstLocalFunction< Coeffuh > > coefficients_;
173
173
  };
174
174
 
175
- } // namespace UFLLocalFunctions_1d27a90a52b9053192c9cc902283f79b
175
+ } // namespace UFLLocalFunctions_4192604521151252f1c8fa56a1f9f226
176
176
 
177
- PYBIND11_MODULE( localfunction_1d27a90a52b9053192c9cc902283f79b_a524c1196983e65de1c06d7d6afdeb44, module )
177
+ PYBIND11_MODULE( localfunction_4192604521151252f1c8fa56a1f9f226_a524c1196983e65de1c06d7d6afdeb44, module )
178
178
  {
179
- typedef UFLLocalFunctions_1d27a90a52b9053192c9cc902283f79b::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;
179
+ typedef UFLLocalFunctions_4192604521151252f1c8fa56a1f9f226::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;
180
180
  if constexpr( LocalFunctionType::gridPartValid )
181
181
  {
182
- auto cls = Dune::Python::insertClass<LocalFunctionType>(module,"UFLLocalFunction",Dune::Python::GenerateTypeName("UFLLocalFunctions_1d27a90a52b9053192c9cc902283f79b::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_1d27a90a52b9053192c9cc902283f79b_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
182
+ auto cls = Dune::Python::insertClass<LocalFunctionType>(module,"UFLLocalFunction",Dune::Python::GenerateTypeName("UFLLocalFunctions_4192604521151252f1c8fa56a1f9f226::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_4192604521151252f1c8fa56a1f9f226_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
183
183
  Dune::FemPy::registerUFLLocalFunction( module, cls );
184
- 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 >() );
184
+ 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 >() );
185
185
  cls.def_property_readonly( "virtualized", [] ( LocalFunctionType& ) -> bool { return true;});
186
186
  }
187
187
  }
@@ -0,0 +1,173 @@
1
+ #ifndef GUARD_4484607e3f9bd9999dbd7bb9d595a7b2
2
+ #define GUARD_4484607e3f9bd9999dbd7bb9d595a7b2
3
+
4
+ #define USING_DUNE_PYTHON 1
5
+ #include <config.h>
6
+ #include <dune/alugrid/dgf.hh>
7
+ #include <dune/alugrid/grid.hh>
8
+ #include <dune/fem/gridpart/adaptiveleafgridpart.hh>
9
+ #include <dune/fem/gridpart/filter/simple.hh>
10
+ #include <dune/fem/gridpart/filteredgridpart.hh>
11
+ #include <dune/fempy/py/gridview.hh>
12
+ #include <dune/python/grid/gridview.hh>
13
+ #include <dune/python/grid/hierarchical.hh>
14
+ #include <dune/fem/function/localfunction/bindable.hh>
15
+ #include <dune/fem/common/intersectionside.hh>
16
+ #include <dune/python/pybind11/pybind11.h>
17
+ #include <dune/python/pybind11/extensions.h>
18
+ #include <dune/fempy/py/grid/gridpart.hh>
19
+ #include <dune/common/exceptions.hh>
20
+ #include <dune/fempy/py/ufllocalfunction.hh>
21
+
22
+ namespace UFLLocalFunctions_4484607e3f9bd9999dbd7bb9d595a7b2
23
+ {
24
+
25
+ // UFLLocalFunction
26
+ // ----------------
27
+
28
+ template< class GridPart >
29
+ struct UFLLocalFunction
30
+ : public Dune::Fem::BindableGridFunctionWithSpace<GridPart,Dune::Dim<1>>
31
+ {
32
+ typedef GridPart GridPartType;
33
+ typedef typename GridPartType::GridViewType GridView;
34
+ typedef typename GridView::ctype ctype;
35
+ typedef Dune::Fem::BindableGridFunctionWithSpace<GridPart,Dune::Dim<1>> BaseType;
36
+ typedef Dune::Fem::GridFunctionSpace<GridPartType,Dune::Dim<1>> FunctionSpaceType;
37
+ typedef typename GridPartType::template Codim< 0 >::EntityType EntityType;
38
+ typedef typename GridPartType::IntersectionType IntersectionType;
39
+ typedef typename EntityType::Geometry Geometry;
40
+ typedef typename Geometry::GlobalCoordinate GlobalCoordinateType;
41
+ typedef Dune::Fem::IntersectionSide Side;
42
+ typedef std::tuple<> ConstantTupleType;
43
+ typedef std::tuple<> CoefficientTupleType;
44
+ static constexpr bool gridPartValid = true;
45
+ template< std::size_t i >
46
+ using CoefficientType = std::tuple_element_t< i, CoefficientTupleType >;
47
+ template< std::size_t i >
48
+ using ConstantType = typename std::tuple_element_t< i, ConstantTupleType >::element_type;
49
+ using BaseType::entity;
50
+ using BaseType::geometry;
51
+
52
+ UFLLocalFunction ( const GridPartType &gridPart, const std::string &name, int order, const Dune::Fem::ParameterReader &parameter = Dune::Fem::Parameter::container() )
53
+ : BaseType(gridPart,name,order)
54
+ {}
55
+
56
+ void bind ( const IntersectionType &intersection, Side side )
57
+ {
58
+ BaseType::bind(intersection, side);
59
+ }
60
+
61
+ void bind ( const EntityType &entity )
62
+ {
63
+ BaseType::bind(entity);
64
+ }
65
+
66
+ void unbind ()
67
+ {
68
+ BaseType::unbind();
69
+ }
70
+
71
+ template< class Point >
72
+ void evaluate ( const Point &x, typename FunctionSpaceType::RangeType &result ) const
73
+ {
74
+ using std::sqrt;
75
+ GlobalCoordinateType tmp0 = geometry().global( Dune::Fem::coordinate( x ) );
76
+ const auto tmp1 = -0.8 + tmp0[ 1 ];
77
+ const auto tmp2 = tmp1 * tmp1;
78
+ const auto tmp3 = tmp0[ 0 ] * tmp0[ 0 ];
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;
84
+ }
85
+
86
+ template< class Point >
87
+ void jacobian ( const Point &x, typename FunctionSpaceType::JacobianRangeType &result ) const
88
+ {
89
+ using std::sqrt;
90
+ GlobalCoordinateType tmp0 = geometry().global( Dune::Fem::coordinate( x ) );
91
+ const auto tmp1 = -0.8 + tmp0[ 1 ];
92
+ const auto tmp2 = tmp1 * tmp1;
93
+ const auto tmp3 = tmp0[ 0 ] * tmp0[ 0 ];
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 = tmp0[ 0 ] + tmp0[ 0 ];
99
+ const auto tmp9 = tmp8 / tmp7;
100
+ const auto tmp10 = tmp1 + tmp1;
101
+ const auto tmp11 = tmp10 / tmp7;
102
+ (result[ 0 ])[ 0 ] = tmp9;
103
+ (result[ 0 ])[ 1 ] = tmp11;
104
+ }
105
+
106
+ template< class Point >
107
+ void hessian ( const Point &x, typename FunctionSpaceType::HessianRangeType &result ) const
108
+ {
109
+ using std::sqrt;
110
+ GlobalCoordinateType tmp0 = geometry().global( Dune::Fem::coordinate( x ) );
111
+ const auto tmp1 = -0.8 + tmp0[ 1 ];
112
+ const auto tmp2 = tmp1 * tmp1;
113
+ const auto tmp3 = tmp0[ 0 ] * tmp0[ 0 ];
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 = tmp0[ 0 ] + tmp0[ 0 ];
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 = tmp1 + tmp1;
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;
142
+ }
143
+
144
+ template< std::size_t i >
145
+ const ConstantType< i > &constant () const
146
+ {
147
+ return *std::get< i >( constants_ );
148
+ }
149
+
150
+ template< std::size_t i >
151
+ ConstantType< i > &constant ()
152
+ {
153
+ return *std::get< i >( constants_ );
154
+ }
155
+ ConstantTupleType constants_;
156
+ std::tuple< > coefficients_;
157
+ };
158
+
159
+ } // namespace UFLLocalFunctions_4484607e3f9bd9999dbd7bb9d595a7b2
160
+
161
+ PYBIND11_MODULE( localfunction_4484607e3f9bd9999dbd7bb9d595a7b2_a524c1196983e65de1c06d7d6afdeb44, module )
162
+ {
163
+ typedef UFLLocalFunctions_4484607e3f9bd9999dbd7bb9d595a7b2::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;
164
+ if constexpr( LocalFunctionType::gridPartValid )
165
+ {
166
+ auto cls = Dune::Python::insertClass<LocalFunctionType>(module,"UFLLocalFunction",Dune::Python::GenerateTypeName("UFLLocalFunctions_4484607e3f9bd9999dbd7bb9d595a7b2::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_4484607e3f9bd9999dbd7bb9d595a7b2_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
167
+ Dune::FemPy::registerUFLLocalFunction( module, cls );
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 >() );
169
+ cls.def_property_readonly( "virtualized", [] ( LocalFunctionType& ) -> bool { return true;});
170
+ }
171
+ }
172
+
173
+ #endif