ddfem 1.0.10__py3-none-any.whl → 1.0.12__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 (111) hide show
  1. ddfem/__init__.py +9 -5
  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_2e6d4e3b5cff269867d26022ac7cee09v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → integrands_0fa4a1c37449cf574971977e10cf682av1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +8 -8
  12. ddfem/data/2.11.dev20250709/{integrands_96ea175da69be26acf1a8d94dc0b3c93v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → integrands_29b696aa653181a57d036f771efa8be9v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +8 -8
  13. ddfem/data/2.11.dev20250709/integrands_536f9ba0ea4ecd1f7d4e2bc43ef29d08v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +453 -0
  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_59ef814e4fbd86ef9c0aeac61e84e9a7v1_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_00ee9b3b89e4e44212e5b7ad7948a24ev1_3_a524c1196983e65de1c06d7d6afdeb44.cc → integrands_d0634430f14d3432dae186e57ec5aecav1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +8 -8
  20. ddfem/data/2.11.dev20250709/intro.modules +33 -102
  21. ddfem/data/2.11.dev20250709/localfunction_10f9d7a54f79c12d6ca923b9ee56b80d_a524c1196983e65de1c06d7d6afdeb44.cc +324 -0
  22. ddfem/data/2.11.dev20250709/localfunction_10f9d7a54f79c12d6ca923b9ee56b80d_af122c1df944c95cd395ec0f91d0f970.cc +322 -0
  23. ddfem/data/2.11.dev20250709/localfunction_1c20e613977d8cea4cf5227c12aa68a6_a524c1196983e65de1c06d7d6afdeb44.cc +164 -0
  24. ddfem/data/2.11.dev20250709/{localfunction_191355e6250b2d2e260d96f519ad9976_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_217e4bf8b368a7768c4897cf58f71d84_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -14
  25. ddfem/data/2.11.dev20250709/localfunction_22e797a8f3e8c322f33c41e07bd15165_a524c1196983e65de1c06d7d6afdeb44.cc +1445 -0
  26. ddfem/data/2.11.dev20250709/localfunction_2e2afc8df6107683d574a8d96d5249f4_af122c1df944c95cd395ec0f91d0f970.cc +512 -0
  27. ddfem/data/2.11.dev20250709/localfunction_32613626342183eafa360dc1f0f18924_a524c1196983e65de1c06d7d6afdeb44.cc +1425 -0
  28. ddfem/data/2.11.dev20250709/localfunction_37174cfc9d6bf565336cac0d2ea785f5_a524c1196983e65de1c06d7d6afdeb44.cc +786 -0
  29. ddfem/data/2.11.dev20250709/{localfunction_d75993d7ae5919d23117b153e900840d_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_3d957c5b2628e5120636b8e3f461bc0d_a524c1196983e65de1c06d7d6afdeb44.cc} +64 -29
  30. ddfem/data/2.11.dev20250709/localfunction_3ecaa105be9e3abddf3a85d8adc5d36f_a524c1196983e65de1c06d7d6afdeb44.cc +697 -0
  31. ddfem/data/2.11.dev20250709/{localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_3ecaf7de7505b53bb0b5fb6d78549387_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -14
  32. ddfem/data/2.11.dev20250709/{localfunction_1d27a90a52b9053192c9cc902283f79b_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_4192604521151252f1c8fa56a1f9f226_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -14
  33. ddfem/data/2.11.dev20250709/localfunction_4976bbef3267846b59f3a26497ffe9db_a524c1196983e65de1c06d7d6afdeb44.cc +474 -0
  34. ddfem/data/2.11.dev20250709/{localfunction_a8c726f728cd35d137188b33301aeef1_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_4adfaf8a08fac23151af0b1e790db1f7_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -14
  35. ddfem/data/2.11.dev20250709/{localfunction_00f2e5593eeb23f01906255d67244f6e_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_4f6a526abfe63959f81b09a5796c5eb1_a524c1196983e65de1c06d7d6afdeb44.cc} +44 -29
  36. ddfem/data/2.11.dev20250709/localfunction_5591a2c803b9658084d8f11d44bf3ae1_a524c1196983e65de1c06d7d6afdeb44.cc +485 -0
  37. ddfem/data/2.11.dev20250709/localfunction_6363af791dde11d699a9a3d876cc5d9a_a524c1196983e65de1c06d7d6afdeb44.cc +549 -0
  38. ddfem/data/2.11.dev20250709/localfunction_6363af791dde11d699a9a3d876cc5d9a_af122c1df944c95cd395ec0f91d0f970.cc +547 -0
  39. ddfem/data/2.11.dev20250709/localfunction_6eccfc8fd91ce34d81e7c3962ece5d94_a524c1196983e65de1c06d7d6afdeb44.cc +766 -0
  40. ddfem/data/2.11.dev20250709/localfunction_762aa49bc5a47ad3d8d8bbde36b42ee5_a524c1196983e65de1c06d7d6afdeb44.cc +723 -0
  41. ddfem/data/2.11.dev20250709/localfunction_76e8db0f046ac9e37a793e0bb13eea7b_a524c1196983e65de1c06d7d6afdeb44.cc +292 -0
  42. ddfem/data/2.11.dev20250709/localfunction_7792f4273b0fd848c5a0fc9d6f12683e_a524c1196983e65de1c06d7d6afdeb44.cc +280 -0
  43. ddfem/data/2.11.dev20250709/localfunction_7f7ef99c50708814ba5a82b0956b0aed_a524c1196983e65de1c06d7d6afdeb44.cc +461 -0
  44. ddfem/data/2.11.dev20250709/localfunction_898de4ae138e0ed305ef1399c66aa10a_a524c1196983e65de1c06d7d6afdeb44.cc +313 -0
  45. ddfem/data/2.11.dev20250709/{localfunction_1d13146d4bff10e178aba773fe2a9f1d_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_a99a0c7f35b06ac5a1fa7f081b5e64f9_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -14
  46. ddfem/data/2.11.dev20250709/{localfunction_82d7cb9338bf118426fac2abf41a91a4_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_cda923259a47bb19861404a9fdb64303_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -14
  47. ddfem/data/2.11.dev20250709/localfunction_d3d9b8a21e3075c9ff40117c5244f28e_a524c1196983e65de1c06d7d6afdeb44.cc +381 -0
  48. ddfem/data/2.11.dev20250709/localfunction_d4b9ca85d48735ee01f395a42eaa0cee_af122c1df944c95cd395ec0f91d0f970.cc +774 -0
  49. ddfem/data/2.11.dev20250709/localfunction_dd1fb4bd60f2d8b3a062dbbdaedb9fee_a524c1196983e65de1c06d7d6afdeb44.cc +869 -0
  50. ddfem/data/2.11.dev20250709/localfunction_dd5ab085a9d94f578c1f3d337ea360a3_a524c1196983e65de1c06d7d6afdeb44.cc +161 -0
  51. ddfem/data/2.11.dev20250709/{localfunction_aeb3d963412cdc65630e0a4c3c0dde0f_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_e2b19c5987f9b6fb0cd5453bfa7f4f9f_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -30
  52. ddfem/examples/beam.py +43 -50
  53. ddfem/examples/chemical_reaction.py +1 -1
  54. ddfem/examples/five_circle_flat.py +42 -28
  55. ddfem/examples/linear_elasticity.py +5 -1
  56. ddfem/examples/triple_circle.py +86 -83
  57. ddfem/examples/triple_circle_beam.py +71 -61
  58. ddfem-1.0.12.dist-info/METADATA +78 -0
  59. ddfem-1.0.12.dist-info/RECORD +123 -0
  60. ddfem/data/2.11.dev20250709/boundary.modules +0 -9
  61. ddfem/data/2.11.dev20250709/femspace_90f0a9524a8cb701e8ee5027b7658a0e_0faf32f13b591f4f60f83c591507b9be.cc +0 -40
  62. ddfem/data/2.11.dev20250709/geometry.modules +0 -84
  63. ddfem/data/2.11.dev20250709/hierarchicalgrid_472c2c2d007bf5604887ab2f16b7eb13.cc +0 -30
  64. ddfem/data/2.11.dev20250709/hierarchicalgrid_966e2a5c8356c5b278ccd3acad180f0a.cc +0 -30
  65. ddfem/data/2.11.dev20250709/localfunction_10ad0a2d88c74db5f4bf5f81e138974f_a524c1196983e65de1c06d7d6afdeb44.cc +0 -135
  66. ddfem/data/2.11.dev20250709/localfunction_1460b632dc5919e94a2147108f4f34f4_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -468
  67. ddfem/data/2.11.dev20250709/localfunction_161bbe6dde741c6e3f90c2919b8d17a4_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -171
  68. ddfem/data/2.11.dev20250709/localfunction_268716e3e3ec528038367ee04d335ea1_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -289
  69. ddfem/data/2.11.dev20250709/localfunction_29566243d89228735978e58471af60be_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -246
  70. ddfem/data/2.11.dev20250709/localfunction_2a890b2a64788a92607670296c0d37ac_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -311
  71. ddfem/data/2.11.dev20250709/localfunction_2bbefabe87db948827d02bdb8d69a7d1_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -240
  72. ddfem/data/2.11.dev20250709/localfunction_34a46b87fa5c0a5a4f0bc44949f2eda9_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -239
  73. ddfem/data/2.11.dev20250709/localfunction_3c10414582133a0fa8e341c4544a97c7_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -220
  74. ddfem/data/2.11.dev20250709/localfunction_3dfb73430ddb90a26b6f50f85e52e2a4_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -216
  75. ddfem/data/2.11.dev20250709/localfunction_3e323e81c52891c0ecb656eac273e52f_a524c1196983e65de1c06d7d6afdeb44.cc +0 -135
  76. ddfem/data/2.11.dev20250709/localfunction_465e17370f4344b8997151adacf7aec6_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -403
  77. ddfem/data/2.11.dev20250709/localfunction_57e9651c5364ef528f41cf138e126115_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -272
  78. ddfem/data/2.11.dev20250709/localfunction_5c2a00bf7ec417475a0a378ed462beeb_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -350
  79. ddfem/data/2.11.dev20250709/localfunction_5d71e054c405bc6584738437908af804_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -364
  80. ddfem/data/2.11.dev20250709/localfunction_6343878b30d190cc70b631d882009dec_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -342
  81. ddfem/data/2.11.dev20250709/localfunction_639a3f3873411f43337e687cb070368f_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -230
  82. ddfem/data/2.11.dev20250709/localfunction_6661b21a0e1340a9a9f7b32da595f130_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -468
  83. ddfem/data/2.11.dev20250709/localfunction_75e876499fa3b7abc096aa08f88a1c2d_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -213
  84. ddfem/data/2.11.dev20250709/localfunction_8647b4efdf8a37595f73652bc1905df2_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -335
  85. ddfem/data/2.11.dev20250709/localfunction_86a0670f34bf2ac8155423a1c1bc2e75_a524c1196983e65de1c06d7d6afdeb44.cc +0 -135
  86. ddfem/data/2.11.dev20250709/localfunction_98b32c4b5bc0d8083f3d2c394aa33429_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -340
  87. ddfem/data/2.11.dev20250709/localfunction_9b741917efb5aa6a09e375272e4ae3aa_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -317
  88. ddfem/data/2.11.dev20250709/localfunction_a369aff055312b472a92ee7e257534ff_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -392
  89. ddfem/data/2.11.dev20250709/localfunction_a6cc88a79948487ce95a6c3f22487b36_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -395
  90. ddfem/data/2.11.dev20250709/localfunction_aa506761997f291dfd2e62b678f010b2_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -280
  91. ddfem/data/2.11.dev20250709/localfunction_b5edf0c36f0fc96cc6f5f3677c6557a1_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -214
  92. ddfem/data/2.11.dev20250709/localfunction_bdfb7ddf42a423f7d0791458634d4b8f_a524c1196983e65de1c06d7d6afdeb44.cc +0 -135
  93. ddfem/data/2.11.dev20250709/localfunction_c3d0902cf8bb4b86b62a2293de2b74e9_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -1131
  94. ddfem/data/2.11.dev20250709/localfunction_cf4a29dc25e72137baf2f8fb8b8d3c50_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -267
  95. ddfem/data/2.11.dev20250709/localfunction_d40efa41ac661ff77278d2ae4812b06d_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -377
  96. ddfem/data/2.11.dev20250709/localfunction_e69118a51208cfab8a028711e966e76c_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -236
  97. ddfem/data/2.11.dev20250709/localfunction_e9c8d4f4cedd30cab76a588b95bbccab_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -325
  98. ddfem/data/2.11.dev20250709/localfunction_f0d3fe89de368f7ea295a1982a807bd8_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -281
  99. ddfem/data/2.11.dev20250709/localfunction_f4b1d42cbb447375f39ed834570cd3f0_a524c1196983e65de1c06d7d6afdeb44.cc +0 -135
  100. ddfem/data/2.11.dev20250709/localfunction_fb15e1ad2c62e6660c67949fcf166d81_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -339
  101. ddfem/data/2.11.dev20250709/localfunction_fb17410b0b5d479dce9ffc6f9d61ab37_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -317
  102. ddfem/data/2.11.dev20250709/localfunction_fc22d5adaf3b9563160dc2aec55e8ba1_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -113
  103. ddfem/data/2.11.dev20250709/referenceelements_fe266b8abf61f4601198949ea6b0dfd3.cc +0 -24
  104. ddfem/data/2.11.dev20250709/transformers.modules +0 -13
  105. ddfem/data/2.11.dev20250709/yaspcoordinates_dim2_ctdouble.cc +0 -55
  106. ddfem/data/2.11.dev20250709/yaspcoordinates_dim3_ctdouble.cc +0 -55
  107. ddfem-1.0.10.dist-info/METADATA +0 -101
  108. ddfem-1.0.10.dist-info/RECORD +0 -138
  109. {ddfem-1.0.10.dist-info → ddfem-1.0.12.dist-info}/WHEEL +0 -0
  110. {ddfem-1.0.10.dist-info → ddfem-1.0.12.dist-info}/licenses/LICENSE +0 -0
  111. {ddfem-1.0.10.dist-info → ddfem-1.0.12.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,5 @@
1
- #ifndef GuardIntegrands_00ee9b3b89e4e44212e5b7ad7948a24ev1_3
2
- #define GuardIntegrands_00ee9b3b89e4e44212e5b7ad7948a24ev1_3
1
+ #ifndef GuardIntegrands_d0634430f14d3432dae186e57ec5aecav1_3
2
+ #define GuardIntegrands_d0634430f14d3432dae186e57ec5aecav1_3
3
3
  #define USING_DUNE_PYTHON 1
4
4
  #include <config.h>
5
5
  #include <dune/alugrid/dgf.hh>
@@ -18,7 +18,7 @@
18
18
  #include <dune/fempy/geometry/edgelength.hh>
19
19
  #include <dune/fempy/py/integrands.hh>
20
20
 
21
- namespace Integrands_00ee9b3b89e4e44212e5b7ad7948a24ev1_3
21
+ namespace Integrands_d0634430f14d3432dae186e57ec5aecav1_3
22
22
  {
23
23
 
24
24
 
@@ -569,19 +569,19 @@ namespace Integrands_00ee9b3b89e4e44212e5b7ad7948a24ev1_3
569
569
  std::tuple< > coefficients_;
570
570
  };
571
571
 
572
- } // namespace Integrands_00ee9b3b89e4e44212e5b7ad7948a24ev1_3
572
+ } // namespace Integrands_d0634430f14d3432dae186e57ec5aecav1_3
573
573
 
574
- PYBIND11_MODULE( integrands_00ee9b3b89e4e44212e5b7ad7948a24ev1_3_a524c1196983e65de1c06d7d6afdeb44, module )
574
+ PYBIND11_MODULE( integrands_d0634430f14d3432dae186e57ec5aecav1_3_a524c1196983e65de1c06d7d6afdeb44, module )
575
575
  {
576
576
  typedef typename Dune::FemPy::GridPart< Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true > > GridPart;
577
- typedef Integrands_00ee9b3b89e4e44212e5b7ad7948a24ev1_3::Integrands< GridPart > Integrands;
577
+ typedef Integrands_d0634430f14d3432dae186e57ec5aecav1_3::Integrands< GridPart > Integrands;
578
578
  if constexpr( Integrands::gridPartValid )
579
579
  {
580
- auto cls = Dune::Python::insertClass<Integrands>(module,"Integrands",Dune::Python::GenerateTypeName("Integrands_00ee9b3b89e4e44212e5b7ad7948a24ev1_3::Integrands< GridPart >"), Dune::Python::IncludeFiles({"python/dune/generated/integrands_00ee9b3b89e4e44212e5b7ad7948a24ev1_3_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
580
+ auto cls = Dune::Python::insertClass<Integrands>(module,"Integrands",Dune::Python::GenerateTypeName("Integrands_d0634430f14d3432dae186e57ec5aecav1_3::Integrands< GridPart >"), Dune::Python::IncludeFiles({"python/dune/generated/integrands_d0634430f14d3432dae186e57ec5aecav1_3_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
581
581
  Dune::FemPy::registerIntegrands< Integrands >( module, cls );
582
582
  cls.def( pybind11::init( [] () { return new Integrands(); } ) );
583
583
  cls.def_property_readonly( "virtualized", [] ( Integrands& ) -> bool { return true;});
584
584
  cls.def_property_readonly( "hasDirichletBoundary", [] ( Integrands& ) -> bool { return true;});
585
585
  }
586
586
  }
587
- #endif // GuardIntegrands_00ee9b3b89e4e44212e5b7ad7948a24ev1_3
587
+ #endif // GuardIntegrands_d0634430f14d3432dae186e57ec5aecav1_3
@@ -1,112 +1,43 @@
1
- hierarchicalgrid_d827e80243feae36e8b9006bb24207e7
2
- referenceelements_de274310a0055100b832a0e8892b0258
1
+ localfunction_a9bb07439605d560b583608f20441342_a524c1196983e65de1c06d7d6afdeb44
2
+ integrands_8ed2f23c088e3a3d82a3259b663796c7v1_3_a524c1196983e65de1c06d7d6afdeb44
3
+ localfunction_228c55d163ca194a905826bcc20fcbc0_a524c1196983e65de1c06d7d6afdeb44
4
+ indexset_e9c0cdc96a4fc702a0969c29910954e6
5
+ localfunction_ae8173bdb67b8ea50ce75c3912841100_a524c1196983e65de1c06d7d6afdeb44
6
+ integrands_af3bbe7d629df162ef8c570e1503bf62v1_3_a524c1196983e65de1c06d7d6afdeb44
3
7
  referenceelements_0fff57b283123cc055345ec95574c857
4
- referenceelements_f4457f35395151d83a965d4cf5fce70d
5
- view_af122c1df944c95cd395ec0f91d0f970
6
- view_a524c1196983e65de1c06d7d6afdeb44
7
- femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563
8
- integrands_bf510277401791ad5e30831b49a8ed7cv1_3_a524c1196983e65de1c06d7d6afdeb44
9
- femscheme_f2a3cb32a864b08c0236366e732fb908
10
- localfunction_aeb3d963412cdc65630e0a4c3c0dde0f_a524c1196983e65de1c06d7d6afdeb44
11
- hierarchicalgrid_d827e80243feae36e8b9006bb24207e7
12
- view_af122c1df944c95cd395ec0f91d0f970
13
- view_a524c1196983e65de1c06d7d6afdeb44
14
- femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563
15
- integrands_3bde0abfafcf45a3cff4d1029568ab5cv1_3_a524c1196983e65de1c06d7d6afdeb44
16
- femscheme_f2a3cb32a864b08c0236366e732fb908
17
- localfunction_f4b1d42cbb447375f39ed834570cd3f0_a524c1196983e65de1c06d7d6afdeb44
18
- localfunction_1d27a90a52b9053192c9cc902283f79b_a524c1196983e65de1c06d7d6afdeb44
19
- hierarchicalgrid_d827e80243feae36e8b9006bb24207e7
20
- view_af122c1df944c95cd395ec0f91d0f970
21
- view_a524c1196983e65de1c06d7d6afdeb44
22
- femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563
23
- integrands_008eefa148b772fa3192dd3c1728c140v1_3_a524c1196983e65de1c06d7d6afdeb44
24
- femscheme_f2a3cb32a864b08c0236366e732fb908
25
- localfunction_00f2e5593eeb23f01906255d67244f6e_a524c1196983e65de1c06d7d6afdeb44
26
- localfunction_191355e6250b2d2e260d96f519ad9976_a524c1196983e65de1c06d7d6afdeb44
27
- localfunction_a854465b265a1a51dacb4f71f7eeb06b_a524c1196983e65de1c06d7d6afdeb44
28
- localfunction_a854465b265a1a51dacb4f71f7eeb06b_a524c1196983e65de1c06d7d6afdeb44
29
- hierarchicalgrid_d827e80243feae36e8b9006bb24207e7
30
- view_af122c1df944c95cd395ec0f91d0f970
31
- view_a524c1196983e65de1c06d7d6afdeb44
32
- femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563
33
- integrands_ed7208bd651abb351e34c9990e0313bcv1_3_a524c1196983e65de1c06d7d6afdeb44
34
- femscheme_ddd4458a70dff1f9762ec5a96ca4ba9c
35
- localfunction_d75993d7ae5919d23117b153e900840d_a524c1196983e65de1c06d7d6afdeb44
36
- localfunction_191355e6250b2d2e260d96f519ad9976_a524c1196983e65de1c06d7d6afdeb44
37
- localfunction_a854465b265a1a51dacb4f71f7eeb06b_a524c1196983e65de1c06d7d6afdeb44
8
+ localfunction_217e4bf8b368a7768c4897cf58f71d84_a524c1196983e65de1c06d7d6afdeb44
9
+ localfunction_4adfaf8a08fac23151af0b1e790db1f7_a524c1196983e65de1c06d7d6afdeb44
10
+ localfunction_98b04b00bb93b8c6da99c91867e597ca_a524c1196983e65de1c06d7d6afdeb44
11
+ localfunction_42ff56710f3bd510798ecabb32a6cbf0_a524c1196983e65de1c06d7d6afdeb44
38
12
  localfunction_a854465b265a1a51dacb4f71f7eeb06b_a524c1196983e65de1c06d7d6afdeb44
39
- hierarchicalgrid_d827e80243feae36e8b9006bb24207e7
40
- view_af122c1df944c95cd395ec0f91d0f970
41
13
  view_a524c1196983e65de1c06d7d6afdeb44
42
- localfunction_42ff56710f3bd510798ecabb32a6cbf0_a524c1196983e65de1c06d7d6afdeb44
14
+ localfunction_3ecaf7de7505b53bb0b5fb6d78549387_a524c1196983e65de1c06d7d6afdeb44
15
+ localfunction_4484607e3f9bd9999dbd7bb9d595a7b2_a524c1196983e65de1c06d7d6afdeb44
43
16
  localfunction_b8239bf849ec7c1903f627833e6dac5a_a524c1196983e65de1c06d7d6afdeb44
44
- localfunction_228c55d163ca194a905826bcc20fcbc0_a524c1196983e65de1c06d7d6afdeb44
45
- localfunction_83d9e6dd70d1c31c973224e210cc36b4_a524c1196983e65de1c06d7d6afdeb44
46
- localfunction_ae8173bdb67b8ea50ce75c3912841100_a524c1196983e65de1c06d7d6afdeb44
47
- indexset_e9c0cdc96a4fc702a0969c29910954e6
48
- femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563
49
- integrands_2e6d4e3b5cff269867d26022ac7cee09v1_3_a524c1196983e65de1c06d7d6afdeb44
50
- femscheme_f2a3cb32a864b08c0236366e732fb908
51
- localfunction_10ad0a2d88c74db5f4bf5f81e138974f_a524c1196983e65de1c06d7d6afdeb44
52
- localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44
53
- hierarchicalgrid_d827e80243feae36e8b9006bb24207e7
54
- view_af122c1df944c95cd395ec0f91d0f970
55
- view_a524c1196983e65de1c06d7d6afdeb44
56
- femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563
57
- integrands_bf510277401791ad5e30831b49a8ed7cv1_3_a524c1196983e65de1c06d7d6afdeb44
58
- femscheme_f2a3cb32a864b08c0236366e732fb908
59
- localfunction_3e323e81c52891c0ecb656eac273e52f_a524c1196983e65de1c06d7d6afdeb44
17
+ integrands_ed7208bd651abb351e34c9990e0313bcv1_3_a524c1196983e65de1c06d7d6afdeb44
18
+ adapt_010e1455a389aa01992af42c0a3f4b14
60
19
  femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563
61
- integrands_96ea175da69be26acf1a8d94dc0b3c93v1_3_a524c1196983e65de1c06d7d6afdeb44
62
- femscheme_f2a3cb32a864b08c0236366e732fb908
63
- localfunction_86a0670f34bf2ac8155423a1c1bc2e75_a524c1196983e65de1c06d7d6afdeb44
64
- localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44
65
- localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44
66
- localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44
67
- localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44
68
- localfunction_a8c726f728cd35d137188b33301aeef1_a524c1196983e65de1c06d7d6afdeb44
69
- localfunction_1d13146d4bff10e178aba773fe2a9f1d_a524c1196983e65de1c06d7d6afdeb44
70
- localfunction_82d7cb9338bf118426fac2abf41a91a4_a524c1196983e65de1c06d7d6afdeb44
71
- localfunction_a8c726f728cd35d137188b33301aeef1_a524c1196983e65de1c06d7d6afdeb44
72
- localfunction_1d13146d4bff10e178aba773fe2a9f1d_a524c1196983e65de1c06d7d6afdeb44
73
- localfunction_82d7cb9338bf118426fac2abf41a91a4_a524c1196983e65de1c06d7d6afdeb44
74
- hierarchicalgrid_d827e80243feae36e8b9006bb24207e7
75
- view_af122c1df944c95cd395ec0f91d0f970
76
- localfunction_42ff56710f3bd510798ecabb32a6cbf0_af122c1df944c95cd395ec0f91d0f970
77
- view_a524c1196983e65de1c06d7d6afdeb44
78
- localfunction_42ff56710f3bd510798ecabb32a6cbf0_a524c1196983e65de1c06d7d6afdeb44
79
- localfunction_42ff56710f3bd510798ecabb32a6cbf0_a524c1196983e65de1c06d7d6afdeb44
80
- localfunction_42ff56710f3bd510798ecabb32a6cbf0_a524c1196983e65de1c06d7d6afdeb44
81
- localfunction_7d81d496538f240d504e5597484ee746_a524c1196983e65de1c06d7d6afdeb44
82
- localfunction_0f7b2106478c5d2af781b1f377a180d2_a524c1196983e65de1c06d7d6afdeb44
83
- localfunction_d0f33c2dc1ae0e619d85a7621c8e83a6_a524c1196983e65de1c06d7d6afdeb44
84
- localfunction_e85b93fe9b8fcd40ee82782fc600b65b_a524c1196983e65de1c06d7d6afdeb44
20
+ integrands_29b696aa653181a57d036f771efa8be9v1_3_a524c1196983e65de1c06d7d6afdeb44
85
21
  localfunction_a46a988b5d8571e80fd401a36d7341b7_a524c1196983e65de1c06d7d6afdeb44
86
- localfunction_4484607e3f9bd9999dbd7bb9d595a7b2_a524c1196983e65de1c06d7d6afdeb44
22
+ referenceelements_f4457f35395151d83a965d4cf5fce70d
87
23
  localfunction_2a97db5a6a479d02138a836cb0890cf2_a524c1196983e65de1c06d7d6afdeb44
88
- localfunction_a9bb07439605d560b583608f20441342_a524c1196983e65de1c06d7d6afdeb44
89
- localfunction_65bda5736a84d4aa0ef2d48ebcc90ed5_a524c1196983e65de1c06d7d6afdeb44
90
- localfunction_0cb4ca9e24e2891510640b0737aaab21_a524c1196983e65de1c06d7d6afdeb44
91
- localfunction_42ff56710f3bd510798ecabb32a6cbf0_a524c1196983e65de1c06d7d6afdeb44
92
- localfunction_98b04b00bb93b8c6da99c91867e597ca_a524c1196983e65de1c06d7d6afdeb44
93
- hierarchicalgrid_d827e80243feae36e8b9006bb24207e7
24
+ localfunction_83d9e6dd70d1c31c973224e210cc36b4_a524c1196983e65de1c06d7d6afdeb44
25
+ localfunction_4192604521151252f1c8fa56a1f9f226_a524c1196983e65de1c06d7d6afdeb44
26
+ localfunction_0f7b2106478c5d2af781b1f377a180d2_a524c1196983e65de1c06d7d6afdeb44
94
27
  view_af122c1df944c95cd395ec0f91d0f970
28
+ localfunction_0cb4ca9e24e2891510640b0737aaab21_a524c1196983e65de1c06d7d6afdeb44
29
+ localfunction_e85b93fe9b8fcd40ee82782fc600b65b_a524c1196983e65de1c06d7d6afdeb44
30
+ localfunction_cda923259a47bb19861404a9fdb64303_a524c1196983e65de1c06d7d6afdeb44
31
+ femscheme_f2a3cb32a864b08c0236366e732fb908
32
+ localfunction_a99a0c7f35b06ac5a1fa7f081b5e64f9_a524c1196983e65de1c06d7d6afdeb44
95
33
  localfunction_bcafb581216501f273e23c0e26cd57af_af122c1df944c95cd395ec0f91d0f970
96
- adapt_010e1455a389aa01992af42c0a3f4b14
34
+ localfunction_d0f33c2dc1ae0e619d85a7621c8e83a6_a524c1196983e65de1c06d7d6afdeb44
35
+ localfunction_7d81d496538f240d504e5597484ee746_a524c1196983e65de1c06d7d6afdeb44
36
+ integrands_d0634430f14d3432dae186e57ec5aecav1_3_a524c1196983e65de1c06d7d6afdeb44
97
37
  localfunction_42ff56710f3bd510798ecabb32a6cbf0_af122c1df944c95cd395ec0f91d0f970
98
- view_a524c1196983e65de1c06d7d6afdeb44
99
- localfunction_42ff56710f3bd510798ecabb32a6cbf0_a524c1196983e65de1c06d7d6afdeb44
100
- localfunction_b8239bf849ec7c1903f627833e6dac5a_a524c1196983e65de1c06d7d6afdeb44
101
- localfunction_228c55d163ca194a905826bcc20fcbc0_a524c1196983e65de1c06d7d6afdeb44
102
- localfunction_83d9e6dd70d1c31c973224e210cc36b4_a524c1196983e65de1c06d7d6afdeb44
103
- localfunction_ae8173bdb67b8ea50ce75c3912841100_a524c1196983e65de1c06d7d6afdeb44
104
- femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563
105
- integrands_59ef814e4fbd86ef9c0aeac61e84e9a7v1_3_a524c1196983e65de1c06d7d6afdeb44
106
- femscheme_f2a3cb32a864b08c0236366e732fb908
107
- localfunction_bdfb7ddf42a423f7d0791458634d4b8f_a524c1196983e65de1c06d7d6afdeb44
108
- localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44
109
- localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44
110
- localfunction_a8c726f728cd35d137188b33301aeef1_a524c1196983e65de1c06d7d6afdeb44
111
- localfunction_82d7cb9338bf118426fac2abf41a91a4_a524c1196983e65de1c06d7d6afdeb44
112
- localfunction_82d7cb9338bf118426fac2abf41a91a4_a524c1196983e65de1c06d7d6afdeb44
38
+ integrands_bf510277401791ad5e30831b49a8ed7cv1_3_a524c1196983e65de1c06d7d6afdeb44
39
+ integrands_0fa4a1c37449cf574971977e10cf682av1_3_a524c1196983e65de1c06d7d6afdeb44
40
+ femscheme_ddd4458a70dff1f9762ec5a96ca4ba9c
41
+ localfunction_65bda5736a84d4aa0ef2d48ebcc90ed5_a524c1196983e65de1c06d7d6afdeb44
42
+ referenceelements_de274310a0055100b832a0e8892b0258
43
+ hierarchicalgrid_d827e80243feae36e8b9006bb24207e7
@@ -0,0 +1,324 @@
1
+ #ifndef GUARD_10f9d7a54f79c12d6ca923b9ee56b80d
2
+ #define GUARD_10f9d7a54f79c12d6ca923b9ee56b80d
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_10f9d7a54f79c12d6ca923b9ee56b80d
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::max;
75
+ using std::min;
76
+ using std::sqrt;
77
+ GlobalCoordinateType tmp0 = geometry().global( Dune::Fem::coordinate( x ) );
78
+ const auto tmp1 = tmp0[ 1 ] * tmp0[ 1 ];
79
+ const auto tmp2 = tmp0[ 0 ] * tmp0[ 0 ];
80
+ const auto tmp3 = tmp2 + tmp1;
81
+ const auto tmp4 = 1e-10 + tmp3;
82
+ const auto tmp5 = std::sqrt( tmp4 );
83
+ const auto tmp6 = -0.4 + tmp5;
84
+ const auto tmp7 = 0.15 + tmp0[ 1 ];
85
+ const auto tmp8 = tmp7 * tmp7;
86
+ const auto tmp9 = 0.15 + tmp0[ 0 ];
87
+ const auto tmp10 = tmp9 * tmp9;
88
+ const auto tmp11 = tmp10 + tmp8;
89
+ const auto tmp12 = 1e-10 + tmp11;
90
+ const auto tmp13 = std::sqrt( tmp12 );
91
+ const auto tmp14 = -0.3 + tmp13;
92
+ const auto tmp15 = -0.15 + tmp0[ 1 ];
93
+ const auto tmp16 = tmp15 * tmp15;
94
+ const auto tmp17 = -0.15 + tmp0[ 0 ];
95
+ const auto tmp18 = tmp17 * tmp17;
96
+ const auto tmp19 = tmp18 + tmp16;
97
+ const auto tmp20 = 1e-10 + tmp19;
98
+ const auto tmp21 = std::sqrt( tmp20 );
99
+ const auto tmp22 = -0.3 + tmp21;
100
+ const auto tmp23 = std::min( tmp22, tmp14 );
101
+ const auto tmp24 = std::max( tmp23, tmp6 );
102
+ result[ 0 ] = tmp24;
103
+ }
104
+
105
+ template< class Point >
106
+ void jacobian ( const Point &x, typename FunctionSpaceType::JacobianRangeType &result ) const
107
+ {
108
+ using std::min;
109
+ using std::sqrt;
110
+ GlobalCoordinateType tmp0 = geometry().global( Dune::Fem::coordinate( x ) );
111
+ const auto tmp1 = tmp0[ 1 ] * tmp0[ 1 ];
112
+ const auto tmp2 = tmp0[ 0 ] * tmp0[ 0 ];
113
+ const auto tmp3 = tmp2 + tmp1;
114
+ const auto tmp4 = 1e-10 + tmp3;
115
+ const auto tmp5 = std::sqrt( tmp4 );
116
+ const auto tmp6 = -0.4 + tmp5;
117
+ const auto tmp7 = 0.15 + tmp0[ 1 ];
118
+ const auto tmp8 = tmp7 * tmp7;
119
+ const auto tmp9 = 0.15 + tmp0[ 0 ];
120
+ const auto tmp10 = tmp9 * tmp9;
121
+ const auto tmp11 = tmp10 + tmp8;
122
+ const auto tmp12 = 1e-10 + tmp11;
123
+ const auto tmp13 = std::sqrt( tmp12 );
124
+ const auto tmp14 = -0.3 + tmp13;
125
+ const auto tmp15 = -0.15 + tmp0[ 1 ];
126
+ const auto tmp16 = tmp15 * tmp15;
127
+ const auto tmp17 = -0.15 + tmp0[ 0 ];
128
+ const auto tmp18 = tmp17 * tmp17;
129
+ const auto tmp19 = tmp18 + tmp16;
130
+ const auto tmp20 = 1e-10 + tmp19;
131
+ const auto tmp21 = std::sqrt( tmp20 );
132
+ const auto tmp22 = -0.3 + tmp21;
133
+ const auto tmp23 = std::min( tmp22, tmp14 );
134
+ const auto tmp24 = 2 * tmp21;
135
+ const auto tmp25 = tmp17 + tmp17;
136
+ const auto tmp26 = tmp25 / tmp24;
137
+ const auto tmp27 = tmp26 * (tmp22 < tmp14 ? 1 : 0.0);
138
+ const auto tmp28 = 2 * tmp13;
139
+ const auto tmp29 = tmp9 + tmp9;
140
+ const auto tmp30 = tmp29 / tmp28;
141
+ const auto tmp31 = -1 * (tmp22 < tmp14 ? 1 : 0.0);
142
+ const auto tmp32 = 1.0 + tmp31;
143
+ const auto tmp33 = tmp32 * tmp30;
144
+ const auto tmp34 = tmp33 + tmp27;
145
+ const auto tmp35 = tmp34 * (tmp23 > tmp6 ? 1 : 0.0);
146
+ const auto tmp36 = 2 * tmp5;
147
+ const auto tmp37 = tmp0[ 0 ] + tmp0[ 0 ];
148
+ const auto tmp38 = tmp37 / tmp36;
149
+ const auto tmp39 = -1 * (tmp23 > tmp6 ? 1 : 0.0);
150
+ const auto tmp40 = 1.0 + tmp39;
151
+ const auto tmp41 = tmp40 * tmp38;
152
+ const auto tmp42 = tmp41 + tmp35;
153
+ const auto tmp43 = tmp15 + tmp15;
154
+ const auto tmp44 = tmp43 / tmp24;
155
+ const auto tmp45 = tmp44 * (tmp22 < tmp14 ? 1 : 0.0);
156
+ const auto tmp46 = tmp7 + tmp7;
157
+ const auto tmp47 = tmp46 / tmp28;
158
+ const auto tmp48 = tmp32 * tmp47;
159
+ const auto tmp49 = tmp48 + tmp45;
160
+ const auto tmp50 = tmp49 * (tmp23 > tmp6 ? 1 : 0.0);
161
+ const auto tmp51 = tmp0[ 1 ] + tmp0[ 1 ];
162
+ const auto tmp52 = tmp51 / tmp36;
163
+ const auto tmp53 = tmp40 * tmp52;
164
+ const auto tmp54 = tmp53 + tmp50;
165
+ (result[ 0 ])[ 0 ] = tmp42;
166
+ (result[ 0 ])[ 1 ] = tmp54;
167
+ }
168
+
169
+ template< class Point >
170
+ void hessian ( const Point &x, typename FunctionSpaceType::HessianRangeType &result ) const
171
+ {
172
+ using std::min;
173
+ using std::sqrt;
174
+ GlobalCoordinateType tmp0 = geometry().global( Dune::Fem::coordinate( x ) );
175
+ const auto tmp1 = tmp0[ 1 ] * tmp0[ 1 ];
176
+ const auto tmp2 = tmp0[ 0 ] * tmp0[ 0 ];
177
+ const auto tmp3 = tmp2 + tmp1;
178
+ const auto tmp4 = 1e-10 + tmp3;
179
+ const auto tmp5 = std::sqrt( tmp4 );
180
+ const auto tmp6 = -0.4 + tmp5;
181
+ const auto tmp7 = 0.15 + tmp0[ 1 ];
182
+ const auto tmp8 = tmp7 * tmp7;
183
+ const auto tmp9 = 0.15 + tmp0[ 0 ];
184
+ const auto tmp10 = tmp9 * tmp9;
185
+ const auto tmp11 = tmp10 + tmp8;
186
+ const auto tmp12 = 1e-10 + tmp11;
187
+ const auto tmp13 = std::sqrt( tmp12 );
188
+ const auto tmp14 = -0.3 + tmp13;
189
+ const auto tmp15 = -0.15 + tmp0[ 1 ];
190
+ const auto tmp16 = tmp15 * tmp15;
191
+ const auto tmp17 = -0.15 + tmp0[ 0 ];
192
+ const auto tmp18 = tmp17 * tmp17;
193
+ const auto tmp19 = tmp18 + tmp16;
194
+ const auto tmp20 = 1e-10 + tmp19;
195
+ const auto tmp21 = std::sqrt( tmp20 );
196
+ const auto tmp22 = -0.3 + tmp21;
197
+ const auto tmp23 = std::min( tmp22, tmp14 );
198
+ const auto tmp24 = 2 * tmp21;
199
+ const auto tmp25 = tmp17 + tmp17;
200
+ const auto tmp26 = tmp25 / tmp24;
201
+ const auto tmp27 = 2 * tmp26;
202
+ const auto tmp28 = tmp27 * tmp26;
203
+ const auto tmp29 = -1 * tmp28;
204
+ const auto tmp30 = 2 + tmp29;
205
+ const auto tmp31 = tmp30 / tmp24;
206
+ const auto tmp32 = tmp31 * (tmp22 < tmp14 ? 1 : 0.0);
207
+ const auto tmp33 = 2 * tmp13;
208
+ const auto tmp34 = tmp9 + tmp9;
209
+ const auto tmp35 = tmp34 / tmp33;
210
+ const auto tmp36 = 2 * tmp35;
211
+ const auto tmp37 = tmp36 * tmp35;
212
+ const auto tmp38 = -1 * tmp37;
213
+ const auto tmp39 = 2 + tmp38;
214
+ const auto tmp40 = tmp39 / tmp33;
215
+ const auto tmp41 = -1 * (tmp22 < tmp14 ? 1 : 0.0);
216
+ const auto tmp42 = 1.0 + tmp41;
217
+ const auto tmp43 = tmp42 * tmp40;
218
+ const auto tmp44 = tmp43 + tmp32;
219
+ const auto tmp45 = tmp44 * (tmp23 > tmp6 ? 1 : 0.0);
220
+ const auto tmp46 = 2 * tmp5;
221
+ const auto tmp47 = tmp0[ 0 ] + tmp0[ 0 ];
222
+ const auto tmp48 = tmp47 / tmp46;
223
+ const auto tmp49 = 2 * tmp48;
224
+ const auto tmp50 = tmp49 * tmp48;
225
+ const auto tmp51 = -1 * tmp50;
226
+ const auto tmp52 = 2 + tmp51;
227
+ const auto tmp53 = tmp52 / tmp46;
228
+ const auto tmp54 = -1 * (tmp23 > tmp6 ? 1 : 0.0);
229
+ const auto tmp55 = 1.0 + tmp54;
230
+ const auto tmp56 = tmp55 * tmp53;
231
+ const auto tmp57 = tmp56 + tmp45;
232
+ const auto tmp58 = tmp15 + tmp15;
233
+ const auto tmp59 = tmp58 / tmp24;
234
+ const auto tmp60 = 2 * tmp59;
235
+ const auto tmp61 = tmp60 * tmp26;
236
+ const auto tmp62 = -1 * tmp61;
237
+ const auto tmp63 = tmp62 / tmp24;
238
+ const auto tmp64 = tmp63 * (tmp22 < tmp14 ? 1 : 0.0);
239
+ const auto tmp65 = tmp7 + tmp7;
240
+ const auto tmp66 = tmp65 / tmp33;
241
+ const auto tmp67 = 2 * tmp66;
242
+ const auto tmp68 = tmp67 * tmp35;
243
+ const auto tmp69 = -1 * tmp68;
244
+ const auto tmp70 = tmp69 / tmp33;
245
+ const auto tmp71 = tmp42 * tmp70;
246
+ const auto tmp72 = tmp71 + tmp64;
247
+ const auto tmp73 = tmp72 * (tmp23 > tmp6 ? 1 : 0.0);
248
+ const auto tmp74 = tmp0[ 1 ] + tmp0[ 1 ];
249
+ const auto tmp75 = tmp74 / tmp46;
250
+ const auto tmp76 = 2 * tmp75;
251
+ const auto tmp77 = tmp76 * tmp48;
252
+ const auto tmp78 = -1 * tmp77;
253
+ const auto tmp79 = tmp78 / tmp46;
254
+ const auto tmp80 = tmp55 * tmp79;
255
+ const auto tmp81 = tmp80 + tmp73;
256
+ const auto tmp82 = tmp27 * tmp59;
257
+ const auto tmp83 = -1 * tmp82;
258
+ const auto tmp84 = tmp83 / tmp24;
259
+ const auto tmp85 = tmp84 * (tmp22 < tmp14 ? 1 : 0.0);
260
+ const auto tmp86 = tmp36 * tmp66;
261
+ const auto tmp87 = -1 * tmp86;
262
+ const auto tmp88 = tmp87 / tmp33;
263
+ const auto tmp89 = tmp42 * tmp88;
264
+ const auto tmp90 = tmp89 + tmp85;
265
+ const auto tmp91 = tmp90 * (tmp23 > tmp6 ? 1 : 0.0);
266
+ const auto tmp92 = tmp49 * tmp75;
267
+ const auto tmp93 = -1 * tmp92;
268
+ const auto tmp94 = tmp93 / tmp46;
269
+ const auto tmp95 = tmp55 * tmp94;
270
+ const auto tmp96 = tmp95 + tmp91;
271
+ const auto tmp97 = tmp60 * tmp59;
272
+ const auto tmp98 = -1 * tmp97;
273
+ const auto tmp99 = 2 + tmp98;
274
+ const auto tmp100 = tmp99 / tmp24;
275
+ const auto tmp101 = tmp100 * (tmp22 < tmp14 ? 1 : 0.0);
276
+ const auto tmp102 = tmp67 * tmp66;
277
+ const auto tmp103 = -1 * tmp102;
278
+ const auto tmp104 = 2 + tmp103;
279
+ const auto tmp105 = tmp104 / tmp33;
280
+ const auto tmp106 = tmp42 * tmp105;
281
+ const auto tmp107 = tmp106 + tmp101;
282
+ const auto tmp108 = tmp107 * (tmp23 > tmp6 ? 1 : 0.0);
283
+ const auto tmp109 = tmp76 * tmp75;
284
+ const auto tmp110 = -1 * tmp109;
285
+ const auto tmp111 = 2 + tmp110;
286
+ const auto tmp112 = tmp111 / tmp46;
287
+ const auto tmp113 = tmp55 * tmp112;
288
+ const auto tmp114 = tmp113 + tmp108;
289
+ ((result[ 0 ])[ 0 ])[ 0 ] = tmp57;
290
+ ((result[ 0 ])[ 0 ])[ 1 ] = tmp81;
291
+ ((result[ 0 ])[ 1 ])[ 0 ] = tmp96;
292
+ ((result[ 0 ])[ 1 ])[ 1 ] = tmp114;
293
+ }
294
+
295
+ template< std::size_t i >
296
+ const ConstantType< i > &constant () const
297
+ {
298
+ return *std::get< i >( constants_ );
299
+ }
300
+
301
+ template< std::size_t i >
302
+ ConstantType< i > &constant ()
303
+ {
304
+ return *std::get< i >( constants_ );
305
+ }
306
+ ConstantTupleType constants_;
307
+ std::tuple< > coefficients_;
308
+ };
309
+
310
+ } // namespace UFLLocalFunctions_10f9d7a54f79c12d6ca923b9ee56b80d
311
+
312
+ PYBIND11_MODULE( localfunction_10f9d7a54f79c12d6ca923b9ee56b80d_a524c1196983e65de1c06d7d6afdeb44, module )
313
+ {
314
+ typedef UFLLocalFunctions_10f9d7a54f79c12d6ca923b9ee56b80d::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;
315
+ if constexpr( LocalFunctionType::gridPartValid )
316
+ {
317
+ auto cls = Dune::Python::insertClass<LocalFunctionType>(module,"UFLLocalFunction",Dune::Python::GenerateTypeName("UFLLocalFunctions_10f9d7a54f79c12d6ca923b9ee56b80d::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_10f9d7a54f79c12d6ca923b9ee56b80d_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
318
+ Dune::FemPy::registerUFLLocalFunction( module, cls );
319
+ 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 >() );
320
+ cls.def_property_readonly( "virtualized", [] ( LocalFunctionType& ) -> bool { return true;});
321
+ }
322
+ }
323
+
324
+ #endif