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.
- ddfem/__init__.py +9 -5
- ddfem/__main__.py +12 -13
- ddfem/boundary.py +2 -2
- ddfem/data/2.11.dev20250709/extra.modules +14 -0
- ddfem/data/2.11.dev20250709/femscheme_0bb54cd4f1cd1df2477f5f59393c6a2e.cc +43 -0
- ddfem/data/2.11.dev20250709/femscheme_5c9e2700386c07226eb4db155fa5ef14.cc +43 -0
- ddfem/data/2.11.dev20250709/femscheme_765ef00d995a939c34bdc0d0cc4847ca.cc +43 -0
- ddfem/data/2.11.dev20250709/femspace_11b3436cb033df683615c50d5d4239bd_f14dd0b3b474c0cd816334330f55ad72.cc +45 -0
- ddfem/data/2.11.dev20250709/femspace_f4f043307753c8e74af23c94c28a3b0d_438586e783f51d84a82e82b0d8daceea.cc +45 -0
- ddfem/data/2.11.dev20250709/{integrands_3bde0abfafcf45a3cff4d1029568ab5cv1_3_a524c1196983e65de1c06d7d6afdeb44.cc → integrands_0003e4cbb961fd653fe295d2c4fa50a7v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +367 -14
- ddfem/data/2.11.dev20250709/{integrands_2e6d4e3b5cff269867d26022ac7cee09v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → integrands_0fa4a1c37449cf574971977e10cf682av1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +8 -8
- ddfem/data/2.11.dev20250709/{integrands_96ea175da69be26acf1a8d94dc0b3c93v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → integrands_29b696aa653181a57d036f771efa8be9v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +8 -8
- ddfem/data/2.11.dev20250709/integrands_536f9ba0ea4ecd1f7d4e2bc43ef29d08v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +453 -0
- ddfem/data/2.11.dev20250709/{integrands_008eefa148b772fa3192dd3c1728c140v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → integrands_5907ab5c70328c21dd308abf09e529aev1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +8 -8
- ddfem/data/2.11.dev20250709/{integrands_59ef814e4fbd86ef9c0aeac61e84e9a7v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → integrands_68eba4e963a61031a52da3365f515585v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +8 -8
- ddfem/data/2.11.dev20250709/integrands_83927be37e79b291517b827b9ddc1983v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +533 -0
- ddfem/data/2.11.dev20250709/integrands_8ed2f23c088e3a3d82a3259b663796c7v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +533 -0
- ddfem/data/2.11.dev20250709/integrands_af3bbe7d629df162ef8c570e1503bf62v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +762 -0
- ddfem/data/2.11.dev20250709/{integrands_00ee9b3b89e4e44212e5b7ad7948a24ev1_3_a524c1196983e65de1c06d7d6afdeb44.cc → integrands_d0634430f14d3432dae186e57ec5aecav1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +8 -8
- ddfem/data/2.11.dev20250709/intro.modules +33 -102
- ddfem/data/2.11.dev20250709/localfunction_10f9d7a54f79c12d6ca923b9ee56b80d_a524c1196983e65de1c06d7d6afdeb44.cc +324 -0
- ddfem/data/2.11.dev20250709/localfunction_10f9d7a54f79c12d6ca923b9ee56b80d_af122c1df944c95cd395ec0f91d0f970.cc +322 -0
- ddfem/data/2.11.dev20250709/localfunction_1c20e613977d8cea4cf5227c12aa68a6_a524c1196983e65de1c06d7d6afdeb44.cc +164 -0
- ddfem/data/2.11.dev20250709/{localfunction_191355e6250b2d2e260d96f519ad9976_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_217e4bf8b368a7768c4897cf58f71d84_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -14
- ddfem/data/2.11.dev20250709/localfunction_22e797a8f3e8c322f33c41e07bd15165_a524c1196983e65de1c06d7d6afdeb44.cc +1445 -0
- ddfem/data/2.11.dev20250709/localfunction_2e2afc8df6107683d574a8d96d5249f4_af122c1df944c95cd395ec0f91d0f970.cc +512 -0
- ddfem/data/2.11.dev20250709/localfunction_32613626342183eafa360dc1f0f18924_a524c1196983e65de1c06d7d6afdeb44.cc +1425 -0
- ddfem/data/2.11.dev20250709/localfunction_37174cfc9d6bf565336cac0d2ea785f5_a524c1196983e65de1c06d7d6afdeb44.cc +786 -0
- ddfem/data/2.11.dev20250709/{localfunction_d75993d7ae5919d23117b153e900840d_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_3d957c5b2628e5120636b8e3f461bc0d_a524c1196983e65de1c06d7d6afdeb44.cc} +64 -29
- ddfem/data/2.11.dev20250709/localfunction_3ecaa105be9e3abddf3a85d8adc5d36f_a524c1196983e65de1c06d7d6afdeb44.cc +697 -0
- ddfem/data/2.11.dev20250709/{localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_3ecaf7de7505b53bb0b5fb6d78549387_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -14
- ddfem/data/2.11.dev20250709/{localfunction_1d27a90a52b9053192c9cc902283f79b_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_4192604521151252f1c8fa56a1f9f226_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -14
- ddfem/data/2.11.dev20250709/localfunction_4976bbef3267846b59f3a26497ffe9db_a524c1196983e65de1c06d7d6afdeb44.cc +474 -0
- ddfem/data/2.11.dev20250709/{localfunction_a8c726f728cd35d137188b33301aeef1_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_4adfaf8a08fac23151af0b1e790db1f7_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -14
- ddfem/data/2.11.dev20250709/{localfunction_00f2e5593eeb23f01906255d67244f6e_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_4f6a526abfe63959f81b09a5796c5eb1_a524c1196983e65de1c06d7d6afdeb44.cc} +44 -29
- ddfem/data/2.11.dev20250709/localfunction_5591a2c803b9658084d8f11d44bf3ae1_a524c1196983e65de1c06d7d6afdeb44.cc +485 -0
- ddfem/data/2.11.dev20250709/localfunction_6363af791dde11d699a9a3d876cc5d9a_a524c1196983e65de1c06d7d6afdeb44.cc +549 -0
- ddfem/data/2.11.dev20250709/localfunction_6363af791dde11d699a9a3d876cc5d9a_af122c1df944c95cd395ec0f91d0f970.cc +547 -0
- ddfem/data/2.11.dev20250709/localfunction_6eccfc8fd91ce34d81e7c3962ece5d94_a524c1196983e65de1c06d7d6afdeb44.cc +766 -0
- ddfem/data/2.11.dev20250709/localfunction_762aa49bc5a47ad3d8d8bbde36b42ee5_a524c1196983e65de1c06d7d6afdeb44.cc +723 -0
- ddfem/data/2.11.dev20250709/localfunction_76e8db0f046ac9e37a793e0bb13eea7b_a524c1196983e65de1c06d7d6afdeb44.cc +292 -0
- ddfem/data/2.11.dev20250709/localfunction_7792f4273b0fd848c5a0fc9d6f12683e_a524c1196983e65de1c06d7d6afdeb44.cc +280 -0
- ddfem/data/2.11.dev20250709/localfunction_7f7ef99c50708814ba5a82b0956b0aed_a524c1196983e65de1c06d7d6afdeb44.cc +461 -0
- ddfem/data/2.11.dev20250709/localfunction_898de4ae138e0ed305ef1399c66aa10a_a524c1196983e65de1c06d7d6afdeb44.cc +313 -0
- ddfem/data/2.11.dev20250709/{localfunction_1d13146d4bff10e178aba773fe2a9f1d_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_a99a0c7f35b06ac5a1fa7f081b5e64f9_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -14
- ddfem/data/2.11.dev20250709/{localfunction_82d7cb9338bf118426fac2abf41a91a4_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_cda923259a47bb19861404a9fdb64303_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -14
- ddfem/data/2.11.dev20250709/localfunction_d3d9b8a21e3075c9ff40117c5244f28e_a524c1196983e65de1c06d7d6afdeb44.cc +381 -0
- ddfem/data/2.11.dev20250709/localfunction_d4b9ca85d48735ee01f395a42eaa0cee_af122c1df944c95cd395ec0f91d0f970.cc +774 -0
- ddfem/data/2.11.dev20250709/localfunction_dd1fb4bd60f2d8b3a062dbbdaedb9fee_a524c1196983e65de1c06d7d6afdeb44.cc +869 -0
- ddfem/data/2.11.dev20250709/localfunction_dd5ab085a9d94f578c1f3d337ea360a3_a524c1196983e65de1c06d7d6afdeb44.cc +161 -0
- ddfem/data/2.11.dev20250709/{localfunction_aeb3d963412cdc65630e0a4c3c0dde0f_a524c1196983e65de1c06d7d6afdeb44.cc → localfunction_e2b19c5987f9b6fb0cd5453bfa7f4f9f_a524c1196983e65de1c06d7d6afdeb44.cc} +14 -30
- ddfem/examples/beam.py +43 -50
- ddfem/examples/chemical_reaction.py +1 -1
- ddfem/examples/five_circle_flat.py +42 -28
- ddfem/examples/linear_elasticity.py +5 -1
- ddfem/examples/triple_circle.py +86 -83
- ddfem/examples/triple_circle_beam.py +71 -61
- ddfem-1.0.12.dist-info/METADATA +78 -0
- ddfem-1.0.12.dist-info/RECORD +123 -0
- ddfem/data/2.11.dev20250709/boundary.modules +0 -9
- ddfem/data/2.11.dev20250709/femspace_90f0a9524a8cb701e8ee5027b7658a0e_0faf32f13b591f4f60f83c591507b9be.cc +0 -40
- ddfem/data/2.11.dev20250709/geometry.modules +0 -84
- ddfem/data/2.11.dev20250709/hierarchicalgrid_472c2c2d007bf5604887ab2f16b7eb13.cc +0 -30
- ddfem/data/2.11.dev20250709/hierarchicalgrid_966e2a5c8356c5b278ccd3acad180f0a.cc +0 -30
- ddfem/data/2.11.dev20250709/localfunction_10ad0a2d88c74db5f4bf5f81e138974f_a524c1196983e65de1c06d7d6afdeb44.cc +0 -135
- ddfem/data/2.11.dev20250709/localfunction_1460b632dc5919e94a2147108f4f34f4_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -468
- ddfem/data/2.11.dev20250709/localfunction_161bbe6dde741c6e3f90c2919b8d17a4_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -171
- ddfem/data/2.11.dev20250709/localfunction_268716e3e3ec528038367ee04d335ea1_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -289
- ddfem/data/2.11.dev20250709/localfunction_29566243d89228735978e58471af60be_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -246
- ddfem/data/2.11.dev20250709/localfunction_2a890b2a64788a92607670296c0d37ac_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -311
- ddfem/data/2.11.dev20250709/localfunction_2bbefabe87db948827d02bdb8d69a7d1_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -240
- ddfem/data/2.11.dev20250709/localfunction_34a46b87fa5c0a5a4f0bc44949f2eda9_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -239
- ddfem/data/2.11.dev20250709/localfunction_3c10414582133a0fa8e341c4544a97c7_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -220
- ddfem/data/2.11.dev20250709/localfunction_3dfb73430ddb90a26b6f50f85e52e2a4_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -216
- ddfem/data/2.11.dev20250709/localfunction_3e323e81c52891c0ecb656eac273e52f_a524c1196983e65de1c06d7d6afdeb44.cc +0 -135
- ddfem/data/2.11.dev20250709/localfunction_465e17370f4344b8997151adacf7aec6_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -403
- ddfem/data/2.11.dev20250709/localfunction_57e9651c5364ef528f41cf138e126115_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -272
- ddfem/data/2.11.dev20250709/localfunction_5c2a00bf7ec417475a0a378ed462beeb_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -350
- ddfem/data/2.11.dev20250709/localfunction_5d71e054c405bc6584738437908af804_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -364
- ddfem/data/2.11.dev20250709/localfunction_6343878b30d190cc70b631d882009dec_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -342
- ddfem/data/2.11.dev20250709/localfunction_639a3f3873411f43337e687cb070368f_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -230
- ddfem/data/2.11.dev20250709/localfunction_6661b21a0e1340a9a9f7b32da595f130_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -468
- ddfem/data/2.11.dev20250709/localfunction_75e876499fa3b7abc096aa08f88a1c2d_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -213
- ddfem/data/2.11.dev20250709/localfunction_8647b4efdf8a37595f73652bc1905df2_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -335
- ddfem/data/2.11.dev20250709/localfunction_86a0670f34bf2ac8155423a1c1bc2e75_a524c1196983e65de1c06d7d6afdeb44.cc +0 -135
- ddfem/data/2.11.dev20250709/localfunction_98b32c4b5bc0d8083f3d2c394aa33429_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -340
- ddfem/data/2.11.dev20250709/localfunction_9b741917efb5aa6a09e375272e4ae3aa_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -317
- ddfem/data/2.11.dev20250709/localfunction_a369aff055312b472a92ee7e257534ff_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -392
- ddfem/data/2.11.dev20250709/localfunction_a6cc88a79948487ce95a6c3f22487b36_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -395
- ddfem/data/2.11.dev20250709/localfunction_aa506761997f291dfd2e62b678f010b2_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -280
- ddfem/data/2.11.dev20250709/localfunction_b5edf0c36f0fc96cc6f5f3677c6557a1_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -214
- ddfem/data/2.11.dev20250709/localfunction_bdfb7ddf42a423f7d0791458634d4b8f_a524c1196983e65de1c06d7d6afdeb44.cc +0 -135
- ddfem/data/2.11.dev20250709/localfunction_c3d0902cf8bb4b86b62a2293de2b74e9_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -1131
- ddfem/data/2.11.dev20250709/localfunction_cf4a29dc25e72137baf2f8fb8b8d3c50_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -267
- ddfem/data/2.11.dev20250709/localfunction_d40efa41ac661ff77278d2ae4812b06d_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -377
- ddfem/data/2.11.dev20250709/localfunction_e69118a51208cfab8a028711e966e76c_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -236
- ddfem/data/2.11.dev20250709/localfunction_e9c8d4f4cedd30cab76a588b95bbccab_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -325
- ddfem/data/2.11.dev20250709/localfunction_f0d3fe89de368f7ea295a1982a807bd8_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -281
- ddfem/data/2.11.dev20250709/localfunction_f4b1d42cbb447375f39ed834570cd3f0_a524c1196983e65de1c06d7d6afdeb44.cc +0 -135
- ddfem/data/2.11.dev20250709/localfunction_fb15e1ad2c62e6660c67949fcf166d81_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -339
- ddfem/data/2.11.dev20250709/localfunction_fb17410b0b5d479dce9ffc6f9d61ab37_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -317
- ddfem/data/2.11.dev20250709/localfunction_fc22d5adaf3b9563160dc2aec55e8ba1_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -113
- ddfem/data/2.11.dev20250709/referenceelements_fe266b8abf61f4601198949ea6b0dfd3.cc +0 -24
- ddfem/data/2.11.dev20250709/transformers.modules +0 -13
- ddfem/data/2.11.dev20250709/yaspcoordinates_dim2_ctdouble.cc +0 -55
- ddfem/data/2.11.dev20250709/yaspcoordinates_dim3_ctdouble.cc +0 -55
- ddfem-1.0.10.dist-info/METADATA +0 -101
- ddfem-1.0.10.dist-info/RECORD +0 -138
- {ddfem-1.0.10.dist-info → ddfem-1.0.12.dist-info}/WHEEL +0 -0
- {ddfem-1.0.10.dist-info → ddfem-1.0.12.dist-info}/licenses/LICENSE +0 -0
- {ddfem-1.0.10.dist-info → ddfem-1.0.12.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,5 @@
|
|
1
|
-
#ifndef
|
2
|
-
#define
|
1
|
+
#ifndef GUARD_4adfaf8a08fac23151af0b1e790db1f7
|
2
|
+
#define GUARD_4adfaf8a08fac23151af0b1e790db1f7
|
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
|
23
|
+
namespace UFLLocalFunctions_4adfaf8a08fac23151af0b1e790db1f7
|
24
24
|
{
|
25
25
|
|
26
26
|
// UFLLocalFunction
|
27
27
|
// ----------------
|
28
28
|
|
29
|
-
template< class GridPart, class
|
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<
|
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<
|
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
|
60
|
+
UFLLocalFunction ( const GridPartType &gridPart, const std::string &name, int order, const Coeffuh &coeffuh, const Dune::Fem::ParameterReader ¶meter = Dune::Fem::Parameter::container() )
|
61
61
|
: BaseType(gridPart,name,order),
|
62
|
-
coefficients_( Dune::Fem::ConstLocalFunction<
|
62
|
+
coefficients_( Dune::Fem::ConstLocalFunction< Coeffuh >( coeffuh ) )
|
63
63
|
{}
|
64
64
|
|
65
65
|
void bind ( const IntersectionType &intersection, Side side )
|
@@ -156,19 +156,19 @@ struct UFLLocalFunction
|
|
156
156
|
return result;
|
157
157
|
}
|
158
158
|
ConstantTupleType constants_;
|
159
|
-
std::tuple< Dune::Fem::ConstLocalFunction<
|
159
|
+
std::tuple< Dune::Fem::ConstLocalFunction< Coeffuh > > coefficients_;
|
160
160
|
};
|
161
161
|
|
162
|
-
} // namespace
|
162
|
+
} // namespace UFLLocalFunctions_4adfaf8a08fac23151af0b1e790db1f7
|
163
163
|
|
164
|
-
PYBIND11_MODULE(
|
164
|
+
PYBIND11_MODULE( localfunction_4adfaf8a08fac23151af0b1e790db1f7_a524c1196983e65de1c06d7d6afdeb44, module )
|
165
165
|
{
|
166
|
-
typedef
|
166
|
+
typedef UFLLocalFunctions_4adfaf8a08fac23151af0b1e790db1f7::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;
|
167
167
|
if constexpr( LocalFunctionType::gridPartValid )
|
168
168
|
{
|
169
|
-
auto cls = Dune::Python::insertClass<LocalFunctionType>(module,"UFLLocalFunction",Dune::Python::GenerateTypeName("
|
169
|
+
auto cls = Dune::Python::insertClass<LocalFunctionType>(module,"UFLLocalFunction",Dune::Python::GenerateTypeName("UFLLocalFunctions_4adfaf8a08fac23151af0b1e790db1f7::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_4adfaf8a08fac23151af0b1e790db1f7_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
|
170
170
|
Dune::FemPy::registerUFLLocalFunction( module, cls );
|
171
|
-
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 > > &
|
171
|
+
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 >() );
|
172
172
|
cls.def_property_readonly( "virtualized", [] ( LocalFunctionType& ) -> bool { return true;});
|
173
173
|
}
|
174
174
|
}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
#ifndef
|
2
|
-
#define
|
1
|
+
#ifndef GUARD_4f6a526abfe63959f81b09a5796c5eb1
|
2
|
+
#define GUARD_4f6a526abfe63959f81b09a5796c5eb1
|
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
|
22
|
+
namespace UFLLocalFunctions_4f6a526abfe63959f81b09a5796c5eb1
|
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
|
43
|
-
typedef std::tuple< std::shared_ptr< Conc2 > > 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 ¶meter = Dune::Fem::Parameter::container() )
|
56
53
|
: BaseType(gridPart,name,order)
|
57
|
-
{
|
58
|
-
std::get< 0 >( constants_ ) = std::make_shared< Conc2 >( (Conc2(0)) );
|
59
|
-
}
|
54
|
+
{}
|
60
55
|
|
61
56
|
void bind ( const IntersectionType &intersection, Side side )
|
62
57
|
{
|
@@ -76,20 +71,51 @@ struct UFLLocalFunction
|
|
76
71
|
template< class Point >
|
77
72
|
void evaluate ( const Point &x, typename FunctionSpaceType::RangeType &result ) const
|
78
73
|
{
|
79
|
-
|
80
|
-
|
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 <= 0.0 ? 1 : 0.0);
|
81
103
|
}
|
82
104
|
|
83
105
|
template< class Point >
|
84
106
|
void jacobian ( const Point &x, typename FunctionSpaceType::JacobianRangeType &result ) const
|
85
107
|
{
|
86
|
-
result=
|
108
|
+
(result[ 0 ])[ 0 ] = 0.0;
|
109
|
+
(result[ 0 ])[ 1 ] = 0.0;
|
87
110
|
}
|
88
111
|
|
89
112
|
template< class Point >
|
90
113
|
void hessian ( const Point &x, typename FunctionSpaceType::HessianRangeType &result ) const
|
91
114
|
{
|
92
|
-
result=
|
115
|
+
((result[ 0 ])[ 0 ])[ 0 ] = 0.0;
|
116
|
+
((result[ 0 ])[ 0 ])[ 1 ] = 0.0;
|
117
|
+
((result[ 0 ])[ 1 ])[ 0 ] = 0.0;
|
118
|
+
((result[ 0 ])[ 1 ])[ 1 ] = 0.0;
|
93
119
|
}
|
94
120
|
|
95
121
|
template< std::size_t i >
|
@@ -103,31 +129,20 @@ struct UFLLocalFunction
|
|
103
129
|
{
|
104
130
|
return *std::get< i >( constants_ );
|
105
131
|
}
|
106
|
-
|
107
|
-
const Conc2 &conc2 () const
|
108
|
-
{
|
109
|
-
return *std::get< 0 >( constants_ );
|
110
|
-
}
|
111
|
-
|
112
|
-
Conc2 &conc2 ()
|
113
|
-
{
|
114
|
-
return *std::get< 0 >( constants_ );
|
115
|
-
}
|
116
132
|
ConstantTupleType constants_;
|
117
133
|
std::tuple< > coefficients_;
|
118
134
|
};
|
119
135
|
|
120
|
-
} // namespace
|
136
|
+
} // namespace UFLLocalFunctions_4f6a526abfe63959f81b09a5796c5eb1
|
121
137
|
|
122
|
-
PYBIND11_MODULE(
|
138
|
+
PYBIND11_MODULE( localfunction_4f6a526abfe63959f81b09a5796c5eb1_a524c1196983e65de1c06d7d6afdeb44, module )
|
123
139
|
{
|
124
|
-
typedef
|
140
|
+
typedef UFLLocalFunctions_4f6a526abfe63959f81b09a5796c5eb1::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
141
|
if constexpr( LocalFunctionType::gridPartValid )
|
126
142
|
{
|
127
|
-
auto cls = Dune::Python::insertClass<LocalFunctionType>(module,"UFLLocalFunction",Dune::Python::GenerateTypeName("
|
143
|
+
auto cls = Dune::Python::insertClass<LocalFunctionType>(module,"UFLLocalFunction",Dune::Python::GenerateTypeName("UFLLocalFunctions_4f6a526abfe63959f81b09a5796c5eb1::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_4f6a526abfe63959f81b09a5796c5eb1_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
|
128
144
|
Dune::FemPy::registerUFLLocalFunction( module, cls );
|
129
145
|
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( "c2", [] ( LocalFunctionType &self ) -> UFLLocalFunctions_00f2e5593eeb23f01906255d67244f6e::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 > > >::Conc2 { return self.conc2(); }, [] ( LocalFunctionType &self, const UFLLocalFunctions_00f2e5593eeb23f01906255d67244f6e::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 > > >::Conc2 &v ) { self.conc2() = v; } );
|
131
146
|
cls.def_property_readonly( "virtualized", [] ( LocalFunctionType& ) -> bool { return true;});
|
132
147
|
}
|
133
148
|
}
|