Skip to content

Commit 35073a0

Browse files
authored
simplify the output from the multigrid solver (#161)
it is now more compact
1 parent e220287 commit 35073a0

4 files changed

Lines changed: 332 additions & 1224 deletions

File tree

pyro/multigrid/MG.py

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -714,8 +714,7 @@ def v_cycle(self, level):
714714

715715
if self.verbose:
716716
self._compute_residual(level)
717-
self.grid_info(level, indent=2)
718-
print(" before G-S, residual L2: {}".format(fp.get_var("r").norm()))
717+
orig_resid = fp.get_var("r").norm()
719718

720719
# smooth on the current level
721720
self.smooth(level, self.nsmooth)
@@ -724,7 +723,9 @@ def v_cycle(self, level):
724723
self._compute_residual(level)
725724

726725
if self.verbose:
727-
print(" after G-S, residual L2: {}\n".format(fp.get_var("r").norm()))
726+
new_resid = fp.get_var("r").norm()
727+
nx = self.grids[level].grid.nx
728+
print(f" level = {level:2}, nx = {nx:4}, residual change: {orig_resid:11.6g}{new_resid:11.6g}")
728729

729730
# restrict the residual down to the RHS of the coarser level
730731
f_coarse = cp.get_var("f")
@@ -751,31 +752,27 @@ def v_cycle(self, level):
751752

752753
if self.verbose:
753754
self._compute_residual(level)
754-
self.grid_info(level, indent=2)
755-
print(" before G-S, residual L2: {}".format(fp.get_var("r").norm()))
755+
orig_resid = fp.get_var("r").norm()
756756

757757
# smooth
758758
self.smooth(level, self.nsmooth)
759759

760760
if self.verbose:
761-
self._compute_residual(level)
762-
print(" after G-S, residual L2: {}\n".format(fp.get_var("r").norm()))
761+
new_resid = fp.get_var("r").norm()
762+
nx = self.grids[level].grid.nx
763+
print(f" level = {level:2}, nx = {nx:4}, residual change: {orig_resid:11.6g}{new_resid:11.6g}")
763764

764765
else:
765766
# bottom solve: solve the discrete coarse problem. We
766767
# could use any number of different matrix solvers here
767768
# (like CG), but since we are 2x2 by design at this point,
768769
# we will just smooth
769770
if self.verbose:
770-
print(" bottom solve:")
771+
print(" bottom solve")
771772

772773
self.current_level = level
773774
bp = self.grids[level]
774775

775-
if self.verbose:
776-
self.grid_info(level, indent=2)
777-
print("")
778-
779776
self.smooth(level, self.nsmooth_bottom)
780777

781778
bp.fill_BC("v")

0 commit comments

Comments
 (0)