CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > ANSYS > CFX

FSI Simulation of a 2D airfoil

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   June 22, 2014, 17:15
Default FSI Simulation of a 2D airfoil
  #1
New Member
 
Join Date: May 2014
Posts: 13
Rep Power: 12
marcanyada is on a distinguished road
Hi everyone,

I am doing a FSI simulation using CFX and the Structural solver from ANSYS. The problem is a 2D airfoil, leading and trailing edges are solids (structural steel) and the covering is a flexible membrane. It is a steady-state analysis.

I first tried doing a 1-way FSI analysis, just to check. I applied the pressure obtained in CFX to the Structural system, and it worked without problem.

But when I am trying to do the 2-way FSI, ANSYS solves the first Load Step Number, then the Solver for CFX runs smoothly, reaching the maximum iterations allowed (not important to reach the exact solution, as the body will change on the next iteration). Forces are transferred to the ANSYS solver, but after the second equilibrium iteration comes the error message:
"Excessive distortion of Element 938" (or another element number)

When trying the simulation with greater stiffness, this problem does not appear, so we guess that the overall setup is quite good. The mesh was created using ICEM over a CATIA file, which already contained the airfoil and the fluid domain. The size of the first element of the mesh on the boundary layer is 0.05mm (to ensure y+<1). The maximum deformation expected on the airfoil (according to the 1-way FSI) should be of the order of 1mm.

Any idea about where the origin of the problem could be? If more info is needed, just ask.

Thank you!
marcanyada is offline   Reply With Quote

Old   June 23, 2014, 10:53
Default
  #2
Senior Member
 
Join Date: Apr 2009
Posts: 531
Rep Power: 21
stumpy is on a distinguished road
The forces that the structural solver receives and printed in its solver output. How do these forces compare between the first and second coupling iterations?
stumpy is offline   Reply With Quote

Old   June 23, 2014, 12:51
Default
  #3
New Member
 
Join Date: May 2014
Posts: 13
Rep Power: 12
marcanyada is on a distinguished road
Thanks for your answer.

Quote:
Originally Posted by stumpy View Post
The forces that the structural solver receives and printed in its solver output. How do these forces compare between the first and second coupling iterations?
At the first iteration there are yet no forces applied. At the second iteration, the forces on the nodes are:

WhatTotal Force
varDim, nnodes, nload 3 108 324
Values: Total Force
-0.31395E-05 -0.22425E-03 -0.14624E-07
-0.11629E-04 -0.19598E-03 -0.25533E-07
-0.31353E-05 -0.22427E-03 -0.14625E-07
-0.11625E-04 -0.19597E-03 -0.25532E-07
0.15230E-05 -0.21638E-03 -0.52852E-08
0.15259E-05 -0.21639E-03 -0.52853E-08
0.18759E-05 -0.18495E-03 -0.29302E-08
0.18774E-05 -0.18495E-03 -0.29301E-08
0.15525E-05 -0.14565E-03 -0.22231E-08
0.15538E-05 -0.14565E-03 -0.22231E-08
(...)

I set a under relaxation factor of 0.75, but I have also tried reducing it with no success.
marcanyada is offline   Reply With Quote

Old   June 24, 2014, 12:13
Default
  #4
Senior Member
 
Join Date: Apr 2009
Posts: 531
Rep Power: 21
stumpy is on a distinguished road
So if there's no forces in the first coupling iteration then I assume you haven't used a steady-state CFX solution as a starting point. You should solve CFX first, then link the Solution cells so that the steady-state CFX results initialize the transient case.
Regarding the forces, it would be better to look at the total x,y,z forces received by the structural solver. You don't need debug output to see these forces. You should also add monitor point in CFX for the force on the membrane (force()@membrane) and the max total mesh displacement (maxVal(Total Mesh Displacement)@membrane). Check to see if the monitors are oscillating or if they are stable.
stumpy is offline   Reply With Quote

Old   June 25, 2014, 08:43
Default
  #5
New Member
 
Join Date: May 2014
Posts: 13
Rep Power: 12
marcanyada is on a distinguished road
Quote:
You should solve CFX first, then link the Solution cells so that the steady-state CFX results initialize the transient case.
I am not sure if it is the case, because what I am trying to solve with the coulpling is a steady-state itself (I mean, the velocity field does not change).

If I try changing the order of the solvers, so that CFX solves first, then at the first iteration for the mechanical solver it has the forces transferred, which should correspond to the ones for a steady-state with no coupling. However in this case I also have the error with the excessive distorsion.
marcanyada is offline   Reply With Quote

Old   June 25, 2014, 11:11
Default
  #6
Senior Member
 
