-
Notifications
You must be signed in to change notification settings - Fork 110
Add hard coded patched for tests #942
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
Add hard coded patched for tests #942
Conversation
…ote the 80s of each case to test values, following the suite of 70s be inheretived value. No particular reason for this other than to keep it away from interesting cases.
… how these patches are added. Will do that soon.
…reading up on patch types
… geometry. There is no way to handle that in the code currently, so I will be adding it in a future commit to resolve the final two examples
…, adn 15 in a future release
…erences to hard coded patches in the case documentaiton
PR Reviewer Guide 🔍(Review updated until commit 03622a1)Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Latest suggestions up to 03622a1
Previous suggestions✅ Suggestions up to commit 45d40e8
|
…lchain to skip them so that they do not slow down the test suite.
Converted these iterators to integers.
This seems fine to me, pending removing some comments / extra junk. Also, if @wilfonba approves, since he uses a lot of these features and added some of them to the code to begin with. |
I added some minor comments. I don't see any other issues with these changes |
…vickers/MFC into add-hard-coded-patched-for-tests
@danieljvickers would you consider this ready to merge? |
User description
Description
The primary intent of this PR is to remove hardcoded patches from the test suite, preventing the need to recompile them and saving time during testing. In doing so, I also refactored the geometries because we had no existing support for creating hard-coded patches on any geometries other than line segments, rectangles, and cuboids. Now we can generate hard-coded patches on almost any geometries except for the airfoil geometries (I left a TODO about this) and the model (STL) geometry (this will require it's own dedicated refactor). I also changed every test that used analytic patches to use new hard coded patches, added comments to some code in the toolchain, and updated the docs to note that the old analytic geometry patches are deprecated. I left a print statement warning that those geometries are deprecated, and we should delete them after some time. For now, I had then call subroutines that recreated their original functionality.
TODO :: After this PR, we should go back and add the analytic patches as examples that will be skipped so that they are present for external reference.Type of change
Please delete options that are not relevant.
Scope
If you cannot check the above box, please split your PR into multiple PRs that each have a common goal.
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Provide instructions so we can reproduce.
Please also list any relevant details for your test configuration
./mfc.sh test -j $(nproc)
)Test Configuration:
All of my testing was done locally on Ubuntu with the intel and non-intel compilers.
Checklist
docs/
)examples/
that demonstrate my new feature performing as expected.They run to completion and demonstrate "interesting physics"
./mfc.sh format
before committing my codeIf your code changes any code source files (anything in
src/simulation
)To make sure the code is performing as expected on GPU devices, I have:
nvtx
ranges so that they can be identified in profiles./mfc.sh run XXXX --gpu -t simulation --nsys
, and have attached the output file (.nsys-rep
) and plain text results to this PR./mfc.sh run XXXX --gpu -t simulation --rsys --hip-trace
, and have attached the output file and plain text results to this PR.PR Type
Enhancement, Tests
Description
Replace analytical patches with hardcoded patches for test optimization
Remove deprecated geometry types 7, 13, and 15
Add hardcoded patch support across all geometry types
Update test cases to use new hardcoded patch system
Changes diagram
Changes walkthrough 📝
5 files
Remove analytical patches and add hardcoded support
Add 2D hardcoded patch cases 280-282
Remove deprecated geometry type checks
Add 3D hardcoded patch case 380
Add 1D hardcoded patch cases 180-181
1 files
Add variable declaration for loop iterator
1 files
Add comments to analytical function generation
13 files
Create analytical version of zero circulation vortex
Create analytical version of isentropic vortex
Create analytical version of acoustic pulse
Create analytical version of Taylor-Green vortex
Create analytical version of Shu-Osher test
Create analytical version of Titarev-Torro test
Skip analytical test cases during testing
Update to use hardcoded patch HCID 282
Update to use hardcoded patch HCID 380
Update to use hardcoded patch HCID 281
Update to use hardcoded patch HCID 280
Update to use hardcoded patch HCID 180
Update to use hardcoded patch HCID 181
14 files