--- 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()