Skip to content

Conversation

@sabakhshi
Copy link
Collaborator

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.

Copy link
Owner

@joanibal joanibal left a 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
Copy link
Owner

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?

Copy link
Collaborator Author

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.
Copy link
Owner

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.

Copy link
Collaborator Author

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
Copy link
Owner

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).

Copy link
Collaborator Author

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)
Copy link
Owner

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
Copy link
Owner

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?

Copy link
Collaborator Author

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
Comment on lines 1001 to 1002
do ispan = 1,nspan
idx_y = idx_strip - JFRST(isurf) + 1
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you indent loops

Copy link
Collaborator Author

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
Comment on lines 1027 to 1031
! 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)
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove commented code?

Copy link
Collaborator Author

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
Copy link
Owner

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
Copy link
Owner

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
Copy link
Owner

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants