-
Notifications
You must be signed in to change notification settings - Fork 5
Implement support for XYZ mesh input #43
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
base: main
Are you sure you want to change the base?
Conversation
… fixed scale and translate of custom meshes not working
…ng in common block
joanibal
left a comment
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.
Good stuff. See my comment
src/amake.f
Outdated
| end if | ||
|
|
||
| ! Unlike the standard fudging routine we have no idea where | ||
| ! each section's leading edge is located ahead of time |
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.
Do you mean outer edge here?
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.
Subroutine removed in latest version.
src/amake.f
Outdated
| ! The prior routine only considers the y distance while | ||
| ! Drela considers y and z. However, the above routine appears | ||
| ! to work fine on its own and running this after appears to | ||
| ! cause issues. |
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.
What kind of issues? It would be ideal if the fudging routines were as close as practical.
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.
Subroutine removed in latest version. Sections no longer relevant to mesh setting.
src/amake.f
Outdated
| & ' does not match NSEC(isurf):', NSEC(isurf) | ||
| endif | ||
|
|
||
| ! If the user doesn't input a index vector telling us at what |
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.
nitpick, but please do not use contractions in comments as it can mess up the syntax highlighting (like on github).
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.
Code section removed from subroutine in latest version but I'll keep this in mind going forward
src/amake.f
Outdated
| ! Set spanwise elements to 0 | ||
| NJ(ISURF) = 0 | ||
|
|
||
| ! Check control and design vars (input routine should've already checked this tbh) |
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.
Contraction in comment, see above
src/amake.f
Outdated
|
|
||
|
|
||
| ! We need to compute the chord and claf values at the left and right edge of the section | ||
| ! These will be needed by AVL for control surface setup and control point placement |
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.
But doesn't avl assume a linear variation in the chord? If so wouldn't we have to do the control surface setup differently for custom meshes?
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.
We now interpolate over individual strips as the strip boundaries hence all the linear interpolations should now be valid. The control setup and configuration has been reworked entirely to allow assignment of controls and design vars to strip individually.
src/amake.f
Outdated
| do ispan = 1,nspan | ||
| idx_y = idx_strip - JFRST(isurf) + 1 |
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.
Can you indent loops
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.
I've found myself running into the 70 character limit so many times with this that I'm afraid that the lines will become totally unreadable if indented any more.
src/amake.f
Outdated
| ! m1 = ((mesh(1,nx,idx_y+1)+mesh(1,nx,idx_y))/2) - | ||
| ! & ((mesh(1,1,idx_y+1)+mesh(1,1,idx_y))/2) | ||
| ! m3 = ((mesh(3,nx,idx_y+1)+mesh(3,nx,idx_y))/2) - | ||
| ! & ((mesh(3,1,idx_y+1)+mesh(3,1,idx_y))/2) | ||
| ! CHORD(idx_strip) = sqrt(m1**2 + m3**2) |
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.
remove commented code?
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.
I've removed most instances of commented code with a few exceptions so people can follow along with the rational as to why something was changed from the original AVL routine. We can deleted them if you would like.
src/amake.f
Outdated
| ENDDO | ||
|
|
||
| ! We have to now setup any control surfaces we defined for this section | ||
| ! Bring over the routine for this from Drela |
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.
See comment above about "from Drela". It would probably be more informative to say "from makesurf"
src/amake.f
Outdated
| ! Left bound vortex points | ||
| ! Y- point | ||
| RV1(2,idx_vor) = mesh(2,idx_x,idx_y) | ||
| ! Compute the panel's left side chord and angle |
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.
contraction in comment (see above)
src/amake.f
Outdated
| ! Mid-point bound vortex points | ||
| ! Y- point | ||
| RV(2,idx_vor) = (mesh(2,idx_x,idx_y+1) + mesh(2,idx_x,idx_y))/2. | ||
| ! Compute the panel's mid-point chord and angle |
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.
contraction in comment (see above)
…fortran layer indexing bugs. runtime mesh updating still needs to be implemented
WIP implementation of XYZ mesh format as geometry input bypassing AVL's geometry.
Will include support for arbitrary point clouds, pyGeo (VSP, ESP, and FFD), and OpenAeroStruct Geometry via OpenMDAO.
Originally: Add the ability to output the mesh in XYZ format to the OVLMeshReader component. This makes running postprocessing scripts intended for OpenAeroStruct easier. Let me know if this output would be better in another component. I plan to add a lot more to this so it's a draft for now.