-
Notifications
You must be signed in to change notification settings - Fork 31
Axisymmetric mesh warping capability #103
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
Draft
lamkina
wants to merge
20
commits into
mdolab:main
Choose a base branch
from
lamkina:axisymm
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
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
…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. |
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
flake8
andblack
to make sure the Python code adheres to PEP-8 and is consistently formattedfprettify
or C/C++ code withclang-format
as applicable