ddfem 1.0.6__py3-none-any.whl → 1.0.7__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 +21 -2
- ddfem/data/{integrands_cf38a832d97016edac4179e31ea45a48v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/integrands_35d2bd9aedbe0c70a7d3804f461aa3a2v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +21 -21
- ddfem/data/{integrands_1da925f6548e47811d4ee37ac8afd85ev1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/integrands_6da979bc28230b7c9b9703e3f1014016v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +19 -19
- ddfem/data/{integrands_5d65834d43b1dbae0ceafbcc9ec60542v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/integrands_8d076606b6431bd52818b74371b326fev1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +25 -25
- ddfem/data/{integrands_472696f050a50e3f5017ab5ecdab564bv1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/integrands_c7ee79ef352597693466ebc895f89b17v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +21 -21
- ddfem/data/{localfunction_33933b99fbea8227fedf6cfb180ea878_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_82d7cb9338bf118426fac2abf41a91a4_a524c1196983e65de1c06d7d6afdeb44.cc} +22 -22
- ddfem/data/{view_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/view_a524c1196983e65de1c06d7d6afdeb44.cc} +1 -1
- ddfem/data/{view_af122c1df944c95cd395ec0f91d0f970.cc → 2.11.dev20250326/view_af122c1df944c95cd395ec0f91d0f970.cc} +1 -1
- ddfem/data/generate.py +18 -4
- {ddfem-1.0.6.dist-info → ddfem-1.0.7.dist-info}/METADATA +4 -2
- ddfem-1.0.7.dist-info/RECORD +94 -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_22e797a8f3e8c322f33c41e07bd15165_a524c1196983e65de1c06d7d6afdeb44.cc +0 -1445
- ddfem/data/localfunction_32613626342183eafa360dc1f0f18924_a524c1196983e65de1c06d7d6afdeb44.cc +0 -1425
- ddfem/data/localfunction_762aa49bc5a47ad3d8d8bbde36b42ee5_a524c1196983e65de1c06d7d6afdeb44.cc +0 -723
- ddfem/data/localfunction_b20910b6c8d57cb5e6a7ff4b89b91618_a524c1196983e65de1c06d7d6afdeb44.cc +0 -437
- 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.dev20250326/adapt_010e1455a389aa01992af42c0a3f4b14.cc} +0 -0
- /ddfem/data/{femscheme_f2a3cb32a864b08c0236366e732fb908.cc → 2.11.dev20250326/femscheme_f2a3cb32a864b08c0236366e732fb908.cc} +0 -0
- /ddfem/data/{femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563.cc → 2.11.dev20250326/femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563.cc} +0 -0
- /ddfem/data/{hierarchicalgrid_d827e80243feae36e8b9006bb24207e7.cc → 2.11.dev20250326/hierarchicalgrid_d827e80243feae36e8b9006bb24207e7.cc} +0 -0
- /ddfem/data/{indexset_e9c0cdc96a4fc702a0969c29910954e6.cc → 2.11.dev20250326/indexset_e9c0cdc96a4fc702a0969c29910954e6.cc} +0 -0
- /ddfem/data/{integrands_008eefa148b772fa3192dd3c1728c140v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/integrands_008eefa148b772fa3192dd3c1728c140v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{integrands_2339be3c67df1d67b18125c34ced69c2v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/integrands_2339be3c67df1d67b18125c34ced69c2v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{integrands_3bde0abfafcf45a3cff4d1029568ab5cv1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/integrands_3bde0abfafcf45a3cff4d1029568ab5cv1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_00f2e5593eeb23f01906255d67244f6e_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_00f2e5593eeb23f01906255d67244f6e_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_0cb4ca9e24e2891510640b0737aaab21_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_0cb4ca9e24e2891510640b0737aaab21_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_0f7b2106478c5d2af781b1f377a180d2_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_0f7b2106478c5d2af781b1f377a180d2_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_10ad0a2d88c74db5f4bf5f81e138974f_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_10ad0a2d88c74db5f4bf5f81e138974f_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_191355e6250b2d2e260d96f519ad9976_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_191355e6250b2d2e260d96f519ad9976_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_1d13146d4bff10e178aba773fe2a9f1d_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_1d13146d4bff10e178aba773fe2a9f1d_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_1d27a90a52b9053192c9cc902283f79b_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_1d27a90a52b9053192c9cc902283f79b_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_2021505441469e99dd3c9b164e083239_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_2021505441469e99dd3c9b164e083239_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_228c55d163ca194a905826bcc20fcbc0_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_228c55d163ca194a905826bcc20fcbc0_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_2a97db5a6a479d02138a836cb0890cf2_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_2a97db5a6a479d02138a836cb0890cf2_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_3e323e81c52891c0ecb656eac273e52f_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_3e323e81c52891c0ecb656eac273e52f_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_42ff56710f3bd510798ecabb32a6cbf0_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_42ff56710f3bd510798ecabb32a6cbf0_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_42ff56710f3bd510798ecabb32a6cbf0_af122c1df944c95cd395ec0f91d0f970.cc → 2.11.dev20250326/localfunction_42ff56710f3bd510798ecabb32a6cbf0_af122c1df944c95cd395ec0f91d0f970.cc} +0 -0
- /ddfem/data/{localfunction_4484607e3f9bd9999dbd7bb9d595a7b2_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_4484607e3f9bd9999dbd7bb9d595a7b2_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_6363af791dde11d699a9a3d876cc5d9a_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_6363af791dde11d699a9a3d876cc5d9a_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_65bda5736a84d4aa0ef2d48ebcc90ed5_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_65bda5736a84d4aa0ef2d48ebcc90ed5_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_7d81d496538f240d504e5597484ee746_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_7d81d496538f240d504e5597484ee746_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_83d9e6dd70d1c31c973224e210cc36b4_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_83d9e6dd70d1c31c973224e210cc36b4_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_86a0670f34bf2ac8155423a1c1bc2e75_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_86a0670f34bf2ac8155423a1c1bc2e75_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_a46a988b5d8571e80fd401a36d7341b7_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_a46a988b5d8571e80fd401a36d7341b7_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_a854465b265a1a51dacb4f71f7eeb06b_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_a854465b265a1a51dacb4f71f7eeb06b_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_a8c726f728cd35d137188b33301aeef1_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_a8c726f728cd35d137188b33301aeef1_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_a9bb07439605d560b583608f20441342_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_a9bb07439605d560b583608f20441342_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_ae8173bdb67b8ea50ce75c3912841100_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_ae8173bdb67b8ea50ce75c3912841100_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_aeb3d963412cdc65630e0a4c3c0dde0f_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_aeb3d963412cdc65630e0a4c3c0dde0f_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_b8239bf849ec7c1903f627833e6dac5a_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_b8239bf849ec7c1903f627833e6dac5a_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_bcafb581216501f273e23c0e26cd57af_af122c1df944c95cd395ec0f91d0f970.cc → 2.11.dev20250326/localfunction_bcafb581216501f273e23c0e26cd57af_af122c1df944c95cd395ec0f91d0f970.cc} +0 -0
- /ddfem/data/{localfunction_bdfb7ddf42a423f7d0791458634d4b8f_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_bdfb7ddf42a423f7d0791458634d4b8f_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_d0f33c2dc1ae0e619d85a7621c8e83a6_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_d0f33c2dc1ae0e619d85a7621c8e83a6_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_d75993d7ae5919d23117b153e900840d_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_d75993d7ae5919d23117b153e900840d_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_e85b93fe9b8fcd40ee82782fc600b65b_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_e85b93fe9b8fcd40ee82782fc600b65b_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_f4b1d42cbb447375f39ed834570cd3f0_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_f4b1d42cbb447375f39ed834570cd3f0_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
- /ddfem/data/{referenceelements_0fff57b283123cc055345ec95574c857.cc → 2.11.dev20250326/referenceelements_0fff57b283123cc055345ec95574c857.cc} +0 -0
- /ddfem/data/{referenceelements_de274310a0055100b832a0e8892b0258.cc → 2.11.dev20250326/referenceelements_de274310a0055100b832a0e8892b0258.cc} +0 -0
- /ddfem/data/{referenceelements_f4457f35395151d83a965d4cf5fce70d.cc → 2.11.dev20250326/referenceelements_f4457f35395151d83a965d4cf5fce70d.cc} +0 -0
- {ddfem-1.0.6.dist-info → ddfem-1.0.7.dist-info}/WHEEL +0 -0
- {ddfem-1.0.6.dist-info → ddfem-1.0.7.dist-info}/licenses/LICENSE +0 -0
- {ddfem-1.0.6.dist-info → ddfem-1.0.7.dist-info}/top_level.txt +0 -0
ddfem/__main__.py
CHANGED
@@ -5,13 +5,33 @@ 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
|
12
29
|
builder.initialize()
|
13
30
|
|
14
|
-
|
31
|
+
femVersion = getVersion()
|
32
|
+
|
33
|
+
dataPath = os.path.join(ddfem.__path__[0],"data",femVersion)
|
34
|
+
print(f"obtaining data from {dataPath}")
|
15
35
|
with FemThreadPoolExecutor(max_workers=8) as executor:
|
16
36
|
for file in os.listdir(dataPath):
|
17
37
|
filename = os.path.join(dataPath,os.fsdecode(file))
|
@@ -21,4 +41,3 @@ def main():
|
|
21
41
|
|
22
42
|
if __name__ == "__main__":
|
23
43
|
main()
|
24
|
-
|
@@ -1,5 +1,5 @@
|
|
1
|
-
#ifndef
|
2
|
-
#define
|
1
|
+
#ifndef GuardIntegrands_35d2bd9aedbe0c70a7d3804f461aa3a2v1_3
|
2
|
+
#define GuardIntegrands_35d2bd9aedbe0c70a7d3804f461aa3a2v1_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_35d2bd9aedbe0c70a7d3804f461aa3a2v1_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_35d2bd9aedbe0c70a7d3804f461aa3a2v1_3
|
518
518
|
|
519
|
-
PYBIND11_MODULE(
|
519
|
+
PYBIND11_MODULE( integrands_35d2bd9aedbe0c70a7d3804f461aa3a2v1_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_35d2bd9aedbe0c70a7d3804f461aa3a2v1_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_35d2bd9aedbe0c70a7d3804f461aa3a2v1_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_35d2bd9aedbe0c70a7d3804f461aa3a2v1_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_35d2bd9aedbe0c70a7d3804f461aa3a2v1_3
|
@@ -1,5 +1,5 @@
|
|
1
|
-
#ifndef
|
2
|
-
#define
|
1
|
+
#ifndef GuardIntegrands_6da979bc28230b7c9b9703e3f1014016v1_3
|
2
|
+
#define GuardIntegrands_6da979bc28230b7c9b9703e3f1014016v1_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_6da979bc28230b7c9b9703e3f1014016v1_3
|
25
25
|
{
|
26
26
|
|
27
27
|
|
@@ -30,7 +30,7 @@ namespace Integrands_1da925f6548e47811d4ee37ac8afd85ev1_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_1da925f6548e47811d4ee37ac8afd85ev1_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,7 +106,7 @@ namespace Integrands_1da925f6548e47811d4ee37ac8afd85ev1_3
|
|
106
106
|
using std::sin;
|
107
107
|
double tmp0 = constant< 0 >();
|
108
108
|
const auto tmp1 = std::pow( tmp0, 3 );
|
109
|
-
typename CoefficientFunctionSpaceType<
|
109
|
+
typename CoefficientFunctionSpaceType< 3 >::RangeType tmp2 = evaluateCoefficient< 3 >( x );
|
110
110
|
const auto tmp3 = 1e-10 + tmp2[ 0 ];
|
111
111
|
typename CoefficientFunctionSpaceType< 0 >::RangeType tmp4 = evaluateCoefficient< 0 >( x );
|
112
112
|
const auto tmp5 = 3.141592653589793 * tmp4[ 1 ];
|
@@ -119,7 +119,7 @@ namespace Integrands_1da925f6548e47811d4ee37ac8afd85ev1_3
|
|
119
119
|
const auto tmp12 = tmp11[ 0 ] + tmp10;
|
120
120
|
const auto tmp13 = tmp2[ 0 ] * tmp12;
|
121
121
|
const auto tmp14 = tmp13 / tmp3;
|
122
|
-
typename CoefficientFunctionSpaceType<
|
122
|
+
typename CoefficientFunctionSpaceType< 4 >::RangeType tmp15 = evaluateCoefficient< 4 >( x );
|
123
123
|
const auto tmp16 = -1 * tmp15[ 0 ];
|
124
124
|
const auto tmp17 = 1 + tmp16;
|
125
125
|
const auto tmp18 = tmp17 * tmp14;
|
@@ -170,10 +170,10 @@ namespace Integrands_1da925f6548e47811d4ee37ac8afd85ev1_3
|
|
170
170
|
using std::pow;
|
171
171
|
double tmp0 = constant< 0 >();
|
172
172
|
const auto tmp1 = std::pow( tmp0, 3 );
|
173
|
-
typename CoefficientFunctionSpaceType<
|
173
|
+
typename CoefficientFunctionSpaceType< 3 >::RangeType tmp2 = evaluateCoefficient< 3 >( x );
|
174
174
|
const auto tmp3 = 1e-10 + tmp2[ 0 ];
|
175
175
|
const auto tmp4 = tmp2[ 0 ] / tmp3;
|
176
|
-
typename CoefficientFunctionSpaceType<
|
176
|
+
typename CoefficientFunctionSpaceType< 4 >::RangeType tmp5 = evaluateCoefficient< 4 >( x );
|
177
177
|
const auto tmp6 = -1 * tmp5[ 0 ];
|
178
178
|
const auto tmp7 = 1 + tmp6;
|
179
179
|
const auto tmp8 = tmp7 * tmp4;
|
@@ -431,23 +431,23 @@ namespace Integrands_1da925f6548e47811d4ee37ac8afd85ev1_3
|
|
431
431
|
EntityType entity_;
|
432
432
|
IntersectionType intersection_;
|
433
433
|
ConstantTupleType constants_;
|
434
|
-
std::tuple< Dune::Fem::ConstLocalFunction< Coeffbndproj >, Dune::Fem::ConstLocalFunction< Coeffextproj >, Dune::Fem::ConstLocalFunction< Coeffsdfprojfull >, Dune::Fem::ConstLocalFunction<
|
434
|
+
std::tuple< Dune::Fem::ConstLocalFunction< Coeffbndproj >, Dune::Fem::ConstLocalFunction< Coeffextproj >, Dune::Fem::ConstLocalFunction< Coeffsdfprojfull >, Dune::Fem::ConstLocalFunction< CoeffsdfprojfullA >, Dune::Fem::ConstLocalFunction< Coeffphidomain > > coefficients_;
|
435
435
|
};
|
436
436
|
|
437
|
-
} // namespace
|
437
|
+
} // namespace Integrands_6da979bc28230b7c9b9703e3f1014016v1_3
|
438
438
|
|
439
|
-
PYBIND11_MODULE(
|
439
|
+
PYBIND11_MODULE( integrands_6da979bc28230b7c9b9703e3f1014016v1_3_a524c1196983e65de1c06d7d6afdeb44, module )
|
440
440
|
{
|
441
441
|
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;
|
442
|
-
typedef
|
442
|
+
typedef Integrands_6da979bc28230b7c9b9703e3f1014016v1_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;
|
443
443
|
if constexpr( Integrands::gridPartValid )
|
444
444
|
{
|
445
|
-
auto cls = Dune::Python::insertClass<Integrands>(module,"Integrands",Dune::Python::GenerateTypeName("
|
445
|
+
auto cls = Dune::Python::insertClass<Integrands>(module,"Integrands",Dune::Python::GenerateTypeName("Integrands_6da979bc28230b7c9b9703e3f1014016v1_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_6da979bc28230b7c9b9703e3f1014016v1_3_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
|
446
446
|
Dune::FemPy::registerIntegrands< Integrands >( module, cls );
|
447
|
-
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 > > &
|
447
|
+
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 >() );
|
448
448
|
cls.def_property( "epsilon", [] ( Integrands &self ) -> Integrands::Conepsilon { return self.conepsilon(); }, [] ( Integrands &self, const Integrands::Conepsilon &v ) { self.conepsilon() = v; } );
|
449
449
|
cls.def_property_readonly( "virtualized", [] ( Integrands& ) -> bool { return true;});
|
450
450
|
cls.def_property_readonly( "hasDirichletBoundary", [] ( Integrands& ) -> bool { return true;});
|
451
451
|
}
|
452
452
|
}
|
453
|
-
#endif //
|
453
|
+
#endif // GuardIntegrands_6da979bc28230b7c9b9703e3f1014016v1_3
|
@@ -1,5 +1,5 @@
|
|
1
|
-
#ifndef
|
2
|
-
#define
|
1
|
+
#ifndef GuardIntegrands_8d076606b6431bd52818b74371b326fev1_3
|
2
|
+
#define GuardIntegrands_8d076606b6431bd52818b74371b326fev1_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_8d076606b6431bd52818b74371b326fev1_3
|
25
25
|
{
|
26
26
|
|
27
27
|
|
@@ -30,7 +30,7 @@ namespace Integrands_5d65834d43b1dbae0ceafbcc9ec60542v1_3
|
|
30
30
|
// Integrands
|
31
31
|
// ----------
|
32
32
|
|
33
|
-
template< class GridPart, 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_5d65834d43b1dbae0ceafbcc9ec60542v1_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<
|
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<
|
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
|
63
|
-
: coefficients_( 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,9 +106,9 @@ namespace Integrands_5d65834d43b1dbae0ceafbcc9ec60542v1_3
|
|
106
106
|
using std::sin;
|
107
107
|
double tmp0 = constant< 0 >();
|
108
108
|
const auto tmp1 = std::pow( tmp0, 3 );
|
109
|
-
typename CoefficientFunctionSpaceType<
|
109
|
+
typename CoefficientFunctionSpaceType< 3 >::RangeType tmp2 = evaluateCoefficient< 3 >( x );
|
110
110
|
const auto tmp3 = 1e-10 + tmp2[ 0 ];
|
111
|
-
typename CoefficientFunctionSpaceType<
|
111
|
+
typename CoefficientFunctionSpaceType< 0 >::RangeType tmp4 = evaluateCoefficient< 0 >( x );
|
112
112
|
const auto tmp5 = 3.141592653589793 * tmp4[ 1 ];
|
113
113
|
const auto tmp6 = std::sin( tmp5 );
|
114
114
|
const auto tmp7 = 3.141592653589793 * tmp4[ 0 ];
|
@@ -119,7 +119,7 @@ namespace Integrands_5d65834d43b1dbae0ceafbcc9ec60542v1_3
|
|
119
119
|
const auto tmp12 = tmp11[ 0 ] + tmp10;
|
120
120
|
const auto tmp13 = tmp2[ 0 ] * tmp12;
|
121
121
|
const auto tmp14 = tmp13 / tmp3;
|
122
|
-
typename CoefficientFunctionSpaceType<
|
122
|
+
typename CoefficientFunctionSpaceType< 4 >::RangeType tmp15 = evaluateCoefficient< 4 >( x );
|
123
123
|
const auto tmp16 = -1 * tmp15[ 0 ];
|
124
124
|
const auto tmp17 = 1 + tmp16;
|
125
125
|
const auto tmp18 = tmp17 * tmp14;
|
@@ -130,7 +130,7 @@ namespace Integrands_5d65834d43b1dbae0ceafbcc9ec60542v1_3
|
|
130
130
|
const auto tmp23 = 0.1 * tmp20;
|
131
131
|
const auto tmp24 = 0.01 * tmp11[ 0 ];
|
132
132
|
const auto tmp25 = -1 * tmp24;
|
133
|
-
typename CoefficientFunctionSpaceType<
|
133
|
+
typename CoefficientFunctionSpaceType< 1 >::RangeType tmp26 = evaluateCoefficient< 1 >( x );
|
134
134
|
const auto tmp27 = tmp26[ 1 ] * tmp26[ 1 ];
|
135
135
|
const auto tmp28 = tmp26[ 0 ] * tmp26[ 0 ];
|
136
136
|
const auto tmp29 = tmp28 + tmp27;
|
@@ -170,10 +170,10 @@ namespace Integrands_5d65834d43b1dbae0ceafbcc9ec60542v1_3
|
|
170
170
|
using std::pow;
|
171
171
|
double tmp0 = constant< 0 >();
|
172
172
|
const auto tmp1 = std::pow( tmp0, 3 );
|
173
|
-
typename CoefficientFunctionSpaceType<
|
173
|
+
typename CoefficientFunctionSpaceType< 3 >::RangeType tmp2 = evaluateCoefficient< 3 >( x );
|
174
174
|
const auto tmp3 = 1e-10 + tmp2[ 0 ];
|
175
175
|
const auto tmp4 = tmp2[ 0 ] / tmp3;
|
176
|
-
typename CoefficientFunctionSpaceType<
|
176
|
+
typename CoefficientFunctionSpaceType< 4 >::RangeType tmp5 = evaluateCoefficient< 4 >( x );
|
177
177
|
const auto tmp6 = -1 * tmp5[ 0 ];
|
178
178
|
const auto tmp7 = 1 + tmp6;
|
179
179
|
const auto tmp8 = tmp7 * tmp4;
|
@@ -186,7 +186,7 @@ namespace Integrands_5d65834d43b1dbae0ceafbcc9ec60542v1_3
|
|
186
186
|
const auto tmp15 = tmp14 + tmp13;
|
187
187
|
const auto tmp16 = -1 * tmp15;
|
188
188
|
const auto tmp17 = tmp16 + tmp12;
|
189
|
-
typename CoefficientFunctionSpaceType<
|
189
|
+
typename CoefficientFunctionSpaceType< 1 >::RangeType tmp18 = evaluateCoefficient< 1 >( x );
|
190
190
|
const auto tmp19 = 3 * tmp18[ 1 ];
|
191
191
|
const auto tmp20 = tmp5[ 0 ] * tmp19;
|
192
192
|
const auto tmp21 = -1 * tmp20;
|
@@ -291,7 +291,7 @@ namespace Integrands_5d65834d43b1dbae0ceafbcc9ec60542v1_3
|
|
291
291
|
using std::sin;
|
292
292
|
typename CoefficientFunctionSpaceType< 2 >::RangeType tmp0 = evaluateCoefficient< 2 >( x );
|
293
293
|
const auto tmp1 = 1e-10 + tmp0[ 0 ];
|
294
|
-
typename CoefficientFunctionSpaceType<
|
294
|
+
typename CoefficientFunctionSpaceType< 0 >::RangeType tmp2 = evaluateCoefficient< 0 >( x );
|
295
295
|
const auto tmp3 = 3.141592653589793 * tmp2[ 1 ];
|
296
296
|
const auto tmp4 = std::sin( tmp3 );
|
297
297
|
const auto tmp5 = 3.141592653589793 * tmp2[ 0 ];
|
@@ -322,7 +322,7 @@ namespace Integrands_5d65834d43b1dbae0ceafbcc9ec60542v1_3
|
|
322
322
|
using std::sin;
|
323
323
|
typename CoefficientFunctionSpaceType< 2 >::RangeType tmp0 = evaluateCoefficient< 2 >( x );
|
324
324
|
const auto tmp1 = 1e-10 + tmp0[ 0 ];
|
325
|
-
typename CoefficientFunctionSpaceType<
|
325
|
+
typename CoefficientFunctionSpaceType< 0 >::RangeType tmp2 = evaluateCoefficient< 0 >( x );
|
326
326
|
const auto tmp3 = 3.141592653589793 * tmp2[ 1 ];
|
327
327
|
const auto tmp4 = std::sin( tmp3 );
|
328
328
|
const auto tmp5 = 3.141592653589793 * tmp2[ 0 ];
|
@@ -336,7 +336,7 @@ namespace Integrands_5d65834d43b1dbae0ceafbcc9ec60542v1_3
|
|
336
336
|
const auto tmp13 = -1 * tmp12;
|
337
337
|
const auto tmp14 = (tmp11[ 0 ])[ 0 ] * tmp8;
|
338
338
|
const auto tmp15 = std::cos( tmp5 );
|
339
|
-
typename CoefficientFunctionSpaceType<
|
339
|
+
typename CoefficientFunctionSpaceType< 0 >::JacobianRangeType tmp16 = jacobianCoefficient< 0 >( x );
|
340
340
|
const auto tmp17 = 3.141592653589793 * (tmp16[ 0 ])[ 0 ];
|
341
341
|
const auto tmp18 = tmp17 * tmp15;
|
342
342
|
const auto tmp19 = tmp18 * tmp4;
|
@@ -431,23 +431,23 @@ namespace Integrands_5d65834d43b1dbae0ceafbcc9ec60542v1_3
|
|
431
431
|
EntityType entity_;
|
432
432
|
IntersectionType intersection_;
|
433
433
|
ConstantTupleType constants_;
|
434
|
-
std::tuple< Dune::Fem::ConstLocalFunction<
|
434
|
+
std::tuple< Dune::Fem::ConstLocalFunction< Coeffbndproj >, Dune::Fem::ConstLocalFunction< Coeffextproj >, Dune::Fem::ConstLocalFunction< Coeffsdfprojfull >, Dune::Fem::ConstLocalFunction< CoeffsdfprojfullA >, Dune::Fem::ConstLocalFunction< Coeffphidomain > > coefficients_;
|
435
435
|
};
|
436
436
|
|
437
|
-
} // namespace
|
437
|
+
} // namespace Integrands_8d076606b6431bd52818b74371b326fev1_3
|
438
438
|
|
439
|
-
PYBIND11_MODULE(
|
439
|
+
PYBIND11_MODULE( integrands_8d076606b6431bd52818b74371b326fev1_3_a524c1196983e65de1c06d7d6afdeb44, module )
|
440
440
|
{
|
441
441
|
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;
|
442
|
-
typedef
|
442
|
+
typedef Integrands_8d076606b6431bd52818b74371b326fev1_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;
|
443
443
|
if constexpr( Integrands::gridPartValid )
|
444
444
|
{
|
445
|
-
auto cls = Dune::Python::insertClass<Integrands>(module,"Integrands",Dune::Python::GenerateTypeName("
|
445
|
+
auto cls = Dune::Python::insertClass<Integrands>(module,"Integrands",Dune::Python::GenerateTypeName("Integrands_8d076606b6431bd52818b74371b326fev1_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_8d076606b6431bd52818b74371b326fev1_3_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
|
446
446
|
Dune::FemPy::registerIntegrands< Integrands >( module, cls );
|
447
|
-
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 > > &
|
447
|
+
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 >() );
|
448
448
|
cls.def_property( "epsilon", [] ( Integrands &self ) -> Integrands::Conepsilon { return self.conepsilon(); }, [] ( Integrands &self, const Integrands::Conepsilon &v ) { self.conepsilon() = v; } );
|
449
449
|
cls.def_property_readonly( "virtualized", [] ( Integrands& ) -> bool { return true;});
|
450
450
|
cls.def_property_readonly( "hasDirichletBoundary", [] ( Integrands& ) -> bool { return true;});
|
451
451
|
}
|
452
452
|
}
|
453
|
-
#endif //
|
453
|
+
#endif // GuardIntegrands_8d076606b6431bd52818b74371b326fev1_3
|