|
[Sponsors] |
June 5, 2018, 10:11 |
Custom Shape Parameterisation Methods
|
#1 |
New Member
topheruk
Join Date: Mar 2018
Posts: 5
Rep Power: 8 |
Can anyone advise on how to implement additional shape parameterisation methods within SU2 e.g. PARSEC. There is not much info available, despite similar posts on which.
My current understanding: tools.py - the dv_map has a dictionary option for "CUSTOM" design variable grid_movement_structure.cpp - each method has a subroutine that SU2_DOT calls e.g. SetCST(geometry, config, iDV, true); Do I just need to add a subroutine to the file grid_movement_structure.cpp, named "CUSTOM" e.g. SetCUSTOM(geometry, config, iDV, true)? *UPDATE* After a bit more reading, I think the solution is to use DV_KIND=SURFACE_FILE and use the coordinates generated outside of SU2 using the design variables specific to other methods Thanks in advance. Last edited by topheruk29; June 5, 2018 at 11:18. |
|
June 7, 2018, 11:27 |
|
#2 |
Member
tom pratt
Join Date: Jan 2016
Posts: 55
Rep Power: 10 |
hi,
could you please provide a little more info on how you used the SURFACE_FILE option for optimization? and is it effective? does SU2 interpolate between the initial surface grid and the new one provided by SURFACE_FILE? thanks Tom |
|
June 8, 2018, 14:46 |
|
#3 |
New Member
topheruk
Join Date: Mar 2018
Posts: 5
Rep Power: 8 |
Hi tom,
I run the optimisation separate from SU2 and then write the aerofoil coordinates in a file that SU2_DEF reads to update an existing mesh. To do this, I first ran SU2_DEF with the config file* (def_NACA0012.cfg) in SU2/TestCases/deformation/naca0012 and with a mesh in the same folder (e.g. mesh_NACA0012_inv.SU2). This created a file called mesh_motion.dat that provides the format for your own aerofoil coordinates. Replace this file and run SU2_DEF again but with the mesh_out.SU2 file that is created and the original mesh is updated. Make sure that you have the same number of aerofoil coordinates as the original number of data points. *I made the following changes to the config file: DV_KIND= SURFACE_FILE DV_MARKER= ( airfoil ) DV_PARAM= ( 1, 0.5 ) DV_VALUE= 0.1 % Surface deformation input filename (SURFACE_FILE DV only) MOTION_FILENAME= mesh_motion.dat GRID_MOVEMENT= YES GRID_MOVEMENT_KIND= EXTERNAL MARKER_MOVING=( airfoil ) Not sure how effective this method is, I am still implementing it within my optimisation code. I only tested the deformations with the same aerfoil design but with a blunt trailing edge instead. There was a highly skewed cell at the trailing edge that I think is probably because the original mesh was not created for the blunt trailing edge. Hope this helps. Chris |
|
January 19, 2024, 07:08 |
|
#4 |
Member
Francois Gallard
Join Date: Mar 2010
Location: Toulouse, France
Posts: 44
Rep Power: 16 |
Hello,
Thanks for this information, this is useful, I have a similar problem. How is the adjoint handled when using a custom shape parametrization? Is there a way to output the derivatives of the functions with respect to the surface nodes coordinates in order to compute the gradient with respect to the design variables externally? Best regards François |
|
Tags |
mesh deformation, parsec, su2 |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Any questions about Runge-Kutta methods | Runge_Kutta | Main CFD Forum | 33 | September 9, 2019 17:32 |
shape optimization problem | yugang881 | SU2 Shape Design | 3 | December 14, 2017 06:26 |
Airfoil Shape Optimization using gradient based methods | jaiswal | Main CFD Forum | 1 | April 10, 2014 12:22 |
comments on FDM, FEM, FVM, SM, SEM, DSEM, BEM | kenn | Main CFD Forum | 2 | July 18, 2004 19:28 |
I just wonder why "SIMPLE" | Junseok Kim | Main CFD Forum | 21 | May 20, 2001 09:47 |