Feature: Dispatch Architecture for Non-Uniform WENO#542
Open
utkuyilmaz1903 wants to merge 2 commits into
Open
Conversation
ddec155 to
2ec5294
Compare
Contributor
Author
|
@ChrisRackauckas The dispatch architecture is fully implemented and tested. I think this PR is ready for review. Let me know how it looks to you. |
6df1e37 to
b6027fb
Compare
…for non-uniform grids
b6027fb to
a5204a2
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR implements the multiple dispatch architecture required to support non-uniform grids in
WENOScheme.Changes
Dispatch: Dispatches
weno_fstrictly viadx::Real(uniform) anddx::AbstractVector(non-uniform).Uniform Path: Legacy Jiang-Shu math is isolated in
weno_f_uniformIt remains 100% backward compatible with zero allocations.Non-Uniform Stub: Set
is_nonuniform = truein WENOScheme. Vector dx grids now safely dispatch to an isolated ArgumentError stub (weno_f_nonuniform) to prepare the codebase for upcoming implementations.Fallbacks: Added
@noinlinemethods to throw descriptive ArgumentErrors for completely unsupported dx types (e.g., String, Matrix).Testing: Added
test/components/weno_dispatch.jlto strictly verify the dispatch logic, fallback edge cases, and zero-allocation performance.