CFD Online Discussion Forums

CFD Online Discussion Forums (
-   SU2 Shape Design (
-   -   how to define a shape deformation using the grid deformation variables (FSI problem) (

momo_sjx January 31, 2013 19:36

how to define a shape deformation using the grid deformation variables (FSI problem)

I am a new SU2 user.

Recently, I am studying the aerodynamics elasticity, namely FSI problem.
I want to change the airfoil/wing shape and transfer the shape deformation to SU2.
I read the tutorial about shape optimization, python script and some codes.
I am wondering if there is a suitable format of DV_PARAM that I can use directly.

NACA_4digits, parabolic, displacement, rotation is not right because they are not prepared for multiply deformations.
I do not know how FFD works, but the FFD looks like a shape optimization method.
The last one is HICKS HENNE function. It might work, before then, I need generate a function to fit the changing airfoil. But I do not think it is a good idea.

So, do I need write a function to transfer the deformed shape to SU2?

Thanks in advance.

fpalacios February 5, 2013 01:01

I think that you should take a look at the SU2_MDC... this is a particular code for performing grid deformations (that will help you to understand the code).

On the other hand, there is a preliminary implementation of a FSI solver in SU2.

It has not been validated, but if you are interested we can send you some examples.


momo_sjx February 10, 2013 13:19

Sorry for the late reply, I was out of office last week.

Thank you for your information.

I am deciding to use python script to finish the communication between SU2 code and another FEM code.
Assuming the gird at the fluid structure interface is perfectly matched, that saves a lot of work, otherwise, interpolation is necessary.
The python script will
1. call SU2 program, read the pressure from the output file
2. call FEM code with the obtained pressure, get the geometry displacement
3. modify the mesh according to the displacement of the specific boundary, and go to step 1. I am not clear how to do that in SU2_MDC before I fully understand the code.
This iteration will continue until the result converge.

It looks sensible for me. But it is difficult, because I am a newbie of Python. Fortunately, many Python script examples are included in the package. They help me a lot.

I am very glad the FSI application is already considered and will be included in SU2.
I would like to try it and see if I can validate it. I have lots of FSI results of aerodynamics flow control in commercial software.

Please send me some examples.

Any comments or recommendations are welcome.

Thanks in advance.

my email address is

fpalacios February 15, 2013 20:58

If you have a while take a look at the subrotuine

void FluidStructureIteration(COutput *output, CIntegration ***integration_container, CGeometry ***geometry_container, CSolution ****solution_container, CNumerics *****solver_container, CConfig **config_container, CSurfaceMovement **surface_movement, CVolumetricMovement **grid_movement, CFreeFormChunk*** chunk, unsigned long ExtIter)

there you will find the main pieces for the FSI solver in SU2.


momo_sjx February 18, 2013 15:55

Francisco, Thanks a lot. ;)
I followed your information to understand the SU2 code and found some functions that could help me solve the FSI problems. Here are some questions::confused:
1. In FSI problems, the deforming part might be part of the airfoil/wing. There are two zones (Zone0 Zone1) defined in the function. Zone0 is fluid and Zone1 is structure. There is an interface between Zone0 and Zone1, which is a deforming boundary. How to define them in the Grid file and Config file? Can you give me some tutorials on that?
2. I found the CFEASolution. Since the deforming process in my problem is actively adaptive and kind of complicated, I am wondering if I can define the boundary conditions except the fluid load like fixed constraint?
3. I found the function SetFlow_Displacement(*), and then I found the function SpringMethod(*) and others in grid_movement_structure which deform the whole grid when boundary moves. This function is also called in SU2_MDC. I am not sure if I understood correctly. Can I call the SpringMethod(*) directly by giving the coordinates variation at the boundary, like what (SetHicksHenne(), SetDisplacement(), etc.) do? I mean add a function in CSurfaceMovement to realize the custom deformation.
4. When the grid is deformed, how to interpolate the solution from the original grid. By defining the restart_file after SU2_MDC. SU2_CFD can interpolate the initial solution from the restart_file. Is it correct?
5. In the unsteady simulation, when the boundary moves, it will result in a wall velocity at the boundary. How to consider it?
6. Based on the Python script, I have solved a one-way FSI problem. I used script to obtain the fluid load on the interface and generate an output file to FEA software. The software writes a file including displacement associated with the coordinates. I am planning to read this file into SU2 by script, and deform the grid. That is reason I asked Q3.

Thanks in advance. :)
My email address is


Pab April 23, 2015 14:14


I am solving some FSI problems and I want to do it in SU2. Could you please send me the examples files?

Thanks in advance. Best regards,


my email is:

Srinivasa Rao June 7, 2015 22:29

Searching for FSI code
Even i am trying to solve an FSI and i am searching for an open source code for the same. Can you please send me some examples or tutorials for FSI in SU2 code so that i can work on the same
Thank you

All times are GMT -4. The time now is 08:28.