-
Notifications
You must be signed in to change notification settings - Fork 13
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
Add upwind operators of C. Williams and K. Duru #284
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #284 +/- ##
==========================================
+ Coverage 91.59% 91.80% +0.21%
==========================================
Files 35 36 +1
Lines 5364 5530 +166
==========================================
+ Hits 4913 5077 +164
- Misses 451 453 +2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for your contribution! Nice work 👍
upper_coef_plus = SVector(T(205//143), | ||
T(-873//2860), | ||
T(-133//4290), | ||
T(3//130), ) | ||
central_coef_plus = T(-889//858) | ||
lower_coef_plus = SVector(T(57//1430), | ||
T(-443//2860), | ||
T(2//65), ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I haven't read the paper in detail yet. Looking at the arXiv version, these coefficients should be the ones from the table in the appendix, Section A.1, correct? If so, could you please explain the differences?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The 4th order accurate interior stencil was updated since the 2021 version was uploaded to arXiv. The coefficients I used should match the version on SIAM.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
T=Float64, mode=FastMode()) | ||
if order == 4 | ||
left_boundary_plus = ( | ||
DerivativeCoefficientRow{T,1, 6}(SVector( T(-7244216288712856142349841908536610983621117531423//4383417301651166629768772548289373010602184474830), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess these coefficients are rational approximations of the floating point values from the paper. Do they still satisfy the accuracy conditions exactly?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I got the rational coefficients directly from Kenneth Duru. I added some rational tests that show they satisfy the dual-pairing SBP property and accuracy conditions exactly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great, thanks 👍
T=Float64, mode=FastMode()) | ||
if order == 4 | ||
left_boundary_plus = ( | ||
DerivativeCoefficientRow{T,1, 6}(SVector( T(-7244216288712856142349841908536610983621117531423//4383417301651166629768772548289373010602184474830), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great, thanks 👍
upper_coef_plus = SVector(T(205//143), | ||
T(-873//2860), | ||
T(-133//4290), | ||
T(3//130), ) | ||
central_coef_plus = T(-889//858) | ||
lower_coef_plus = SVector(T(57//1430), | ||
T(-443//2860), | ||
T(2//65), ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
The arXiv paper "Provably stable full-spectrum dispersion relation preserving schemes" is now on the SIAM Journal on Numerical Analysis as "Full-Spectrum Dispersion Relation Preserving Summation-by-Parts Operators" (https://epubs.siam.org/doi/10.1137/23M1586471).
This should close #269