Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • D dune-tnnmg
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 5
    • Merge requests 5
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • agnumpde
  • dune-tnnmg
  • Issues
  • #2
Closed
Open
Created Jun 18, 2016 by pipping@pipping

[new_tnnmg] Iterations in nonlineargsperformancetest_iterates never converge with NonlinearGSStep.

I'm not 100% sure what this test does. In particular, in two different settings, it goes through three phases:

  1. Solve with new NonlinearGSStep
  2. Solve with new NonlinearGSStep (timed)
  3. Solve with old TruncatedBlockGSStep (timed)

I don't quite understand the purpose of the first step. Either way, each step is composed of 10 calls to a loopsolver (which in turn does 100 iterations). The 10 calls are just to get a higher sampling number, I take it, so the numerical results are always the same and we can focus on just one of them.

So if I take the final output line by the loop solver in each case (not ten times), I get this:

7: maxTotalConvRate: 2,   100 iterations performed
7: maxTotalConvRate: 2,   100 iterations performed
7: maxTotalConvRate: 0,   2 iterations performed
7: maxTotalConvRate: 2.99221,   100 iterations performed
7: maxTotalConvRate: 2.99221,   100 iterations performed
7: maxTotalConvRate: 0.987341,   100 iterations performed

The TruncatedBlockGSStep converges with a maximum convergence rate of 0 or 0.987341. The NonlinearGSStep has a maxTotalConvRate >> 1 in both cases. Indeed, the size of the corrections blows up and this is not just the maximum convergence rate, it is the convergence rate in each step. Yet, the test declares success and passes.

It seems to me that the test is broken somehow (or rather, the direct-iterate-solving-logic of the NonlinearGSStep).

For comparison, the numbers from the nonlineargsperformancetest_corrections test:

6: maxTotalConvRate: 0,   2 iterations performed
6: maxTotalConvRate: 0,   2 iterations performed
6: maxTotalConvRate: 0,   2 iterations performed
6: maxTotalConvRate: 0.987341,   100 iterations performed
6: maxTotalConvRate: 0.987341,   100 iterations performed
6: maxTotalConvRate: 0.987341,   100 iterations performed
Assignee
Assign to
Time tracking