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

Inexactness and some tests #376

Merged
merged 5 commits into from
Nov 10, 2023
Merged

Conversation

brownbaerchen
Copy link
Contributor

This PR includes slight changes to the Newton inexactness convergence controller to make it a bit more general as well as the option for linear inexactness in Allen-Cahn and Quench.
Also, the test for the extrapolation error estimate within the collocation method is refined to be closer to a unit test than an integration test.
Efficient sweepers allow to save a few operations when computing the residual only on the last rank.

Copy link

codecov bot commented Nov 9, 2023

Codecov Report

Attention: 28 lines in your changes are missing coverage. Please review.

Comparison is base (36e06fe) 73.95% compared to head (375bc5e) 74.07%.
Report is 2 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #376      +/-   ##
==========================================
+ Coverage   73.95%   74.07%   +0.12%     
==========================================
  Files         271      273       +2     
  Lines       22456    22806     +350     
==========================================
+ Hits        16607    16894     +287     
- Misses       5849     5912      +63     
Files Coverage Δ
pySDC/core/ConvergenceController.py 88.88% <100.00%> (+0.46%) ⬆️
...tations/problem_classes/polynomial_test_problem.py 96.55% <100.00%> (+1.31%) ⬆️
pySDC/projects/Resilience/strategies.py 80.41% <100.00%> (ø)
...controller_classes/estimate_extrapolation_error.py 97.00% <87.50%> (-0.56%) ⬇️
pySDC/implementations/problem_classes/Quench.py 76.31% <50.00%> (ø)
pySDC/projects/Resilience/sweepers.py 90.29% <91.30%> (-0.19%) ⬇️
...onvergence_controller_classes/check_convergence.py 84.21% <40.00%> (-0.98%) ⬇️
...controller_classes/interpolate_between_restarts.py 92.68% <78.57%> (-7.32%) ⬇️
...ions/convergence_controller_classes/inexactness.py 83.33% <77.77%> (-16.67%) ⬇️
...mentations/convergence_controller_classes/crash.py 86.36% <86.36%> (ø)
... and 1 more

... and 5 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@pancetta
Copy link
Member

pancetta commented Nov 9, 2023

Would it make sense to test this with IMEX, too?

@brownbaerchen
Copy link
Contributor Author

What exactly are you referring to? The interpolation between restarts actually is not implemented with IMEX, if I remember correctly. The extrapolation inside the collocation problem is something we can test in IMEX. We would have to add an IMEX version of the polynomial test problem. But then again, this feature is not too important.

if type(lvl.f[0]) == imex_mesh:
f = [me.impl + me.expl for me in lvl.f]
f = [lvl.f[i].impl + lvl.f[i].expl if self.coeff.f[i] and lvl.f[i] else 0.0 for i in range(len(lvl.f) - 1)]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this is what I'm referring to

@pancetta pancetta merged commit 39903ea into Parallel-in-Time:master Nov 10, 2023
24 of 25 checks passed
@brownbaerchen brownbaerchen deleted the merge1 branch November 10, 2023 07:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants