Unsteady Adjoint Shape Design
Hi SU2 Developers,
I wanna know that if it is possible to perform an unsteady Adjoint Shape Optimization, basically a flutter two degrees of freedom case.
If not I would like to know some guidelines to perform such modification on the code. SU2 has everything I need an adjoint implementation, mesh deformation and a direct solver.
I appreciate any help from anyone that is studying unsteady optimization.
Most of what you need for this type of problem is already in place in the code, as unsteady shape design using the Euler equations for prescribed motion cases has been verified and validated (see http://adl.stanford.edu/papers/AIAA-2013-0632.pdf, for example). We're currently working to extend this to the general RANS case.
Do you also mean that you would like to include the aeroelastic response in the formulation using two degrees of freedom (pitch/plunge, for instance)? If so, we are also working on this capability in the code, but an adjoint for the aeroelastic equations would still need to be implemented.
Please let us know what you had in mind, and perhaps we can point you towards the relevant locations in the code. Thanks for your interest in SU2,
Thanks for your reply.
Yes you are right, I would like to include the aeroelastic response using a two degrees of freedom (pitch and plunge) and after implement an adjoint for the aeroelastic equations. At this moment, I would like to start implementing the 2 degrees aeroelastic equations, studying how can I integrate this simple 2 equations on the code, translate the CFD surface pressure to the structural equations and perform the mesh deformation and so on.
I have implemented this system using a Theodorsen function for the aerodynamic part, now I would like to extend to SU2.
I appreciate any guidelines in the code to perform such modifications.
As Tom mentioned there is a two degree of freedom aeroelastic capability in the code, but without an adjoint. The code solves the aeroelastic equations as described in this paper http://aero-comlab.stanford.edu/Papers/reno94.pdf
At this moment the options that you will need to include in the configuration file are:
% Mesh motion for unsteady simulations (NO, YES)
% Type of mesh motion
% Type of aeroelastic grid movement (RIGID, DEFORM)
% This option either rigidly rotates/translates the entire mesh or the interior of the mesh deforms to accommodate the pitch and plunge.
TYPE_AEROELASTIC_GRID_MOVEMENT = DEFORM
% Type of grid velocities for aeroelastic motion (FD, ANALYTIC)
% Use the grid velocity either from the analytic aeroelastic equations or computed it using finite difference based on movement of the grid points.
TYPE_AEROELASTIC_GRID_VELOCITY = FD
% where to plunge and pitch about.
% The springs natural frequencies (basically the spring constants)
Other parameters needed to simulate your particular case would have to be hardcoded in the code.
For the aeroelastic implementation, you can start looking at the AEROELASTIC case in the SetGrid_Movement routine in iteration_structure.cpp.
Hi Tom and Santiago...
Many thanks for your reply.
That was exactly what I was looking for. Any doubts/improvements that I will make in the code, I will post here.
Congratilations for the outstanding job you are doing with SU2.
Keep on rockin' in the free world.
|All times are GMT -4. The time now is 06:22.|