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.
Files changed (68) hide show
  1. ddfem/__main__.py +21 -2
  2. ddfem/data/{integrands_cf38a832d97016edac4179e31ea45a48v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/integrands_35d2bd9aedbe0c70a7d3804f461aa3a2v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +21 -21
  3. ddfem/data/{integrands_1da925f6548e47811d4ee37ac8afd85ev1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/integrands_6da979bc28230b7c9b9703e3f1014016v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +19 -19
  4. ddfem/data/{integrands_5d65834d43b1dbae0ceafbcc9ec60542v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/integrands_8d076606b6431bd52818b74371b326fev1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +25 -25
  5. ddfem/data/{integrands_472696f050a50e3f5017ab5ecdab564bv1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/integrands_c7ee79ef352597693466ebc895f89b17v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +21 -21
  6. ddfem/data/{localfunction_33933b99fbea8227fedf6cfb180ea878_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_82d7cb9338bf118426fac2abf41a91a4_a524c1196983e65de1c06d7d6afdeb44.cc} +22 -22
  7. ddfem/data/{view_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/view_a524c1196983e65de1c06d7d6afdeb44.cc} +1 -1
  8. ddfem/data/{view_af122c1df944c95cd395ec0f91d0f970.cc → 2.11.dev20250326/view_af122c1df944c95cd395ec0f91d0f970.cc} +1 -1
  9. ddfem/data/generate.py +18 -4
  10. {ddfem-1.0.6.dist-info → ddfem-1.0.7.dist-info}/METADATA +4 -2
  11. ddfem-1.0.7.dist-info/RECORD +94 -0
  12. ddfem/data/integrands_00ee9b3b89e4e44212e5b7ad7948a24ev1_3_a524c1196983e65de1c06d7d6afdeb44.cc +0 -587
  13. ddfem/data/integrands_3a7c822d5ac1692781ee4bcf2964fce7v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +0 -409
  14. ddfem/data/integrands_9fbeb56ff6a7df9b8535d767ca7725d6v1_3_a524c1196983e65de1c06d7d6afdeb44.cc +0 -588
  15. ddfem/data/localfunction_22e797a8f3e8c322f33c41e07bd15165_a524c1196983e65de1c06d7d6afdeb44.cc +0 -1445
  16. ddfem/data/localfunction_32613626342183eafa360dc1f0f18924_a524c1196983e65de1c06d7d6afdeb44.cc +0 -1425
  17. ddfem/data/localfunction_762aa49bc5a47ad3d8d8bbde36b42ee5_a524c1196983e65de1c06d7d6afdeb44.cc +0 -723
  18. ddfem/data/localfunction_b20910b6c8d57cb5e6a7ff4b89b91618_a524c1196983e65de1c06d7d6afdeb44.cc +0 -437
  19. ddfem/data/localfunction_dd1fb4bd60f2d8b3a062dbbdaedb9fee_a524c1196983e65de1c06d7d6afdeb44.cc +0 -869
  20. ddfem/data/localfunction_e6b6d8d3826590442cc40f3834124254_a524c1196983e65de1c06d7d6afdeb44.cc +0 -553
  21. ddfem-1.0.6.dist-info/RECORD +0 -103
  22. /ddfem/data/{adapt_010e1455a389aa01992af42c0a3f4b14.cc → 2.11.dev20250326/adapt_010e1455a389aa01992af42c0a3f4b14.cc} +0 -0
  23. /ddfem/data/{femscheme_f2a3cb32a864b08c0236366e732fb908.cc → 2.11.dev20250326/femscheme_f2a3cb32a864b08c0236366e732fb908.cc} +0 -0
  24. /ddfem/data/{femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563.cc → 2.11.dev20250326/femspace_4ff9049b6f297245e5d33296d14cd684_d5b136dbe3c5077b69c99b8c322eb563.cc} +0 -0
  25. /ddfem/data/{hierarchicalgrid_d827e80243feae36e8b9006bb24207e7.cc → 2.11.dev20250326/hierarchicalgrid_d827e80243feae36e8b9006bb24207e7.cc} +0 -0
  26. /ddfem/data/{indexset_e9c0cdc96a4fc702a0969c29910954e6.cc → 2.11.dev20250326/indexset_e9c0cdc96a4fc702a0969c29910954e6.cc} +0 -0
  27. /ddfem/data/{integrands_008eefa148b772fa3192dd3c1728c140v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/integrands_008eefa148b772fa3192dd3c1728c140v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  28. /ddfem/data/{integrands_2339be3c67df1d67b18125c34ced69c2v1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/integrands_2339be3c67df1d67b18125c34ced69c2v1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  29. /ddfem/data/{integrands_3bde0abfafcf45a3cff4d1029568ab5cv1_3_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/integrands_3bde0abfafcf45a3cff4d1029568ab5cv1_3_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  30. /ddfem/data/{localfunction_00f2e5593eeb23f01906255d67244f6e_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_00f2e5593eeb23f01906255d67244f6e_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  31. /ddfem/data/{localfunction_0cb4ca9e24e2891510640b0737aaab21_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_0cb4ca9e24e2891510640b0737aaab21_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  32. /ddfem/data/{localfunction_0f7b2106478c5d2af781b1f377a180d2_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_0f7b2106478c5d2af781b1f377a180d2_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  33. /ddfem/data/{localfunction_10ad0a2d88c74db5f4bf5f81e138974f_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_10ad0a2d88c74db5f4bf5f81e138974f_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  34. /ddfem/data/{localfunction_191355e6250b2d2e260d96f519ad9976_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_191355e6250b2d2e260d96f519ad9976_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  35. /ddfem/data/{localfunction_1d13146d4bff10e178aba773fe2a9f1d_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_1d13146d4bff10e178aba773fe2a9f1d_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  36. /ddfem/data/{localfunction_1d27a90a52b9053192c9cc902283f79b_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_1d27a90a52b9053192c9cc902283f79b_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  37. /ddfem/data/{localfunction_2021505441469e99dd3c9b164e083239_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_2021505441469e99dd3c9b164e083239_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  38. /ddfem/data/{localfunction_228c55d163ca194a905826bcc20fcbc0_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_228c55d163ca194a905826bcc20fcbc0_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  39. /ddfem/data/{localfunction_2a97db5a6a479d02138a836cb0890cf2_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_2a97db5a6a479d02138a836cb0890cf2_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  40. /ddfem/data/{localfunction_3e323e81c52891c0ecb656eac273e52f_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_3e323e81c52891c0ecb656eac273e52f_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  41. /ddfem/data/{localfunction_42ff56710f3bd510798ecabb32a6cbf0_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_42ff56710f3bd510798ecabb32a6cbf0_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  42. /ddfem/data/{localfunction_42ff56710f3bd510798ecabb32a6cbf0_af122c1df944c95cd395ec0f91d0f970.cc → 2.11.dev20250326/localfunction_42ff56710f3bd510798ecabb32a6cbf0_af122c1df944c95cd395ec0f91d0f970.cc} +0 -0
  43. /ddfem/data/{localfunction_4484607e3f9bd9999dbd7bb9d595a7b2_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_4484607e3f9bd9999dbd7bb9d595a7b2_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  44. /ddfem/data/{localfunction_6363af791dde11d699a9a3d876cc5d9a_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_6363af791dde11d699a9a3d876cc5d9a_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  45. /ddfem/data/{localfunction_65bda5736a84d4aa0ef2d48ebcc90ed5_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_65bda5736a84d4aa0ef2d48ebcc90ed5_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  46. /ddfem/data/{localfunction_7d81d496538f240d504e5597484ee746_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_7d81d496538f240d504e5597484ee746_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  47. /ddfem/data/{localfunction_83d9e6dd70d1c31c973224e210cc36b4_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_83d9e6dd70d1c31c973224e210cc36b4_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  48. /ddfem/data/{localfunction_86a0670f34bf2ac8155423a1c1bc2e75_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_86a0670f34bf2ac8155423a1c1bc2e75_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  49. /ddfem/data/{localfunction_a46a988b5d8571e80fd401a36d7341b7_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_a46a988b5d8571e80fd401a36d7341b7_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  50. /ddfem/data/{localfunction_a854465b265a1a51dacb4f71f7eeb06b_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_a854465b265a1a51dacb4f71f7eeb06b_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  51. /ddfem/data/{localfunction_a8c726f728cd35d137188b33301aeef1_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_a8c726f728cd35d137188b33301aeef1_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  52. /ddfem/data/{localfunction_a9bb07439605d560b583608f20441342_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_a9bb07439605d560b583608f20441342_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  53. /ddfem/data/{localfunction_ae8173bdb67b8ea50ce75c3912841100_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_ae8173bdb67b8ea50ce75c3912841100_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  54. /ddfem/data/{localfunction_aeb3d963412cdc65630e0a4c3c0dde0f_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_aeb3d963412cdc65630e0a4c3c0dde0f_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  55. /ddfem/data/{localfunction_b8239bf849ec7c1903f627833e6dac5a_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_b8239bf849ec7c1903f627833e6dac5a_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  56. /ddfem/data/{localfunction_bcafb581216501f273e23c0e26cd57af_af122c1df944c95cd395ec0f91d0f970.cc → 2.11.dev20250326/localfunction_bcafb581216501f273e23c0e26cd57af_af122c1df944c95cd395ec0f91d0f970.cc} +0 -0
  57. /ddfem/data/{localfunction_bdfb7ddf42a423f7d0791458634d4b8f_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_bdfb7ddf42a423f7d0791458634d4b8f_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  58. /ddfem/data/{localfunction_d0f33c2dc1ae0e619d85a7621c8e83a6_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_d0f33c2dc1ae0e619d85a7621c8e83a6_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  59. /ddfem/data/{localfunction_d75993d7ae5919d23117b153e900840d_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_d75993d7ae5919d23117b153e900840d_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  60. /ddfem/data/{localfunction_e85b93fe9b8fcd40ee82782fc600b65b_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_e85b93fe9b8fcd40ee82782fc600b65b_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  61. /ddfem/data/{localfunction_f4b1d42cbb447375f39ed834570cd3f0_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_f4b1d42cbb447375f39ed834570cd3f0_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  62. /ddfem/data/{localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44.cc → 2.11.dev20250326/localfunction_f626cd43dc8558135fe0b32cde016644_a524c1196983e65de1c06d7d6afdeb44.cc} +0 -0
  63. /ddfem/data/{referenceelements_0fff57b283123cc055345ec95574c857.cc → 2.11.dev20250326/referenceelements_0fff57b283123cc055345ec95574c857.cc} +0 -0
  64. /ddfem/data/{referenceelements_de274310a0055100b832a0e8892b0258.cc → 2.11.dev20250326/referenceelements_de274310a0055100b832a0e8892b0258.cc} +0 -0
  65. /ddfem/data/{referenceelements_f4457f35395151d83a965d4cf5fce70d.cc → 2.11.dev20250326/referenceelements_f4457f35395151d83a965d4cf5fce70d.cc} +0 -0
  66. {ddfem-1.0.6.dist-info → ddfem-1.0.7.dist-info}/WHEEL +0 -0
  67. {ddfem-1.0.6.dist-info → ddfem-1.0.7.dist-info}/licenses/LICENSE +0 -0
  68. {ddfem-1.0.6.dist-info → ddfem-1.0.7.dist-info}/top_level.txt +0 -0
@@ -1,723 +0,0 @@
1
- #ifndef GUARD_762aa49bc5a47ad3d8d8bbde36b42ee5
2
- #define GUARD_762aa49bc5a47ad3d8d8bbde36b42ee5
3
-
4
- #define USING_DUNE_PYTHON 1
5
- #include <config.h>
6
- #include <dune/alugrid/dgf.hh>
7
- #include <dune/alugrid/grid.hh>
8
- #include <dune/fem/gridpart/adaptiveleafgridpart.hh>
9
- #include <dune/fem/gridpart/filter/simple.hh>
10
- #include <dune/fem/gridpart/filteredgridpart.hh>
11
- #include <dune/fempy/py/gridview.hh>
12
- #include <dune/python/grid/gridview.hh>
13
- #include <dune/python/grid/hierarchical.hh>
14
- #include <dune/fem/function/localfunction/bindable.hh>
15
- #include <dune/fem/common/intersectionside.hh>
16
- #include <dune/python/pybind11/pybind11.h>
17
- #include <dune/python/pybind11/extensions.h>
18
- #include <dune/fempy/py/grid/gridpart.hh>
19
- #include <dune/common/exceptions.hh>
20
- #include <dune/fempy/py/ufllocalfunction.hh>
21
-
22
- namespace UFLLocalFunctions_762aa49bc5a47ad3d8d8bbde36b42ee5
23
- {
24
-
25
- // UFLLocalFunction
26
- // ----------------
27
-
28
- template< class GridPart >
29
- struct UFLLocalFunction
30
- : public Dune::Fem::BindableGridFunctionWithSpace<GridPart,Dune::Dim<1>>
31
- {
32
- typedef GridPart GridPartType;
33
- typedef typename GridPartType::GridViewType GridView;
34
- typedef typename GridView::ctype ctype;
35
- typedef Dune::Fem::BindableGridFunctionWithSpace<GridPart,Dune::Dim<1>> BaseType;
36
- typedef Dune::Fem::GridFunctionSpace<GridPartType,Dune::Dim<1>> FunctionSpaceType;
37
- typedef typename GridPartType::template Codim< 0 >::EntityType EntityType;
38
- typedef typename GridPartType::IntersectionType IntersectionType;
39
- typedef typename EntityType::Geometry Geometry;
40
- typedef typename Geometry::GlobalCoordinate GlobalCoordinateType;
41
- typedef Dune::Fem::IntersectionSide Side;
42
- typedef double Conepsilon;
43
- typedef std::tuple< std::shared_ptr< Conepsilon > > ConstantTupleType;
44
- template< std::size_t i >
45
- using ConstantsRangeType = typename std::tuple_element_t< i, ConstantTupleType >::element_type;
46
- typedef std::tuple<> CoefficientTupleType;
47
- static constexpr bool gridPartValid = true;
48
- template< std::size_t i >
49
- using CoefficientType = std::tuple_element_t< i, CoefficientTupleType >;
50
- template< std::size_t i >
51
- using ConstantType = typename std::tuple_element_t< i, ConstantTupleType >::element_type;
52
- using BaseType::entity;
53
- using BaseType::geometry;
54
-
55
- UFLLocalFunction ( const GridPartType &gridPart, const std::string &name, int order, const Dune::Fem::ParameterReader &parameter = Dune::Fem::Parameter::container() )
56
- : BaseType(gridPart,name,order)
57
- {
58
- std::get< 0 >( constants_ ) = std::make_shared< Conepsilon >( (Conepsilon(0)) );
59
- }
60
-
61
- void bind ( const IntersectionType &intersection, Side side )
62
- {
63
- BaseType::bind(intersection, side);
64
- }
65
-
66
- void bind ( const EntityType &entity )
67
- {
68
- BaseType::bind(entity);
69
- }
70
-
71
- void unbind ()
72
- {
73
- BaseType::unbind();
74
- }
75
-
76
- template< class Point >
77
- void evaluate ( const Point &x, typename FunctionSpaceType::RangeType &result ) const
78
- {
79
- using std::max;
80
- using std::min;
81
- using std::sqrt;
82
- using std::tanh;
83
- double tmp0 = constant< 0 >();
84
- GlobalCoordinateType tmp1 = geometry().global( Dune::Fem::coordinate( x ) );
85
- const auto tmp2 = -0.4 + tmp1[ 0 ];
86
- const auto tmp3 = tmp1[ 1 ] * tmp1[ 1 ];
87
- const auto tmp4 = tmp1[ 0 ] * tmp1[ 0 ];
88
- const auto tmp5 = tmp4 + tmp3;
89
- const auto tmp6 = 1e-10 + tmp5;
90
- const auto tmp7 = std::sqrt( tmp6 );
91
- const auto tmp8 = -1.4 + tmp7;
92
- const auto tmp9 = std::min( tmp8, tmp2 );
93
- const auto tmp10 = -1 * tmp1[ 0 ];
94
- const auto tmp11 = -0.4 + tmp10;
95
- const auto tmp12 = std::min( tmp8, tmp11 );
96
- const auto tmp13 = std::max( tmp12, tmp9 );
97
- const auto tmp14 = 1 + tmp1[ 0 ];
98
- const auto tmp15 = tmp14 * tmp14;
99
- const auto tmp16 = tmp3 + tmp15;
100
- const auto tmp17 = 1e-10 + tmp16;
101
- const auto tmp18 = std::sqrt( tmp17 );
102
- const auto tmp19 = -0.5 + tmp18;
103
- const auto tmp20 = -1 + tmp1[ 0 ];
104
- const auto tmp21 = tmp20 * tmp20;
105
- const auto tmp22 = tmp3 + tmp21;
106
- const auto tmp23 = 1e-10 + tmp22;
107
- const auto tmp24 = std::sqrt( tmp23 );
108
- const auto tmp25 = -0.5 + tmp24;
109
- const auto tmp26 = 0.8 + tmp1[ 1 ];
110
- const auto tmp27 = tmp26 * tmp26;
111
- const auto tmp28 = tmp4 + tmp27;
112
- const auto tmp29 = 1e-10 + tmp28;
113
- const auto tmp30 = std::sqrt( tmp29 );
114
- const auto tmp31 = -0.5 + tmp30;
115
- const auto tmp32 = -1 * tmp31;
116
- const auto tmp33 = -0.8 + tmp1[ 1 ];
117
- const auto tmp34 = tmp33 * tmp33;
118
- const auto tmp35 = tmp4 + tmp34;
119
- const auto tmp36 = 1e-10 + tmp35;
120
- const auto tmp37 = std::sqrt( tmp36 );
121
- const auto tmp38 = -0.5 + tmp37;
122
- const auto tmp39 = -1 * tmp38;
123
- const auto tmp40 = -1 + tmp7;
124
- const auto tmp41 = std::max( tmp40, tmp39 );
125
- const auto tmp42 = std::max( tmp41, tmp32 );
126
- const auto tmp43 = std::min( tmp42, tmp25 );
127
- const auto tmp44 = std::min( tmp43, tmp19 );
128
- const auto tmp45 = std::max( tmp44, tmp13 );
129
- const auto tmp46 = 3 * tmp45;
130
- const auto tmp47 = tmp46 / tmp0;
131
- const auto tmp48 = std::tanh( tmp47 );
132
- const auto tmp49 = -1 * tmp48;
133
- const auto tmp50 = 1 + tmp49;
134
- const auto tmp51 = 0.5 * tmp50;
135
- const auto tmp52 = 0.9999999999 * tmp51;
136
- const auto tmp53 = 1e-10 + tmp52;
137
- result[ 0 ] = tmp53;
138
- }
139
-
140
- template< class Point >
141
- void jacobian ( const Point &x, typename FunctionSpaceType::JacobianRangeType &result ) const
142
- {
143
- using std::cosh;
144
- using std::max;
145
- using std::min;
146
- using std::pow;
147
- using std::sqrt;
148
- double tmp0 = constant< 0 >();
149
- GlobalCoordinateType tmp1 = geometry().global( Dune::Fem::coordinate( x ) );
150
- const auto tmp2 = -0.4 + tmp1[ 0 ];
151
- const auto tmp3 = tmp1[ 1 ] * tmp1[ 1 ];
152
- const auto tmp4 = tmp1[ 0 ] * tmp1[ 0 ];
153
- const auto tmp5 = tmp4 + tmp3;
154
- const auto tmp6 = 1e-10 + tmp5;
155
- const auto tmp7 = std::sqrt( tmp6 );
156
- const auto tmp8 = -1.4 + tmp7;
157
- const auto tmp9 = std::min( tmp8, tmp2 );
158
- const auto tmp10 = -1 * tmp1[ 0 ];
159
- const auto tmp11 = -0.4 + tmp10;
160
- const auto tmp12 = std::min( tmp8, tmp11 );
161
- const auto tmp13 = std::max( tmp12, tmp9 );
162
- const auto tmp14 = 1 + tmp1[ 0 ];
163
- const auto tmp15 = tmp14 * tmp14;
164
- const auto tmp16 = tmp3 + tmp15;
165
- const auto tmp17 = 1e-10 + tmp16;
166
- const auto tmp18 = std::sqrt( tmp17 );
167
- const auto tmp19 = -0.5 + tmp18;
168
- const auto tmp20 = -1 + tmp1[ 0 ];
169
- const auto tmp21 = tmp20 * tmp20;
170
- const auto tmp22 = tmp3 + tmp21;
171
- const auto tmp23 = 1e-10 + tmp22;
172
- const auto tmp24 = std::sqrt( tmp23 );
173
- const auto tmp25 = -0.5 + tmp24;
174
- const auto tmp26 = 0.8 + tmp1[ 1 ];
175
- const auto tmp27 = tmp26 * tmp26;
176
- const auto tmp28 = tmp4 + tmp27;
177
- const auto tmp29 = 1e-10 + tmp28;
178
- const auto tmp30 = std::sqrt( tmp29 );
179
- const auto tmp31 = -0.5 + tmp30;
180
- const auto tmp32 = -1 * tmp31;
181
- const auto tmp33 = -0.8 + tmp1[ 1 ];
182
- const auto tmp34 = tmp33 * tmp33;
183
- const auto tmp35 = tmp4 + tmp34;
184
- const auto tmp36 = 1e-10 + tmp35;
185
- const auto tmp37 = std::sqrt( tmp36 );
186
- const auto tmp38 = -0.5 + tmp37;
187
- const auto tmp39 = -1 * tmp38;
188
- const auto tmp40 = -1 + tmp7;
189
- const auto tmp41 = std::max( tmp40, tmp39 );
190
- const auto tmp42 = std::max( tmp41, tmp32 );
191
- const auto tmp43 = std::min( tmp42, tmp25 );
192
- const auto tmp44 = std::min( tmp43, tmp19 );
193
- const auto tmp45 = std::max( tmp44, tmp13 );
194
- const auto tmp46 = 3 * tmp45;
195
- const auto tmp47 = tmp46 / tmp0;
196
- const auto tmp48 = 2.0 * tmp47;
197
- const auto tmp49 = std::cosh( tmp48 );
198
- const auto tmp50 = 1.0 + tmp49;
199
- const auto tmp51 = std::cosh( tmp47 );
200
- const auto tmp52 = 2.0 * tmp51;
201
- const auto tmp53 = tmp52 / tmp50;
202
- const auto tmp54 = std::pow( tmp53, 2 );
203
- const auto tmp55 = 2 * tmp7;
204
- const auto tmp56 = tmp1[ 0 ] + tmp1[ 0 ];
205
- const auto tmp57 = tmp56 / tmp55;
206
- const auto tmp58 = tmp57 * (tmp40 > tmp39 ? 1 : 0.0);
207
- const auto tmp59 = 2 * tmp37;
208
- const auto tmp60 = tmp56 / tmp59;
209
- const auto tmp61 = -1 * tmp60;
210
- const auto tmp62 = -1 * (tmp40 > tmp39 ? 1 : 0.0);
211
- const auto tmp63 = 1.0 + tmp62;
212
- const auto tmp64 = tmp63 * tmp61;
213
- const auto tmp65 = tmp64 + tmp58;
214
- const auto tmp66 = tmp65 * (tmp41 > tmp32 ? 1 : 0.0);
215
- const auto tmp67 = 2 * tmp30;
216
- const auto tmp68 = tmp56 / tmp67;
217
- const auto tmp69 = -1 * tmp68;
218
- const auto tmp70 = -1 * (tmp41 > tmp32 ? 1 : 0.0);
219
- const auto tmp71 = 1.0 + tmp70;
220
- const auto tmp72 = tmp71 * tmp69;
221
- const auto tmp73 = tmp72 + tmp66;
222
- const auto tmp74 = tmp73 * (tmp42 < tmp25 ? 1 : 0.0);
223
- const auto tmp75 = 2 * tmp24;
224
- const auto tmp76 = tmp20 + tmp20;
225
- const auto tmp77 = tmp76 / tmp75;
226
- const auto tmp78 = -1 * (tmp42 < tmp25 ? 1 : 0.0);
227
- const auto tmp79 = 1.0 + tmp78;
228
- const auto tmp80 = tmp79 * tmp77;
229
- const auto tmp81 = tmp80 + tmp74;
230
- const auto tmp82 = tmp81 * (tmp43 < tmp19 ? 1 : 0.0);
231
- const auto tmp83 = 2 * tmp18;
232
- const auto tmp84 = tmp14 + tmp14;
233
- const auto tmp85 = tmp84 / tmp83;
234
- const auto tmp86 = -1 * (tmp43 < tmp19 ? 1 : 0.0);
235
- const auto tmp87 = 1.0 + tmp86;
236
- const auto tmp88 = tmp87 * tmp85;
237
- const auto tmp89 = tmp88 + tmp82;
238
- const auto tmp90 = tmp89 * (tmp44 > tmp13 ? 1 : 0.0);
239
- const auto tmp91 = -1 * (tmp44 > tmp13 ? 1 : 0.0);
240
- const auto tmp92 = 1.0 + tmp91;
241
- const auto tmp93 = tmp57 * (tmp8 < tmp11 ? 1 : 0.0);
242
- const auto tmp94 = -1 * (tmp8 < tmp11 ? 1 : 0.0);
243
- const auto tmp95 = 1.0 + tmp94;
244
- const auto tmp96 = -1 * tmp95;
245
- const auto tmp97 = tmp96 + tmp93;
246
- const auto tmp98 = tmp97 * (tmp12 > tmp9 ? 1 : 0.0);
247
- const auto tmp99 = -1 * (tmp12 > tmp9 ? 1 : 0.0);
248
- const auto tmp100 = 1.0 + tmp99;
249
- const auto tmp101 = tmp57 * (tmp8 < tmp2 ? 1 : 0.0);
250
- const auto tmp102 = -1 * (tmp8 < tmp2 ? 1 : 0.0);
251
- const auto tmp103 = 1.0 + tmp102;
252
- const auto tmp104 = tmp103 + tmp101;
253
- const auto tmp105 = tmp104 * tmp100;
254
- const auto tmp106 = tmp105 + tmp98;
255
- const auto tmp107 = tmp106 * tmp92;
256
- const auto tmp108 = tmp107 + tmp90;
257
- const auto tmp109 = 3 * tmp108;
258
- const auto tmp110 = tmp109 / tmp0;
259
- const auto tmp111 = tmp110 * tmp54;
260
- const auto tmp112 = -1 * tmp111;
261
- const auto tmp113 = 0.5 * tmp112;
262
- const auto tmp114 = 0.9999999999 * tmp113;
263
- const auto tmp115 = tmp1[ 1 ] + tmp1[ 1 ];
264
- const auto tmp116 = tmp115 / tmp55;
265
- const auto tmp117 = tmp116 * (tmp40 > tmp39 ? 1 : 0.0);
266
- const auto tmp118 = tmp33 + tmp33;
267
- const auto tmp119 = tmp118 / tmp59;
268
- const auto tmp120 = -1 * tmp119;
269
- const auto tmp121 = tmp63 * tmp120;
270
- const auto tmp122 = tmp121 + tmp117;
271
- const auto tmp123 = tmp122 * (tmp41 > tmp32 ? 1 : 0.0);
272
- const auto tmp124 = tmp26 + tmp26;
273
- const auto tmp125 = tmp124 / tmp67;
274
- const auto tmp126 = -1 * tmp125;
275
- const auto tmp127 = tmp71 * tmp126;
276
- const auto tmp128 = tmp127 + tmp123;
277
- const auto tmp129 = tmp128 * (tmp42 < tmp25 ? 1 : 0.0);
278
- const auto tmp130 = tmp115 / tmp75;
279
- const auto tmp131 = tmp79 * tmp130;
280
- const auto tmp132 = tmp131 + tmp129;
281
- const auto tmp133 = tmp132 * (tmp43 < tmp19 ? 1 : 0.0);
282
- const auto tmp134 = tmp115 / tmp83;
283
- const auto tmp135 = tmp87 * tmp134;
284
- const auto tmp136 = tmp135 + tmp133;
285
- const auto tmp137 = tmp136 * (tmp44 > tmp13 ? 1 : 0.0);
286
- const auto tmp138 = tmp116 * (tmp8 < tmp11 ? 1 : 0.0);
287
- const auto tmp139 = tmp138 * (tmp12 > tmp9 ? 1 : 0.0);
288
- const auto tmp140 = tmp116 * (tmp8 < tmp2 ? 1 : 0.0);
289
- const auto tmp141 = tmp100 * tmp140;
290
- const auto tmp142 = tmp141 + tmp139;
291
- const auto tmp143 = tmp142 * tmp92;
292
- const auto tmp144 = tmp143 + tmp137;
293
- const auto tmp145 = 3 * tmp144;
294
- const auto tmp146 = tmp145 / tmp0;
295
- const auto tmp147 = tmp146 * tmp54;
296
- const auto tmp148 = -1 * tmp147;
297
- const auto tmp149 = 0.5 * tmp148;
298
- const auto tmp150 = 0.9999999999 * tmp149;
299
- (result[ 0 ])[ 0 ] = tmp114;
300
- (result[ 0 ])[ 1 ] = tmp150;
301
- }
302
-
303
- template< class Point >
304
- void hessian ( const Point &x, typename FunctionSpaceType::HessianRangeType &result ) const
305
- {
306
- using std::cosh;
307
- using std::max;
308
- using std::min;
309
- using std::pow;
310
- using std::sinh;
311
- using std::sqrt;
312
- double tmp0 = constant< 0 >();
313
- GlobalCoordinateType tmp1 = geometry().global( Dune::Fem::coordinate( x ) );
314
- const auto tmp2 = -0.4 + tmp1[ 0 ];
315
- const auto tmp3 = tmp1[ 1 ] * tmp1[ 1 ];
316
- const auto tmp4 = tmp1[ 0 ] * tmp1[ 0 ];
317
- const auto tmp5 = tmp4 + tmp3;
318
- const auto tmp6 = 1e-10 + tmp5;
319
- const auto tmp7 = std::sqrt( tmp6 );
320
- const auto tmp8 = -1.4 + tmp7;
321
- const auto tmp9 = std::min( tmp8, tmp2 );
322
- const auto tmp10 = -1 * tmp1[ 0 ];
323
- const auto tmp11 = -0.4 + tmp10;
324
- const auto tmp12 = std::min( tmp8, tmp11 );
325
- const auto tmp13 = std::max( tmp12, tmp9 );
326
- const auto tmp14 = 1 + tmp1[ 0 ];
327
- const auto tmp15 = tmp14 * tmp14;
328
- const auto tmp16 = tmp3 + tmp15;
329
- const auto tmp17 = 1e-10 + tmp16;
330
- const auto tmp18 = std::sqrt( tmp17 );
331
- const auto tmp19 = -0.5 + tmp18;
332
- const auto tmp20 = -1 + tmp1[ 0 ];
333
- const auto tmp21 = tmp20 * tmp20;
334
- const auto tmp22 = tmp3 + tmp21;
335
- const auto tmp23 = 1e-10 + tmp22;
336
- const auto tmp24 = std::sqrt( tmp23 );
337
- const auto tmp25 = -0.5 + tmp24;
338
- const auto tmp26 = 0.8 + tmp1[ 1 ];
339
- const auto tmp27 = tmp26 * tmp26;
340
- const auto tmp28 = tmp4 + tmp27;
341
- const auto tmp29 = 1e-10 + tmp28;
342
- const auto tmp30 = std::sqrt( tmp29 );
343
- const auto tmp31 = -0.5 + tmp30;
344
- const auto tmp32 = -1 * tmp31;
345
- const auto tmp33 = -0.8 + tmp1[ 1 ];
346
- const auto tmp34 = tmp33 * tmp33;
347
- const auto tmp35 = tmp4 + tmp34;
348
- const auto tmp36 = 1e-10 + tmp35;
349
- const auto tmp37 = std::sqrt( tmp36 );
350
- const auto tmp38 = -0.5 + tmp37;
351
- const auto tmp39 = -1 * tmp38;
352
- const auto tmp40 = -1 + tmp7;
353
- const auto tmp41 = std::max( tmp40, tmp39 );
354
- const auto tmp42 = std::max( tmp41, tmp32 );
355
- const auto tmp43 = std::min( tmp42, tmp25 );
356
- const auto tmp44 = std::min( tmp43, tmp19 );
357
- const auto tmp45 = std::max( tmp44, tmp13 );
358
- const auto tmp46 = 3 * tmp45;
359
- const auto tmp47 = tmp46 / tmp0;
360
- const auto tmp48 = 2.0 * tmp47;
361
- const auto tmp49 = std::cosh( tmp48 );
362
- const auto tmp50 = 1.0 + tmp49;
363
- const auto tmp51 = std::cosh( tmp47 );
364
- const auto tmp52 = 2.0 * tmp51;
365
- const auto tmp53 = tmp52 / tmp50;
366
- const auto tmp54 = std::pow( tmp53, 2 );
367
- const auto tmp55 = 2 * tmp7;
368
- const auto tmp56 = tmp1[ 0 ] + tmp1[ 0 ];
369
- const auto tmp57 = tmp56 / tmp55;
370
- const auto tmp58 = 2 * tmp57;
371
- const auto tmp59 = tmp58 * tmp57;
372
- const auto tmp60 = -1 * tmp59;
373
- const auto tmp61 = 2 + tmp60;
374
- const auto tmp62 = tmp61 / tmp55;
375
- const auto tmp63 = tmp62 * (tmp40 > tmp39 ? 1 : 0.0);
376
- const auto tmp64 = 2 * tmp37;
377
- const auto tmp65 = tmp56 / tmp64;
378
- const auto tmp66 = 2 * tmp65;
379
- const auto tmp67 = tmp66 * tmp65;
380
- const auto tmp68 = -1 * tmp67;
381
- const auto tmp69 = 2 + tmp68;
382
- const auto tmp70 = tmp69 / tmp64;
383
- const auto tmp71 = -1 * tmp70;
384
- const auto tmp72 = -1 * (tmp40 > tmp39 ? 1 : 0.0);
385
- const auto tmp73 = 1.0 + tmp72;
386
- const auto tmp74 = tmp73 * tmp71;
387
- const auto tmp75 = tmp74 + tmp63;
388
- const auto tmp76 = tmp75 * (tmp41 > tmp32 ? 1 : 0.0);
389
- const auto tmp77 = 2 * tmp30;
390
- const auto tmp78 = tmp56 / tmp77;
391
- const auto tmp79 = 2 * tmp78;
392
- const auto tmp80 = tmp79 * tmp78;
393
- const auto tmp81 = -1 * tmp80;
394
- const auto tmp82 = 2 + tmp81;
395
- const auto tmp83 = tmp82 / tmp77;
396
- const auto tmp84 = -1 * tmp83;
397
- const auto tmp85 = -1 * (tmp41 > tmp32 ? 1 : 0.0);
398
- const auto tmp86 = 1.0 + tmp85;
399
- const auto tmp87 = tmp86 * tmp84;
400
- const auto tmp88 = tmp87 + tmp76;
401
- const auto tmp89 = tmp88 * (tmp42 < tmp25 ? 1 : 0.0);
402
- const auto tmp90 = 2 * tmp24;
403
- const auto tmp91 = tmp20 + tmp20;
404
- const auto tmp92 = tmp91 / tmp90;
405
- const auto tmp93 = 2 * tmp92;
406
- const auto tmp94 = tmp93 * tmp92;
407
- const auto tmp95 = -1 * tmp94;
408
- const auto tmp96 = 2 + tmp95;
409
- const auto tmp97 = tmp96 / tmp90;
410
- const auto tmp98 = -1 * (tmp42 < tmp25 ? 1 : 0.0);
411
- const auto tmp99 = 1.0 + tmp98;
412
- const auto tmp100 = tmp99 * tmp97;
413
- const auto tmp101 = tmp100 + tmp89;
414
- const auto tmp102 = tmp101 * (tmp43 < tmp19 ? 1 : 0.0);
415
- const auto tmp103 = 2 * tmp18;
416
- const auto tmp104 = tmp14 + tmp14;
417
- const auto tmp105 = tmp104 / tmp103;
418
- const auto tmp106 = 2 * tmp105;
419
- const auto tmp107 = tmp106 * tmp105;
420
- const auto tmp108 = -1 * tmp107;
421
- const auto tmp109 = 2 + tmp108;
422
- const auto tmp110 = tmp109 / tmp103;
423
- const auto tmp111 = -1 * (tmp43 < tmp19 ? 1 : 0.0);
424
- const auto tmp112 = 1.0 + tmp111;
425
- const auto tmp113 = tmp112 * tmp110;
426
- const auto tmp114 = tmp113 + tmp102;
427
- const auto tmp115 = tmp114 * (tmp44 > tmp13 ? 1 : 0.0);
428
- const auto tmp116 = -1 * (tmp44 > tmp13 ? 1 : 0.0);
429
- const auto tmp117 = 1.0 + tmp116;
430
- const auto tmp118 = tmp62 * (tmp8 < tmp11 ? 1 : 0.0);
431
- const auto tmp119 = tmp118 * (tmp12 > tmp9 ? 1 : 0.0);
432
- const auto tmp120 = tmp62 * (tmp8 < tmp2 ? 1 : 0.0);
433
- const auto tmp121 = -1 * (tmp12 > tmp9 ? 1 : 0.0);
434
- const auto tmp122 = 1.0 + tmp121;
435
- const auto tmp123 = tmp122 * tmp120;
436
- const auto tmp124 = tmp123 + tmp119;
437
- const auto tmp125 = tmp124 * tmp117;
438
- const auto tmp126 = tmp125 + tmp115;
439
- const auto tmp127 = 3 * tmp126;
440
- const auto tmp128 = tmp127 / tmp0;
441
- const auto tmp129 = tmp128 * tmp54;
442
- const auto tmp130 = tmp57 * (tmp40 > tmp39 ? 1 : 0.0);
443
- const auto tmp131 = -1 * tmp65;
444
- const auto tmp132 = tmp73 * tmp131;
445
- const auto tmp133 = tmp132 + tmp130;
446
- const auto tmp134 = tmp133 * (tmp41 > tmp32 ? 1 : 0.0);
447
- const auto tmp135 = -1 * tmp78;
448
- const auto tmp136 = tmp86 * tmp135;
449
- const auto tmp137 = tmp136 + tmp134;
450
- const auto tmp138 = tmp137 * (tmp42 < tmp25 ? 1 : 0.0);
451
- const auto tmp139 = tmp99 * tmp92;
452
- const auto tmp140 = tmp139 + tmp138;
453
- const auto tmp141 = tmp140 * (tmp43 < tmp19 ? 1 : 0.0);
454
- const auto tmp142 = tmp112 * tmp105;
455
- const auto tmp143 = tmp142 + tmp141;
456
- const auto tmp144 = tmp143 * (tmp44 > tmp13 ? 1 : 0.0);
457
- const auto tmp145 = tmp57 * (tmp8 < tmp11 ? 1 : 0.0);
458
- const auto tmp146 = -1 * (tmp8 < tmp11 ? 1 : 0.0);
459
- const auto tmp147 = 1.0 + tmp146;
460
- const auto tmp148 = -1 * tmp147;
461
- const auto tmp149 = tmp148 + tmp145;
462
- const auto tmp150 = tmp149 * (tmp12 > tmp9 ? 1 : 0.0);
463
- const auto tmp151 = tmp57 * (tmp8 < tmp2 ? 1 : 0.0);
464
- const auto tmp152 = -1 * (tmp8 < tmp2 ? 1 : 0.0);
465
- const auto tmp153 = 1.0 + tmp152;
466
- const auto tmp154 = tmp153 + tmp151;
467
- const auto tmp155 = tmp154 * tmp122;
468
- const auto tmp156 = tmp155 + tmp150;
469
- const auto tmp157 = tmp156 * tmp117;
470
- const auto tmp158 = tmp157 + tmp144;
471
- const auto tmp159 = 3 * tmp158;
472
- const auto tmp160 = tmp159 / tmp0;
473
- const auto tmp161 = std::sinh( tmp47 );
474
- const auto tmp162 = tmp160 * tmp161;
475
- const auto tmp163 = 2.0 * tmp162;
476
- const auto tmp164 = std::sinh( tmp48 );
477
- const auto tmp165 = 2.0 * tmp160;
478
- const auto tmp166 = tmp165 * tmp164;
479
- const auto tmp167 = tmp166 * tmp53;
480
- const auto tmp168 = -1 * tmp167;
481
- const auto tmp169 = tmp168 + tmp163;
482
- const auto tmp170 = tmp169 / tmp50;
483
- const auto tmp171 = 2 * tmp170;
484
- const auto tmp172 = tmp171 * tmp53;
485
- const auto tmp173 = tmp172 * tmp160;
486
- const auto tmp174 = tmp173 + tmp129;
487
- const auto tmp175 = -1 * tmp174;
488
- const auto tmp176 = 0.5 * tmp175;
489
- const auto tmp177 = 0.9999999999 * tmp176;
490
- const auto tmp178 = tmp1[ 1 ] + tmp1[ 1 ];
491
- const auto tmp179 = tmp178 / tmp55;
492
- const auto tmp180 = 2 * tmp179;
493
- const auto tmp181 = tmp180 * tmp57;
494
- const auto tmp182 = -1 * tmp181;
495
- const auto tmp183 = tmp182 / tmp55;
496
- const auto tmp184 = tmp183 * (tmp40 > tmp39 ? 1 : 0.0);
497
- const auto tmp185 = tmp33 + tmp33;
498
- const auto tmp186 = tmp185 / tmp64;
499
- const auto tmp187 = 2 * tmp186;
500
- const auto tmp188 = tmp187 * tmp65;
501
- const auto tmp189 = -1 * tmp188;
502
- const auto tmp190 = tmp189 / tmp64;
503
- const auto tmp191 = -1 * tmp190;
504
- const auto tmp192 = tmp73 * tmp191;
505
- const auto tmp193 = tmp192 + tmp184;
506
- const auto tmp194 = tmp193 * (tmp41 > tmp32 ? 1 : 0.0);
507
- const auto tmp195 = tmp26 + tmp26;
508
- const auto tmp196 = tmp195 / tmp77;
509
- const auto tmp197 = 2 * tmp196;
510
- const auto tmp198 = tmp197 * tmp78;
511
- const auto tmp199 = -1 * tmp198;
512
- const auto tmp200 = tmp199 / tmp77;
513
- const auto tmp201 = -1 * tmp200;
514
- const auto tmp202 = tmp86 * tmp201;
515
- const auto tmp203 = tmp202 + tmp194;
516
- const auto tmp204 = tmp203 * (tmp42 < tmp25 ? 1 : 0.0);
517
- const auto tmp205 = tmp178 / tmp90;
518
- const auto tmp206 = 2 * tmp205;
519
- const auto tmp207 = tmp206 * tmp92;
520
- const auto tmp208 = -1 * tmp207;
521
- const auto tmp209 = tmp208 / tmp90;
522
- const auto tmp210 = tmp99 * tmp209;
523
- const auto tmp211 = tmp210 + tmp204;
524
- const auto tmp212 = tmp211 * (tmp43 < tmp19 ? 1 : 0.0);
525
- const auto tmp213 = tmp178 / tmp103;
526
- const auto tmp214 = 2 * tmp213;
527
- const auto tmp215 = tmp214 * tmp105;
528
- const auto tmp216 = -1 * tmp215;
529
- const auto tmp217 = tmp216 / tmp103;
530
- const auto tmp218 = tmp112 * tmp217;
531
- const auto tmp219 = tmp218 + tmp212;
532
- const auto tmp220 = tmp219 * (tmp44 > tmp13 ? 1 : 0.0);
533
- const auto tmp221 = tmp183 * (tmp8 < tmp11 ? 1 : 0.0);
534
- const auto tmp222 = tmp221 * (tmp12 > tmp9 ? 1 : 0.0);
535
- const auto tmp223 = tmp183 * (tmp8 < tmp2 ? 1 : 0.0);
536
- const auto tmp224 = tmp122 * tmp223;
537
- const auto tmp225 = tmp224 + tmp222;
538
- const auto tmp226 = tmp225 * tmp117;
539
- const auto tmp227 = tmp226 + tmp220;
540
- const auto tmp228 = 3 * tmp227;
541
- const auto tmp229 = tmp228 / tmp0;
542
- const auto tmp230 = tmp229 * tmp54;
543
- const auto tmp231 = tmp179 * (tmp40 > tmp39 ? 1 : 0.0);
544
- const auto tmp232 = -1 * tmp186;
545
- const auto tmp233 = tmp73 * tmp232;
546
- const auto tmp234 = tmp233 + tmp231;
547
- const auto tmp235 = tmp234 * (tmp41 > tmp32 ? 1 : 0.0);
548
- const auto tmp236 = -1 * tmp196;
549
- const auto tmp237 = tmp86 * tmp236;
550
- const auto tmp238 = tmp237 + tmp235;
551
- const auto tmp239 = tmp238 * (tmp42 < tmp25 ? 1 : 0.0);
552
- const auto tmp240 = tmp99 * tmp205;
553
- const auto tmp241 = tmp240 + tmp239;
554
- const auto tmp242 = tmp241 * (tmp43 < tmp19 ? 1 : 0.0);
555
- const auto tmp243 = tmp112 * tmp213;
556
- const auto tmp244 = tmp243 + tmp242;
557
- const auto tmp245 = tmp244 * (tmp44 > tmp13 ? 1 : 0.0);
558
- const auto tmp246 = tmp179 * (tmp8 < tmp11 ? 1 : 0.0);
559
- const auto tmp247 = tmp246 * (tmp12 > tmp9 ? 1 : 0.0);
560
- const auto tmp248 = tmp179 * (tmp8 < tmp2 ? 1 : 0.0);
561
- const auto tmp249 = tmp122 * tmp248;
562
- const auto tmp250 = tmp249 + tmp247;
563
- const auto tmp251 = tmp250 * tmp117;
564
- const auto tmp252 = tmp251 + tmp245;
565
- const auto tmp253 = 3 * tmp252;
566
- const auto tmp254 = tmp253 / tmp0;
567
- const auto tmp255 = tmp254 * tmp161;
568
- const auto tmp256 = 2.0 * tmp255;
569
- const auto tmp257 = 2.0 * tmp254;
570
- const auto tmp258 = tmp257 * tmp164;
571
- const auto tmp259 = tmp258 * tmp53;
572
- const auto tmp260 = -1 * tmp259;
573
- const auto tmp261 = tmp260 + tmp256;
574
- const auto tmp262 = tmp261 / tmp50;
575
- const auto tmp263 = 2 * tmp262;
576
- const auto tmp264 = tmp263 * tmp53;
577
- const auto tmp265 = tmp264 * tmp160;
578
- const auto tmp266 = tmp265 + tmp230;
579
- const auto tmp267 = -1 * tmp266;
580
- const auto tmp268 = 0.5 * tmp267;
581
- const auto tmp269 = 0.9999999999 * tmp268;
582
- const auto tmp270 = tmp58 * tmp179;
583
- const auto tmp271 = -1 * tmp270;
584
- const auto tmp272 = tmp271 / tmp55;
585
- const auto tmp273 = tmp272 * (tmp40 > tmp39 ? 1 : 0.0);
586
- const auto tmp274 = tmp66 * tmp186;
587
- const auto tmp275 = -1 * tmp274;
588
- const auto tmp276 = tmp275 / tmp64;
589
- const auto tmp277 = -1 * tmp276;
590
- const auto tmp278 = tmp73 * tmp277;
591
- const auto tmp279 = tmp278 + tmp273;
592
- const auto tmp280 = tmp279 * (tmp41 > tmp32 ? 1 : 0.0);
593
- const auto tmp281 = tmp79 * tmp196;
594
- const auto tmp282 = -1 * tmp281;
595
- const auto tmp283 = tmp282 / tmp77;
596
- const auto tmp284 = -1 * tmp283;
597
- const auto tmp285 = tmp86 * tmp284;
598
- const auto tmp286 = tmp285 + tmp280;
599
- const auto tmp287 = tmp286 * (tmp42 < tmp25 ? 1 : 0.0);
600
- const auto tmp288 = tmp93 * tmp205;
601
- const auto tmp289 = -1 * tmp288;
602
- const auto tmp290 = tmp289 / tmp90;
603
- const auto tmp291 = tmp99 * tmp290;
604
- const auto tmp292 = tmp291 + tmp287;
605
- const auto tmp293 = tmp292 * (tmp43 < tmp19 ? 1 : 0.0);
606
- const auto tmp294 = tmp106 * tmp213;
607
- const auto tmp295 = -1 * tmp294;
608
- const auto tmp296 = tmp295 / tmp103;
609
- const auto tmp297 = tmp112 * tmp296;
610
- const auto tmp298 = tmp297 + tmp293;
611
- const auto tmp299 = tmp298 * (tmp44 > tmp13 ? 1 : 0.0);
612
- const auto tmp300 = tmp272 * (tmp8 < tmp11 ? 1 : 0.0);
613
- const auto tmp301 = tmp300 * (tmp12 > tmp9 ? 1 : 0.0);
614
- const auto tmp302 = tmp272 * (tmp8 < tmp2 ? 1 : 0.0);
615
- const auto tmp303 = tmp122 * tmp302;
616
- const auto tmp304 = tmp303 + tmp301;
617
- const auto tmp305 = tmp304 * tmp117;
618
- const auto tmp306 = tmp305 + tmp299;
619
- const auto tmp307 = 3 * tmp306;
620
- const auto tmp308 = tmp307 / tmp0;
621
- const auto tmp309 = tmp308 * tmp54;
622
- const auto tmp310 = tmp172 * tmp254;
623
- const auto tmp311 = tmp310 + tmp309;
624
- const auto tmp312 = -1 * tmp311;
625
- const auto tmp313 = 0.5 * tmp312;
626
- const auto tmp314 = 0.9999999999 * tmp313;
627
- const auto tmp315 = tmp180 * tmp179;
628
- const auto tmp316 = -1 * tmp315;
629
- const auto tmp317 = 2 + tmp316;
630
- const auto tmp318 = tmp317 / tmp55;
631
- const auto tmp319 = tmp318 * (tmp40 > tmp39 ? 1 : 0.0);
632
- const auto tmp320 = tmp187 * tmp186;
633
- const auto tmp321 = -1 * tmp320;
634
- const auto tmp322 = 2 + tmp321;
635
- const auto tmp323 = tmp322 / tmp64;
636
- const auto tmp324 = -1 * tmp323;
637
- const auto tmp325 = tmp73 * tmp324;
638
- const auto tmp326 = tmp325 + tmp319;
639
- const auto tmp327 = tmp326 * (tmp41 > tmp32 ? 1 : 0.0);
640
- const auto tmp328 = tmp197 * tmp196;
641
- const auto tmp329 = -1 * tmp328;
642
- const auto tmp330 = 2 + tmp329;
643
- const auto tmp331 = tmp330 / tmp77;
644
- const auto tmp332 = -1 * tmp331;
645
- const auto tmp333 = tmp86 * tmp332;
646
- const auto tmp334 = tmp333 + tmp327;
647
- const auto tmp335 = tmp334 * (tmp42 < tmp25 ? 1 : 0.0);
648
- const auto tmp336 = tmp206 * tmp205;
649
- const auto tmp337 = -1 * tmp336;
650
- const auto tmp338 = 2 + tmp337;
651
- const auto tmp339 = tmp338 / tmp90;
652
- const auto tmp340 = tmp99 * tmp339;
653
- const auto tmp341 = tmp340 + tmp335;
654
- const auto tmp342 = tmp341 * (tmp43 < tmp19 ? 1 : 0.0);
655
- const auto tmp343 = tmp214 * tmp213;
656
- const auto tmp344 = -1 * tmp343;
657
- const auto tmp345 = 2 + tmp344;
658
- const auto tmp346 = tmp345 / tmp103;
659
- const auto tmp347 = tmp112 * tmp346;
660
- const auto tmp348 = tmp347 + tmp342;
661
- const auto tmp349 = tmp348 * (tmp44 > tmp13 ? 1 : 0.0);
662
- const auto tmp350 = tmp318 * (tmp8 < tmp11 ? 1 : 0.0);
663
- const auto tmp351 = tmp350 * (tmp12 > tmp9 ? 1 : 0.0);
664
- const auto tmp352 = tmp318 * (tmp8 < tmp2 ? 1 : 0.0);
665
- const auto tmp353 = tmp122 * tmp352;
666
- const auto tmp354 = tmp353 + tmp351;
667
- const auto tmp355 = tmp354 * tmp117;
668
- const auto tmp356 = tmp355 + tmp349;
669
- const auto tmp357 = 3 * tmp356;
670
- const auto tmp358 = tmp357 / tmp0;
671
- const auto tmp359 = tmp358 * tmp54;
672
- const auto tmp360 = tmp264 * tmp254;
673
- const auto tmp361 = tmp360 + tmp359;
674
- const auto tmp362 = -1 * tmp361;
675
- const auto tmp363 = 0.5 * tmp362;
676
- const auto tmp364 = 0.9999999999 * tmp363;
677
- ((result[ 0 ])[ 0 ])[ 0 ] = tmp177;
678
- ((result[ 0 ])[ 0 ])[ 1 ] = tmp269;
679
- ((result[ 0 ])[ 1 ])[ 0 ] = tmp314;
680
- ((result[ 0 ])[ 1 ])[ 1 ] = tmp364;
681
- }
682
-
683
- template< std::size_t i >
684
- const ConstantType< i > &constant () const
685
- {
686
- return *std::get< i >( constants_ );
687
- }
688
-
689
- template< std::size_t i >
690
- ConstantType< i > &constant ()
691
- {
692
- return *std::get< i >( constants_ );
693
- }
694
-
695
- const Conepsilon &conepsilon () const
696
- {
697
- return *std::get< 0 >( constants_ );
698
- }
699
-
700
- Conepsilon &conepsilon ()
701
- {
702
- return *std::get< 0 >( constants_ );
703
- }
704
- ConstantTupleType constants_;
705
- std::tuple< > coefficients_;
706
- };
707
-
708
- } // namespace UFLLocalFunctions_762aa49bc5a47ad3d8d8bbde36b42ee5
709
-
710
- PYBIND11_MODULE( localfunction_762aa49bc5a47ad3d8d8bbde36b42ee5_a524c1196983e65de1c06d7d6afdeb44, module )
711
- {
712
- typedef UFLLocalFunctions_762aa49bc5a47ad3d8d8bbde36b42ee5::UFLLocalFunction< typename Dune::FemPy::GridPart< Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true > > > LocalFunctionType;
713
- if constexpr( LocalFunctionType::gridPartValid )
714
- {
715
- auto cls = Dune::Python::insertClass<LocalFunctionType>(module,"UFLLocalFunction",Dune::Python::GenerateTypeName("UFLLocalFunctions_762aa49bc5a47ad3d8d8bbde36b42ee5::UFLLocalFunction< typename Dune::FemPy::GridPart< Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true > > >"), Dune::Python::IncludeFiles({"python/dune/generated/localfunction_762aa49bc5a47ad3d8d8bbde36b42ee5_a524c1196983e65de1c06d7d6afdeb44.cc"})).first;
716
- Dune::FemPy::registerUFLLocalFunction( module, cls );
717
- cls.def( pybind11::init( [] ( pybind11::object gridView, const std::string &name, int order ) {return new LocalFunctionType( Dune::FemPy::gridPart<Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true >>(gridView),name,order); } ), pybind11::keep_alive< 1, 2 >() );
718
- cls.def_property( "epsilon", [] ( LocalFunctionType &self ) -> UFLLocalFunctions_762aa49bc5a47ad3d8d8bbde36b42ee5::UFLLocalFunction< typename Dune::FemPy::GridPart< Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true > > >::Conepsilon { return self.conepsilon(); }, [] ( LocalFunctionType &self, const UFLLocalFunctions_762aa49bc5a47ad3d8d8bbde36b42ee5::UFLLocalFunction< typename Dune::FemPy::GridPart< Dune::Fem::FilteredGridPart< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > >, Dune::Fem::SimpleFilter< Dune::FemPy::GridPart< Dune::Fem::AdaptiveLeafGridPart< Dune::ALUGrid< 2, 2, Dune::simplex > > > >, true > > >::Conepsilon &v ) { self.conepsilon() = v; } );
719
- cls.def_property_readonly( "virtualized", [] ( LocalFunctionType& ) -> bool { return true;});
720
- }
721
- }
722
-
723
- #endif