plot.py

changeset 12
a0d61ac3719e
parent 3
c3a4f4bb87f7
--- a/plot.py	Mon Jun 29 00:20:42 2026 +0300
+++ b/plot.py	Sun Oct 04 13:02:26 2026 -0500
@@ -14,6 +14,7 @@
 import matplotlib.tri as tri
 import numpy as np
 from dolfinx import fem
+
 from src.convection_diffusion import ConvectionDiffusion
 
 
@@ -49,9 +50,10 @@
         u0=lambda x: 0.0 * x[1],
         g=lambda x: 0.0 * x[1],  # ((x[1] + 2) / 4) ** 2,  # nonzero bcs
         # w0=lambda x: np.cos(5 * x[1]),
-        domain_size=[0, 0.5, 0, 0.5],
-        # nx=128,
-        # ny=128,
+        domain_dims=[[0, 0.5], [0, 0.5]],
+        nx=32,
+        ny=32,
+        num_steps=50,
     )
 
     # Get coordinates
@@ -135,9 +137,14 @@
         true_μ_alpha = list(map(lambda x: x[2], true_μ))
 
         if len(μ_alpha) == 0:
-            alpha_mi, alpha_ma, alpha_me = 0, 0, 0
+            alpha_mi, alpha_ma, alpha_me, alpha_sum = 0, 0, 0, 0
         else:
-            alpha_mi, alpha_ma, alpha_me = min(μ_alpha), max(μ_alpha), median(μ_alpha)
+            alpha_mi, alpha_ma, alpha_me, alpha_sum = (
+                min(μ_alpha),
+                max(μ_alpha),
+                median(μ_alpha),
+                sum(μ_alpha),
+            )
 
         true_alpha_mi, true_alpha_ma = min(true_μ_alpha), max(true_μ_alpha)
         alpha_base = min(true_alpha_mi, alpha_mi)
@@ -314,13 +321,13 @@
                 ax.set_aspect("equal")
 
             plt.suptitle(
-                "Convection-Diffusion, iteration %d; len(μ) = %d; μ_min = %f, μ_max = %f, μ_median = %f;"
+                "Convection-Diffusion, iteration %d; len(μ) = %d; μ_min = %f, μ_max = %f, μ_sum = %f;"
                 % (
                     iter,
                     len(μ),
                     alpha_mi,
                     alpha_ma,
-                    alpha_me,
+                    alpha_sum,
                 ),
                 fontsize=14,
             )
@@ -441,17 +448,22 @@
     # print("Saved: solution_evolution.png + solution_time.png")
 
 
-parser = argparse.ArgumentParser(
-    prog="plot.py",
-    description="Plots results of pointsource_pde",
-)
+def main():
+    parser = argparse.ArgumentParser(
+        prog="plot.py",
+        description="Plots results of pointsource_pde",
+    )
 
-parser.add_argument("filename")
-parser.add_argument("--simple", action="store_true")
-parser.add_argument("--shaded", action="store_true")
-parser.add_argument("--iter", type=int, action="store")
-parser.add_argument("--save-only", action="store_true")
+    parser.add_argument("filename")
+    parser.add_argument("--simple", action="store_true")
+    parser.add_argument("--shaded", action="store_true")
+    parser.add_argument("--iter", type=int, action="store")
+    parser.add_argument("--save-only", action="store_true")
 
-args = parser.parse_args()
+    args = parser.parse_args()
+
+    plot(args.filename, args.simple, args.shaded, args.iter, args.save_only)
 
-plot(args.filename, args.simple, args.shaded, args.iter, args.save_only)
+
+if __name__ == "__main__":
+    main()

mercurial