Axisymmetric mesh warping capability#103
Draft
lamkina wants to merge 20 commits into
Draft
Conversation
added 20 commits
November 19, 2023 18:38
…for axisymm mesh warping
…nicated for axisymm only
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #103 +/- ##
===========================================
- Coverage 73.31% 56.16% -17.15%
===========================================
Files 6 8 +2
Lines 757 1086 +329
===========================================
+ Hits 555 610 +55
- Misses 202 476 +274 ☔ View full report in Codecov by Sentry. |
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.
Purpose
This PR adds axisymmetric mesh warping capability for structured meshes to IDWarp. The process is detailed as follows:
First, the user specifies two CGNS mesh families that represent the two symmetry planes of the axisymmetric wedge. Other inputs are the rotation axis and rotation angle. One symmetry plane is selected to be the "mirror plane" for the warping operation. IDWarp computes the average normal vector of the mirror plane and stores the necessary topology information in the Fortran layer. To warp the mesh, the nodes are first duplicated across the mirror plane. Then, the mesh is warped as usual. At this stage, only the nodes along the mirror plane itself are valid because the weighting terms are only equal on both sides along that plane.
Once the warping is completed, the warped nodes are then rotated to the other symmetry plane about the axisymmetric axis. The derivatives of the node transformation are computed by hand in the Fortran layer.
This PR should remain a draft until the following items are addressed:
Expected time until merged
No set timeline, but most likely a few months.
Type of change
Testing
This PR can be tested with a simply axisymmetric wedge mesh with an external run script. No testing is implemented yet.
Checklist
flake8andblackto make sure the Python code adheres to PEP-8 and is consistently formattedfprettifyor C/C++ code withclang-formatas applicable