Join Date: Apr 2009
Posts: 531
Rep Power: 21
stumpy is on a distinguished road
As long as the forces that CFX sends are reasonable, then your approach is OK. CFX may not have fully converged, so the forces may not be reasonable. You don't need to fully converge CFX, but you should still check the total x,y,z forces received by MAPDL (they are printed in the ANSYS.stdout file for each coupling iteration).
If the forces look reasonable but MAPDL still fails then check the structural side by running without FSI. You said you already did that by mapping pressure from CFX. When you do this make sure you are making a fair comparison. For example, in the FSI case you might be using a single substep per coupling iteration. So when mapping pressure you should also solve using a single substep (i.e. no load ramping).
stumpy is offline   Reply With Quote

Old   June 27, 2014, 04:08
Default
  #7
New Member
 
Join Date: May 2014
Posts: 13
Rep Power: 12
marcanyada is on a distinguished road
Quote:
Originally Posted by stumpy View Post
If the forces look reasonable but MAPDL still fails then check the structural side by running without FSI. You said you already did that by mapping pressure from CFX. When you do this make sure you are making a fair comparison. For example, in the FSI case you might be using a single substep per coupling iteration. So when mapping pressure you should also solve using a single substep (i.e. no load ramping).
I checked again the 1-way FSI solution. The pressure load was imported, and I chose the option "Tabular Loading = Stepped". The total forces transferred from the CFX solver are FX = 0.15E-2 N and FY = 0.98E-2N, which are quite similar to the values that the coupling solver gives after the first fluid iteration (FX = 0.175E-2 N and FY = 0.687E-2 N). I also saw that the structural solver does not need a big amount of iterations to solve (13 iterations in total), but at the second iteration (the one where the coupling normally stops) it says that:
3D CONTACT ELEMENTS: 152 CONTACT POINTS HAVE TOO MUCH PENETRATION
The number of points reduces, and after iteration 10 this message does not appear anymore. I do not know if it could be affecting the problem.

I also got the following warning messages:
One or more contact pairs are detected with a friction value greater than 0.2. If convergence problems arise, switching to an unsymmetric Newton Raphson option may aid in convergence.

Large deformation effects are active which may have invalidated some of your applied supports such as displacement, cylindrical, frictionless, or compression only. Refer to Troubleshooting in the Help System for more details.

One or more contact regions may not be in initial contact. Check results carefully. Refer to Troubleshooting in the Help System for more details.


I have quite little experience with the structural component and I can not say how that may be affecting the coupling solver, and what could be done to avoid that.

Thank you very much for your help.
marcanyada is offline   Reply With Quote

Old   June 27, 2014, 13:02
Default
  #8
Senior Member
 
Join Date: Apr 2009
Posts: 531
Rep Power: 21
stumpy is on a distinguished road
You might be hitting a different problem here. Does the coupled FSI run always work in the first coupling iteration, even when non-zero forces are passed? You'll need to provide CFX initial value or switch the solve order so CFX goes first to test this. If you can show that it works OK in the first coupling iteration but fails in the second coupling iteration when similar forces are received by MAPDL then you've likely hit a 2-way FSI limitation. Certain contact element types are known not to work with 2-way FSI. There's usually a work-around. If you do see the above behaviour then can you summarized the constraints and contacts used in your structural model (Fixed Supports, Remote Displacements, Contacts, Springs, etc)?
stumpy is offline   Reply With Quote

Old   June 30, 2014, 03:28
Default
  #9
New Member
 
Join Date: May 2014
Posts: 13
Rep Power: 12
marcanyada is on a distinguished road
Quote:
Originally Posted by stumpy View Post
You'll need to provide CFX initial value or switch the solve order so CFX goes first to test this. If you can show that it works OK in the first coupling iteration but fails in the second coupling iteration when similar forces are received by MAPDL then you've likely hit a 2-way FSI limitation.
I changed the order of the solvers, so that CFX solves first. The first coupling iteration worked, and it was after the second stagger iteration when the structural solver gave the error message of excessive distorsion. I checked that there is no great change in the magnitude of the total forces transferred (same order of magnitude).

Quote:
Originally Posted by stumpy View Post
If you do see the above behaviour then can you summarized the constraints and contacts used in your structural model (Fixed Supports, Remote Displacements, Contacts, Springs, etc)?
The airfoil was modelled using two solid bodies for the leading (shape of two semi-ellipses) and the trailing edges (circle-shaped) [Picture attached]. The skin is a membrane that covers both bodies, and it is divided in the upper and the lower surface (but they form together a single element in the geometry). It is set a frictional connection between the membrane and the solid bodies, and the edge of the membrane on the trailing edge is bonded to an edge over the trailing edge.

The lateral surfaces of the trailing and the leading edges are set as fixed support. Then, as we are doing a 2D case, the displacement of the membrane is set to 0 in the z direction. We also set the edge of the membrane over the leading edge as fixed support, because if not we had some troubles solving the 1-way. And finally the membrane is defined as fluid-solid-interface.

