ddfem 1.0.6__py3-none-any.whl → 1.0.8__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/__main__.py +43 -7
- ddfem/data/2.11.dev20250709/boundary.modules +9 -0
- ddfem/data/2.11.dev20250709/femscheme_ddd4458a70dff1f9762ec5a96ca4ba9c.cc +43 -0
- ddfem/data/2.11.dev20250709/femspace_90f0a9524a8cb701e8ee5027b7658a0e_0faf32f13b591f4f60f83c591507b9be.cc +40 -0
- ddfem/data/2.11.dev20250709/geometry.modules +84 -0
- ddfem/data/2.11.dev20250709/hierarchicalgrid_966e2a5c8356c5b278ccd3acad180f0a.cc +30 -0
- ddfem/data/{integrands_cf38a832d97016edac4179e31ea45a48v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/integrands_2e5e6f48655bd358419554a0857f697bv1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +21 -21
- ddfem/data/{integrands_472696f050a50e3f5017ab5ecdab564bv1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/integrands_563572f4cb20b041e8198ba7d5f88584v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +21 -21
- ddfem/data/{integrands_1da925f6548e47811d4ee37ac8afd85ev1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/integrands_5e1afa60a15644998389a84306246ea5v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +19 -19
- ddfem/data/2.11.dev20250709/integrands_ed7208bd651abb351e34c9990e0313bcv1_3_a524c1196983e65de1c06d7d6afdeb44.cc +427 -0
- ddfem/data/{integrands_5d65834d43b1dbae0ceafbcc9ec60542v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/integrands_f3ca00a2ef95c9a48de9ec1b807b1b30v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +25 -25
- ddfem/data/2.11.dev20250709/intro.modules +109 -0
- ddfem/data/{localfunction_33933b99fbea8227fedf6cfb180ea878_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_82d7cb9338bf118426fac2abf41a91a4_a524c1196983e65de1c06d7d6afdeb44.cc} +22 -22
- ddfem/data/2.11.dev20250709/localfunction_c5ebc4ae4b5d3bad6be770eb08c50d08_19659fe2f2f74bcfb5d532f1a0d38be9.cc +1131 -0
- ddfem/data/2.11.dev20250709/localfunction_e4557ecff74fe5b37313674e67db2782_a524c1196983e65de1c06d7d6afdeb44.cc +135 -0
- ddfem/data/{localfunction_e85b93fe9b8fcd40ee82782fc600b65b_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_e69118a51208cfab8a028711e966e76c_19659fe2f2f74bcfb5d532f1a0d38be9.cc} +78 -89
- ddfem/data/2.11.dev20250709/localfunction_f4583c5cc10d24a8bdedf7510ce9da7b_a524c1196983e65de1c06d7d6afdeb44.cc +299 -0
- ddfem/data/2.11.dev20250709/localfunction_fc22d5adaf3b9563160dc2aec55e8ba1_19659fe2f2f74bcfb5d532f1a0d38be9.cc +113 -0
- ddfem/data/2.11.dev20250709/transformers.modules +13 -0
- ddfem/data/2.11.dev20250709/yaspcoordinates_dim2_ctdouble.cc +55 -0
- ddfem/data/generate.py +19 -4
- ddfem/geometry/__init__.py +2 -0
- ddfem/plot.py +6 -3
- {ddfem-1.0.6.dist-info → ddfem-1.0.8.dist-info}/METADATA +14 -5
- ddfem-1.0.8.dist-info/RECORD +96 -0
- ddfem/data/integrands_00ee9b3b89e4e44212e5b7ad7948a24ev1_3_a524c1196983e65de1c06d7d6afdeb44.cc +0 -587
- ddfem/data/integrands_3a7c822d5ac1692781ee4bcf2964fce7v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +0 -409
- ddfem/data/integrands_9fbeb56ff6a7df9b8535d767ca7725d6v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +0 -588
- ddfem/data/localfunction_0cb4ca9e24e2891510640b0737aaab21_a524c1196983e65de1c06d7d6afdeb44.cc +0 -170
- ddfem/data/localfunction_0f7b2106478c5d2af781b1f377a180d2_a524c1196983e65de1c06d7d6afdeb44.cc +0 -393
- ddfem/data/localfunction_2021505441469e99dd3c9b164e083239_a524c1196983e65de1c06d7d6afdeb44.cc +0 -620
- ddfem/data/localfunction_22e797a8f3e8c322f33c41e07bd15165_a524c1196983e65de1c06d7d6afdeb44.cc +0 -1445
- ddfem/data/localfunction_2a97db5a6a479d02138a836cb0890cf2_a524c1196983e65de1c06d7d6afdeb44.cc +0 -173
- ddfem/data/localfunction_32613626342183eafa360dc1f0f18924_a524c1196983e65de1c06d7d6afdeb44.cc +0 -1425
- ddfem/data/localfunction_4484607e3f9bd9999dbd7bb9d595a7b2_a524c1196983e65de1c06d7d6afdeb44.cc +0 -173
- ddfem/data/localfunction_6363af791dde11d699a9a3d876cc5d9a_a524c1196983e65de1c06d7d6afdeb44.cc +0 -549
- ddfem/data/localfunction_65bda5736a84d4aa0ef2d48ebcc90ed5_a524c1196983e65de1c06d7d6afdeb44.cc +0 -173
- ddfem/data/localfunction_762aa49bc5a47ad3d8d8bbde36b42ee5_a524c1196983e65de1c06d7d6afdeb44.cc +0 -723
- ddfem/data/localfunction_7d81d496538f240d504e5597484ee746_a524c1196983e65de1c06d7d6afdeb44.cc +0 -462
- ddfem/data/localfunction_a46a988b5d8571e80fd401a36d7341b7_a524c1196983e65de1c06d7d6afdeb44.cc +0 -170
- ddfem/data/localfunction_a9bb07439605d560b583608f20441342_a524c1196983e65de1c06d7d6afdeb44.cc +0 -173
- ddfem/data/localfunction_b20910b6c8d57cb5e6a7ff4b89b91618_a524c1196983e65de1c06d7d6afdeb44.cc +0 -437
- ddfem/data/localfunction_d0f33c2dc1ae0e619d85a7621c8e83a6_a524c1196983e65de1c06d7d6afdeb44.cc +0 -325
- ddfem/data/localfunction_dd1fb4bd60f2d8b3a062dbbdaedb9fee_a524c1196983e65de1c06d7d6afdeb44.cc +0 -869
- ddfem/data/localfunction_e6b6d8d3826590442cc40f3834124254_a524c1196983e65de1c06d7d6afdeb44.cc +0 -553
- ddfem-1.0.6.dist-info/RECORD +0 -103
- /ddfem/data/{adapt_010e1455a389aa01992af42c0a3f4b14.cc → 2.11.dev20250709/adapt_010e1455a389aa01992af42c0a3f4b14.cc} +0 -0
- /ddfem/data/{femscheme_f2a3cb32a864b08c0236366e732fb908.cc → 2.11.dev20250709/femscheme_f2a3cb32a864b08c0236366e732fb908.cc} +0 -0
- /ddfem/data/{femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563.cc → 2.11.dev20250709/femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563.cc} +0 -0
- /ddfem/data/{hierarchicalgrid_d827e80243feae36e8b9006bb24207e7.cc → 2.11.dev20250709/hierarchicalgrid_d827e80243feae36e8b9006bb24207e7.cc} +0 -0
- /ddfem/data/{indexset_e9c0cdc96a4fc702a0969c29910954e6.cc → 2.11.dev20250709/indexset_e9c0cdc96a4fc702a0969c29910954e6.cc} +0 -0
- /ddfem/data/{integrands_008eefa148b772fa3192dd3c1728c140v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/integrands_008eefa148b772fa3192dd3c1728c140v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{integrands_2339be3c67df1d67b18125c34ced69c2v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/integrands_2339be3c67df1d67b18125c34ced69c2v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{integrands_3bde0abfafcf45a3cff4d1029568ab5cv1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/integrands_3bde0abfafcf45a3cff4d1029568ab5cv1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_00f2e5593eeb23f01906255d67244f6e_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_00f2e5593eeb23f01906255d67244f6e_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_10ad0a2d88c74db5f4bf5f81e138974f_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_10ad0a2d88c74db5f4bf5f81e138974f_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_191355e6250b2d2e260d96f519ad9976_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_191355e6250b2d2e260d96f519ad9976_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_1d13146d4bff10e178aba773fe2a9f1d_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_1d13146d4bff10e178aba773fe2a9f1d_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_1d27a90a52b9053192c9cc902283f79b_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_1d27a90a52b9053192c9cc902283f79b_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_228c55d163ca194a905826bcc20fcbc0_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_228c55d163ca194a905826bcc20fcbc0_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_3e323e81c52891c0ecb656eac273e52f_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_3e323e81c52891c0ecb656eac273e52f_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_42ff56710f3bd510798ecabb32a6cbf0_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_42ff56710f3bd510798ecabb32a6cbf0_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_42ff56710f3bd510798ecabb32a6cbf0_af122c1df944c95cd395ec0f91d0f970.cc → 2.11.dev20250709/localfunction_42ff56710f3bd510798ecabb32a6cbf0_af122c1df944c95cd395ec0f91d0f970.cc} +0 -0
- /ddfem/data/{localfunction_83d9e6dd70d1c31c973224e210cc36b4_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_83d9e6dd70d1c31c973224e210cc36b4_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_86a0670f34bf2ac8155423a1c1bc2e75_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_86a0670f34bf2ac8155423a1c1bc2e75_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_a854465b265a1a51dacb4f71f7eeb06b_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_a854465b265a1a51dacb4f71f7eeb06b_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_a8c726f728cd35d137188b33301aeef1_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_a8c726f728cd35d137188b33301aeef1_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_ae8173bdb67b8ea50ce75c3912841100_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_ae8173bdb67b8ea50ce75c3912841100_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_aeb3d963412cdc65630e0a4c3c0dde0f_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_aeb3d963412cdc65630e0a4c3c0dde0f_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_b8239bf849ec7c1903f627833e6dac5a_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_b8239bf849ec7c1903f627833e6dac5a_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_bcafb581216501f273e23c0e26cd57af_af122c1df944c95cd395ec0f91d0f970.cc → 2.11.dev20250709/localfunction_bcafb581216501f273e23c0e26cd57af_af122c1df944c95cd395ec0f91d0f970.cc} +0 -0
- /ddfem/data/{localfunction_bdfb7ddf42a423f7d0791458634d4b8f_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_bdfb7ddf42a423f7d0791458634d4b8f_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_d75993d7ae5919d23117b153e900840d_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_d75993d7ae5919d23117b153e900840d_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_f4b1d42cbb447375f39ed834570cd3f0_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_f4b1d42cbb447375f39ed834570cd3f0_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{referenceelements_0fff57b283123cc055345ec95574c857.cc → 2.11.dev20250709/referenceelements_0fff57b283123cc055345ec95574c857.cc} +0 -0
- /ddfem/data/{referenceelements_de274310a0055100b832a0e8892b0258.cc → 2.11.dev20250709/referenceelements_de274310a0055100b832a0e8892b0258.cc} +0 -0
- /ddfem/data/{referenceelements_f4457f35395151d83a965d4cf5fce70d.cc → 2.11.dev20250709/referenceelements_f4457f35395151d83a965d4cf5fce70d.cc} +0 -0
- /ddfem/data/{view_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250709/view_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{view_af122c1df944c95cd395ec0f91d0f970.cc → 2.11.dev20250709/view_af122c1df944c95cd395ec0f91d0f970.cc} +0 -0
- {ddfem-1.0.6.dist-info → ddfem-1.0.8.dist-info}/WHEEL +0 -0
- {ddfem-1.0.6.dist-info → ddfem-1.0.8.dist-info}/licenses/LICENSE +0 -0
- {ddfem-1.0.6.dist-info → ddfem-1.0.8.dist-info}/top_level.txt +0 -0
ddfem/__main__.py
CHANGED
@@ -5,20 +5,56 @@ except ImportError:
|
|
5
5
|
dune = None
|
6
6
|
import ddfem
|
7
7
|
|
8
|
+
from importlib.metadata import version
|
9
|
+
|
10
|
+
def getVersion():
|
11
|
+
femVersion = version("dune.fem")
|
12
|
+
while True:
|
13
|
+
dataPath = os.path.join(ddfem.__path__[0],"data",femVersion)
|
14
|
+
if os.path.exists(dataPath):
|
15
|
+
return femVersion
|
16
|
+
ver = femVersion.split(".")
|
17
|
+
if "dev" in ver[-1]:
|
18
|
+
ver[-1] = 100 # try to find the largest matching release version
|
19
|
+
lower = int(ver[-1])-1
|
20
|
+
if lower < 0:
|
21
|
+
raise RuntimeError(f"no suitable data for {version("dune.fem")} found")
|
22
|
+
ver[-1] = str(lower)
|
23
|
+
femVersion = ".".join(ver)
|
24
|
+
|
8
25
|
def main():
|
9
26
|
if dune:
|
10
27
|
from dune.fem.utility import FemThreadPoolExecutor
|
11
28
|
from dune.generator import builder
|
29
|
+
|
30
|
+
module = "intro"
|
31
|
+
workers = 8
|
32
|
+
if len(sys.argv)>1:
|
33
|
+
workers = int(sys.argv[1])
|
34
|
+
if len(sys.argv)>2:
|
35
|
+
module = sys.argv[2]
|
36
|
+
|
12
37
|
builder.initialize()
|
13
38
|
|
14
|
-
|
15
|
-
|
16
|
-
|
39
|
+
femVersion = getVersion()
|
40
|
+
dataPath = os.path.join(ddfem.__path__[0],"data",femVersion)
|
41
|
+
print(f"obtaining data from {dataPath}")
|
42
|
+
onlyCompile = []
|
43
|
+
if not module == "all":
|
44
|
+
filename = os.path.join(dataPath,module+".modules")
|
45
|
+
with open(filename,"r") as f:
|
46
|
+
onlyCompile = f.readlines()
|
47
|
+
onlyCompile = set([c.strip()+".cc" for c in onlyCompile])
|
48
|
+
else:
|
49
|
+
onlyCompile = os.listdir(dataPath)
|
50
|
+
with FemThreadPoolExecutor(max_workers=workers) as executor:
|
51
|
+
for file in onlyCompile:
|
17
52
|
filename = os.path.join(dataPath,os.fsdecode(file))
|
18
|
-
if filename.endswith(".cc")
|
19
|
-
|
20
|
-
|
53
|
+
if ( not filename.endswith(".cc") or
|
54
|
+
not os.path.exists(filename) ):
|
55
|
+
continue
|
56
|
+
with open(filename,"r") as f:
|
57
|
+
executor.submit( builder.load, file.replace(".cc",""), f.read(), None )
|
21
58
|
|
22
59
|
if __name__ == "__main__":
|
23
60
|
main()
|
24
|
-
|
@@ -0,0 +1,9 @@
|
|
1
|
+
yaspcoordinates_dim2_ctdouble
|
2
|
+
hierarchicalgrid_966e2a5c8356c5b278ccd3acad180f0a
|
3
|
+
referenceelements_de274310a0055100b832a0e8892b0258
|
4
|
+
referenceelements_0fff57b283123cc055345ec95574c857
|
5
|
+
referenceelements_f4457f35395151d83a965d4cf5fce70d
|
6
|
+
femspace_90f0a9524a8cb701e8ee5027b7658a0e_0faf32f13b591f4f60f83c591507b9be
|
7
|
+
localfunction_fc22d5adaf3b9563160dc2aec55e8ba1_19659fe2f2f74bcfb5d532f1a0d38be9
|
8
|
+
localfunction_c5ebc4ae4b5d3bad6be770eb08c50d08_19659fe2f2f74bcfb5d532f1a0d38be9
|
9
|
+
localfunction_e69118a51208cfab8a028711e966e76c_19659fe2f2f74bcfb5d532f1a0d38be9
|
@@ -0,0 +1,43 @@
|
|
1
|
+
#ifndef Guard_femscheme_ddd4458a70dff1f9762ec5a96ca4ba9c
|
2
|
+
#define Guard_femscheme_ddd4458a70dff1f9762ec5a96ca4ba9c
|
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_ddd4458a70dff1f9762ec5a96ca4ba9c, 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, 1 >, 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, 1 >, Dune::FieldMatrix< double, 1, 2 > >, std::tuple< Dune::FieldVector< double, 1 >, Dune::FieldMatrix< double, 1, 2 > > >, Dune::Fem::SparseRowLinearOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 1 >, 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, 1 >, 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, 1 >, 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, 1 >, 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, 1 >, 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, 1 >, 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, 1 >, Dune::FieldMatrix< double, 1, 2 > >, std::tuple< Dune::FieldVector< double, 1 >, Dune::FieldMatrix< double, 1, 2 > > >, Dune::Fem::SparseRowLinearOperator< Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 1 >, 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, 1 >, 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, 1 >, 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, 1 >, 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, 1 >, 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,40 @@
|
|
1
|
+
#ifndef Guard_femspace_90f0a9524a8cb701e8ee5027b7658a0e_0faf32f13b591f4f60f83c591507b9be
|
2
|
+
#define Guard_femspace_90f0a9524a8cb701e8ee5027b7658a0e_0faf32f13b591f4f60f83c591507b9be
|
3
|
+
|
4
|
+
#include <config.h>
|
5
|
+
|
6
|
+
#define USING_DUNE_PYTHON 1
|
7
|
+
|
8
|
+
#define BACKENDNAME "as_numpy"
|
9
|
+
#include <dune/fem/function/adaptivefunction.hh>
|
10
|
+
#include <dune/fem/space/lagrange.hh>
|
11
|
+
#include <dune/fempy/py/discretefunction.hh>
|
12
|
+
#include <dune/fempy/py/space.hh>
|
13
|
+
#include <dune/grid/io/file/dgfparser/dgfyasp.hh>
|
14
|
+
#include <dune/grid/yaspgrid.hh>
|
15
|
+
#include <dune/python/grid/hierarchical.hh>
|
16
|
+
|
17
|
+
#include <dune/python/common/typeregistry.hh>
|
18
|
+
#include <dune/python/pybind11/pybind11.h>
|
19
|
+
#include <dune/python/pybind11/stl.h>
|
20
|
+
|
21
|
+
PYBIND11_MODULE( femspace_90f0a9524a8cb701e8ee5027b7658a0e_0faf32f13b591f4f60f83c591507b9be, module )
|
22
|
+
{
|
23
|
+
using pybind11::operator""_a;
|
24
|
+
pybind11::module cls0 = module;
|
25
|
+
{
|
26
|
+
using DuneType = Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 1 >, Dune::FemPy::GridPart< Dune::YaspGrid< 2, Dune::EquidistantOffsetCoordinates< double, 2 > >::LeafGridView >, Dune::Fem::CodegenStorage>;
|
27
|
+
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, 1 >, Dune::FemPy::GridPart< Dune::YaspGrid< 2, Dune::EquidistantOffsetCoordinates< double, 2 > >::LeafGridView >, Dune::Fem::CodegenStorage>"), Dune::Python::IncludeFiles{"dune/fem/function/adaptivefunction.hh","dune/fem/space/lagrange.hh","dune/fempy/py/discretefunction.hh","dune/fempy/py/space.hh","dune/grid/io/file/dgfparser/dgfyasp.hh","dune/grid/yaspgrid.hh","dune/python/grid/hierarchical.hh"}).first;
|
28
|
+
Dune::FemPy::registerSpace( cls0, cls );
|
29
|
+
}
|
30
|
+
using pybind11::operator""_a;
|
31
|
+
{
|
32
|
+
using DuneType = Dune::Fem::AdaptiveDiscreteFunction< Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 1 >, Dune::FemPy::GridPart< Dune::YaspGrid< 2, Dune::EquidistantOffsetCoordinates< double, 2 > >::LeafGridView >, Dune::Fem::CodegenStorage> >;
|
33
|
+
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, 1 >, Dune::FemPy::GridPart< Dune::YaspGrid< 2, Dune::EquidistantOffsetCoordinates< double, 2 > >::LeafGridView >, Dune::Fem::CodegenStorage> >"), Dune::Python::IncludeFiles{"dune/fem/function/adaptivefunction.hh","dune/fem/space/lagrange.hh","dune/fempy/py/discretefunction.hh","dune/fempy/py/space.hh","dune/grid/io/file/dgfparser/dgfyasp.hh","dune/grid/yaspgrid.hh","dune/python/grid/hierarchical.hh"}).first;
|
34
|
+
Dune::FemPy::registerDiscreteFunction( cls0, cls );
|
35
|
+
cls.def( pybind11::init( [] ( const std::string &name, const Dune::Fem::DynamicLagrangeDiscreteFunctionSpace< Dune::Fem::FunctionSpace< double, double, 2, 1 >, Dune::FemPy::GridPart< Dune::YaspGrid< 2, Dune::EquidistantOffsetCoordinates< double, 2 > >::LeafGridView >, Dune::Fem::CodegenStorage>&space, pybind11::array_t<double> dofVector ) {double *dof = static_cast< double* >( dofVector.request(false).ptr );
|
36
|
+
return new DuneType(name,space,dof);
|
37
|
+
} ), "name"_a, "space"_a, "dofVector"_a, pybind11::keep_alive< 1, 3 >(), pybind11::keep_alive< 1, 4 >() );
|
38
|
+
}
|
39
|
+
}
|
40
|
+
#endif
|
@@ -0,0 +1,84 @@
|
|
1
|
+
yaspcoordinates_dim2_ctdouble
|
2
|
+
hierarchicalgrid_966e2a5c8356c5b278ccd3acad180f0a
|
3
|
+
referenceelements_de274310a0055100b832a0e8892b0258
|
4
|
+
referenceelements_0fff57b283123cc055345ec95574c857
|
5
|
+
referenceelements_f4457f35395151d83a965d4cf5fce70d
|
6
|
+
localfunction_2bbefabe87db948827d02bdb8d69a7d1_19659fe2f2f74bcfb5d532f1a0d38be9
|
7
|
+
localfunction_2bbefabe87db948827d02bdb8d69a7d1_19659fe2f2f74bcfb5d532f1a0d38be9
|
8
|
+
localfunction_2bbefabe87db948827d02bdb8d69a7d1_19659fe2f2f74bcfb5d532f1a0d38be9
|
9
|
+
localfunction_98b32c4b5bc0d8083f3d2c394aa33429_19659fe2f2f74bcfb5d532f1a0d38be9
|
10
|
+
localfunction_75e876499fa3b7abc096aa08f88a1c2d_19659fe2f2f74bcfb5d532f1a0d38be9
|
11
|
+
localfunction_75e876499fa3b7abc096aa08f88a1c2d_19659fe2f2f74bcfb5d532f1a0d38be9
|
12
|
+
localfunction_75e876499fa3b7abc096aa08f88a1c2d_19659fe2f2f74bcfb5d532f1a0d38be9
|
13
|
+
localfunction_2a890b2a64788a92607670296c0d37ac_19659fe2f2f74bcfb5d532f1a0d38be9
|
14
|
+
localfunction_161bbe6dde741c6e3f90c2919b8d17a4_19659fe2f2f74bcfb5d532f1a0d38be9
|
15
|
+
localfunction_161bbe6dde741c6e3f90c2919b8d17a4_19659fe2f2f74bcfb5d532f1a0d38be9
|
16
|
+
localfunction_161bbe6dde741c6e3f90c2919b8d17a4_19659fe2f2f74bcfb5d532f1a0d38be9
|
17
|
+
localfunction_cf4a29dc25e72137baf2f8fb8b8d3c50_19659fe2f2f74bcfb5d532f1a0d38be9
|
18
|
+
localfunction_5d71e054c405bc6584738437908af804_19659fe2f2f74bcfb5d532f1a0d38be9
|
19
|
+
localfunction_5d71e054c405bc6584738437908af804_19659fe2f2f74bcfb5d532f1a0d38be9
|
20
|
+
localfunction_5d71e054c405bc6584738437908af804_19659fe2f2f74bcfb5d532f1a0d38be9
|
21
|
+
localfunction_1460b632dc5919e94a2147108f4f34f4_19659fe2f2f74bcfb5d532f1a0d38be9
|
22
|
+
localfunction_34a46b87fa5c0a5a4f0bc44949f2eda9_19659fe2f2f74bcfb5d532f1a0d38be9
|
23
|
+
localfunction_34a46b87fa5c0a5a4f0bc44949f2eda9_19659fe2f2f74bcfb5d532f1a0d38be9
|
24
|
+
localfunction_34a46b87fa5c0a5a4f0bc44949f2eda9_19659fe2f2f74bcfb5d532f1a0d38be9
|
25
|
+
localfunction_fb15e1ad2c62e6660c67949fcf166d81_19659fe2f2f74bcfb5d532f1a0d38be9
|
26
|
+
localfunction_29566243d89228735978e58471af60be_19659fe2f2f74bcfb5d532f1a0d38be9
|
27
|
+
localfunction_29566243d89228735978e58471af60be_19659fe2f2f74bcfb5d532f1a0d38be9
|
28
|
+
localfunction_29566243d89228735978e58471af60be_19659fe2f2f74bcfb5d532f1a0d38be9
|
29
|
+
localfunction_5c2a00bf7ec417475a0a378ed462beeb_19659fe2f2f74bcfb5d532f1a0d38be9
|
30
|
+
localfunction_aa506761997f291dfd2e62b678f010b2_19659fe2f2f74bcfb5d532f1a0d38be9
|
31
|
+
localfunction_aa506761997f291dfd2e62b678f010b2_19659fe2f2f74bcfb5d532f1a0d38be9
|
32
|
+
localfunction_75e876499fa3b7abc096aa08f88a1c2d_19659fe2f2f74bcfb5d532f1a0d38be9
|
33
|
+
localfunction_161bbe6dde741c6e3f90c2919b8d17a4_19659fe2f2f74bcfb5d532f1a0d38be9
|
34
|
+
localfunction_aa506761997f291dfd2e62b678f010b2_19659fe2f2f74bcfb5d532f1a0d38be9
|
35
|
+
localfunction_a369aff055312b472a92ee7e257534ff_19659fe2f2f74bcfb5d532f1a0d38be9
|
36
|
+
localfunction_f0d3fe89de368f7ea295a1982a807bd8_19659fe2f2f74bcfb5d532f1a0d38be9
|
37
|
+
localfunction_f0d3fe89de368f7ea295a1982a807bd8_19659fe2f2f74bcfb5d532f1a0d38be9
|
38
|
+
localfunction_75e876499fa3b7abc096aa08f88a1c2d_19659fe2f2f74bcfb5d532f1a0d38be9
|
39
|
+
localfunction_161bbe6dde741c6e3f90c2919b8d17a4_19659fe2f2f74bcfb5d532f1a0d38be9
|
40
|
+
localfunction_f0d3fe89de368f7ea295a1982a807bd8_19659fe2f2f74bcfb5d532f1a0d38be9
|
41
|
+
localfunction_a6cc88a79948487ce95a6c3f22487b36_19659fe2f2f74bcfb5d532f1a0d38be9
|
42
|
+
localfunction_268716e3e3ec528038367ee04d335ea1_19659fe2f2f74bcfb5d532f1a0d38be9
|
43
|
+
localfunction_268716e3e3ec528038367ee04d335ea1_19659fe2f2f74bcfb5d532f1a0d38be9
|
44
|
+
localfunction_75e876499fa3b7abc096aa08f88a1c2d_19659fe2f2f74bcfb5d532f1a0d38be9
|
45
|
+
localfunction_161bbe6dde741c6e3f90c2919b8d17a4_19659fe2f2f74bcfb5d532f1a0d38be9
|
46
|
+
localfunction_268716e3e3ec528038367ee04d335ea1_19659fe2f2f74bcfb5d532f1a0d38be9
|
47
|
+
localfunction_465e17370f4344b8997151adacf7aec6_19659fe2f2f74bcfb5d532f1a0d38be9
|
48
|
+
localfunction_6343878b30d190cc70b631d882009dec_19659fe2f2f74bcfb5d532f1a0d38be9
|
49
|
+
localfunction_6343878b30d190cc70b631d882009dec_19659fe2f2f74bcfb5d532f1a0d38be9
|
50
|
+
localfunction_75e876499fa3b7abc096aa08f88a1c2d_19659fe2f2f74bcfb5d532f1a0d38be9
|
51
|
+
localfunction_161bbe6dde741c6e3f90c2919b8d17a4_19659fe2f2f74bcfb5d532f1a0d38be9
|
52
|
+
localfunction_6343878b30d190cc70b631d882009dec_19659fe2f2f74bcfb5d532f1a0d38be9
|
53
|
+
localfunction_6661b21a0e1340a9a9f7b32da595f130_19659fe2f2f74bcfb5d532f1a0d38be9
|
54
|
+
localfunction_3c10414582133a0fa8e341c4544a97c7_19659fe2f2f74bcfb5d532f1a0d38be9
|
55
|
+
localfunction_3c10414582133a0fa8e341c4544a97c7_19659fe2f2f74bcfb5d532f1a0d38be9
|
56
|
+
localfunction_75e876499fa3b7abc096aa08f88a1c2d_19659fe2f2f74bcfb5d532f1a0d38be9
|
57
|
+
localfunction_3c10414582133a0fa8e341c4544a97c7_19659fe2f2f74bcfb5d532f1a0d38be9
|
58
|
+
localfunction_e9c8d4f4cedd30cab76a588b95bbccab_19659fe2f2f74bcfb5d532f1a0d38be9
|
59
|
+
localfunction_639a3f3873411f43337e687cb070368f_19659fe2f2f74bcfb5d532f1a0d38be9
|
60
|
+
localfunction_639a3f3873411f43337e687cb070368f_19659fe2f2f74bcfb5d532f1a0d38be9
|
61
|
+
localfunction_75e876499fa3b7abc096aa08f88a1c2d_19659fe2f2f74bcfb5d532f1a0d38be9
|
62
|
+
localfunction_639a3f3873411f43337e687cb070368f_19659fe2f2f74bcfb5d532f1a0d38be9
|
63
|
+
localfunction_8647b4efdf8a37595f73652bc1905df2_19659fe2f2f74bcfb5d532f1a0d38be9
|
64
|
+
localfunction_57e9651c5364ef528f41cf138e126115_19659fe2f2f74bcfb5d532f1a0d38be9
|
65
|
+
localfunction_57e9651c5364ef528f41cf138e126115_19659fe2f2f74bcfb5d532f1a0d38be9
|
66
|
+
localfunction_75e876499fa3b7abc096aa08f88a1c2d_19659fe2f2f74bcfb5d532f1a0d38be9
|
67
|
+
localfunction_57e9651c5364ef528f41cf138e126115_19659fe2f2f74bcfb5d532f1a0d38be9
|
68
|
+
localfunction_d40efa41ac661ff77278d2ae4812b06d_19659fe2f2f74bcfb5d532f1a0d38be9
|
69
|
+
localfunction_b5edf0c36f0fc96cc6f5f3677c6557a1_19659fe2f2f74bcfb5d532f1a0d38be9
|
70
|
+
localfunction_b5edf0c36f0fc96cc6f5f3677c6557a1_19659fe2f2f74bcfb5d532f1a0d38be9
|
71
|
+
localfunction_75e876499fa3b7abc096aa08f88a1c2d_19659fe2f2f74bcfb5d532f1a0d38be9
|
72
|
+
localfunction_b5edf0c36f0fc96cc6f5f3677c6557a1_19659fe2f2f74bcfb5d532f1a0d38be9
|
73
|
+
localfunction_9b741917efb5aa6a09e375272e4ae3aa_19659fe2f2f74bcfb5d532f1a0d38be9
|
74
|
+
localfunction_3dfb73430ddb90a26b6f50f85e52e2a4_19659fe2f2f74bcfb5d532f1a0d38be9
|
75
|
+
localfunction_3dfb73430ddb90a26b6f50f85e52e2a4_19659fe2f2f74bcfb5d532f1a0d38be9
|
76
|
+
localfunction_75e876499fa3b7abc096aa08f88a1c2d_19659fe2f2f74bcfb5d532f1a0d38be9
|
77
|
+
localfunction_3dfb73430ddb90a26b6f50f85e52e2a4_19659fe2f2f74bcfb5d532f1a0d38be9
|
78
|
+
localfunction_fb17410b0b5d479dce9ffc6f9d61ab37_19659fe2f2f74bcfb5d532f1a0d38be9
|
79
|
+
yaspcoordinates_dim3_ctdouble
|
80
|
+
hierarchicalgrid_472c2c2d007bf5604887ab2f16b7eb13
|
81
|
+
referenceelements_de274310a0055100b832a0e8892b0258
|
82
|
+
referenceelements_0fff57b283123cc055345ec95574c857
|
83
|
+
referenceelements_f4457f35395151d83a965d4cf5fce70d
|
84
|
+
referenceelements_fe266b8abf61f4601198949ea6b0dfd3
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#ifndef Guard_hierarchicalgrid_966e2a5c8356c5b278ccd3acad180f0a
|
2
|
+
#define Guard_hierarchicalgrid_966e2a5c8356c5b278ccd3acad180f0a
|
3
|
+
|
4
|
+
#include <config.h>
|
5
|
+
|
6
|
+
#define USING_DUNE_PYTHON 1
|
7
|
+
|
8
|
+
#include <dune/grid/io/file/dgfparser/dgfyasp.hh>
|
9
|
+
#include <dune/grid/yaspgrid.hh>
|
10
|
+
#include <dune/python/grid/hierarchical.hh>
|
11
|
+
|
12
|
+
#include <dune/python/common/typeregistry.hh>
|
13
|
+
#include <dune/python/pybind11/pybind11.h>
|
14
|
+
#include <dune/python/pybind11/stl.h>
|
15
|
+
|
16
|
+
PYBIND11_MODULE( hierarchicalgrid_966e2a5c8356c5b278ccd3acad180f0a, module )
|
17
|
+
{
|
18
|
+
using pybind11::operator""_a;
|
19
|
+
pybind11::module cls0 = module;
|
20
|
+
{
|
21
|
+
using DuneType = Dune::YaspGrid< 2, Dune::EquidistantOffsetCoordinates< double, 2 > >;
|
22
|
+
auto cls = Dune::Python::insertClass< DuneType, std::shared_ptr<DuneType> >( cls0, "HierarchicalGrid",pybind11::dynamic_attr(), Dune::Python::GenerateTypeName("Dune::YaspGrid< 2, Dune::EquidistantOffsetCoordinates< double, 2 > >"), Dune::Python::IncludeFiles{"dune/grid/io/file/dgfparser/dgfyasp.hh","dune/grid/yaspgrid.hh","dune/python/grid/hierarchical.hh"}).first;
|
23
|
+
Dune::Python::registerHierarchicalGrid( cls0, cls );
|
24
|
+
cls.def( pybind11::init( [] ( const Dune::EquidistantOffsetCoordinates< double, 2 >& coordinates, std::array<bool, 2> periodic, int overlap ) {std::bitset<2> periodic_;
|
25
|
+
for (int i=0;i<2;++i) periodic_.set(i,periodic[i]);
|
26
|
+
return new DuneType(coordinates,periodic_,overlap);
|
27
|
+
} ), "coordinates"_a, "periodic"_a, "overlap"_a );
|
28
|
+
}
|
29
|
+
}
|
30
|
+
#endif
|
@@ -1,5 +1,5 @@
|
|
1
|
-
#ifndef
|
2
|
-
#define
|
1
|
+
#ifndef GuardIntegrands_2e5e6f48655bd358419554a0857f697bv1_3
|
2
|
+
#define GuardIntegrands_2e5e6f48655bd358419554a0857f697bv1_3
|
3
3
|
#define USING_DUNE_PYTHON 1
|
4
4
|
#include <config.h>
|
5
5
|
#include <dune/alugrid/dgf.hh>
|
@@ -21,7 +21,7 @@
|
|
21
21
|
#include <dune/fem/misc/gridfunctionview.hh>
|
22
22
|
#include <dune/fempy/py/integrands.hh>
|
23
23
|
|
24
|
-
namespace
|
24
|
+
namespace Integrands_2e5e6f48655bd358419554a0857f697bv1_3
|
25
25
|
{
|
26
26
|
|
27
27
|
|
@@ -30,7 +30,7 @@ namespace Integrands_cf38a832d97016edac4179e31ea45a48v1_3
|
|
30
30
|
// Integrands
|
31
31
|
// ----------
|
32
32
|
|
33
|
-
template< class GridPart, class Coeffbndproj, class Coeffextproj, class Coeffsdfprojfull, class
|
33
|
+
template< class GridPart, class Coeffbndproj, class Coeffextproj, class Coeffsdfprojfull, class CoeffsdfprojfullA, class Coeffphidomain >
|
34
34
|
struct Integrands
|
35
35
|
{
|
36
36
|
typedef GridPart GridPartType;
|
@@ -46,21 +46,21 @@ namespace Integrands_cf38a832d97016edac4179e31ea45a48v1_3
|
|
46
46
|
template< std::size_t i >
|
47
47
|
using ConstantsRangeType = typename std::tuple_element_t< i, ConstantTupleType >::element_type;
|
48
48
|
typedef std::tuple< Dune::Fem::GridFunctionSpace< GridPartType, Dune::FieldVector< double, 2 > >, Dune::Fem::GridFunctionSpace< GridPartType, Dune::FieldVector< double, 2 > >, Dune::Fem::GridFunctionSpace< GridPartType, Dune::FieldVector< double, 1 > >, Dune::Fem::GridFunctionSpace< GridPartType, Dune::FieldVector< double, 1 > >, Dune::Fem::GridFunctionSpace< GridPartType, Dune::FieldVector< double, 1 > > > CoefficientFunctionSpaceTupleType;
|
49
|
-
typedef std::tuple< Coeffbndproj, Coeffextproj, Coeffsdfprojfull,
|
49
|
+
typedef std::tuple< Coeffbndproj, Coeffextproj, Coeffsdfprojfull, CoeffsdfprojfullA, Coeffphidomain > CoefficientTupleType;
|
50
50
|
template< std::size_t i >
|
51
51
|
using CoefficientFunctionSpaceType = std::tuple_element_t< i, CoefficientFunctionSpaceTupleType >;
|
52
52
|
template< std::size_t i >
|
53
53
|
using CoefficientRangeType = typename CoefficientFunctionSpaceType< i >::RangeType;
|
54
54
|
template< std::size_t i >
|
55
55
|
using CoefficientJacobianRangeType = typename CoefficientFunctionSpaceType< i >::JacobianRangeType;
|
56
|
-
static constexpr bool gridPartValid = Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffbndproj>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffextproj>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffsdfprojfull>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<
|
56
|
+
static constexpr bool gridPartValid = Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffbndproj>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffextproj>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffsdfprojfull>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<CoeffsdfprojfullA>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffphidomain>>();
|
57
57
|
template< std::size_t i >
|
58
58
|
using CoefficientType = std::tuple_element_t< i, CoefficientTupleType >;
|
59
59
|
template< std::size_t i >
|
60
60
|
using ConstantType = typename std::tuple_element_t< i, ConstantTupleType >::element_type;
|
61
61
|
|
62
|
-
Integrands ( const Coeffbndproj &coeffbndproj, const Coeffextproj &coeffextproj, const Coeffsdfprojfull &coeffsdfprojfull, const
|
63
|
-
: coefficients_( Dune::Fem::ConstLocalFunction< Coeffbndproj >( coeffbndproj ), Dune::Fem::ConstLocalFunction< Coeffextproj >( coeffextproj ), Dune::Fem::ConstLocalFunction< Coeffsdfprojfull >( coeffsdfprojfull ), Dune::Fem::ConstLocalFunction<
|
62
|
+
Integrands ( const Coeffbndproj &coeffbndproj, const Coeffextproj &coeffextproj, const Coeffsdfprojfull &coeffsdfprojfull, const CoeffsdfprojfullA &coeffsdfprojfullA, const Coeffphidomain &coeffphidomain, const Dune::Fem::ParameterReader ¶meter = Dune::Fem::Parameter::container() )
|
63
|
+
: coefficients_( Dune::Fem::ConstLocalFunction< Coeffbndproj >( coeffbndproj ), Dune::Fem::ConstLocalFunction< Coeffextproj >( coeffextproj ), Dune::Fem::ConstLocalFunction< Coeffsdfprojfull >( coeffsdfprojfull ), Dune::Fem::ConstLocalFunction< CoeffsdfprojfullA >( coeffsdfprojfullA ), Dune::Fem::ConstLocalFunction< Coeffphidomain >( coeffphidomain ) )
|
64
64
|
{
|
65
65
|
std::get< 0 >( constants_ ) = std::make_shared< Conepsilon >( (Conepsilon(0)) );
|
66
66
|
}
|
@@ -106,11 +106,11 @@ namespace Integrands_cf38a832d97016edac4179e31ea45a48v1_3
|
|
106
106
|
using std::sin;
|
107
107
|
double tmp0 = constant< 0 >();
|
108
108
|
const auto tmp1 = std::pow( tmp0, 2 );
|
109
|
-
typename CoefficientFunctionSpaceType<
|
109
|
+
typename CoefficientFunctionSpaceType< 4 >::RangeType tmp2 = evaluateCoefficient< 4 >( x );
|
110
110
|
const auto tmp3 = -1 * tmp2[ 0 ];
|
111
111
|
const auto tmp4 = 1 + tmp3;
|
112
112
|
const auto tmp5 = std::pow( tmp4, 2 );
|
113
|
-
typename CoefficientFunctionSpaceType<
|
113
|
+
typename CoefficientFunctionSpaceType< 3 >::RangeType tmp6 = evaluateCoefficient< 3 >( x );
|
114
114
|
const auto tmp7 = 1e-10 + tmp6[ 0 ];
|
115
115
|
typename CoefficientFunctionSpaceType< 0 >::RangeType tmp8 = evaluateCoefficient< 0 >( x );
|
116
116
|
const auto tmp9 = 3.141592653589793 * tmp8[ 1 ];
|
@@ -135,7 +135,7 @@ namespace Integrands_cf38a832d97016edac4179e31ea45a48v1_3
|
|
135
135
|
const auto tmp28 = tmp27 + tmp26;
|
136
136
|
const auto tmp29 = tmp28 * tmp25;
|
137
137
|
const auto tmp30 = tmp2[ 0 ] * tmp29;
|
138
|
-
typename CoefficientFunctionSpaceType<
|
138
|
+
typename CoefficientFunctionSpaceType< 4 >::JacobianRangeType tmp31 = jacobianCoefficient< 4 >( x );
|
139
139
|
const auto tmp32 = (tmp31[ 0 ])[ 1 ] * tmp30;
|
140
140
|
const auto tmp33 = 3 * tmp23[ 1 ];
|
141
141
|
const auto tmp34 = tmp28 * tmp33;
|
@@ -205,11 +205,11 @@ namespace Integrands_cf38a832d97016edac4179e31ea45a48v1_3
|
|
205
205
|
using std::pow;
|
206
206
|
double tmp0 = constant< 0 >();
|
207
207
|
const auto tmp1 = std::pow( tmp0, 2 );
|
208
|
-
typename CoefficientFunctionSpaceType<
|
208
|
+
typename CoefficientFunctionSpaceType< 4 >::RangeType tmp2 = evaluateCoefficient< 4 >( x );
|
209
209
|
const auto tmp3 = -1 * tmp2[ 0 ];
|
210
210
|
const auto tmp4 = 1 + tmp3;
|
211
211
|
const auto tmp5 = std::pow( tmp4, 2 );
|
212
|
-
typename CoefficientFunctionSpaceType<
|
212
|
+
typename CoefficientFunctionSpaceType< 3 >::RangeType tmp6 = evaluateCoefficient< 3 >( x );
|
213
213
|
const auto tmp7 = 1e-10 + tmp6[ 0 ];
|
214
214
|
const auto tmp8 = tmp6[ 0 ] / tmp7;
|
215
215
|
const auto tmp9 = tmp8 * tmp5;
|
@@ -223,7 +223,7 @@ namespace Integrands_cf38a832d97016edac4179e31ea45a48v1_3
|
|
223
223
|
const auto tmp17 = 2 + tmp16;
|
224
224
|
const auto tmp18 = tmp17 * tmp15;
|
225
225
|
const auto tmp19 = tmp2[ 0 ] * tmp18;
|
226
|
-
typename CoefficientFunctionSpaceType<
|
226
|
+
typename CoefficientFunctionSpaceType< 4 >::JacobianRangeType tmp20 = jacobianCoefficient< 4 >( x );
|
227
227
|
const auto tmp21 = (tmp20[ 0 ])[ 1 ] * tmp19;
|
228
228
|
const auto tmp22 = 3 * tmp13[ 1 ];
|
229
229
|
const auto tmp23 = tmp17 * tmp22;
|
@@ -511,23 +511,23 @@ namespace Integrands_cf38a832d97016edac4179e31ea45a48v1_3
|
|
511
511
|
EntityType entity_;
|
512
512
|
IntersectionType intersection_;
|
513
513
|
ConstantTupleType constants_;
|
514
|
-
std::tuple< Dune::Fem::ConstLocalFunction< Coeffbndproj >, Dune::Fem::ConstLocalFunction< Coeffextproj >, Dune::Fem::ConstLocalFunction< Coeffsdfprojfull >, Dune::Fem::ConstLocalFunction<
|
514
|
+
std::tuple< Dune::Fem::ConstLocalFunction< Coeffbndproj >, Dune::Fem::ConstLocalFunction< Coeffextproj >, Dune::Fem::ConstLocalFunction< Coeffsdfprojfull >, Dune::Fem::ConstLocalFunction< CoeffsdfprojfullA >, Dune::Fem::ConstLocalFunction< Coeffphidomain > > coefficients_;
|
515
515
|
};
|
516
516
|
|
517
|
-
} // namespace
|
517
|
+
} // namespace Integrands_2e5e6f48655bd358419554a0857f697bv1_3
|
518
518
|
|
519
|
-
PYBIND11_MODULE(
|
519
|
+
PYBIND11_MODULE( integrands_2e5e6f48655bd358419554a0857f697bv1_3_a524c1196983e65de1c06d7d6afdeb44, module )
|
520
520
|
{
|
521
521
|
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;
|
522
|
-
typedef
|
522
|
+
typedef Integrands_2e5e6f48655bd358419554a0857f697bv1_3::Integrands< GridPart, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > > Integrands;
|
523
523
|
if constexpr( Integrands::gridPartValid )
|
524
524
|
{
|
525
|
-
auto cls = Dune::Python::insertClass<Integrands>(module,"Integrands",Dune::Python::GenerateTypeName("
|
525
|
+
auto cls = Dune::Python::insertClass<Integrands>(module,"Integrands",Dune::Python::GenerateTypeName("Integrands_2e5e6f48655bd358419554a0857f697bv1_3::Integrands< GridPart, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > >"), Dune::Python::IncludeFiles({"python/dune/generated/integrands_2e5e6f48655bd358419554a0857f697bv1_3_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
|
526
526
|
Dune::FemPy::registerIntegrands< Integrands >( module, cls );
|
527
|
-
cls.def( pybind11::init( [] ( const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > > &coeffbndproj, const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > > &coeffextproj, const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > &coeffsdfprojfull, const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > &
|
527
|
+
cls.def( pybind11::init( [] ( const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > > &coeffbndproj, const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > > &coeffextproj, const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > &coeffsdfprojfull, const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > &coeffsdfprojfullA, const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > &coeffphidomain ) { return new Integrands( coeffbndproj, coeffextproj, coeffsdfprojfull, coeffsdfprojfullA, coeffphidomain ); } ), pybind11::keep_alive< 1, 2 >(), pybind11::keep_alive< 1, 3 >(), pybind11::keep_alive< 1, 4 >(), pybind11::keep_alive< 1, 5 >(), pybind11::keep_alive< 1, 6 >() );
|
528
528
|
cls.def_property( "epsilon", [] ( Integrands &self ) -> Integrands::Conepsilon { return self.conepsilon(); }, [] ( Integrands &self, const Integrands::Conepsilon &v ) { self.conepsilon() = v; } );
|
529
529
|
cls.def_property_readonly( "virtualized", [] ( Integrands& ) -> bool { return true;});
|
530
530
|
cls.def_property_readonly( "hasDirichletBoundary", [] ( Integrands& ) -> bool { return true;});
|
531
531
|
}
|
532
532
|
}
|
533
|
-
#endif //
|
533
|
+
#endif // GuardIntegrands_2e5e6f48655bd358419554a0857f697bv1_3
|
@@ -1,5 +1,5 @@
|
|
1
|
-
#ifndef
|
2
|
-
#define
|
1
|
+
#ifndef GuardIntegrands_563572f4cb20b041e8198ba7d5f88584v1_3
|
2
|
+
#define GuardIntegrands_563572f4cb20b041e8198ba7d5f88584v1_3
|
3
3
|
#define USING_DUNE_PYTHON 1
|
4
4
|
#include <config.h>
|
5
5
|
#include <dune/alugrid/dgf.hh>
|
@@ -21,7 +21,7 @@
|
|
21
21
|
#include <dune/fem/misc/gridfunctionview.hh>
|
22
22
|
#include <dune/fempy/py/integrands.hh>
|
23
23
|
|
24
|
-
namespace
|
24
|
+
namespace Integrands_563572f4cb20b041e8198ba7d5f88584v1_3
|
25
25
|
{
|
26
26
|
|
27
27
|
|
@@ -30,7 +30,7 @@ namespace Integrands_472696f050a50e3f5017ab5ecdab564bv1_3
|
|
30
30
|
// Integrands
|
31
31
|
// ----------
|
32
32
|
|
33
|
-
template< class GridPart, class Coeffbndproj, class Coeffextproj, class Coeffsdfprojfull, class
|
33
|
+
template< class GridPart, class Coeffbndproj, class Coeffextproj, class Coeffsdfprojfull, class CoeffsdfprojfullA, class Coeffphidomain >
|
34
34
|
struct Integrands
|
35
35
|
{
|
36
36
|
typedef GridPart GridPartType;
|
@@ -46,21 +46,21 @@ namespace Integrands_472696f050a50e3f5017ab5ecdab564bv1_3
|
|
46
46
|
template< std::size_t i >
|
47
47
|
using ConstantsRangeType = typename std::tuple_element_t< i, ConstantTupleType >::element_type;
|
48
48
|
typedef std::tuple< Dune::Fem::GridFunctionSpace< GridPartType, Dune::FieldVector< double, 2 > >, Dune::Fem::GridFunctionSpace< GridPartType, Dune::FieldVector< double, 2 > >, Dune::Fem::GridFunctionSpace< GridPartType, Dune::FieldVector< double, 1 > >, Dune::Fem::GridFunctionSpace< GridPartType, Dune::FieldVector< double, 1 > >, Dune::Fem::GridFunctionSpace< GridPartType, Dune::FieldVector< double, 1 > > > CoefficientFunctionSpaceTupleType;
|
49
|
-
typedef std::tuple< Coeffbndproj, Coeffextproj, Coeffsdfprojfull,
|
49
|
+
typedef std::tuple< Coeffbndproj, Coeffextproj, Coeffsdfprojfull, CoeffsdfprojfullA, Coeffphidomain > CoefficientTupleType;
|
50
50
|
template< std::size_t i >
|
51
51
|
using CoefficientFunctionSpaceType = std::tuple_element_t< i, CoefficientFunctionSpaceTupleType >;
|
52
52
|
template< std::size_t i >
|
53
53
|
using CoefficientRangeType = typename CoefficientFunctionSpaceType< i >::RangeType;
|
54
54
|
template< std::size_t i >
|
55
55
|
using CoefficientJacobianRangeType = typename CoefficientFunctionSpaceType< i >::JacobianRangeType;
|
56
|
-
static constexpr bool gridPartValid = Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffbndproj>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffextproj>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffsdfprojfull>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<
|
56
|
+
static constexpr bool gridPartValid = Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffbndproj>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffextproj>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffsdfprojfull>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<CoeffsdfprojfullA>>() && Dune::Fem::checkGridPartValid<GridPartType,Dune::Fem::ConstLocalFunction<Coeffphidomain>>();
|
57
57
|
template< std::size_t i >
|
58
58
|
using CoefficientType = std::tuple_element_t< i, CoefficientTupleType >;
|
59
59
|
template< std::size_t i >
|
60
60
|
using ConstantType = typename std::tuple_element_t< i, ConstantTupleType >::element_type;
|
61
61
|
|
62
|
-
Integrands ( const Coeffbndproj &coeffbndproj, const Coeffextproj &coeffextproj, const Coeffsdfprojfull &coeffsdfprojfull, const
|
63
|
-
: coefficients_( Dune::Fem::ConstLocalFunction< Coeffbndproj >( coeffbndproj ), Dune::Fem::ConstLocalFunction< Coeffextproj >( coeffextproj ), Dune::Fem::ConstLocalFunction< Coeffsdfprojfull >( coeffsdfprojfull ), Dune::Fem::ConstLocalFunction<
|
62
|
+
Integrands ( const Coeffbndproj &coeffbndproj, const Coeffextproj &coeffextproj, const Coeffsdfprojfull &coeffsdfprojfull, const CoeffsdfprojfullA &coeffsdfprojfullA, const Coeffphidomain &coeffphidomain, const Dune::Fem::ParameterReader ¶meter = Dune::Fem::Parameter::container() )
|
63
|
+
: coefficients_( Dune::Fem::ConstLocalFunction< Coeffbndproj >( coeffbndproj ), Dune::Fem::ConstLocalFunction< Coeffextproj >( coeffextproj ), Dune::Fem::ConstLocalFunction< Coeffsdfprojfull >( coeffsdfprojfull ), Dune::Fem::ConstLocalFunction< CoeffsdfprojfullA >( coeffsdfprojfullA ), Dune::Fem::ConstLocalFunction< Coeffphidomain >( coeffphidomain ) )
|
64
64
|
{
|
65
65
|
std::get< 0 >( constants_ ) = std::make_shared< Conepsilon >( (Conepsilon(0)) );
|
66
66
|
}
|
@@ -106,11 +106,11 @@ namespace Integrands_472696f050a50e3f5017ab5ecdab564bv1_3
|
|
106
106
|
using std::sin;
|
107
107
|
double tmp0 = constant< 0 >();
|
108
108
|
const auto tmp1 = std::pow( tmp0, 2 );
|
109
|
-
typename CoefficientFunctionSpaceType<
|
109
|
+
typename CoefficientFunctionSpaceType< 4 >::RangeType tmp2 = evaluateCoefficient< 4 >( x );
|
110
110
|
const auto tmp3 = -1 * tmp2[ 0 ];
|
111
111
|
const auto tmp4 = 1 + tmp3;
|
112
112
|
const auto tmp5 = std::pow( tmp4, 2 );
|
113
|
-
typename CoefficientFunctionSpaceType<
|
113
|
+
typename CoefficientFunctionSpaceType< 3 >::RangeType tmp6 = evaluateCoefficient< 3 >( x );
|
114
114
|
const auto tmp7 = 1e-10 + tmp6[ 0 ];
|
115
115
|
typename CoefficientFunctionSpaceType< 0 >::RangeType tmp8 = evaluateCoefficient< 0 >( x );
|
116
116
|
const auto tmp9 = 3.141592653589793 * tmp8[ 1 ];
|
@@ -135,7 +135,7 @@ namespace Integrands_472696f050a50e3f5017ab5ecdab564bv1_3
|
|
135
135
|
const auto tmp28 = tmp27 + tmp26;
|
136
136
|
const auto tmp29 = tmp28 * tmp25;
|
137
137
|
const auto tmp30 = tmp2[ 0 ] * tmp29;
|
138
|
-
typename CoefficientFunctionSpaceType<
|
138
|
+
typename CoefficientFunctionSpaceType< 4 >::JacobianRangeType tmp31 = jacobianCoefficient< 4 >( x );
|
139
139
|
const auto tmp32 = (tmp31[ 0 ])[ 1 ] * tmp30;
|
140
140
|
const auto tmp33 = 3 * tmp23[ 1 ];
|
141
141
|
const auto tmp34 = tmp28 * tmp33;
|
@@ -205,11 +205,11 @@ namespace Integrands_472696f050a50e3f5017ab5ecdab564bv1_3
|
|
205
205
|
using std::pow;
|
206
206
|
double tmp0 = constant< 0 >();
|
207
207
|
const auto tmp1 = std::pow( tmp0, 2 );
|
208
|
-
typename CoefficientFunctionSpaceType<
|
208
|
+
typename CoefficientFunctionSpaceType< 4 >::RangeType tmp2 = evaluateCoefficient< 4 >( x );
|
209
209
|
const auto tmp3 = -1 * tmp2[ 0 ];
|
210
210
|
const auto tmp4 = 1 + tmp3;
|
211
211
|
const auto tmp5 = std::pow( tmp4, 2 );
|
212
|
-
typename CoefficientFunctionSpaceType<
|
212
|
+
typename CoefficientFunctionSpaceType< 3 >::RangeType tmp6 = evaluateCoefficient< 3 >( x );
|
213
213
|
const auto tmp7 = 1e-10 + tmp6[ 0 ];
|
214
214
|
const auto tmp8 = tmp6[ 0 ] / tmp7;
|
215
215
|
const auto tmp9 = tmp8 * tmp5;
|
@@ -223,7 +223,7 @@ namespace Integrands_472696f050a50e3f5017ab5ecdab564bv1_3
|
|
223
223
|
const auto tmp17 = 2 + tmp16;
|
224
224
|
const auto tmp18 = tmp17 * tmp15;
|
225
225
|
const auto tmp19 = tmp2[ 0 ] * tmp18;
|
226
|
-
typename CoefficientFunctionSpaceType<
|
226
|
+
typename CoefficientFunctionSpaceType< 4 >::JacobianRangeType tmp20 = jacobianCoefficient< 4 >( x );
|
227
227
|
const auto tmp21 = (tmp20[ 0 ])[ 1 ] * tmp19;
|
228
228
|
const auto tmp22 = 3 * tmp13[ 1 ];
|
229
229
|
const auto tmp23 = tmp17 * tmp22;
|
@@ -511,23 +511,23 @@ namespace Integrands_472696f050a50e3f5017ab5ecdab564bv1_3
|
|
511
511
|
EntityType entity_;
|
512
512
|
IntersectionType intersection_;
|
513
513
|
ConstantTupleType constants_;
|
514
|
-
std::tuple< Dune::Fem::ConstLocalFunction< Coeffbndproj >, Dune::Fem::ConstLocalFunction< Coeffextproj >, Dune::Fem::ConstLocalFunction< Coeffsdfprojfull >, Dune::Fem::ConstLocalFunction<
|
514
|
+
std::tuple< Dune::Fem::ConstLocalFunction< Coeffbndproj >, Dune::Fem::ConstLocalFunction< Coeffextproj >, Dune::Fem::ConstLocalFunction< Coeffsdfprojfull >, Dune::Fem::ConstLocalFunction< CoeffsdfprojfullA >, Dune::Fem::ConstLocalFunction< Coeffphidomain > > coefficients_;
|
515
515
|
};
|
516
516
|
|
517
|
-
} // namespace
|
517
|
+
} // namespace Integrands_563572f4cb20b041e8198ba7d5f88584v1_3
|
518
518
|
|
519
|
-
PYBIND11_MODULE(
|
519
|
+
PYBIND11_MODULE( integrands_563572f4cb20b041e8198ba7d5f88584v1_3_a524c1196983e65de1c06d7d6afdeb44, module )
|
520
520
|
{
|
521
521
|
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;
|
522
|
-
typedef
|
522
|
+
typedef Integrands_563572f4cb20b041e8198ba7d5f88584v1_3::Integrands< GridPart, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > > Integrands;
|
523
523
|
if constexpr( Integrands::gridPartValid )
|
524
524
|
{
|
525
|
-
auto cls = Dune::Python::insertClass<Integrands>(module,"Integrands",Dune::Python::GenerateTypeName("
|
525
|
+
auto cls = Dune::Python::insertClass<Integrands>(module,"Integrands",Dune::Python::GenerateTypeName("Integrands_563572f4cb20b041e8198ba7d5f88584v1_3::Integrands< GridPart, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > >, Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > >"), Dune::Python::IncludeFiles({"python/dune/generated/integrands_563572f4cb20b041e8198ba7d5f88584v1_3_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
|
526
526
|
Dune::FemPy::registerIntegrands< Integrands >( module, cls );
|
527
|
-
cls.def( pybind11::init( [] ( const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > > &coeffbndproj, const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > > &coeffextproj, const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > &coeffsdfprojfull, const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > &
|
527
|
+
cls.def( pybind11::init( [] ( const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > > &coeffbndproj, const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 2 > > &coeffextproj, const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > &coeffsdfprojfull, const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > &coeffsdfprojfullA, const Dune::FemPy::VirtualizedGridFunction< Dune::FemPy::GridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>, Dune::FieldVector< double, 1 > > &coeffphidomain ) { return new Integrands( coeffbndproj, coeffextproj, coeffsdfprojfull, coeffsdfprojfullA, coeffphidomain ); } ), pybind11::keep_alive< 1, 2 >(), pybind11::keep_alive< 1, 3 >(), pybind11::keep_alive< 1, 4 >(), pybind11::keep_alive< 1, 5 >(), pybind11::keep_alive< 1, 6 >() );
|
528
528
|
cls.def_property( "epsilon", [] ( Integrands &self ) -> Integrands::Conepsilon { return self.conepsilon(); }, [] ( Integrands &self, const Integrands::Conepsilon &v ) { self.conepsilon() = v; } );
|
529
529
|
cls.def_property_readonly( "virtualized", [] ( Integrands& ) -> bool { return true;});
|
530
530
|
cls.def_property_readonly( "hasDirichletBoundary", [] ( Integrands& ) -> bool { return true;});
|
531
531
|
}
|
532
532
|
}
|
533
|
-
#endif //
|
533
|
+
#endif // GuardIntegrands_563572f4cb20b041e8198ba7d5f88584v1_3
|