Add nonuniform grid support for interface boundary conditions with UpwindScheme#572
Open
utkuyilmaz1903 wants to merge 5 commits into
Open
Add nonuniform grid support for interface boundary conditions with UpwindScheme#572utkuyilmaz1903 wants to merge 5 commits into
utkuyilmaz1903 wants to merge 5 commits into
Conversation
43d0e0c to
83f4301
Compare
Contributor
Author
|
@xtalax @ChrisRackauckas As discussed in #562, here is the full implementation and comprehensive test suite for non-uniform interface and periodic boundary support with UpwindScheme. |
Contributor
Author
|
I will take a closer look this. |
700376b to
2b49ca8
Compare
…Scheme, enforce hooks, and fix CI test dependencies
cad5373 to
a73bf1e
Compare
a73bf1e to
66619bc
Compare
Contributor
Author
|
@xtalax Just a gentle ping on this PR. This PR is ready. |
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.
Summary
This PR enables the default
UpwindScheme()on nonuniform grids when interface or periodic boundary conditions are present. Previously, discretization failed with@assert length(bs) == 0in the nonuniform upwind path.Where the upwind stencil crosses an interface or a periodic wrap, stencil weights are now computed from the physical grid coordinates via
calculate_weights, with cross-domain taps resolved throughRefCartesianIndexand the coupled variable's grid. The uniform-grid path (DX <: Number) is unchanged.Validation
check_boundarymapvalidates nonuniform interface setups through the 3-arg PDEBase hook used bydiscretize; a 2-arg method is kept for backward compatibility.discretizethrowsArgumentErrorfor:UpwindScheme(order > 1)when vector grids are used with interface or periodic BCsTests
New suite:
test/pde_systems/MOL_1D_Interface_Upwind_NonUniform.jlCI group: [Convection_Interface_NU] in
test/test_groups.tomlCovers periodic and cross-domain interfaces, clustered grids, both wind directions, multi-domain chains, coordinate-mismatch guards, and related cases (108 tests).