You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, Dear Developers,
I encountered some issues while using FFD for aerodynamic shape optimization of a bump on a cylindrical body. Initially, I used a single FFD block (named blcok1) to enclose the bump. However, when moving the control points, the connection surface between the bump and the cylinder became shows discontinuities or even negative volumes like pictures below.
Later, I reviewed some related papers (Hannah Hajdik and attempted to use multi-DVGeo to fix this issue. I followed the offered test case to add an extra block (named block2) to wrap the cylindrical.
I used addPointSet() to add the mesh to multi-DVGeo but it raise an error of "Error: The point at (x, y, z) = (51.489, -1.686 15.205) in point set coords is inside multiple FFDs but a triangulated mesh for component block1 is not provided to determine which component owns this point''. I didn't see it was added a compName to addPointSet in test case, but I still tried assigning a block name to compNames in addPointSet, but another error raised as "Error: The point at (x, y, z) = (52.093, -2.044 15.502) in point set coords is not inside any FFDs". I checked the mesh and I confirmed that the surface mesh is enclosed within the FFD blocks. How can I resolve this issue? or is there is another example to show how to use DVGeo-multi? Thank you! Below is my test code.
This discussion was converted from issue #256 on November 18, 2024 19:18.
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hi, Dear Developers,
I encountered some issues while using FFD for aerodynamic shape optimization of a bump on a cylindrical body. Initially, I used a single FFD block (named blcok1) to enclose the bump. However, when moving the control points, the connection surface between the bump and the cylinder became shows discontinuities or even negative volumes like pictures below.
Later, I reviewed some related papers (Hannah Hajdik and attempted to use multi-DVGeo to fix this issue. I followed the offered test case to add an extra block (named block2) to wrap the cylindrical.
I used addPointSet() to add the mesh to multi-DVGeo but it raise an error of "Error: The point at (x, y, z) = (51.489, -1.686 15.205) in point set coords is inside multiple FFDs but a triangulated mesh for component block1 is not provided to determine which component owns this point''. I didn't see it was added a compName to addPointSet in test case, but I still tried assigning a block name to compNames in addPointSet, but another error raised as "Error: The point at (x, y, z) = (52.093, -2.044 15.502) in point set coords is not inside any FFDs". I checked the mesh and I confirmed that the surface mesh is enclosed within the FFD blocks. How can I resolve this issue? or is there is another example to show how to use DVGeo-multi? Thank you! Below is my test code.
gridFile='bump_cylindrical_volume_test.cgns' #this is a single overset volume mesh
aeroOptions = {"gridFile": gridFile, }
meshOptions = {"gridFile": gridFile,'LdefFact':50.0}
mesh = USMesh(options=meshOptions)
coords = mesh.getSurfaceCoordinates()
comm = MPI.COMM_WORLD
FFDFile = "block1.xyz"
FFDFile2= 'blcok2.xyz'
DVGeo3 = DVGeometry(FFDFile,isComplex=False)
DVGeo4 = DVGeometry(FFDFile2,isComplex=False)
DVGeo = DVGeometryMulti(comm=comm)
DVGeo.addComponent('block1',DVGeo3)
DVGeo.addComponent('block2',DVGeo4)
DVGeoDict = DVGeo.getDVGeoDict()
ps4=geo_utils.PointSelect(psType='x',pt1=[49, 4, 14.4],pt2=[65 ,-4 ,14.6])
DVGeoDict['block1'].addLocalDV("local1x", lower=-1, upper=1, axis="x", pointSelect=ps1,scale=1)
DVGeoDict['block1'].addLocalDV("local1y", lower=-1, upper=1, axis="y", pointSelect=ps1,scale=1)
DVGeo.addPointSet(coords, "coords",compNames=['block1'], applyIC=True)
DVGeo.addIntersection(compA='block1',compB='block2',project=True)
dvDict = DVGeo.getValues()
dvDict["local1x"][:] = 2
DVGeo.setDesignVars(dvDict)
coords_new = DVGeo.update("coords")
DVGeo.writePlot3d("ffd_deformed.xyz")
DVGeo.writePointSet("coords", "surf")
mesh.setSurfaceCoordinates(coords_new)
mesh.warpMesh()
mesh.writeGrid('volume_warped.cgns')
Beta Was this translation helpful? Give feedback.
All reactions