We want that the membrane deformes, but by fixing it on both trailing and leading edges I think that we are preventing it to transfer the tensions between the upper and the lower surfaces, aren't we? Maybe the connections and boundary conditions could be changed, so that they also match the desired behaviour.
Attached Images
File Type: jpg setup.jpg (44.6 KB, 47 views)
marcanyada is offline   Reply With Quote

Old   June 30, 2014, 10:14
Default
  #10
Senior Member
 
Join Date: Apr 2009
Posts: 531
Rep Power: 21
stumpy is on a distinguished road
The frictional contact is likely the problem. Just as a test, make this a bonded contact and see if it runs. If that works, can you post a screen shot of the frictional contact settings?
stumpy is offline   Reply With Quote

Old   June 30, 2014, 12:56
Default
  #11
New Member
 
Join Date: May 2014
Posts: 13
Rep Power: 12
marcanyada is on a distinguished road
Quote:
Originally Posted by stumpy View Post
The frictional contact is likely the problem. Just as a test, make this a bonded contact and see if it runs.
It has the same problem, at the second time that the structural solver runs, the "excessive distortion" error message comes up (this time, at equilibrium iteration 4 instead of at equilibrium iteration 2).

The original idea about the contacts and connections is that the membrane is joined to the structure at some point (e.g. on the trailing edge) and that the rest slides over the other surface, so the deformation between the upper and the lower part influence themselves and they transmit the tensions. But I do not know how that could be set up, or if it would be possible or not. And does it make a difference, if the membrane is bonded to the solid by an edge or using a little surface?
Attached Images
File Type: jpg Frictional.jpg (79.4 KB, 23 views)
File Type: jpg Frictional2.jpg (78.4 KB, 17 views)
marcanyada is offline   Reply With Quote

Old   June 30, 2014, 16:47
Default
  #12
Senior Member
 
Join Date: Apr 2009
Posts: 531
Rep Power: 21
stumpy is on a distinguished road
You'll have to do some trial and error here. The problem is that some element types/options are not compatible with FSI. Different contact element types/options will be created depending on your constraints and contact settings. Fixed supports certainly work OK. Bonded surface-to-surface contact works OK in my experience.
Frictional contact I'm not so sure about. Edge-to-surface contact I'm not sure about either.
The symptom to look for is everything works fine in the first coupling iteration, but fails in the second coupling iteration. Of course things can fail in the second coupling iteration because of other reasons, but if the forces didn't change then it likely you've hit this limitation.
Try to make the constraints/contacts on your structural model as simple as possible and get something to works for 2 coupling iterations. Once you have this start adding the contacts back one by one until you find which one is causing the problem.
stumpy is offline   Reply With Quote

Old   July 1, 2014, 12:42
Default
  #13
New Member
 
Join Date: May 2014
Posts: 13
Rep Power: 12
marcanyada is on a distinguished road
I have been trying with all combinations I could think of. The only way it is working is when I bond the surface over the trailing edges and half over the leading edge, which really limits the movement of the membrane. The rest of the membrane is set with a frictional connection, as the frictionless was also giving trouble.

Can you think of a way to set the geometry connections, so it is closer to the desired behavior? I tried for example bonding only over the trailing edge, so the membrane could "slide" over the leading edge, to adapt better, and it worked fine on the 1-way simulation.
marcanyada is offline   Reply With Quote

Old   July 3, 2014, 10:23
Default
  #14
Senior Member
 
Join Date: Apr 2009
Posts: 531
Rep Power: 21
stumpy is on a distinguished road
I'm still not 100% sure if you are hitting this problem with certain contact elements not working with FSI. One way you might be able to confirm this is to use the frictional contacts but make the membrane material much stiffer (say a factor of 100 or 1000). If you are hitting a code limitation then it should still fail with the stiffer membrane. If it really is a "standard" element distortion error then it should not occur with a stiffer membrane.

Frictional contact should be compatible with 2-way FSI if you set "Formulation = Beam (Beta)". You'll need beta feature enabled (from Workbench go to "Tools > Options > Appearance").
stumpy is offline   Reply With Quote

Reply

Tags
airfoil2d, ansys 14.5, cfx, fsi 2-way coupling


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Comparison the airfoil 0012 experimental result and simulation result harrislcy FLUENT 30 August 29, 2013 11:27
Rigid body motion error when restarting a terminated FSI simulation lingdeer ANSYS 1 May 19, 2013 02:40
Airfoil simulation with k-epsilon realizable, calculation of transition possible? level FLUENT 6 January 15, 2012 13:32
2 way FSI simulation errors ninjabro CFX 1 September 8, 2011 09:23
NO STAGNATION POINT FOR AIRFOIL SIMULATION Rif Main CFD Forum 6 February 4, 2008 08:33


All times are GMT -4. The time now is 09:58.