Reconstruction for 1D BlockFV - #3156
Conversation
Review checklistThis checklist is meant to assist creators of PRs (to let them know what reviewers will typically look for) and reviewers (to guide them in a structured review process). Items do not need to be checked explicitly for a PR to be eligible for merging. Purpose and scope
Code quality
Documentation
Testing
Performance
Verification
Created with ❤️ by the Trixi.jl community. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3156 +/- ##
==========================================
- Coverage 96.95% 96.95% -0.00%
==========================================
Files 673 673
Lines 52160 52248 +88
==========================================
+ Hits 50570 50655 +85
- Misses 1590 1593 +3
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
jlchan
left a comment
There was a problem hiding this comment.
This is looking like a great draft. When you have time, could you share results from a convergence test and a comparison of solution profiles for BlockFV vs BlockFVO2?
Once you've had a chance to add CI tests and a NEWS.md entry, please feel free to ping me again
Convergence Test |
|
Nice! Can you also show a comparison for a shock or discontinuous solution? |
jlchan
left a comment
There was a problem hiding this comment.
Thanks for making the changes before! One question
|
The CI failure looks real, can you fix it? Prob just a namespace issue |
| """ | ||
| BlockFVO2(; n_nodes::Integer, | ||
| surface_flux, | ||
| slope_limiter = minmod, | ||
| cons2recon = cons2prim, | ||
| recon2cons = prim2cons, | ||
| RealT = Float64) | ||
|
|
||
| Create a second-order block finite volume solver with high-order volume reconstruction. | ||
| See [`VolumeIntegralFiniteVolumeO2`](@ref). | ||
|
|
||
| !!! warning "Experimental code" | ||
| This code is experimental and may change in any future release. | ||
| """ | ||
| const BlockFVO2 = DG{Basis, Mortar, SurfaceIntegral, |
There was a problem hiding this comment.
I don't think we need a new solver alias for this, do we? Can't we just continue to use BlockFV as before, maybe with a new method accepting a reconstruction?
| # Near the element ends the missing neighbor is clamped to the | ||
| # outermost cell (volume-local stencil; no values from other elements). |
There was a problem hiding this comment.
We have some options (the reconstruction_mode) for choosing how to handle cell boundaries for
Lines 598 to 660 in 0aaa001
Could we please enable the same flexibility here (and more options later)? We should also cross-reference these methods from their docstrings.
|
Could you re-upload the image? Im not able to see it |
Strange 🤔 , it is the one you posted here. |
I actually can't view the image either @DanielDoehring. Can you specify which one it is? |




Summary
Part of #3155 (Reconstructions for Block Finite Volume).
This PR adds second-order MUSCL-type reconstructions for the 1D TreeMesh BlockFV solver. The first-order BlockFV path is left unchanged. A new BlockFVO2 solver (with VolumeIntegralFiniteVolumeO2) is introduced for the O2 scheme.