Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate convergence of MA QN solver #148

Open
jwallwork23 opened this issue Jan 14, 2025 · 2 comments
Open

Investigate convergence of MA QN solver #148

jwallwork23 opened this issue Jan 14, 2025 · 2 comments
Labels
bug Something isn't working

Comments

@jwallwork23
Copy link
Member

          [The optimisation progress of the quasi-Newton solver with ring radius 0.4] looks like this now:
   0   Volume ratio 12.91   Variation (σ/μ) 1.21e+00   Residual 1.16e+00
   1   Volume ratio  6.77   Variation (σ/μ) 6.15e-01   Residual 4.85e-01
   2   Volume ratio  5.84   Variation (σ/μ) 5.69e-01   Residual 4.26e-01
   3   Volume ratio  6.34   Variation (σ/μ) 5.14e-01   Residual 3.74e-01
   4   Volume ratio  6.38   Variation (σ/μ) 4.88e-01   Residual 3.22e-01
   5   Volume ratio 12.05   Variation (σ/μ) 4.55e-01   Residual 2.57e-01
   6   Volume ratio 11.69   Variation (σ/μ) 4.26e-01   Residual 2.30e-01
   7   Volume ratio 11.98   Variation (σ/μ) 4.23e-01   Residual 1.98e-01
   8   Volume ratio 11.81   Variation (σ/μ) 4.17e-01   Residual 1.95e-01
   9   Volume ratio 12.00   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
  10   Volume ratio 12.07   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
  11   Volume ratio 12.09   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
  12   Volume ratio 12.09   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
  13   Volume ratio 12.09   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
  14   Volume ratio 12.09   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
  15   Volume ratio 12.09   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
  16   Volume ratio 12.09   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
  17   Volume ratio 12.09   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
  18   Volume ratio 12.09   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
  19   Volume ratio 12.09   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
  20   Volume ratio 12.09   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
  21   Volume ratio 12.09   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
  22   Volume ratio 12.09   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
  23   Volume ratio 12.09   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
  24   Volume ratio 12.09   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
  25   Volume ratio 12.09   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
  26   Volume ratio 12.10   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
  27   Volume ratio 12.18   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
  28   Volume ratio 12.38   Variation (σ/μ) 4.16e-01   Residual 1.93e-01
  29   Volume ratio 12.43   Variation (σ/μ) 4.16e-01   Residual 1.93e-01
  30   Volume ratio 12.44   Variation (σ/μ) 4.16e-01   Residual 1.93e-01
  31   Volume ratio 12.44   Variation (σ/μ) 4.16e-01   Residual 1.93e-01
  32   Volume ratio 12.44   Variation (σ/μ) 4.16e-01   Residual 1.93e-01
  33   Volume ratio 12.44   Variation (σ/μ) 4.16e-01   Residual 1.93e-01
  34   Volume ratio 12.44   Variation (σ/μ) 4.16e-01   Residual 1.93e-01
  35   Volume ratio 12.44   Variation (σ/μ) 4.16e-01   Residual 1.93e-01
  36   Volume ratio 12.44   Variation (σ/μ) 4.16e-01   Residual 1.93e-01
  37   Volume ratio 13.34   Variation (σ/μ) 4.18e-01   Residual 1.94e-01
  38   Volume ratio 15.21   Variation (σ/μ) 4.38e-01   Residual 2.09e-01
  39   Volume ratio 17.20   Variation (σ/μ) 4.76e-01   Residual 2.22e-01
  40   Volume ratio 11.89   Variation (σ/μ) 4.30e-01   Residual 1.45e-01
  41   Volume ratio 12.41   Variation (σ/μ) 4.13e-01   Residual 1.01e-01
  42   Volume ratio  8.76   Variation (σ/μ) 3.79e-01   Residual 7.36e-02
  43   Volume ratio 10.00   Variation (σ/μ) 3.85e-01   Residual 6.36e-02
  44   Volume ratio  8.57   Variation (σ/μ) 3.65e-01   Residual 5.17e-02
  45   Volume ratio  9.48   Variation (σ/μ) 3.72e-01   Residual 4.17e-02
  46   Volume ratio  8.70   Variation (σ/μ) 3.60e-01   Residual 3.51e-02
  47   Volume ratio  9.31   Variation (σ/μ) 3.64e-01   Residual 2.69e-02
  48   Volume ratio  8.82   Variation (σ/μ) 3.57e-01   Residual 2.23e-02
  49   Volume ratio  9.20   Variation (σ/μ) 3.58e-01   Residual 1.44e-02
  50   Volume ratio  8.95   Variation (σ/μ) 3.53e-01   Residual 1.03e-02
  51   Volume ratio  9.08   Variation (σ/μ) 3.52e-01   Residual 4.91e-03
  52   Volume ratio  9.05   Variation (σ/μ) 3.50e-01   Residual 3.98e-03
  53   Volume ratio  9.13   Variation (σ/μ) 3.51e-01   Residual 2.81e-03
  54   Volume ratio  9.11   Variation (σ/μ) 3.50e-01   Residual 2.28e-03
  55   Volume ratio  9.17   Variation (σ/μ) 3.50e-01   Residual 1.51e-03
  56   Volume ratio  9.15   Variation (σ/μ) 3.50e-01   Residual 1.11e-03
  57   Volume ratio  9.19   Variation (σ/μ) 3.50e-01   Residual 5.28e-04
  58   Volume ratio  9.18   Variation (σ/μ) 3.49e-01   Residual 2.89e-04
  59   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 1.04e-04
  60   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 7.69e-05
  61   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 5.31e-05
  62   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 3.80e-05
  63   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 2.66e-05
  64   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 1.87e-05
  65   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 1.36e-05
  66   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 9.55e-06
  67   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 7.22e-06
  68   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 5.04e-06
  69   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 3.88e-06
  70   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 2.50e-06
  71   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 1.87e-06
  72   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 9.04e-07
  73   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 6.32e-07
  74   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 2.67e-07
  75   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 1.55e-07
  76   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 8.22e-08
