diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 843b650e5e4c345e4c9826d6f28cb52826c2429f..83fc49b818b5e4c2000a243474ba6dbb9d04150b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,8 @@ -hyteg-hog-integration-test: +stages: + - pretest + - test + +.hyteg-hog-integration-test-template: stage: test image: i10git.cs.fau.de:5005/pycodegen/pycodegen/full script: @@ -10,10 +14,66 @@ hyteg-hog-integration-test: - GIT_CONFIG_COUNT=1 GIT_CONFIG_KEY_0="url.https://gitlab-ci-token:${CI_JOB_TOKEN}@i10git.cs.fau.de.insteadOf" GIT_CONFIG_VALUE_0="ssh://git@i10git.cs.fau.de" python -m pip install -r requirements.txt - pip freeze - rm -rf ../operators/* - - python3 generate.py -o ../operators ../operators.toml --processes 8 + - python3 generate.py -o ../operators ../operators-$OPERATOR_BASE_NAME.toml --processes 8 - cd .. + - cd operators/$OPERATOR_BASE_NAME + - pwd + - ls -lhta - git status - - git diff - - git diff --exit-code --stat + - git diff . + - git diff . --exit-code --stat + variables: + - OPERATOR_BASE_NAME: "OPERATOR_NOT_SPECIFIED" tags: - docker + +curl_curl: + extends: .hyteg-hog-integration-test-template + variables: + OPERATOR_BASE_NAME: "curl_curl" + +diffusion: + stage: pretest # <=== THIS RUNS IN PRETEST STAGE + extends: .hyteg-hog-integration-test-template + variables: + OPERATOR_BASE_NAME: "diffusion" + +div_k_grad: + extends: .hyteg-hog-integration-test-template + variables: + OPERATOR_BASE_NAME: "div_k_grad" + +divergence: + extends: .hyteg-hog-integration-test-template + variables: + OPERATOR_BASE_NAME: "divergence" + +epsilon: + extends: .hyteg-hog-integration-test-template + variables: + OPERATOR_BASE_NAME: "epsilon" + +full_stokes: + extends: .hyteg-hog-integration-test-template + variables: + OPERATOR_BASE_NAME: "full_stokes" + +gradient: + extends: .hyteg-hog-integration-test-template + variables: + OPERATOR_BASE_NAME: "gradient" + +k_mass: + extends: .hyteg-hog-integration-test-template + variables: + OPERATOR_BASE_NAME: "k_mass" + +mass: + extends: .hyteg-hog-integration-test-template + variables: + OPERATOR_BASE_NAME: "mass" + +terraneo: + extends: .hyteg-hog-integration-test-template + variables: + OPERATOR_BASE_NAME: "terraneo" \ No newline at end of file diff --git a/README.md b/README.md index fe7a632df0d4ba80cdf9aa86394e6ac5e474c200..e5bda9e9a62af59038db427495e33be8f1a5c380 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,8 @@ The code under [operators](operators) is generated using [HFG](https://i10git.cs Each kernel has a platform independent and, where applicable, an AVX-vectorized version. The desired variant is configured in CMake. -All operators are described declaratively in [operators.toml](operators.toml). +All operators are described declaratively in `operators-<operator-group>.toml`. +They are roughly split into groups for a better overview and faster integration tests. ## How to generate operators @@ -16,5 +17,7 @@ python -m venv .venv source .venv/bin/activate python -m pip install -r requirements.txt -python generate.py -o ../operators ../operators.toml +python generate.py -o ../operators ../operators-<operator-group>.toml + +# To generate all operators you have to run the script with all toml files. ``` diff --git a/operators-curl_curl.toml b/operators-curl_curl.toml new file mode 100644 index 0000000000000000000000000000000000000000..2df6ff0be094c43da16546cdfb40eccea049198f --- /dev/null +++ b/operators-curl_curl.toml @@ -0,0 +1,7 @@ +[[curl_curl]] +trial-space = "N1E1" +test-space = "N1E1" +dimensions = [3] +quadrature = 0 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize"] diff --git a/operators-diffusion.toml b/operators-diffusion.toml new file mode 100644 index 0000000000000000000000000000000000000000..5124cc2eee13f9b9736ff8fa84aae7bbcc0a4484 --- /dev/null +++ b/operators-diffusion.toml @@ -0,0 +1,51 @@ +[[diffusion]] +trial-space = "P1" +test-space = "P1" +dimensions = [2, 3] +quadrature = 0 +loop-strategy = "cubes" +optimizations = ["moveconstants", "vectorize"] + +[[diffusion]] +trial-space = "P1" +test-space = "P1" +dimensions = [2, 3] +quadrature = 0 +loop-strategy = "cubes" +optimizations = ["moveconstants", "vectorize"] +blending = "ParametricP1Map" + +[[diffusion]] +trial-space = "P2" +test-space = "P2" +dimensions = [2, 3] +quadrature = 2 +loop-strategy = "cubes" +optimizations = ["moveconstants", "vectorize"] + +[[diffusion]] +trial-space = "P2" +test-space = "P2" +dimensions = [2] +quadrature = 3 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize"] +blending = "AnnulusMap" + +[[diffusion]] +trial-space = "P2" +test-space = "P2" +dimensions = [3] +quadrature = 3 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize"] +blending = "IcosahedralShellMap" + +[[diffusion]] +trial-space = "P2" +test-space = "P2" +dimensions = [2, 3] +quadrature = 2 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize"] +blending = "ParametricP2Map" diff --git a/operators-div_k_grad.toml b/operators-div_k_grad.toml new file mode 100644 index 0000000000000000000000000000000000000000..61c1e2e08ec415813d0262f3d7a2c41d59d8ffa2 --- /dev/null +++ b/operators-div_k_grad.toml @@ -0,0 +1,69 @@ +[[div_k_grad]] +trial-space = "P1" +test-space = "P1" +form-space-args.coefficient_function_space = "P1" +dimensions = [2, 3] +quadrature = 2 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] + +[[div_k_grad]] +trial-space = "P2" +test-space = "P2" +form-space-args.coefficient_function_space = "P2" +dimensions = [2, 3] +quadrature = 2 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] + +[[div_k_grad]] +trial-space = "P2" +test-space = "P2" +form-space-args.coefficient_function_space = "P2" +dimensions = [2] +quadrature = 3 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] +blending = "AnnulusMap" + +[[div_k_grad]] +trial-space = "P2" +test-space = "P2" +form-space-args.coefficient_function_space = "P2" +dimensions = [3] +quadrature = 3 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] +blending = "IcosahedralShellMap" + +[[div_k_grad]] +trial-space = "P2" +test-space = "P2" +form-space-args.coefficient_function_space = "P1" +dimensions = [2, 3] +quadrature = 2 +loop-strategy = "sawtooth" +operator-name = "DivKGradP1Coefficient" +optimizations = ["moveconstants", "vectorize", "quadloops"] + +[[div_k_grad]] +trial-space = "P2" +test-space = "P2" +form-space-args.coefficient_function_space = "P1" +dimensions = [2] +quadrature = 3 +loop-strategy = "sawtooth" +operator-name = "DivKGradP1Coefficient" +optimizations = ["moveconstants", "vectorize", "quadloops"] +blending = "AnnulusMap" + +[[div_k_grad]] +trial-space = "P2" +test-space = "P2" +form-space-args.coefficient_function_space = "P1" +dimensions = [3] +quadrature = 3 +loop-strategy = "sawtooth" +operator-name = "DivKGradP1Coefficient" +optimizations = ["moveconstants", "vectorize", "quadloops"] +blending = "IcosahedralShellMap" \ No newline at end of file diff --git a/operators-divergence.toml b/operators-divergence.toml new file mode 100644 index 0000000000000000000000000000000000000000..9cc9de3fd4267f4a5be924fb52e352d59772e937 --- /dev/null +++ b/operators-divergence.toml @@ -0,0 +1,54 @@ +[[divergence]] +trial-space = "P2" +test-space = "P1" +components-trial = [0, 1, 2] +dimensions = [2, 3] +quadrature = 2 +loop-strategy = "cubes" +optimizations = ["moveconstants", "vectorize"] + +[[divergence]] +trial-space = "P2" +test-space = "P1" +components-trial = [0, 1] +dimensions = [2] +quadrature = 2 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize"] +blending = "AnnulusMap" + +[[divergence]] +trial-space = "P2" +test-space = "P1" +components-trial = [0, 1, 2] +dimensions = [3] +quadrature = 2 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize"] +blending = "IcosahedralShellMap" + +[[divergence]] +trial-space = "P2Vector" +test-space = "P1" +dimensions = [2, 3] +quadrature = 2 +loop-strategy = "cubes" +optimizations = ["moveconstants", "vectorize"] + +[[divergence]] +trial-space = "P2Vector" +test-space = "P1" +dimensions = [2] +quadrature = 2 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize"] +blending = "AnnulusMap" + +[[divergence]] +trial-space = "P2Vector" +test-space = "P1" +dimensions = [3] +quadrature = 2 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize"] +blending = "IcosahedralShellMap" diff --git a/operators-epsilon.toml b/operators-epsilon.toml new file mode 100644 index 0000000000000000000000000000000000000000..7c3599361c22ef5dacc0057575c8d37c08d40124 --- /dev/null +++ b/operators-epsilon.toml @@ -0,0 +1,85 @@ +[[epsilon]] +trial-space = "P2" +test-space = "P2" +components-trial = [0, 1, 2] +components-test = [0, 1, 2] +form-space-args.coefficient_function_space = "P2" +dimensions = [2, 3] +quadrature = 2 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] + +[[epsilon]] +trial-space = "P2" +test-space = "P2" +components-trial = [0, 1] +components-test = [0, 1] +form-space-args.coefficient_function_space = "P2" +dimensions = [2] +quadrature = 3 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "AnnulusMap" + +[[epsilon]] +trial-space = "P2" +test-space = "P2" +components-trial = [0, 1, 2] +components-test = [0, 1, 2] +form-space-args.coefficient_function_space = "P2" +dimensions = [3] +quadrature = 3 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "IcosahedralShellMap" + +[[epsilon]] +trial-space = "P2Vector" +test-space = "P2Vector" +form-space-args.coefficient_function_space = "P2" +dimensions = [2, 3] +quadrature = 2 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] + +[[epsilon]] +trial-space = "P2Vector" +test-space = "P2Vector" +form-space-args.coefficient_function_space = "P2" +dimensions = [2] +quadrature = 3 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "AnnulusMap" + +[[epsilon]] +trial-space = "P2Vector" +test-space = "P2Vector" +form-space-args.coefficient_function_space = "P2" +dimensions = [3] +quadrature = 3 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "IcosahedralShellMap" + +[[epsilon]] +trial-space = "P2Vector" +test-space = "P2Vector" +form-space-args.coefficient_function_space = "P1" +dimensions = [2] +quadrature = 3 +loop-strategy = "sawtooth" +operator-name = "EpsilonP1Viscosity" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "AnnulusMap" + +[[epsilon]] +trial-space = "P2Vector" +test-space = "P2Vector" +form-space-args.coefficient_function_space = "P1" +dimensions = [3] +quadrature = 3 +loop-strategy = "sawtooth" +operator-name = "EpsilonP1Viscosity" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "IcosahedralShellMap" diff --git a/operators-full_stokes.toml b/operators-full_stokes.toml new file mode 100644 index 0000000000000000000000000000000000000000..f4f92cfd211d67d77fd0b601a8d4334bceb13889 --- /dev/null +++ b/operators-full_stokes.toml @@ -0,0 +1,63 @@ +[[full_stokes]] +trial-space = "P2" +test-space = "P2" +components-trial = [0, 1, 2] +components-test = [0, 1, 2] +form-space-args.coefficient_function_space = "P2" +dimensions = [2, 3] +quadrature = 2 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] + +[[full_stokes]] +trial-space = "P2" +test-space = "P2" +components-trial = [0, 1] +components-test = [0, 1] +form-space-args.coefficient_function_space = "P2" +dimensions = [2] +quadrature = 3 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "AnnulusMap" + +[[full_stokes]] +trial-space = "P2" +test-space = "P2" +components-trial = [0, 1, 2] +components-test = [0, 1, 2] +form-space-args.coefficient_function_space = "P2" +dimensions = [3] +quadrature = 3 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "IcosahedralShellMap" + +[[full_stokes]] +trial-space = "P2Vector" +test-space = "P2Vector" +form-space-args.coefficient_function_space = "P2" +dimensions = [2, 3] +quadrature = 2 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] + +[[full_stokes]] +trial-space = "P2Vector" +test-space = "P2Vector" +form-space-args.coefficient_function_space = "P2" +dimensions = [2] +quadrature = 3 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "AnnulusMap" + +[[full_stokes]] +trial-space = "P2Vector" +test-space = "P2Vector" +form-space-args.coefficient_function_space = "P2" +dimensions = [3] +quadrature = 3 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "IcosahedralShellMap" diff --git a/operators-gradient.toml b/operators-gradient.toml new file mode 100644 index 0000000000000000000000000000000000000000..89f002c020bfc07d381de288834867e2a44c86a1 --- /dev/null +++ b/operators-gradient.toml @@ -0,0 +1,54 @@ +[[gradient]] +trial-space = "P1" +test-space = "P2" +components-test = [0, 1, 2] +dimensions = [2, 3] +quadrature = 2 +loop-strategy = "cubes" +optimizations = ["moveconstants", "vectorize"] + +[[gradient]] +trial-space = "P1" +test-space = "P2" +components-test = [0, 1] +dimensions = [2] +quadrature = 2 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize"] +blending = "AnnulusMap" + +[[gradient]] +trial-space = "P1" +test-space = "P2" +components-test = [0, 1, 2] +dimensions = [3] +quadrature = 2 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize"] +blending = "IcosahedralShellMap" + +[[gradient]] +trial-space = "P1" +test-space = "P2Vector" +dimensions = [2, 3] +quadrature = 2 +loop-strategy = "cubes" +optimizations = ["moveconstants", "vectorize"] + +[[gradient]] +trial-space = "P1" +test-space = "P2Vector" +dimensions = [2] +quadrature = 2 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize"] +blending = "AnnulusMap" + +[[gradient]] +trial-space = "P1" +test-space = "P2Vector" +dimensions = [3] +quadrature = 2 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize"] +blending = "IcosahedralShellMap" diff --git a/operators-k_mass.toml b/operators-k_mass.toml new file mode 100644 index 0000000000000000000000000000000000000000..c800d16b6aa1c7c0a403665c34775aa8e2eba419 --- /dev/null +++ b/operators-k_mass.toml @@ -0,0 +1,118 @@ +[[k_mass]] +trial-space = "P1" +test-space = "P1" +form-space-args.coefficient_function_space = "P1" +dimensions = [2, 3] +quadrature = 3 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] + +[[k_mass]] +trial-space = "P1" +test-space = "P1" +form-space-args.coefficient_function_space = "P1" +dimensions = [2] +quadrature = 3 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "AnnulusMap" + +[[k_mass]] +trial-space = "P1" +test-space = "P1" +form-space-args.coefficient_function_space = "P1" +dimensions = [3] +quadrature = 3 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "IcosahedralShellMap" + +[[k_mass]] +trial-space = "P2" +test-space = "P1" +form-space-args.coefficient_function_space = "P2" +dimensions = [2, 3] +quadrature = 4 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] + +[[k_mass]] +trial-space = "P2" +test-space = "P1" +form-space-args.coefficient_function_space = "P2" +dimensions = [2] +quadrature = 4 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "AnnulusMap" + +[[k_mass]] +trial-space = "P2" +test-space = "P1" +form-space-args.coefficient_function_space = "P2" +dimensions = [3] +quadrature = 4 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "IcosahedralShellMap" + +[[k_mass]] +trial-space = "P2" +test-space = "P2" +form-space-args.coefficient_function_space = "P2" +dimensions = [2, 3] +quadrature = 4 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] + +[[k_mass]] +trial-space = "P2" +test-space = "P2" +form-space-args.coefficient_function_space = "P2" +dimensions = [2] +quadrature = 4 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "AnnulusMap" + +[[k_mass]] +trial-space = "P2" +test-space = "P2" +form-space-args.coefficient_function_space = "P2" +dimensions = [3] +quadrature = 4 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "IcosahedralShellMap" + +[[k_mass]] +trial-space = "P2" +test-space = "P2" +form-space-args.coefficient_function_space = "P1" +dimensions = [2, 3] +quadrature = 4 +loop-strategy = "sawtooth" +operator-name = "KMassP1Coefficient" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] + +[[k_mass]] +trial-space = "P2" +test-space = "P2" +form-space-args.coefficient_function_space = "P1" +dimensions = [2] +quadrature = 4 +loop-strategy = "sawtooth" +operator-name = "KMassP1Coefficient" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "AnnulusMap" + +[[k_mass]] +trial-space = "P2" +test-space = "P2" +form-space-args.coefficient_function_space = "P1" +dimensions = [3] +quadrature = 4 +loop-strategy = "sawtooth" +operator-name = "KMassP1Coefficient" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "IcosahedralShellMap" diff --git a/operators-mass.toml b/operators-mass.toml new file mode 100644 index 0000000000000000000000000000000000000000..9af841684114b196d9de282ac299344cb0d12fdd --- /dev/null +++ b/operators-mass.toml @@ -0,0 +1,51 @@ +[[mass]] +trial-space = "P1" +test-space = "P1" +dimensions = [2, 3] +quadrature = 2 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] + +[[mass]] +trial-space = "P1" +test-space = "P1" +dimensions = [2, 3] +quadrature = 2 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "ParametricP1Map" + +[[mass]] +trial-space = "P2" +test-space = "P2" +dimensions = [2, 3] +quadrature = 4 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] + +[[mass]] +trial-space = "P2" +test-space = "P2" +dimensions = [2] +quadrature = 4 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] +blending = "AnnulusMap" + +[[mass]] +trial-space = "P2" +test-space = "P2" +dimensions = [3] +quadrature = 4 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] +blending = "IcosahedralShellMap" + +[[mass]] +trial-space = "P2" +test-space = "P2" +dimensions = [2, 3] +quadrature = 4 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] +blending = "ParametricP2Map" diff --git a/operators-terraneo.toml b/operators-terraneo.toml new file mode 100644 index 0000000000000000000000000000000000000000..224f273f196d7d2828d5208e7eab46c955fe796d --- /dev/null +++ b/operators-terraneo.toml @@ -0,0 +1,144 @@ +[[shear_heating]] +trial-space = "P2" +test-space = "P2" +form-space-args.viscosity_function_space = "P2" +form-space-args.velocity_function_space = "P2" +dimensions = [2, 3] +quadrature = 3 +folder-name = "terraneo" +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] + +[[shear_heating]] +trial-space = "P2" +test-space = "P2" +form-space-args.viscosity_function_space = "P2" +form-space-args.velocity_function_space = "P2" +dimensions = [2] +quadrature = 3 +folder-name = "terraneo" +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] +blending = "AnnulusMap" + +[[shear_heating]] +trial-space = "P2" +test-space = "P2" +form-space-args.viscosity_function_space = "P2" +form-space-args.velocity_function_space = "P2" +dimensions = [3] +quadrature = 3 +folder-name = "terraneo" +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] +blending = "IcosahedralShellMap" + +[[shear_heating]] +trial-space = "P2" +test-space = "P2" +form-space-args.viscosity_function_space = "P1" +form-space-args.velocity_function_space = "P2" +dimensions = [2, 3] +quadrature = 3 +folder-name = "terraneo" +operator-name = "ShearHeatingP1Viscosity" +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] + +[[shear_heating]] +trial-space = "P2" +test-space = "P2" +form-space-args.viscosity_function_space = "P1" +form-space-args.velocity_function_space = "P2" +dimensions = [2] +quadrature = 3 +folder-name = "terraneo" +operator-name = "ShearHeatingP1Viscosity" +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] +blending = "AnnulusMap" + +[[shear_heating]] +trial-space = "P2" +test-space = "P2" +form-space-args.viscosity_function_space = "P1" +form-space-args.velocity_function_space = "P2" +dimensions = [3] +quadrature = 3 +folder-name = "terraneo" +operator-name = "ShearHeatingP1Viscosity" +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] +blending = "IcosahedralShellMap" + +[[grad_rho_by_rho_dot_u]] +trial-space = "P2Vector" +test-space = "P1" +form-space-args.density_function_space = "P2" +dimensions = [2, 3] +quadrature = 3 +operator-name = "FrozenVelocity" +folder-name = "terraneo" +blending = "IdentityMap" +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] + +[[grad_rho_by_rho_dot_u]] +trial-space = "P2Vector" +test-space = "P1" +form-space-args.density_function_space = "P2" +dimensions = [2] +quadrature = 3 +operator-name = "FrozenVelocity" +folder-name = "terraneo" +blending = "AnnulusMap" +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] + +[[grad_rho_by_rho_dot_u]] +trial-space = "P2Vector" +test-space = "P1" +form-space-args.density_function_space = "P2" +dimensions = [3] +quadrature = 3 +operator-name = "FrozenVelocity" +folder-name = "terraneo" +blending = "IcosahedralShellMap" +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] + +[[grad_rho_by_rho_dot_u]] +trial-space = "P2Vector" +test-space = "P1" +form-space-args.density_function_space = "P1" +dimensions = [2, 3] +quadrature = 3 +operator-name = "FrozenVelocityP1Density" +folder-name = "terraneo" +blending = "IdentityMap" +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] + +[[grad_rho_by_rho_dot_u]] +trial-space = "P2Vector" +test-space = "P1" +form-space-args.density_function_space = "P1" +dimensions = [2] +quadrature = 3 +operator-name = "FrozenVelocityP1Density" +folder-name = "terraneo" +blending = "AnnulusMap" +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] + +[[grad_rho_by_rho_dot_u]] +trial-space = "P2Vector" +test-space = "P1" +form-space-args.density_function_space = "P1" +dimensions = [3] +quadrature = 3 +operator-name = "FrozenVelocityP1Density" +folder-name = "terraneo" +blending = "IcosahedralShellMap" +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops"] diff --git a/operators.toml b/operators.toml deleted file mode 100644 index ca0810cc866843f693a954380e94a285d3567a25..0000000000000000000000000000000000000000 --- a/operators.toml +++ /dev/null @@ -1,705 +0,0 @@ -[[curl_curl]] -trial-space = "N1E1" -test-space = "N1E1" -dimensions = [3] -quadrature = 0 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize"] - -[[diffusion]] -trial-space = "P1" -test-space = "P1" -dimensions = [2, 3] -quadrature = 0 -loop-strategy = "cubes" -optimizations = ["moveconstants", "vectorize"] - -[[diffusion]] -trial-space = "P1" -test-space = "P1" -dimensions = [2, 3] -quadrature = 0 -loop-strategy = "cubes" -optimizations = ["moveconstants", "vectorize"] -blending = "ParametricP1Map" - -[[diffusion]] -trial-space = "P2" -test-space = "P2" -dimensions = [2, 3] -quadrature = 2 -loop-strategy = "cubes" -optimizations = ["moveconstants", "vectorize"] - -[[diffusion]] -trial-space = "P2" -test-space = "P2" -dimensions = [2] -quadrature = 3 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize"] -blending = "AnnulusMap" - -[[diffusion]] -trial-space = "P2" -test-space = "P2" -dimensions = [3] -quadrature = 3 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize"] -blending = "IcosahedralShellMap" - -[[diffusion]] -trial-space = "P2" -test-space = "P2" -dimensions = [2, 3] -quadrature = 2 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize"] -blending = "ParametricP2Map" - -[[div_k_grad]] -trial-space = "P1" -test-space = "P1" -form-space-args.coefficient_function_space = "P1" -dimensions = [2, 3] -quadrature = 2 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"] - -[[div_k_grad]] -trial-space = "P2" -test-space = "P2" -form-space-args.coefficient_function_space = "P2" -dimensions = [2, 3] -quadrature = 2 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"] - -[[div_k_grad]] -trial-space = "P2" -test-space = "P2" -form-space-args.coefficient_function_space = "P2" -dimensions = [2] -quadrature = 3 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"] -blending = "AnnulusMap" - -[[div_k_grad]] -trial-space = "P2" -test-space = "P2" -form-space-args.coefficient_function_space = "P2" -dimensions = [3] -quadrature = 3 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"] -blending = "IcosahedralShellMap" - -[[div_k_grad]] -trial-space = "P2" -test-space = "P2" -form-space-args.coefficient_function_space = "P1" -dimensions = [2, 3] -quadrature = 2 -loop-strategy = "sawtooth" -operator-name = "DivKGradP1Coefficient" -optimizations = ["moveconstants", "vectorize", "quadloops"] - -[[div_k_grad]] -trial-space = "P2" -test-space = "P2" -form-space-args.coefficient_function_space = "P1" -dimensions = [2] -quadrature = 3 -loop-strategy = "sawtooth" -operator-name = "DivKGradP1Coefficient" -optimizations = ["moveconstants", "vectorize", "quadloops"] -blending = "AnnulusMap" - -[[div_k_grad]] -trial-space = "P2" -test-space = "P2" -form-space-args.coefficient_function_space = "P1" -dimensions = [3] -quadrature = 3 -loop-strategy = "sawtooth" -operator-name = "DivKGradP1Coefficient" -optimizations = ["moveconstants", "vectorize", "quadloops"] -blending = "IcosahedralShellMap" - -[[mass]] -trial-space = "P1" -test-space = "P1" -dimensions = [2, 3] -quadrature = 2 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] - -[[mass]] -trial-space = "P1" -test-space = "P1" -dimensions = [2, 3] -quadrature = 2 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] -blending = "ParametricP1Map" - -[[mass]] -trial-space = "P2" -test-space = "P2" -dimensions = [2, 3] -quadrature = 4 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"] - -[[mass]] -trial-space = "P2" -test-space = "P2" -dimensions = [2] -quadrature = 4 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"] -blending = "AnnulusMap" - -[[mass]] -trial-space = "P2" -test-space = "P2" -dimensions = [3] -quadrature = 4 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"] -blending = "IcosahedralShellMap" - -[[mass]] -trial-space = "P2" -test-space = "P2" -dimensions = [2, 3] -quadrature = 4 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"] -blending = "ParametricP2Map" - -[[k_mass]] -trial-space = "P1" -test-space = "P1" -form-space-args.coefficient_function_space = "P1" -dimensions = [2, 3] -quadrature = 3 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] - -[[k_mass]] -trial-space = "P1" -test-space = "P1" -form-space-args.coefficient_function_space = "P1" -dimensions = [2] -quadrature = 3 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] -blending = "AnnulusMap" - -[[k_mass]] -trial-space = "P1" -test-space = "P1" -form-space-args.coefficient_function_space = "P1" -dimensions = [3] -quadrature = 3 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] -blending = "IcosahedralShellMap" - -[[k_mass]] -trial-space = "P2" -test-space = "P1" -form-space-args.coefficient_function_space = "P2" -dimensions = [2, 3] -quadrature = 4 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] - -[[k_mass]] -trial-space = "P2" -test-space = "P1" -form-space-args.coefficient_function_space = "P2" -dimensions = [2] -quadrature = 4 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] -blending = "AnnulusMap" - -[[k_mass]] -trial-space = "P2" -test-space = "P1" -form-space-args.coefficient_function_space = "P2" -dimensions = [3] -quadrature = 4 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] -blending = "IcosahedralShellMap" - -[[k_mass]] -trial-space = "P2" -test-space = "P2" -form-space-args.coefficient_function_space = "P2" -dimensions = [2, 3] -quadrature = 4 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] - -[[k_mass]] -trial-space = "P2" -test-space = "P2" -form-space-args.coefficient_function_space = "P2" -dimensions = [2] -quadrature = 4 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] -blending = "AnnulusMap" - -[[k_mass]] -trial-space = "P2" -test-space = "P2" -form-space-args.coefficient_function_space = "P2" -dimensions = [3] -quadrature = 4 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] -blending = "IcosahedralShellMap" - -[[k_mass]] -trial-space = "P2" -test-space = "P2" -form-space-args.coefficient_function_space = "P1" -dimensions = [2, 3] -quadrature = 4 -loop-strategy = "sawtooth" -operator-name = "KMassP1Coefficient" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] - -[[k_mass]] -trial-space = "P2" -test-space = "P2" -form-space-args.coefficient_function_space = "P1" -dimensions = [2] -quadrature = 4 -loop-strategy = "sawtooth" -operator-name = "KMassP1Coefficient" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] -blending = "AnnulusMap" - -[[k_mass]] -trial-space = "P2" -test-space = "P2" -form-space-args.coefficient_function_space = "P1" -dimensions = [3] -quadrature = 4 -loop-strategy = "sawtooth" -operator-name = "KMassP1Coefficient" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] -blending = "IcosahedralShellMap" - -[[divergence]] -trial-space = "P2" -test-space = "P1" -components-trial = [0, 1, 2] -dimensions = [2, 3] -quadrature = 2 -loop-strategy = "cubes" -optimizations = ["moveconstants", "vectorize"] - -[[divergence]] -trial-space = "P2" -test-space = "P1" -components-trial = [0, 1] -dimensions = [2] -quadrature = 2 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize"] -blending = "AnnulusMap" - -[[divergence]] -trial-space = "P2" -test-space = "P1" -components-trial = [0, 1, 2] -dimensions = [3] -quadrature = 2 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize"] -blending = "IcosahedralShellMap" - -[[divergence]] -trial-space = "P2Vector" -test-space = "P1" -dimensions = [2, 3] -quadrature = 2 -loop-strategy = "cubes" -optimizations = ["moveconstants", "vectorize"] - -[[divergence]] -trial-space = "P2Vector" -test-space = "P1" -dimensions = [2] -quadrature = 2 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize"] -blending = "AnnulusMap" - -[[divergence]] -trial-space = "P2Vector" -test-space = "P1" -dimensions = [3] -quadrature = 2 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize"] -blending = "IcosahedralShellMap" - -[[gradient]] -trial-space = "P1" -test-space = "P2" -components-test = [0, 1, 2] -dimensions = [2, 3] -quadrature = 2 -loop-strategy = "cubes" -optimizations = ["moveconstants", "vectorize"] - -[[gradient]] -trial-space = "P1" -test-space = "P2" -components-test = [0, 1] -dimensions = [2] -quadrature = 2 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize"] -blending = "AnnulusMap" - -[[gradient]] -trial-space = "P1" -test-space = "P2" -components-test = [0, 1, 2] -dimensions = [3] -quadrature = 2 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize"] -blending = "IcosahedralShellMap" - -[[gradient]] -trial-space = "P1" -test-space = "P2Vector" -dimensions = [2, 3] -quadrature = 2 -loop-strategy = "cubes" -optimizations = ["moveconstants", "vectorize"] - -[[gradient]] -trial-space = "P1" -test-space = "P2Vector" -dimensions = [2] -quadrature = 2 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize"] -blending = "AnnulusMap" - -[[gradient]] -trial-space = "P1" -test-space = "P2Vector" -dimensions = [3] -quadrature = 2 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize"] -blending = "IcosahedralShellMap" - -[[epsilon]] -trial-space = "P2" -test-space = "P2" -components-trial = [0, 1, 2] -components-test = [0, 1, 2] -form-space-args.coefficient_function_space = "P2" -dimensions = [2, 3] -quadrature = 2 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] - -[[epsilon]] -trial-space = "P2" -test-space = "P2" -components-trial = [0, 1] -components-test = [0, 1] -form-space-args.coefficient_function_space = "P2" -dimensions = [2] -quadrature = 3 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] -blending = "AnnulusMap" - -[[epsilon]] -trial-space = "P2" -test-space = "P2" -components-trial = [0, 1, 2] -components-test = [0, 1, 2] -form-space-args.coefficient_function_space = "P2" -dimensions = [3] -quadrature = 3 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] -blending = "IcosahedralShellMap" - -[[epsilon]] -trial-space = "P2Vector" -test-space = "P2Vector" -form-space-args.coefficient_function_space = "P2" -dimensions = [2, 3] -quadrature = 2 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] - -[[epsilon]] -trial-space = "P2Vector" -test-space = "P2Vector" -form-space-args.coefficient_function_space = "P2" -dimensions = [2] -quadrature = 3 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] -blending = "AnnulusMap" - -[[epsilon]] -trial-space = "P2Vector" -test-space = "P2Vector" -form-space-args.coefficient_function_space = "P2" -dimensions = [3] -quadrature = 3 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] -blending = "IcosahedralShellMap" - -[[epsilon]] -trial-space = "P2Vector" -test-space = "P2Vector" -form-space-args.coefficient_function_space = "P1" -dimensions = [2] -quadrature = 3 -loop-strategy = "sawtooth" -operator-name = "EpsilonP1Viscosity" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] -blending = "AnnulusMap" - -[[epsilon]] -trial-space = "P2Vector" -test-space = "P2Vector" -form-space-args.coefficient_function_space = "P1" -dimensions = [3] -quadrature = 3 -loop-strategy = "sawtooth" -operator-name = "EpsilonP1Viscosity" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] -blending = "IcosahedralShellMap" - -[[full_stokes]] -trial-space = "P2" -test-space = "P2" -components-trial = [0, 1, 2] -components-test = [0, 1, 2] -form-space-args.coefficient_function_space = "P2" -dimensions = [2, 3] -quadrature = 2 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] - -[[full_stokes]] -trial-space = "P2" -test-space = "P2" -components-trial = [0, 1] -components-test = [0, 1] -form-space-args.coefficient_function_space = "P2" -dimensions = [2] -quadrature = 3 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] -blending = "AnnulusMap" - -[[full_stokes]] -trial-space = "P2" -test-space = "P2" -components-trial = [0, 1, 2] -components-test = [0, 1, 2] -form-space-args.coefficient_function_space = "P2" -dimensions = [3] -quadrature = 3 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] -blending = "IcosahedralShellMap" - -[[full_stokes]] -trial-space = "P2Vector" -test-space = "P2Vector" -form-space-args.coefficient_function_space = "P2" -dimensions = [2, 3] -quadrature = 2 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] - -[[full_stokes]] -trial-space = "P2Vector" -test-space = "P2Vector" -form-space-args.coefficient_function_space = "P2" -dimensions = [2] -quadrature = 3 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] -blending = "AnnulusMap" - -[[full_stokes]] -trial-space = "P2Vector" -test-space = "P2Vector" -form-space-args.coefficient_function_space = "P2" -dimensions = [3] -quadrature = 3 -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] -blending = "IcosahedralShellMap" - -[[shear_heating]] -trial-space = "P2" -test-space = "P2" -form-space-args.viscosity_function_space = "P2" -form-space-args.velocity_function_space = "P2" -dimensions = [2, 3] -quadrature = 3 -folder-name = "terraneo" -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"] - -[[shear_heating]] -trial-space = "P2" -test-space = "P2" -form-space-args.viscosity_function_space = "P2" -form-space-args.velocity_function_space = "P2" -dimensions = [2] -quadrature = 3 -folder-name = "terraneo" -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"] -blending = "AnnulusMap" - -[[shear_heating]] -trial-space = "P2" -test-space = "P2" -form-space-args.viscosity_function_space = "P2" -form-space-args.velocity_function_space = "P2" -dimensions = [3] -quadrature = 3 -folder-name = "terraneo" -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"] -blending = "IcosahedralShellMap" - -[[shear_heating]] -trial-space = "P2" -test-space = "P2" -form-space-args.viscosity_function_space = "P1" -form-space-args.velocity_function_space = "P2" -dimensions = [2, 3] -quadrature = 3 -folder-name = "terraneo" -operator-name = "ShearHeatingP1Viscosity" -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"] - -[[shear_heating]] -trial-space = "P2" -test-space = "P2" -form-space-args.viscosity_function_space = "P1" -form-space-args.velocity_function_space = "P2" -dimensions = [2] -quadrature = 3 -folder-name = "terraneo" -operator-name = "ShearHeatingP1Viscosity" -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"] -blending = "AnnulusMap" - -[[shear_heating]] -trial-space = "P2" -test-space = "P2" -form-space-args.viscosity_function_space = "P1" -form-space-args.velocity_function_space = "P2" -dimensions = [3] -quadrature = 3 -folder-name = "terraneo" -operator-name = "ShearHeatingP1Viscosity" -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"] -blending = "IcosahedralShellMap" - -[[grad_rho_by_rho_dot_u]] -trial-space = "P2Vector" -test-space = "P1" -form-space-args.density_function_space = "P2" -dimensions = [2, 3] -quadrature = 3 -operator-name = "FrozenVelocity" -folder-name = "terraneo" -blending = "IdentityMap" -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"] - -[[grad_rho_by_rho_dot_u]] -trial-space = "P2Vector" -test-space = "P1" -form-space-args.density_function_space = "P2" -dimensions = [2] -quadrature = 3 -operator-name = "FrozenVelocity" -folder-name = "terraneo" -blending = "AnnulusMap" -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"] - -[[grad_rho_by_rho_dot_u]] -trial-space = "P2Vector" -test-space = "P1" -form-space-args.density_function_space = "P2" -dimensions = [3] -quadrature = 3 -operator-name = "FrozenVelocity" -folder-name = "terraneo" -blending = "IcosahedralShellMap" -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"] - -[[grad_rho_by_rho_dot_u]] -trial-space = "P2Vector" -test-space = "P1" -form-space-args.density_function_space = "P1" -dimensions = [2, 3] -quadrature = 3 -operator-name = "FrozenVelocityP1Density" -folder-name = "terraneo" -blending = "IdentityMap" -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"] - -[[grad_rho_by_rho_dot_u]] -trial-space = "P2Vector" -test-space = "P1" -form-space-args.density_function_space = "P1" -dimensions = [2] -quadrature = 3 -operator-name = "FrozenVelocityP1Density" -folder-name = "terraneo" -blending = "AnnulusMap" -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"] - -[[grad_rho_by_rho_dot_u]] -trial-space = "P2Vector" -test-space = "P1" -form-space-args.density_function_space = "P1" -dimensions = [3] -quadrature = 3 -operator-name = "FrozenVelocityP1Density" -folder-name = "terraneo" -blending = "IcosahedralShellMap" -loop-strategy = "sawtooth" -optimizations = ["moveconstants", "vectorize", "quadloops"]