ddfem 1.0.9__tar.gz → 1.0.11__tar.gz
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-1.0.9 → ddfem-1.0.11}/PKG-INFO +35 -3
- ddfem-1.0.11/README.md +39 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/__init__.py +10 -6
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/__main__.py +12 -13
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/boundary.py +2 -2
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/extra.modules +14 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/femscheme_0bb54cd4f1cd1df2477f5f59393c6a2e.cc +43 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/femscheme_5c9e2700386c07226eb4db155fa5ef14.cc +43 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/femscheme_765ef00d995a939c34bdc0d0cc4847ca.cc +43 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/femspace_11b3436cb033df683615c50d5d4239bd_f14dd0b3b474c0cd816334330f55ad72.cc +45 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/femspace_f4f043307753c8e74af23c94c28a3b0d_438586e783f51d84a82e82b0d8daceea.cc +45 -0
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/integrands_3bde0abfafcf45a3cff4d1029568ab5cv1_3_a524c1196983e65de1c06d7d6afdeb44.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/integrands_0003e4cbb961fd653fe295d2c4fa50a7v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +367 -14
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/integrands_f3ca00a2ef95c9a48de9ec1b807b1b30v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/integrands_0fa4a1c37449cf574971977e10cf682av1_3_a524c1196983e65de1c06d7d6afdeb44.cc +8 -8
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/integrands_2e5e6f48655bd358419554a0857f697bv1_3_a524c1196983e65de1c06d7d6afdeb44.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/integrands_29b696aa653181a57d036f771efa8be9v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +8 -8
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/integrands_5e1afa60a15644998389a84306246ea5v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/integrands_536f9ba0ea4ecd1f7d4e2bc43ef29d08v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +8 -8
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/integrands_008eefa148b772fa3192dd3c1728c140v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/integrands_5907ab5c70328c21dd308abf09e529aev1_3_a524c1196983e65de1c06d7d6afdeb44.cc +8 -8
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/integrands_563572f4cb20b041e8198ba7d5f88584v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/integrands_68eba4e963a61031a52da3365f515585v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +8 -8
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/integrands_83927be37e79b291517b827b9ddc1983v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +533 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/integrands_8ed2f23c088e3a3d82a3259b663796c7v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +533 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/integrands_af3bbe7d629df162ef8c570e1503bf62v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +762 -0
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/integrands_2339be3c67df1d67b18125c34ced69c2v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/integrands_bf510277401791ad5e30831b49a8ed7cv1_3_a524c1196983e65de1c06d7d6afdeb44.cc +25 -14
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/integrands_d0634430f14d3432dae186e57ec5aecav1_3_a524c1196983e65de1c06d7d6afdeb44.cc +587 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/intro.modules +43 -0
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/localfunction_3e323e81c52891c0ecb656eac273e52f_a524c1196983e65de1c06d7d6afdeb44.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_0cb4ca9e24e2891510640b0737aaab21_a524c1196983e65de1c06d7d6afdeb44.cc +64 -29
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_0f7b2106478c5d2af781b1f377a180d2_a524c1196983e65de1c06d7d6afdeb44.cc +393 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_10f9d7a54f79c12d6ca923b9ee56b80d_a524c1196983e65de1c06d7d6afdeb44.cc +324 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_10f9d7a54f79c12d6ca923b9ee56b80d_af122c1df944c95cd395ec0f91d0f970.cc +322 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_1c20e613977d8cea4cf5227c12aa68a6_a524c1196983e65de1c06d7d6afdeb44.cc +164 -0
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/localfunction_191355e6250b2d2e260d96f519ad9976_a524c1196983e65de1c06d7d6afdeb44.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_217e4bf8b368a7768c4897cf58f71d84_a524c1196983e65de1c06d7d6afdeb44.cc +14 -14
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_22e797a8f3e8c322f33c41e07bd15165_a524c1196983e65de1c06d7d6afdeb44.cc +1445 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_2a97db5a6a479d02138a836cb0890cf2_a524c1196983e65de1c06d7d6afdeb44.cc +173 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_2e2afc8df6107683d574a8d96d5249f4_af122c1df944c95cd395ec0f91d0f970.cc +512 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_32613626342183eafa360dc1f0f18924_a524c1196983e65de1c06d7d6afdeb44.cc +1425 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_37174cfc9d6bf565336cac0d2ea785f5_a524c1196983e65de1c06d7d6afdeb44.cc +786 -0
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/localfunction_d75993d7ae5919d23117b153e900840d_a524c1196983e65de1c06d7d6afdeb44.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_3d957c5b2628e5120636b8e3f461bc0d_a524c1196983e65de1c06d7d6afdeb44.cc +64 -29
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_3ecaa105be9e3abddf3a85d8adc5d36f_a524c1196983e65de1c06d7d6afdeb44.cc +697 -0
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_3ecaf7de7505b53bb0b5fb6d78549387_a524c1196983e65de1c06d7d6afdeb44.cc +14 -14
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/localfunction_1d27a90a52b9053192c9cc902283f79b_a524c1196983e65de1c06d7d6afdeb44.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_4192604521151252f1c8fa56a1f9f226_a524c1196983e65de1c06d7d6afdeb44.cc +14 -14
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_4484607e3f9bd9999dbd7bb9d595a7b2_a524c1196983e65de1c06d7d6afdeb44.cc +173 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_4976bbef3267846b59f3a26497ffe9db_a524c1196983e65de1c06d7d6afdeb44.cc +474 -0
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/localfunction_a8c726f728cd35d137188b33301aeef1_a524c1196983e65de1c06d7d6afdeb44.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_4adfaf8a08fac23151af0b1e790db1f7_a524c1196983e65de1c06d7d6afdeb44.cc +14 -14
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/localfunction_00f2e5593eeb23f01906255d67244f6e_a524c1196983e65de1c06d7d6afdeb44.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_4f6a526abfe63959f81b09a5796c5eb1_a524c1196983e65de1c06d7d6afdeb44.cc +44 -29
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_5591a2c803b9658084d8f11d44bf3ae1_a524c1196983e65de1c06d7d6afdeb44.cc +485 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_6363af791dde11d699a9a3d876cc5d9a_a524c1196983e65de1c06d7d6afdeb44.cc +549 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_6363af791dde11d699a9a3d876cc5d9a_af122c1df944c95cd395ec0f91d0f970.cc +547 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_65bda5736a84d4aa0ef2d48ebcc90ed5_a524c1196983e65de1c06d7d6afdeb44.cc +173 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_6eccfc8fd91ce34d81e7c3962ece5d94_a524c1196983e65de1c06d7d6afdeb44.cc +766 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_762aa49bc5a47ad3d8d8bbde36b42ee5_a524c1196983e65de1c06d7d6afdeb44.cc +723 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_76e8db0f046ac9e37a793e0bb13eea7b_a524c1196983e65de1c06d7d6afdeb44.cc +292 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_7792f4273b0fd848c5a0fc9d6f12683e_a524c1196983e65de1c06d7d6afdeb44.cc +280 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_7d81d496538f240d504e5597484ee746_a524c1196983e65de1c06d7d6afdeb44.cc +462 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_7f7ef99c50708814ba5a82b0956b0aed_a524c1196983e65de1c06d7d6afdeb44.cc +461 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_898de4ae138e0ed305ef1399c66aa10a_a524c1196983e65de1c06d7d6afdeb44.cc +313 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_98b04b00bb93b8c6da99c91867e597ca_a524c1196983e65de1c06d7d6afdeb44.cc +639 -0
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/localfunction_86a0670f34bf2ac8155423a1c1bc2e75_a524c1196983e65de1c06d7d6afdeb44.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_a46a988b5d8571e80fd401a36d7341b7_a524c1196983e65de1c06d7d6afdeb44.cc +64 -29
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/localfunction_1d13146d4bff10e178aba773fe2a9f1d_a524c1196983e65de1c06d7d6afdeb44.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_a99a0c7f35b06ac5a1fa7f081b5e64f9_a524c1196983e65de1c06d7d6afdeb44.cc +14 -14
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/localfunction_e4557ecff74fe5b37313674e67db2782_a524c1196983e65de1c06d7d6afdeb44.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_a9bb07439605d560b583608f20441342_a524c1196983e65de1c06d7d6afdeb44.cc +67 -29
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/localfunction_82d7cb9338bf118426fac2abf41a91a4_a524c1196983e65de1c06d7d6afdeb44.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_cda923259a47bb19861404a9fdb64303_a524c1196983e65de1c06d7d6afdeb44.cc +14 -14
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_d0f33c2dc1ae0e619d85a7621c8e83a6_a524c1196983e65de1c06d7d6afdeb44.cc +325 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_d3d9b8a21e3075c9ff40117c5244f28e_a524c1196983e65de1c06d7d6afdeb44.cc +381 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_d4b9ca85d48735ee01f395a42eaa0cee_af122c1df944c95cd395ec0f91d0f970.cc +774 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_dd1fb4bd60f2d8b3a062dbbdaedb9fee_a524c1196983e65de1c06d7d6afdeb44.cc +869 -0
- ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_dd5ab085a9d94f578c1f3d337ea360a3_a524c1196983e65de1c06d7d6afdeb44.cc +161 -0
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/localfunction_10ad0a2d88c74db5f4bf5f81e138974f_a524c1196983e65de1c06d7d6afdeb44.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_e2b19c5987f9b6fb0cd5453bfa7f4f9f_a524c1196983e65de1c06d7d6afdeb44.cc +14 -30
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/localfunction_e69118a51208cfab8a028711e966e76c_19659fe2f2f74bcfb5d532f1a0d38be9.cc → ddfem-1.0.11/ddfem/data/2.11.dev20250709/localfunction_e85b93fe9b8fcd40ee82782fc600b65b_a524c1196983e65de1c06d7d6afdeb44.cc +89 -78
- ddfem-1.0.11/ddfem/data/extra.modules +13 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/examples/beam.py +43 -50
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/examples/chemical_reaction.py +1 -1
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/examples/five_circle_flat.py +42 -28
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/examples/linear_elasticity.py +5 -1
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/examples/triple_circle.py +86 -83
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/examples/triple_circle_beam.py +71 -61
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/geometry/primitive_base.py +1 -1
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem.egg-info/PKG-INFO +35 -3
- ddfem-1.0.11/ddfem.egg-info/SOURCES.txt +127 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/pyproject.toml +1 -1
- ddfem-1.0.9/README.md +0 -7
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/boundary.modules +0 -9
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/femspace_90f0a9524a8cb701e8ee5027b7658a0e_0faf32f13b591f4f60f83c591507b9be.cc +0 -40
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/geometry.modules +0 -84
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/hierarchicalgrid_966e2a5c8356c5b278ccd3acad180f0a.cc +0 -30
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/intro.modules +0 -109
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/localfunction_aeb3d963412cdc65630e0a4c3c0dde0f_a524c1196983e65de1c06d7d6afdeb44.cc +0 -135
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/localfunction_bdfb7ddf42a423f7d0791458634d4b8f_a524c1196983e65de1c06d7d6afdeb44.cc +0 -135
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/localfunction_c5ebc4ae4b5d3bad6be770eb08c50d08_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -1131
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/localfunction_f4583c5cc10d24a8bdedf7510ce9da7b_a524c1196983e65de1c06d7d6afdeb44.cc +0 -299
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/localfunction_f4b1d42cbb447375f39ed834570cd3f0_a524c1196983e65de1c06d7d6afdeb44.cc +0 -135
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/localfunction_fc22d5adaf3b9563160dc2aec55e8ba1_19659fe2f2f74bcfb5d532f1a0d38be9.cc +0 -113
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/transformers.modules +0 -13
- ddfem-1.0.9/ddfem/data/2.11.dev20250709/yaspcoordinates_dim2_ctdouble.cc +0 -55
- ddfem-1.0.9/ddfem.egg-info/SOURCES.txt +0 -99
- {ddfem-1.0.9 → ddfem-1.0.11}/LICENSE +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/adapt_010e1455a389aa01992af42c0a3f4b14.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/femscheme_ddd4458a70dff1f9762ec5a96ca4ba9c.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/femscheme_f2a3cb32a864b08c0236366e732fb908.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/hierarchicalgrid_d827e80243feae36e8b9006bb24207e7.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/indexset_e9c0cdc96a4fc702a0969c29910954e6.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/integrands_ed7208bd651abb351e34c9990e0313bcv1_3_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/localfunction_228c55d163ca194a905826bcc20fcbc0_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/localfunction_42ff56710f3bd510798ecabb32a6cbf0_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/localfunction_42ff56710f3bd510798ecabb32a6cbf0_af122c1df944c95cd395ec0f91d0f970.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/localfunction_83d9e6dd70d1c31c973224e210cc36b4_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/localfunction_a854465b265a1a51dacb4f71f7eeb06b_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/localfunction_ae8173bdb67b8ea50ce75c3912841100_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/localfunction_b8239bf849ec7c1903f627833e6dac5a_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/localfunction_bcafb581216501f273e23c0e26cd57af_af122c1df944c95cd395ec0f91d0f970.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/referenceelements_0fff57b283123cc055345ec95574c857.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/referenceelements_de274310a0055100b832a0e8892b0258.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/referenceelements_f4457f35395151d83a965d4cf5fce70d.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/view_a524c1196983e65de1c06d7d6afdeb44.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/2.11.dev20250709/view_af122c1df944c95cd395ec0f91d0f970.cc +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/data/generate.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/examples/__init__.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/examples/advection_diffusion.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/examples/cahn_hilliard.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/examples/constant.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/examples/forchheimer.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/examples/hyperelasticity.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/examples/plaplace.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/examples/single_circle.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/geometry/__init__.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/geometry/arc.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/geometry/ball.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/geometry/box.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/geometry/domain.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/geometry/domain_dune.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/geometry/helpers.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/geometry/pie.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/geometry/plane.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/geometry/vesica.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/model2ufl.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/plot.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/transformers/DDM1.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/transformers/Fitted.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/transformers/Mix0.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/transformers/NNS.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/transformers/NS.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/transformers/__init__.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem/transformers/transformer_base.py +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem.egg-info/dependency_links.txt +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem.egg-info/requires.txt +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/ddfem.egg-info/top_level.txt +0 -0
- {ddfem-1.0.9 → ddfem-1.0.11}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ddfem
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.11
|
4
4
|
Summary: Diffuse domain finite element solver
|
5
5
|
Author-email: Luke Benfield <luke.benfield@warwick.ac.uk>, Andreas Dedner <a.s.dedner@warwick.ac.uk>
|
6
6
|
License-Expression: MIT
|
@@ -39,8 +39,40 @@ Dynamic: license-file
|
|
39
39
|
|
40
40
|
# Diffuse Domain Finite Element Methods
|
41
41
|
|
42
|
-
|
42
|
+
[ddfem][0] is a Python package that simplifies the transformation
|
43
|
+
of a wide range of PDEs using the Diffuse Domain Method.
|
44
|
+
While the original PDE will often be defined on a complex domain,
|
45
|
+
after the transformation it can be solved on simple e.g. square domain.
|
46
|
+
The original geometry is embedded in the simpler domain using
|
47
|
+
a phase-field function representation.
|
48
|
+
We provide implementations for different versions of the Diffuse Domain Method
|
49
|
+
making it easy to compare and chose the most suitable version for the problem at hand.
|
50
|
+
Adding new versions is also straightforward.
|
51
|
+
Furthermore, we provide a new approach
|
52
|
+
to combine multiple boundary conditions
|
53
|
+
of different types on distinct boundary segments.
|
43
54
|
|
44
|
-
|
55
|
+
The geometry subpackage provides several simple signed distance functions (SDF),
|
56
|
+
and operators to allow an easy definition of the complex domain.
|
57
|
+
|
58
|
+
We have designed the package to have a wide compatibility with existing finite element solvers,
|
59
|
+
as all transformations are performed using the Unified Form Language,
|
60
|
+
[UFL][2] and do not require any other external packages.
|
61
|
+
|
62
|
+
While not required, we recommend using [Dune-Fem][1]
|
63
|
+
as it enables some optimisations for form compiling,
|
64
|
+
and can improve the mesh by utilising the different grid views.
|
65
|
+
We have used this package to test the package and
|
66
|
+
for all examples used throughout this tutorial.
|
67
|
+
|
68
|
+
## Getting started
|
69
|
+
|
70
|
+
How to install the package using `pip` is discussed in our [tutorial][4].
|
71
|
+
|
72
|
+
Enjoy - and let us know of any [issues][3] you encountered
|
45
73
|
|
46
74
|
[0]: https://ddfem.readthedocs.io/en/latest/index.html
|
75
|
+
[1]: https://www.dune-project.org/modules/dune-fem/
|
76
|
+
[2]: https://github.com/FEniCS/ufl
|
77
|
+
[3]: https://gitlab.dune-project.org/dune-fem/ddfem/-/issues
|
78
|
+
[4]: https://ddfem.readthedocs.io/en/latest/installation.html
|
ddfem-1.0.11/README.md
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
# Diffuse Domain Finite Element Methods
|
2
|
+
|
3
|
+
[ddfem][0] is a Python package that simplifies the transformation
|
4
|
+
of a wide range of PDEs using the Diffuse Domain Method.
|
5
|
+
While the original PDE will often be defined on a complex domain,
|
6
|
+
after the transformation it can be solved on simple e.g. square domain.
|
7
|
+
The original geometry is embedded in the simpler domain using
|
8
|
+
a phase-field function representation.
|
9
|
+
We provide implementations for different versions of the Diffuse Domain Method
|
10
|
+
making it easy to compare and chose the most suitable version for the problem at hand.
|
11
|
+
Adding new versions is also straightforward.
|
12
|
+
Furthermore, we provide a new approach
|
13
|
+
to combine multiple boundary conditions
|
14
|
+
of different types on distinct boundary segments.
|
15
|
+
|
16
|
+
The geometry subpackage provides several simple signed distance functions (SDF),
|
17
|
+
and operators to allow an easy definition of the complex domain.
|
18
|
+
|
19
|
+
We have designed the package to have a wide compatibility with existing finite element solvers,
|
20
|
+
as all transformations are performed using the Unified Form Language,
|
21
|
+
[UFL][2] and do not require any other external packages.
|
22
|
+
|
23
|
+
While not required, we recommend using [Dune-Fem][1]
|
24
|
+
as it enables some optimisations for form compiling,
|
25
|
+
and can improve the mesh by utilising the different grid views.
|
26
|
+
We have used this package to test the package and
|
27
|
+
for all examples used throughout this tutorial.
|
28
|
+
|
29
|
+
## Getting started
|
30
|
+
|
31
|
+
How to install the package using `pip` is discussed in our [tutorial][4].
|
32
|
+
|
33
|
+
Enjoy - and let us know of any [issues][3] you encountered
|
34
|
+
|
35
|
+
[0]: https://ddfem.readthedocs.io/en/latest/index.html
|
36
|
+
[1]: https://www.dune-project.org/modules/dune-fem/
|
37
|
+
[2]: https://github.com/FEniCS/ufl
|
38
|
+
[3]: https://gitlab.dune-project.org/dune-fem/ddfem/-/issues
|
39
|
+
[4]: https://ddfem.readthedocs.io/en/latest/installation.html
|
@@ -29,11 +29,15 @@ def GridView(domain, omega=None, *,
|
|
29
29
|
region = gridFunction(
|
30
30
|
omega.phi(x) * (1 - omega.phi(x)), gridView=gridView
|
31
31
|
) # interface
|
32
|
-
|
33
|
-
|
34
|
-
|
32
|
+
|
33
|
+
p = 0.5 * (1 - ufl.tanh(3)) # 1 epsilon
|
34
|
+
tolerance = p * (1 - p)
|
35
|
+
|
36
|
+
for j in range(0, refinements):
|
37
|
+
omega.epsilon.value = startEps * (1 - j / refinements)
|
38
|
+
mark(region, tolerance, maxLevel=refinements)
|
35
39
|
adapt(gridView.hierarchicalGrid)
|
36
|
-
omega.epsilon.value = startEps/factor
|
40
|
+
omega.epsilon.value = startEps/factor #* 0.5**(refinements/dims[0])
|
37
41
|
if adaptLevels>0:
|
38
42
|
sd = gridFunction(omega(x), gridView=gridView)
|
39
43
|
bary = dims[0] * [1.0 / (dims[0]+1)]
|
@@ -65,13 +69,13 @@ def GridView(domain, omega=None, *,
|
|
65
69
|
def solve(uflModel, domain):
|
66
70
|
# we use a Lagrange space
|
67
71
|
from dune.fem.space import lagrange
|
68
|
-
# and the
|
72
|
+
# and the built-in solver
|
69
73
|
from dune.fem.scheme import galerkin
|
70
74
|
|
71
75
|
gridView = GridView(domain)
|
72
76
|
space = lagrange(gridView, dimRange=1)
|
73
77
|
scheme = galerkin(uflModel, space=space,
|
74
78
|
solver=("suitesparse","umfpack"))
|
75
|
-
uh = space.
|
79
|
+
uh = space.function(name="uh")
|
76
80
|
scheme.solve(target=uh)
|
77
81
|
return uh
|
@@ -26,13 +26,13 @@ def main():
|
|
26
26
|
if dune:
|
27
27
|
from dune.fem.utility import FemThreadPoolExecutor
|
28
28
|
from dune.generator import builder
|
29
|
-
|
30
|
-
|
29
|
+
|
30
|
+
modules = ["intro"]
|
31
31
|
workers = 4
|
32
32
|
if len(sys.argv)>1:
|
33
33
|
workers = int(sys.argv[1])
|
34
34
|
if len(sys.argv)>2:
|
35
|
-
|
35
|
+
modules = sys.argv[2:]
|
36
36
|
|
37
37
|
builder.initialize()
|
38
38
|
|
@@ -40,10 +40,12 @@ def main():
|
|
40
40
|
dataPath = os.path.join(ddfem.__path__[0],"data",femVersion)
|
41
41
|
print(f"obtaining data from {dataPath}")
|
42
42
|
onlyCompile = []
|
43
|
-
if not
|
44
|
-
|
45
|
-
|
46
|
-
|
43
|
+
if not "all" in modules:
|
44
|
+
onlyCompile = []
|
45
|
+
for m in modules + ["extra"]:
|
46
|
+
filename = os.path.join(dataPath,m+".modules")
|
47
|
+
with open(filename,"r") as f:
|
48
|
+
onlyCompile += f.readlines()
|
47
49
|
onlyCompile = set([c.strip()+".cc" for c in onlyCompile])
|
48
50
|
else:
|
49
51
|
onlyCompile = os.listdir(dataPath)
|
@@ -60,12 +62,9 @@ def main():
|
|
60
62
|
# https://docs.python.org/3/library/urllib.request.html
|
61
63
|
os.environ["no_proxy"] = "*"
|
62
64
|
|
63
|
-
url = "https://gitlab.dune-project.org/dune-fem/ddfem/-/raw/
|
64
|
-
if
|
65
|
-
modules = ["boundary","
|
66
|
-
"transformers", "geometry"]
|
67
|
-
else:
|
68
|
-
modules = [module]
|
65
|
+
url = "https://gitlab.dune-project.org/dune-fem/ddfem/-/raw/master/doc/XXX?ref_type=heads"
|
66
|
+
if "all" in modules:
|
67
|
+
modules = ["boundary","intro", "transformers", "geometry"]
|
69
68
|
for filebase in modules:
|
70
69
|
a = urllib.request.urlretrieve(
|
71
70
|
url.replace("XXX",f"{filebase}.py"),
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import inspect
|
2
2
|
|
3
|
-
import ufl
|
4
3
|
from ufl import replace, zero
|
5
4
|
from ufl.algorithms.ad import expand_derivatives
|
6
5
|
from ufl.core.expr import Expr
|
@@ -19,7 +18,7 @@ class BoundaryCondition:
|
|
19
18
|
|
20
19
|
class BndValue(BoundaryCondition):
|
21
20
|
def __init__(self, value):
|
22
|
-
if isinstance(value,
|
21
|
+
if isinstance(value, Expr):
|
23
22
|
super().__init__(lambda t, x, u: value)
|
24
23
|
else:
|
25
24
|
num_args = len(inspect.signature(value).parameters)
|
@@ -161,6 +160,7 @@ class BoundaryTerms:
|
|
161
160
|
for w_func in self.bV_weight:
|
162
161
|
weight += w_func(x)
|
163
162
|
return weight
|
163
|
+
|
164
164
|
def _total_weight(self, x):
|
165
165
|
weight = 1e-10 # tol
|
166
166
|
for w_func in self.bV_weight + self.bF_weight:
|
@@ -0,0 +1,14 @@
|
|
1
|
+
femscheme_0bb54cd4f1cd1df2477f5f59393c6a2e
|
2
|
+
localfunction_7792f4273b0fd848c5a0fc9d6f12683e_a524c1196983e65de1c06d7d6afdeb44
|
3
|
+
femspace_f4f043307753c8e74af23c94c28a3b0d_438586e783f51d84a82e82b0d8daceea
|
4
|
+
localfunction_762aa49bc5a47ad3d8d8bbde36b42ee5_a524c1196983e65de1c06d7d6afdeb44
|
5
|
+
localfunction_3d957c5b2628e5120636b8e3f461bc0d_a524c1196983e65de1c06d7d6afdeb44
|
6
|
+
localfunction_6363af791dde11d699a9a3d876cc5d9a_a524c1196983e65de1c06d7d6afdeb44
|
7
|
+
localfunction_6eccfc8fd91ce34d81e7c3962ece5d94_a524c1196983e65de1c06d7d6afdeb44
|
8
|
+
localfunction_3ecaa105be9e3abddf3a85d8adc5d36f_a524c1196983e65de1c06d7d6afdeb44
|
9
|
+
localfunction_37174cfc9d6bf565336cac0d2ea785f5_a524c1196983e65de1c06d7d6afdeb44
|
10
|
+
localfunction_10f9d7a54f79c12d6ca923b9ee56b80d_af122c1df944c95cd395ec0f91d0f970
|
11
|
+
localfunction_10f9d7a54f79c12d6ca923b9ee56b80d_a524c1196983e65de1c06d7d6afdeb44
|
12
|
+
localfunction_7f7ef99c50708814ba5a82b0956b0aed_a524c1196983e65de1c06d7d6afdeb44
|
13
|
+
localfunction_4f6a526abfe63959f81b09a5796c5eb1_a524c1196983e65de1c06d7d6afdeb44
|
14
|
+
femspace_11b3436cb033df683615c50d5d4239bd_f14dd0b3b474c0cd816334330f55ad72
|
@@ -0,0 +1,43 @@
|
|
1
|
+
#ifndef Guard_femscheme_0bb54cd4f1cd1df2477f5f59393c6a2e
|
2
|
+
#define Guard_femscheme_0bb54cd4f1cd1df2477f5f59393c6a2e
|
3
|
+
|
4
|
+
#include <config.h>
|
5
|
+
|
6
|
+
#define USING_DUNE_PYTHON 1
|
7
|
+
|
8
|
+
#include <dune/alugrid/dgf.hh>
|
9
|
+
#include <dune/alugrid/grid.hh>
|
10
|
+
#include <dune/fem/function/adaptivefunction.hh>
|
11
|
+
#include <dune/fem/gridpart/adaptiveleafgridpart.hh>
|
12
|
+
#include <dune/fem/gridpart/filter/simple.hh>
|
13
|
+
#include <dune/fem/gridpart/filteredgridpart.hh>
|
14
|
+
#include <dune/fem/operator/linear/spoperator.hh>
|
15
|
+
#include <dune/fem/schemes/dirichletwrapper.hh>
|
16
|
+
#include <dune/fem/schemes/molgalerkin.hh>
|
17
|
+
#include <dune/fem/solver/ldlsolver.hh>
|
18
|
+
#include <dune/fem/solver/spqrsolver.hh>
|
19
|
+
#include <dune/fem/solver/umfpacksolver.hh>
|
20
|
+
#include <dune/fem/space/lagrange.hh>
|
21
|
+
#include <dune/fempy/parameter.hh>
|
22
|
+
#include <dune/fempy/py/discretefunction.hh>
|
23
|
+
#include <dune/fempy/py/gridview.hh>
|
24
|
+
#include <dune/fempy/py/scheme.hh>
|
25
|
+
#include <dune/fempy/py/space.hh>
|
26
|
+
#include <dune/python/grid/gridview.hh>
|
27
|
+
#include <dune/python/grid/hierarchical.hh>
|
28
|
+
|
29
|
+
#include <dune/python/common/typeregistry.hh>
|
30
|
+
#include <dune/python/pybind11/pybind11.h>
|
31
|
+
#include <dune/python/pybind11/stl.h>
|
32
|
+
|
33
|
+
PYBIND11_MODULE( femscheme_0bb54cd4f1cd1df2477f5f59393c6a2e, module )
|
34
|
+
{
|
35
|
+
using pybind11::operator""_a;
|
36
|
+
pybind11::module cls0 = module;
|
37
|
+
{
|
38
|
+
using DuneType = Dune::Fem::GalerkinScheme< Dune::Fem::VirtualizedIntegrands< typename Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 3 >, 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::Fem::CodegenStorage>::GridPartType, std::tuple< Dune::FieldVector< double, 3 >, Dune::FieldMatrix< double, 3, 2 > >, std::tuple< Dune::FieldVector< double, 3 >, Dune::FieldMatrix< double, 3, 2 > > >, Dune::Fem::SparseRowLinearOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 3 >, 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::Fem::CodegenStorage> >,Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 3 >, 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::Fem::CodegenStorage> >,Dune::Fem::SparseRowMatrix<double,int>>, Dune::Fem::UMFPACKInverseOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 3 >, 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::Fem::CodegenStorage> >, typename Dune::Fem::SparseRowLinearOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 3 >, 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::Fem::CodegenStorage> >,Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 3 >, 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::Fem::CodegenStorage> >,Dune::Fem::SparseRowMatrix<double,int>>::MatrixType >, false >;
|
39
|
+
auto cls = Dune::Python::insertClass< DuneType >( cls0, "Scheme",pybind11::dynamic_attr(), Dune::Python::GenerateTypeName("Dune::Fem::GalerkinScheme< Dune::Fem::VirtualizedIntegrands< typename Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 3 >, 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::Fem::CodegenStorage>::GridPartType, std::tuple< Dune::FieldVector< double, 3 >, Dune::FieldMatrix< double, 3, 2 > >, std::tuple< Dune::FieldVector< double, 3 >, Dune::FieldMatrix< double, 3, 2 > > >, Dune::Fem::SparseRowLinearOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 3 >, 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::Fem::CodegenStorage> >,Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 3 >, 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::Fem::CodegenStorage> >,Dune::Fem::SparseRowMatrix<double,int>>, Dune::Fem::UMFPACKInverseOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 3 >, 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::Fem::CodegenStorage> >, typename Dune::Fem::SparseRowLinearOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 3 >, 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::Fem::CodegenStorage> >,Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 3 >, 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::Fem::CodegenStorage> >,Dune::Fem::SparseRowMatrix<double,int>>::MatrixType >, false >"), Dune::Python::IncludeFiles{"dune/alugrid/dgf.hh","dune/alugrid/grid.hh","dune/fem/function/adaptivefunction.hh","dune/fem/gridpart/adaptiveleafgridpart.hh","dune/fem/gridpart/filter/simple.hh","dune/fem/gridpart/filteredgridpart.hh","dune/fem/operator/linear/spoperator.hh","dune/fem/schemes/dirichletwrapper.hh","dune/fem/schemes/molgalerkin.hh","dune/fem/solver/ldlsolver.hh","dune/fem/solver/spqrsolver.hh","dune/fem/solver/umfpacksolver.hh","dune/fem/space/lagrange.hh","dune/fempy/parameter.hh","dune/fempy/py/discretefunction.hh","dune/fempy/py/gridview.hh","dune/fempy/py/scheme.hh","dune/fempy/py/space.hh","dune/python/grid/gridview.hh","dune/python/grid/hierarchical.hh"}).first;
|
40
|
+
Dune::FemPy::registerScheme( cls0, cls );
|
41
|
+
}
|
42
|
+
}
|
43
|
+
#endif
|
@@ -0,0 +1,43 @@
|
|
1
|
+
#ifndef Guard_femscheme_5c9e2700386c07226eb4db155fa5ef14
|
2
|
+
#define Guard_femscheme_5c9e2700386c07226eb4db155fa5ef14
|
3
|
+
|
4
|
+
#include <config.h>
|
5
|
+
|
6
|
+
#define USING_DUNE_PYTHON 1
|
7
|
+
|
8
|
+
#include <dune/alugrid/dgf.hh>
|
9
|
+
#include <dune/alugrid/grid.hh>
|
10
|
+
#include <dune/fem/function/adaptivefunction.hh>
|
11
|
+
#include <dune/fem/gridpart/adaptiveleafgridpart.hh>
|
12
|
+
#include <dune/fem/gridpart/filter/simple.hh>
|
13
|
+
#include <dune/fem/gridpart/filteredgridpart.hh>
|
14
|
+
#include <dune/fem/operator/linear/spoperator.hh>
|
15
|
+
#include <dune/fem/schemes/dirichletwrapper.hh>
|
16
|
+
#include <dune/fem/schemes/molgalerkin.hh>
|
17
|
+
#include <dune/fem/solver/ldlsolver.hh>
|
18
|
+
#include <dune/fem/solver/spqrsolver.hh>
|
19
|
+
#include <dune/fem/solver/umfpacksolver.hh>
|
20
|
+
#include <dune/fem/space/lagrange.hh>
|
21
|
+
#include <dune/fempy/parameter.hh>
|
22
|
+
#include <dune/fempy/py/discretefunction.hh>
|
23
|
+
#include <dune/fempy/py/gridview.hh>
|
24
|
+
#include <dune/fempy/py/scheme.hh>
|
25
|
+
#include <dune/fempy/py/space.hh>
|
26
|
+
#include <dune/python/grid/gridview.hh>
|
27
|
+
#include <dune/python/grid/hierarchical.hh>
|
28
|
+
|
29
|
+
#include <dune/python/common/typeregistry.hh>
|
30
|
+
#include <dune/python/pybind11/pybind11.h>
|
31
|
+
#include <dune/python/pybind11/stl.h>
|
32
|
+
|
33
|
+
PYBIND11_MODULE( femscheme_5c9e2700386c07226eb4db155fa5ef14, module )
|
34
|
+
{
|
35
|
+
using pybind11::operator""_a;
|
36
|
+
pybind11::module cls0 = module;
|
37
|
+
{
|
38
|
+
using DuneType = Dune::Fem::GalerkinScheme< Dune::Fem::VirtualizedIntegrands< typename Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage>::GridPartType, std::tuple< Dune::FieldVector< double, 2 >, Dune::FieldMatrix< double, 2, 2 > >, std::tuple< Dune::FieldVector< double, 2 >, Dune::FieldMatrix< double, 2, 2 > > >, Dune::Fem::SparseRowLinearOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >,Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >,Dune::Fem::SparseRowMatrix<double,int>>, Dune::Fem::UMFPACKInverseOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >, typename Dune::Fem::SparseRowLinearOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >,Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >,Dune::Fem::SparseRowMatrix<double,int>>::MatrixType >, false >;
|
39
|
+
auto cls = Dune::Python::insertClass< DuneType >( cls0, "Scheme",pybind11::dynamic_attr(), Dune::Python::GenerateTypeName("Dune::Fem::GalerkinScheme< Dune::Fem::VirtualizedIntegrands< typename Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage>::GridPartType, std::tuple< Dune::FieldVector< double, 2 >, Dune::FieldMatrix< double, 2, 2 > >, std::tuple< Dune::FieldVector< double, 2 >, Dune::FieldMatrix< double, 2, 2 > > >, Dune::Fem::SparseRowLinearOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >,Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >,Dune::Fem::SparseRowMatrix<double,int>>, Dune::Fem::UMFPACKInverseOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >, typename Dune::Fem::SparseRowLinearOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >,Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >,Dune::Fem::SparseRowMatrix<double,int>>::MatrixType >, false >"), Dune::Python::IncludeFiles{"dune/alugrid/dgf.hh","dune/alugrid/grid.hh","dune/fem/function/adaptivefunction.hh","dune/fem/gridpart/adaptiveleafgridpart.hh","dune/fem/gridpart/filter/simple.hh","dune/fem/gridpart/filteredgridpart.hh","dune/fem/operator/linear/spoperator.hh","dune/fem/schemes/dirichletwrapper.hh","dune/fem/schemes/molgalerkin.hh","dune/fem/solver/ldlsolver.hh","dune/fem/solver/spqrsolver.hh","dune/fem/solver/umfpacksolver.hh","dune/fem/space/lagrange.hh","dune/fempy/parameter.hh","dune/fempy/py/discretefunction.hh","dune/fempy/py/gridview.hh","dune/fempy/py/scheme.hh","dune/fempy/py/space.hh","dune/python/grid/gridview.hh","dune/python/grid/hierarchical.hh"}).first;
|
40
|
+
Dune::FemPy::registerScheme( cls0, cls );
|
41
|
+
}
|
42
|
+
}
|
43
|
+
#endif
|
@@ -0,0 +1,43 @@
|
|
1
|
+
#ifndef Guard_femscheme_765ef00d995a939c34bdc0d0cc4847ca
|
2
|
+
#define Guard_femscheme_765ef00d995a939c34bdc0d0cc4847ca
|
3
|
+
|
4
|
+
#include <config.h>
|
5
|
+
|
6
|
+
#define USING_DUNE_PYTHON 1
|
7
|
+
|
8
|
+
#include <dune/alugrid/dgf.hh>
|
9
|
+
#include <dune/alugrid/grid.hh>
|
10
|
+
#include <dune/fem/function/adaptivefunction.hh>
|
11
|
+
#include <dune/fem/gridpart/adaptiveleafgridpart.hh>
|
12
|
+
#include <dune/fem/gridpart/filter/simple.hh>
|
13
|
+
#include <dune/fem/gridpart/filteredgridpart.hh>
|
14
|
+
#include <dune/fem/operator/linear/spoperator.hh>
|
15
|
+
#include <dune/fem/schemes/dirichletwrapper.hh>
|
16
|
+
#include <dune/fem/schemes/molgalerkin.hh>
|
17
|
+
#include <dune/fem/solver/ldlsolver.hh>
|
18
|
+
#include <dune/fem/solver/spqrsolver.hh>
|
19
|
+
#include <dune/fem/solver/umfpacksolver.hh>
|
20
|
+
#include <dune/fem/space/lagrange.hh>
|
21
|
+
#include <dune/fempy/parameter.hh>
|
22
|
+
#include <dune/fempy/py/discretefunction.hh>
|
23
|
+
#include <dune/fempy/py/gridview.hh>
|
24
|
+
#include <dune/fempy/py/scheme.hh>
|
25
|
+
#include <dune/fempy/py/space.hh>
|
26
|
+
#include <dune/python/grid/gridview.hh>
|
27
|
+
#include <dune/python/grid/hierarchical.hh>
|
28
|
+
|
29
|
+
#include <dune/python/common/typeregistry.hh>
|
30
|
+
#include <dune/python/pybind11/pybind11.h>
|
31
|
+
#include <dune/python/pybind11/stl.h>
|
32
|
+
|
33
|
+
PYBIND11_MODULE( femscheme_765ef00d995a939c34bdc0d0cc4847ca, module )
|
34
|
+
{
|
35
|
+
using pybind11::operator""_a;
|
36
|
+
pybind11::module cls0 = module;
|
37
|
+
{
|
38
|
+
using DuneType = Dune::Fem::GalerkinScheme< Dune::Fem::VirtualizedIntegrands< typename Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage>::GridPartType, std::tuple< Dune::FieldVector< double, 2 >, Dune::FieldMatrix< double, 2, 2 > >, std::tuple< Dune::FieldVector< double, 2 >, Dune::FieldMatrix< double, 2, 2 > > >, Dune::Fem::SparseRowLinearOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >,Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >,Dune::Fem::SparseRowMatrix<double,int>>, Dune::Fem::UMFPACKInverseOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >, typename Dune::Fem::SparseRowLinearOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >,Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >,Dune::Fem::SparseRowMatrix<double,int>>::MatrixType >, true >;
|
39
|
+
auto cls = Dune::Python::insertClass< DuneType >( cls0, "Scheme",pybind11::dynamic_attr(), Dune::Python::GenerateTypeName("Dune::Fem::GalerkinScheme< Dune::Fem::VirtualizedIntegrands< typename Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage>::GridPartType, std::tuple< Dune::FieldVector< double, 2 >, Dune::FieldMatrix< double, 2, 2 > >, std::tuple< Dune::FieldVector< double, 2 >, Dune::FieldMatrix< double, 2, 2 > > >, Dune::Fem::SparseRowLinearOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >,Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >,Dune::Fem::SparseRowMatrix<double,int>>, Dune::Fem::UMFPACKInverseOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >, typename Dune::Fem::SparseRowLinearOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >,Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >,Dune::Fem::SparseRowMatrix<double,int>>::MatrixType >, true >"), Dune::Python::IncludeFiles{"dune/alugrid/dgf.hh","dune/alugrid/grid.hh","dune/fem/function/adaptivefunction.hh","dune/fem/gridpart/adaptiveleafgridpart.hh","dune/fem/gridpart/filter/simple.hh","dune/fem/gridpart/filteredgridpart.hh","dune/fem/operator/linear/spoperator.hh","dune/fem/schemes/dirichletwrapper.hh","dune/fem/schemes/molgalerkin.hh","dune/fem/solver/ldlsolver.hh","dune/fem/solver/spqrsolver.hh","dune/fem/solver/umfpacksolver.hh","dune/fem/space/lagrange.hh","dune/fempy/parameter.hh","dune/fempy/py/discretefunction.hh","dune/fempy/py/gridview.hh","dune/fempy/py/scheme.hh","dune/fempy/py/space.hh","dune/python/grid/gridview.hh","dune/python/grid/hierarchical.hh"}).first;
|
40
|
+
Dune::FemPy::registerScheme( cls0, cls );
|
41
|
+
}
|
42
|
+
}
|
43
|
+
#endif
|
@@ -0,0 +1,45 @@
|
|
1
|
+
#ifndef Guard_femspace_11b3436cb033df683615c50d5d4239bd_f14dd0b3b474c0cd816334330f55ad72
|
2
|
+
#define Guard_femspace_11b3436cb033df683615c50d5d4239bd_f14dd0b3b474c0cd816334330f55ad72
|
3
|
+
|
4
|
+
#include <config.h>
|
5
|
+
|
6
|
+
#define USING_DUNE_PYTHON 1
|
7
|
+
|
8
|
+
#define BACKENDNAME "as_numpy"
|
9
|
+
#include <dune/alugrid/dgf.hh>
|
10
|
+
#include <dune/alugrid/grid.hh>
|
11
|
+
#include <dune/fem/function/adaptivefunction.hh>
|
12
|
+
#include <dune/fem/gridpart/adaptiveleafgridpart.hh>
|
13
|
+
#include <dune/fem/gridpart/filter/simple.hh>
|
14
|
+
#include <dune/fem/gridpart/filteredgridpart.hh>
|
15
|
+
#include <dune/fem/space/lagrange.hh>
|
16
|
+
#include <dune/fempy/py/discretefunction.hh>
|
17
|
+
#include <dune/fempy/py/gridview.hh>
|
18
|
+
#include <dune/fempy/py/space.hh>
|
19
|
+
#include <dune/python/grid/gridview.hh>
|
20
|
+
#include <dune/python/grid/hierarchical.hh>
|
21
|
+
|
22
|
+
#include <dune/python/common/typeregistry.hh>
|
23
|
+
#include <dune/python/pybind11/pybind11.h>
|
24
|
+
#include <dune/python/pybind11/stl.h>
|
25
|
+
|
26
|
+
PYBIND11_MODULE( femspace_11b3436cb033df683615c50d5d4239bd_f14dd0b3b474c0cd816334330f55ad72, module )
|
27
|
+
{
|
28
|
+
using pybind11::operator""_a;
|
29
|
+
pybind11::module cls0 = module;
|
30
|
+
{
|
31
|
+
using DuneType = Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage>;
|
32
|
+
auto cls = Dune::Python::insertClass< DuneType, std::shared_ptr<DuneType> >( cls0, "Space",pybind11::dynamic_attr(), Dune::Python::GenerateTypeName("Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage>"), Dune::Python::IncludeFiles{"dune/alugrid/dgf.hh","dune/alugrid/grid.hh","dune/fem/function/adaptivefunction.hh","dune/fem/gridpart/adaptiveleafgridpart.hh","dune/fem/gridpart/filter/simple.hh","dune/fem/gridpart/filteredgridpart.hh","dune/fem/space/lagrange.hh","dune/fempy/py/discretefunction.hh","dune/fempy/py/gridview.hh","dune/fempy/py/space.hh","dune/python/grid/gridview.hh","dune/python/grid/hierarchical.hh"}).first;
|
33
|
+
Dune::FemPy::registerSpace( cls0, cls );
|
34
|
+
}
|
35
|
+
using pybind11::operator""_a;
|
36
|
+
{
|
37
|
+
using DuneType = Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >;
|
38
|
+
auto cls = Dune::Python::insertClass< DuneType >( cls0, "DiscreteFunction",pybind11::buffer_protocol(),pybind11::dynamic_attr(), Dune::Python::GenerateTypeName("Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage> >"), Dune::Python::IncludeFiles{"dune/alugrid/dgf.hh","dune/alugrid/grid.hh","dune/fem/function/adaptivefunction.hh","dune/fem/gridpart/adaptiveleafgridpart.hh","dune/fem/gridpart/filter/simple.hh","dune/fem/gridpart/filteredgridpart.hh","dune/fem/space/lagrange.hh","dune/fempy/py/discretefunction.hh","dune/fempy/py/gridview.hh","dune/fempy/py/space.hh","dune/python/grid/gridview.hh","dune/python/grid/hierarchical.hh"}).first;
|
39
|
+
Dune::FemPy::registerDiscreteFunction( cls0, cls );
|
40
|
+
cls.def( pybind11::init( [] ( const std::string &name, const Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 2 >, 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::Fem::CodegenStorage>&space, pybind11::array_t<double> dofVector ) {double *dof = static_cast< double* >( dofVector.request(false).ptr );
|
41
|
+
return new DuneType(name,space,dof);
|
42
|
+
} ), "name"_a, "space"_a, "dofVector"_a, pybind11::keep_alive< 1, 3 >(), pybind11::keep_alive< 1, 4 >() );
|
43
|
+
}
|
44
|
+
}
|
45
|
+
#endif
|
@@ -0,0 +1,45 @@
|
|
1
|
+
#ifndef Guard_femspace_f4f043307753c8e74af23c94c28a3b0d_438586e783f51d84a82e82b0d8daceea
|
2
|
+
#define Guard_femspace_f4f043307753c8e74af23c94c28a3b0d_438586e783f51d84a82e82b0d8daceea
|
3
|
+
|
4
|
+
#include <config.h>
|
5
|
+
|
6
|
+
#define USING_DUNE_PYTHON 1
|
7
|
+
|
8
|
+
#define BACKENDNAME "as_numpy"
|
9
|
+
#include <dune/alugrid/dgf.hh>
|
10
|
+
#include <dune/alugrid/grid.hh>
|
11
|
+
#include <dune/fem/function/adaptivefunction.hh>
|
12
|
+
#include <dune/fem/gridpart/adaptiveleafgridpart.hh>
|
13
|
+
#include <dune/fem/gridpart/filter/simple.hh>
|
14
|
+
#include <dune/fem/gridpart/filteredgridpart.hh>
|
15
|
+
#include <dune/fem/space/lagrange.hh>
|
16
|
+
#include <dune/fempy/py/discretefunction.hh>
|
17
|
+
#include <dune/fempy/py/gridview.hh>
|
18
|
+
#include <dune/fempy/py/space.hh>
|
19
|
+
#include <dune/python/grid/gridview.hh>
|
20
|
+
#include <dune/python/grid/hierarchical.hh>
|
21
|
+
|
22
|
+
#include <dune/python/common/typeregistry.hh>
|
23
|
+
#include <dune/python/pybind11/pybind11.h>
|
24
|
+
#include <dune/python/pybind11/stl.h>
|
25
|
+
|
26
|
+
PYBIND11_MODULE( femspace_f4f043307753c8e74af23c94c28a3b0d_438586e783f51d84a82e82b0d8daceea, module )
|
27
|
+
{
|
28
|
+
using pybind11::operator""_a;
|
29
|
+
pybind11::module cls0 = module;
|
30
|
+
{
|
31
|
+
using DuneType = Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 3 >, 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::Fem::CodegenStorage>;
|
32
|
+
auto cls = Dune::Python::insertClass< DuneType, std::shared_ptr<DuneType> >( cls0, "Space",pybind11::dynamic_attr(), Dune::Python::GenerateTypeName("Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 3 >, 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::Fem::CodegenStorage>"), Dune::Python::IncludeFiles{"dune/alugrid/dgf.hh","dune/alugrid/grid.hh","dune/fem/function/adaptivefunction.hh","dune/fem/gridpart/adaptiveleafgridpart.hh","dune/fem/gridpart/filter/simple.hh","dune/fem/gridpart/filteredgridpart.hh","dune/fem/space/lagrange.hh","dune/fempy/py/discretefunction.hh","dune/fempy/py/gridview.hh","dune/fempy/py/space.hh","dune/python/grid/gridview.hh","dune/python/grid/hierarchical.hh"}).first;
|
33
|
+
Dune::FemPy::registerSpace( cls0, cls );
|
34
|
+
}
|
35
|
+
using pybind11::operator""_a;
|
36
|
+
{
|
37
|
+
using DuneType = Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 3 >, 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::Fem::CodegenStorage> >;
|
38
|
+
auto cls = Dune::Python::insertClass< DuneType >( cls0, "DiscreteFunction",pybind11::buffer_protocol(),pybind11::dynamic_attr(), Dune::Python::GenerateTypeName("Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 3 >, 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::Fem::CodegenStorage> >"), Dune::Python::IncludeFiles{"dune/alugrid/dgf.hh","dune/alugrid/grid.hh","dune/fem/function/adaptivefunction.hh","dune/fem/gridpart/adaptiveleafgridpart.hh","dune/fem/gridpart/filter/simple.hh","dune/fem/gridpart/filteredgridpart.hh","dune/fem/space/lagrange.hh","dune/fempy/py/discretefunction.hh","dune/fempy/py/gridview.hh","dune/fempy/py/space.hh","dune/python/grid/gridview.hh","dune/python/grid/hierarchical.hh"}).first;
|
39
|
+
Dune::FemPy::registerDiscreteFunction( cls0, cls );
|
40
|
+
cls.def( pybind11::init( [] ( const std::string &name, const Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 3 >, 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::Fem::CodegenStorage>&space, pybind11::array_t<double> dofVector ) {double *dof = static_cast< double* >( dofVector.request(false).ptr );
|
41
|
+
return new DuneType(name,space,dof);
|
42
|
+
} ), "name"_a, "space"_a, "dofVector"_a, pybind11::keep_alive< 1, 3 >(), pybind11::keep_alive< 1, 4 >() );
|
43
|
+
}
|
44
|
+
}
|
45
|
+
#endif
|