-
Notifications
You must be signed in to change notification settings - Fork 16
Multilayer step 1: New engine #122
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
Merged
Parent:
CatchupML
Merged
Conversation
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
Replaces Fu and Fv with Fux, Fuy, Fvx, and Fvy to explicitly represent fluxes in x and y directions for both u and v components. Updates all relevant memory allocation, initialization, kernel logic, and supported variable lists to use the new naming and structure. This change clarifies the handling of fluxes and prepares the code for more accurate and flexible flux computations.
Updated the flux calculation logic in the AdvecFluxML CUDA kernel by introducing new variables for gradient terms and applying them to the flux updates. Also cleaned up commented code and added minor formatting improvements for clarity.
Introduces the FlowbndFluxML function and its GPU kernel calls to handle machine learning-based boundary fluxes. Updates FlowMLGPU to apply ML boundary fluxes for each boundary segment. Also adds the necessary function declaration in Boundary.h and ensures proper CUDA synchronization after bottom friction and cleanup steps.
Modified the Raintest function to take an additional 'engine' parameter, updated its usage in Testing.cu, and simplified the output variables. Added engine-specific parameter checks in checkparamsanity. These changes improve test flexibility and ensure correct engine configuration during testing.
This reverts commit eac2457.
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.
Add new engine suitable for multilayer/implicit timestep and non-hydrostatic.
This is the engine from Basilisk (Popinet 2020) that will allow BG_Flood to run with:
It is expected that this engine has much better dispersive property than the current ones available in BG_Flood and will be better even for hydrostatic tsunami simulations too.
Walking before running
This PR is only for the first part of this new engine where the engine is available with 1 layer and explicit time step.
To Do