From 1fd4125ef79e4ea9f17a735e41beb7b670c96a45 Mon Sep 17 00:00:00 2001
From: Marcus Mohr <marcus.mohr@lmu.de>
Date: Mon, 14 Apr 2025 11:19:31 +0200
Subject: [PATCH] Adds mass and diffusion operators for P2PlusBubble FE space

The commit adds four new operators for the P2PlusBubble element for
- diffusion and mass
- w/o blending and w/ AnnulusMap
- 2D
---
 generate/generate.py      |  1 +
 generate/requirements.txt |  4 ++--
 operators-diffusion.toml  | 17 +++++++++++++++++
 operators-mass.toml       | 17 +++++++++++++++++
 4 files changed, 37 insertions(+), 2 deletions(-)

diff --git a/generate/generate.py b/generate/generate.py
index 507a0847..d3d2543f 100644
--- a/generate/generate.py
+++ b/generate/generate.py
@@ -265,6 +265,7 @@ def generate_operator(
             function_space.LagrangianFunctionSpace(2, symbolizer)
         ),
         "N1E1": function_space.N1E1Space(symbolizer),
+        "P2PlusBubble": function_space.P2PlusBubbleSpace(symbolizer),
     }
     geometries = {
         2: element_geometry.TriangleElement(),
diff --git a/generate/requirements.txt b/generate/requirements.txt
index bbd26127..8e157107 100644
--- a/generate/requirements.txt
+++ b/generate/requirements.txt
@@ -1,10 +1,10 @@
 --extra-index-url https://test.pypi.org/simple/
 
 # users with account on i10git.cs.fau.de can use ssh
-# hog @ git+ssh://git@i10git.cs.fau.de/hyteg/hog@5cecb2d0c7cfb2449f80f6069a4fb6b4b3cb312d
+# hog @ git+ssh://git@i10git.cs.fau.de/hyteg/hog@c9487067d79ddb2593bb5bcbef3d4649ea44f3cb
 
 # others should prefer https
-hog @ git+https://i10git.cs.fau.de/hyteg/hog@5cecb2d0c7cfb2449f80f6069a4fb6b4b3cb312d
+hog @ git+https://i10git.cs.fau.de/hyteg/hog@c9487067d79ddb2593bb5bcbef3d4649ea44f3cb
 
 tomli >= 1.1.0 ; python_version < "3.11"
 clang-format
diff --git a/operators-diffusion.toml b/operators-diffusion.toml
index 5124cc2e..8a51907b 100644
--- a/operators-diffusion.toml
+++ b/operators-diffusion.toml
@@ -49,3 +49,20 @@ quadrature    = 2
 loop-strategy = "sawtooth"
 optimizations = ["moveconstants", "vectorize"]
 blending      = "ParametricP2Map"
+
+[[diffusion]]
+trial-space   = "P2PlusBubble"
+test-space    = "P2PlusBubble"
+dimensions    = [2]
+quadrature    = 4
+loop-strategy = "cubes"
+optimizations = ["moveconstants", "vectorize"]
+
+[[diffusion]]
+trial-space   = "P2PlusBubble"
+test-space    = "P2PlusBubble"
+dimensions    = [2]
+quadrature    = 4
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize"]
+blending      = "AnnulusMap"
diff --git a/operators-mass.toml b/operators-mass.toml
index 9af84168..8d235eee 100644
--- a/operators-mass.toml
+++ b/operators-mass.toml
@@ -49,3 +49,20 @@ quadrature    = 4
 loop-strategy = "sawtooth"
 optimizations = ["moveconstants", "vectorize", "quadloops"]
 blending      = "ParametricP2Map"
+
+[[mass]]
+trial-space   = "P2PlusBubble"
+test-space    = "P2PlusBubble"
+dimensions    = [2]
+quadrature    = 6
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+
+[[mass]]
+trial-space   = "P2PlusBubble"
+test-space    = "P2PlusBubble"
+dimensions    = [2]
+quadrature    = 4
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops"]
+blending      = "AnnulusMap"
-- 
GitLab