-
Notifications
You must be signed in to change notification settings - Fork 826
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
[WIP] Changes of sliding plane for turbomachinery #2173
base: develop
Are you sure you want to change the base?
[WIP] Changes of sliding plane for turbomachinery #2173
Conversation
…when rotating frame is used.
Our working branch is 'develop', so you should have started from that and also merge into it. Every 6 months or so we then make the current develop into master. I changed the target branch to develop, and also updated your branch with current develop. |
If the mesh is not moving, why are you rotating the search coordinates? |
Should we close this pull request? |
…otating frame zone.
…s adopted for unsteady simulation.
…otating frame zone.
…otating frame zone.
…otating frame zone.
…s adopted for unsteady simulation.
I'm so sorry for the belated response! I was trying to debug and test the new feature and to give a proper pull-request. |
Thanks a lot! It's very much appreciated. I have implemented the clang-format according to the guide and force formatting all files by using 'pre-commit run -a'. I think the new commits should be conformed to the coding style but not sure if the previous commit is also changed. |
That's not consistent with any code I know, when using the MRF approach you either get frozen rotor or mixing plane interfaces. If you want a more accurate simulation you move the mesh and update the interfaces, there are several advantages to not dealing with the MRF source terms. There are also practical aspects of not updating the interface when doing transient MRF, for example it lets you handle interfaces that are not cylindrical, people use this to model car wheels. |
Thanks for your comments! Except for mixing plane and frozen rotor, sliding plane is also pretty common in turbomachinery simulation, it is indeed implemented in some, if not all, in-house codes. |
Updating the interface creates relative motion and thus you have blade-passing frequencies to resolve, which require more detail to resolve than just rotation. |
So we merge the mods on it to its real destination. Merge branch 'master' into turbo_features_fabian
…ull-annulus) computation restarted from a single-passage solution
…e(e.g. full-annulus simulation)
|
||
if (iPoint_Local > -1) { | ||
|
||
for (iVar = 0; iVar < Restart_Vars[1]; iVar++) |
Check failure
Code scanning / CodeQL
Comparison of narrow type with wide type in loop condition High
iVar
call to operator[]
|
||
for (iVar = 0; iVar < Restart_Vars[1]; iVar++) | ||
Restart_Data[counter*Restart_Vars[1] + iVar] = SU2_TYPE::GetValue(PrintingToolbox::stod(point_line[iVar+1])); | ||
for (iVar = 0; iVar < Restart_Vars[1]; iVar++) |
Check failure
Code scanning / CodeQL
Comparison of narrow type with wide type in loop condition High
iVar
call to operator[]
|
||
unsigned short nDim = target_geometry->GetnDim(); | ||
|
||
su2double Theta, Phi, Psi, cosTheta, sinTheta, cosPhi, sinPhi, cosPsi, sinPsi; |
Check notice
Code scanning / CodeQL
Unused local variable Note
|
||
unsigned short nDim = target_geometry->GetnDim(); | ||
|
||
su2double Theta, Phi, Psi, cosTheta, sinTheta, cosPhi, sinPhi, cosPsi, sinPsi; |
Check notice
Code scanning / CodeQL
Unused local variable Note
|
||
unsigned short nDim = target_geometry->GetnDim(); | ||
|
||
su2double Theta, Phi, Psi, cosTheta, sinTheta, cosPhi, sinPhi, cosPsi, sinPsi; |
Check notice
Code scanning / CodeQL
Unused local variable Note
//bool Fullannulus = false; | ||
//if (geometry[MESH_0]->GetnPassages() == geometry[MESH_0]->GetnPassages_FullAnnu()) | ||
// Fullannulus = true; |
Check notice
Code scanning / CodeQL
Commented-out code Note
long PsgIndx_RemPer; | ||
unsigned long GlobalIndx_FullAnnu; | ||
unsigned long nPsgPoint_RemPer = geometry->GetGlobal_nPsgPoint_RemPer(); | ||
//bool Fullannulus = false; |
Check notice
Code scanning / CodeQL
Commented-out code Note
@@ -2858,37 +2858,92 @@ | |||
|
|||
Restart_Data.resize(Restart_Vars[1]*geometry->GetnPointDomain()); | |||
|
|||
/*--- Read all lines in the restart file and extract data. ---*/ | |||
//bool FullAnnu_Transform = 1; |
Check notice
Code scanning / CodeQL
Commented-out code Note
counter++; | ||
} | ||
|
||
//cout<<"iPoint_Local "<<iPoint_Local<<", GlobalIndx_FullAnnu "<<GlobalIndx_FullAnnu<<endl; |
Check notice
Code scanning / CodeQL
Commented-out code Note
//bool Fullannulus = false; | ||
//if (geometry[MESH_0]->GetnPassages() == geometry[MESH_0]->GetnPassages_FullAnnu()) | ||
// Fullannulus = true; |
Check notice
Code scanning / CodeQL
Commented-out code Note
…teral element on sliding interfaces ( previously, it works only for triangles), which is very common in turbomachinery applications.
…010/SU2 into turbo_features_fabian
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@FabianYan2010 can you separate the different features you are working on into different PRs please? I think I count 4 quite large ones already.
Adaption of the interpolation method NearestNeighbor to turbomachinery applications when rotating frame is used.
Proposed Changes
If the flow is solved in a rotating frame, the grid is not actutally rotating. But the interpolation for a sliding interface should be done with an actually rotated boundary. The proposed changes add the function of rotating grid points on the boundary of a zone solved in rotating frame before the interpolation is executed. Currently, this is only implemented in CNearestneighbor class, other interpolation method should be changed as well in the near future.
Related Work
PR Checklist
Put an X by all that apply. You can fill this out after submitting the PR. If you have any questions, don't hesitate to ask! We want to help. These are a guide for you to know what the reviewers will be looking for in your contribution.
pre-commit run --all
to format old commits.