1
2
3 """
4 This module contains default options for SFC.
5 """
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 from sfc.common.ParameterDict import ParameterDict
30
31
33 """Construct a ParameterDict with default options for SFC,
34 which can then be modified and passed to jit.
35
36 Some options may need explanation:
37
38 options.integration.representation:
39 "disable" | Generate empty tabulate_tensor functions, for debugging.
40 "symbolic" | Integrate each element tensor entry symbolically.
41 "truncated_symbolic" | Integrate symbolically after truncating the Taylor series.
42 "symbolic_quadrature" | Integrate by quadrature using symbolic expressions.
43 "quadrature" | (DEFAULT) Generate (partially) inlined quadrature rule.
44 "safe_quadrature" | Generate slow but safe quadrature code.
45 """
46
47
48 output = ParameterDict(enable_timing = False,
49 verbosity = 0,
50 enable_debug_prints = False,
51 store_log = False)
52
53
54
55
56 form = ParameterDict(name = None)
57
58
59 integral = ParameterDict(integration_method = "quadrature",
60 integration_order = None,
61 enable_debug_code = False,
62 safemode = False,
63 use_expand_indices2 = False)
64
65
66 dof_map = ParameterDict(enable_dof_ptv = False)
67
68
69 finite_element = ParameterDict(enable_evaluate_basis = True,
70 enable_evaluate_basis_derivatives = True,
71 default_order_of_element = 2,
72 evaluate_basis_derivatives_order = 1,
73 optimize_basis = False,
74 enable_horner = False)
75
76 code = ParameterDict(form = form,
77 integral = integral,
78 dof_map = dof_map,
79 finite_element = finite_element,
80 prefix = "",
81 dolfin_wrappers = False)
82
83
84 compilation = ParameterDict(enable_debug_code = False,
85 cache_dir = None,
86 overwrite_cache = False,
87 cppargs = ["-O2"],
88 skip = False,
89 generate_interface = True,
90 generate_setup = True)
91
92
93 options = ParameterDict(output = output,
94 code = code,
95 compilation = compilation)
96 return options
97