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

Update support/testing for overintegration #1082

Merged
merged 7 commits into from
Nov 1, 2024

Conversation

MTCam
Copy link
Member

@MTCam MTCam commented Oct 31, 2024

Meant to replace #1069. This change set adds tests from the Mengaldo paper on dealiasing to verify and exercise overintegration in mirgecom. The following are added or modified:

  • Examples

    • agitator.py: The variable coefficient advection setup from Mengaldo Sec. 4.1
    • flow-over-cylinder.py: The subsonic inviscid flow over cylinder from Mengaldo Sec. 4.3.1
  • Tests

    • test_operators.py: Quadrature verification with Chebyshev polynomials
    • test_overintegration.py: Variable coefficient overintegration verification from Mengaldo Sec. 4.1, Figure 7
    • overintegration (and tpe) versions added to most flow, and operator tests as appropriate
  • Support

    • discretization.py: Fixed up choosing the proper order argument to quadrature group based on element type
    • inviscid.py: Added central numerical flux for divergence of inviscid flux
  • Some support and fixes required (mostly upstream pkgs)

    • overintegration not properly used in WADG (illinois-ceesd/grudge@7c8eaec)
    • TPE normals not on quadrature domain when using overintegration in mirgecom (fixed upstream)
    • Revert TPE to use simplex operator chain; fixed TPE/overintegration failing operator/flow tests in mirgecom
    • grudge integration utility uses mass matrix instead of direct quadrature (illinois-ceesd/grudge@2e54482)
    • mirgecom discretization creation utility does not properly create quadrature domain of correct order for TPE (this PR)
    • transform chain breaks when setting quadrature order < 2p (illinois-ceesd/loopy@fc274fa)
    • lazy required for quantitative test from Mengaldo to run in pytest in reasonable time (this PR)
    • undo actx switch for TPEs in gradient testing (this PR)

Questions for the review:

  • Is the scope and purpose of the PR clear?
    • The PR should have a description.
    • The PR should have a guide if needed (e.g., an ordering).
  • Is every top-level method and class documented? Are things that should be documented actually so?
  • Is the interface understandable? (I.e. can someone figure out what stuff does?) Is it well-defined?
  • Does the implementation do what the docstring claims?
  • Is everything that is implemented covered by tests?
  • Do you see any immediate risks or performance disadvantages with the design? Example: what do interface normals attach to?

Copy link
Contributor

@anderson2981 anderson2981 left a comment

Choose a reason for hiding this comment

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

Yes!

@MTCam MTCam marked this pull request as ready for review November 1, 2024 01:57
@MTCam MTCam changed the title Add support/testing for overintegration Update support/testing for overintegration Nov 1, 2024
@MTCam MTCam merged commit 8fd7d31 into main Nov 1, 2024
13 checks passed
@MTCam MTCam deleted the update-overintegration-testing branch November 1, 2024 16:16
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