Solver converged in 76 iterations.

Quite a few more iterations (up from 52 with np.sqrt(0.15) since it gets stuck a bit as you can see.

Originally posted by @ddundo in #114 (comment)

@ddundo
Copy link
Member

ddundo commented Jan 14, 2025

Maybe connected to mesh-adaptation/animate#152, do you think it's worth investigating why you got different results than these on your machine?

Edit: I am using our firedrake-parmmg container

@jwallwork23
Copy link
Member Author

Maybe connected to mesh-adaptation/animate#152, do you think it's worth investigating why you got different results than these on your machine?

I don't think so right now. Numerical codes will give different results on different machines for all sorts of reasons. If the results were drastically different then it would be worth looking into, but I wouldn't say that's the case here. Running git diff --word-diff gives

diff --git b/demos/monge_ampere_ring.py a/demos/monge_ampere_ring.py
index fd9f944..fb68071 100644
--- b/demos/monge_ampere_ring.py
+++ a/demos/monge_ampere_ring.py
@@ -121,60 +121,58 @@ mover.move()
#      21   Volume ratio 12.09   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
#      22   Volume ratio 12.09   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
#      23   Volume ratio 12.09   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
#      24   Volume ratio [-12.09-]{+12.10+}   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
#      25   Volume ratio [-12.09-]{+12.18+}   Variation (σ/μ) 4.16e-01   Residual 1.94e-01
#      26   Volume ratio [-12.10-]{+12.38+}   Variation (σ/μ) 4.16e-01   Residual [-1.94e-01-]{+1.93e-01+}
#      27   Volume ratio [-12.18-]{+12.43+}   Variation (σ/μ) 4.16e-01   Residual [-1.94e-01-]{+1.93e-01+}
#      28   Volume ratio [-12.38-]{+12.44+}   Variation (σ/μ) 4.16e-01   Residual 1.93e-01
#      29   Volume ratio [-12.43-]{+12.44+}   Variation (σ/μ) 4.16e-01   Residual 1.93e-01
#      30   Volume ratio 12.44   Variation (σ/μ) 4.16e-01   Residual 1.93e-01
#      31   Volume ratio 12.44   Variation (σ/μ) 4.16e-01   Residual 1.93e-01
#      32   Volume ratio 12.44   Variation (σ/μ) 4.16e-01   Residual 1.93e-01
#      33   Volume ratio 12.44   Variation (σ/μ) 4.16e-01   Residual 1.93e-01
#      34   Volume ratio 12.44   Variation (σ/μ) 4.16e-01   Residual 1.93e-01
#      35   Volume ratio[-12.44   Variation (σ/μ) 4.16e-01   Residual 1.93e-01-]
[-#      36   Volume ratio 12.44   Variation (σ/μ) 4.16e-01   Residual 1.93e-01-]
[-#      37   Volume ratio-] 13.34   Variation (σ/μ) 4.18e-01   Residual 1.94e-01
#      [-38-]{+36+}   Volume ratio 15.21   Variation (σ/μ) 4.38e-01   Residual 2.09e-01
#      [-39-]{+37+}   Volume ratio 17.20   Variation (σ/μ) 4.76e-01   Residual 2.22e-01
#      [-40-]{+38+}   Volume ratio 11.89   Variation (σ/μ) 4.30e-01   Residual 1.45e-01
#      [-41-]{+39+}   Volume ratio 12.41   Variation (σ/μ) 4.13e-01   Residual 1.01e-01
#      [-42-]{+40+}   Volume ratio  8.76   Variation (σ/μ) 3.79e-01   Residual 7.36e-02
#      [-43-]{+41+}   Volume ratio 10.00   Variation (σ/μ) 3.85e-01   Residual 6.36e-02
#      [-44-]{+42+}   Volume ratio  8.57   Variation (σ/μ) 3.65e-01   Residual 5.17e-02
#      [-45-]{+43+}   Volume ratio  9.48   Variation (σ/μ) 3.72e-01   Residual 4.17e-02
#      [-46-]{+44+}   Volume ratio  8.70   Variation (σ/μ) 3.60e-01   Residual 3.51e-02
#      [-47-]{+45+}   Volume ratio  9.31   Variation (σ/μ) 3.64e-01   Residual 2.69e-02
#      [-48-]{+46+}   Volume ratio  8.82   Variation (σ/μ) 3.57e-01   Residual 2.23e-02
#      [-49-]{+47+}   Volume ratio  9.20   Variation (σ/μ) 3.58e-01   Residual 1.44e-02
#      [-50-]{+48+}   Volume ratio  8.95   Variation (σ/μ) 3.53e-01   Residual 1.03e-02
#      [-51-]{+49+}   Volume ratio  9.08   Variation (σ/μ) 3.52e-01   Residual 4.91e-03
#      [-52-]{+50+}   Volume ratio  9.05   Variation (σ/μ) 3.50e-01   Residual 3.98e-03
#      [-53-]{+51+}   Volume ratio  9.13   Variation (σ/μ) 3.51e-01   Residual 2.81e-03
#      [-54-]{+52+}   Volume ratio  9.11   Variation (σ/μ) 3.50e-01   Residual 2.28e-03
#      [-55-]{+53+}   Volume ratio  9.17   Variation (σ/μ) 3.50e-01   Residual 1.51e-03
#      [-56-]{+54+}   Volume ratio  9.15   Variation (σ/μ) 3.50e-01   Residual 1.11e-03
...skipping...
#      [-41-]{+39+}   Volume ratio 12.41   Variation (σ/μ) 4.13e-01   Residual 1.01e-01
#      [-42-]{+40+}   Volume ratio  8.76   Variation (σ/μ) 3.79e-01   Residual 7.36e-02
#      [-43-]{+41+}   Volume ratio 10.00   Variation (σ/μ) 3.85e-01   Residual 6.36e-02
#      [-44-]{+42+}   Volume ratio  8.57   Variation (σ/μ) 3.65e-01   Residual 5.17e-02
#      [-45-]{+43+}   Volume ratio  9.48   Variation (σ/μ) 3.72e-01   Residual 4.17e-02
#      [-46-]{+44+}   Volume ratio  8.70   Variation (σ/μ) 3.60e-01   Residual 3.51e-02
#      [-47-]{+45+}   Volume ratio  9.31   Variation (σ/μ) 3.64e-01   Residual 2.69e-02
#      [-48-]{+46+}   Volume ratio  8.82   Variation (σ/μ) 3.57e-01   Residual 2.23e-02
#      [-49-]{+47+}   Volume ratio  9.20   Variation (σ/μ) 3.58e-01   Residual 1.44e-02
#      [-50-]{+48+}   Volume ratio  8.95   Variation (σ/μ) 3.53e-01   Residual 1.03e-02
#      [-51-]{+49+}   Volume ratio  9.08   Variation (σ/μ) 3.52e-01   Residual 4.91e-03
#      [-52-]{+50+}   Volume ratio  9.05   Variation (σ/μ) 3.50e-01   Residual 3.98e-03
#      [-53-]{+51+}   Volume ratio  9.13   Variation (σ/μ) 3.51e-01   Residual 2.81e-03
#      [-54-]{+52+}   Volume ratio  9.11   Variation (σ/μ) 3.50e-01   Residual 2.28e-03
#      [-55-]{+53+}   Volume ratio  9.17   Variation (σ/μ) 3.50e-01   Residual 1.51e-03
#      [-56-]{+54+}   Volume ratio  9.15   Variation (σ/μ) 3.50e-01   Residual 1.11e-03
#      [-57-]{+55+}   Volume ratio  9.19   Variation (σ/μ) 3.50e-01   Residual 5.28e-04
#      [-58-]{+56+}   Volume ratio  9.18   Variation (σ/μ) 3.49e-01   Residual 2.89e-04
#      [-59-]{+57+}   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 1.04e-04
#      [-60-]{+58+}   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 7.69e-05
#      [-61-]{+59+}   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 5.31e-05
#      [-62-]{+60+}   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 3.80e-05
#      [-63-]{+61+}   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 2.66e-05
#      [-64-]{+62+}   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 1.87e-05
#      [-65-]{+63+}   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 1.36e-05
#      [-66-]{+64+}   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 9.55e-06
#      [-67-]{+65+}   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 7.22e-06
#      [-68-]{+66+}   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 5.04e-06
#      [-69-]{+67+}   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 3.88e-06
#      [-70-]{+68+}   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 2.50e-06
#      [-71-]{+69+}   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 1.87e-06
#      [-72-]{+70+}   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 9.04e-07
#      [-73-]{+71+}   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 6.32e-07
#      [-74-]{+72+}   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 2.67e-07
#      [-75-]{+73+}   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 1.55e-07
#      [-76-]{+74+}   Volume ratio  9.19   Variation (σ/μ) 3.49e-01   Residual 8.22e-08
#    Solver converged in [-76-]{+74+} iterations.
#
# The adapted mesh can be accessed via the `mesh` attribute of the mover. Plotting it,
# we see that the adapted mesh has its resolution focused around a ring, as expected.

which indicates that the differences are rather small. The main difference is that your simulation stalls for two iterations longer than mine.

@jwallwork23 jwallwork23 added the bug Something isn't working label Jan 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Development

No branches or pull requests

2 participants