-
Notifications
You must be signed in to change notification settings - Fork 4
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
| 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?
| ! 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.
| & ' 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).
| ! 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
| ! 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?
| 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
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?
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.