
[Sponsors] 
Fluid Structure Interaction using icoFsiFoam Problems 

LinkBack  Thread Tools  Search this Thread  Display Modes 
April 13, 2007, 03:49 
Dear all,
Besides the 3D fl

#1 
Senior Member
Frank Bos
Join Date: Mar 2009
Location: The Netherlands
Posts: 340
Rep Power: 18 
Dear all,
Besides the 3D flapping wing stuff I am also working on some fluid structure interaction problems. In order to test the icoFsiFoam solver which came with the latest development sources (from prof. Jasak, 28 March 2007), I created a test case of a flexible plate attached to a rigid cylinder. At low Reynolds numbers the plate will start oscillating according to the von karman vortex street. This is particular interesting when the density of the structure approaches the density value of the fluid and when the structure equals very low stiffness. Only then significant deformation can be observed, which is what we want. Unfortunately, at similar densities (structure / fluid) and low structural stiffness this problem is very strongly coupled. Together with the partitioned approach which is used by icoFsiFoam, this lead to serious divergence problems when: 1) The density ratio is of the order O(1), 2) The structural stiffness is low, 3) movingWallVelocity BC is chosen on the flexible plate. The divergence of the solution due to this BC is thought to be the result of the alternating correction of the ALE flux which is accounted for in movingWallVelocity BC. Detailed info on this problem can be found on my website: http://www.aero.lr.tudelft.nl/~frank...d/problems/fsi I really hope that someone may provide some usefull hints and / or solutions. Eventually, when anyone would like to try this testcase I could post it here or on my site. Thanks and regards, Frank
__________________
Frank Bos 

April 13, 2007, 11:46 
Are there some guidelines when

#2 
Senior Member
Frank Bos
Join Date: Mar 2009
Location: The Netherlands
Posts: 340
Rep Power: 18 
Are there some guidelines when icoFsiFoam runs stable?
At various mechanical property settings the movingWallVelocity BC. blow the solution up very fast. Is someone running icoFsiFoam with this necessary boundary condition? Could anyone please comment on this. Regards, Frank
__________________
Frank Bos 

May 14, 2007, 08:33 
Hi Frank...
Where did you

#3 
New Member
Rui Alexandre Trigo Ribeiro Pereira
Join Date: Mar 2009
Location: Coimbra, Coimbra, Portugal
Posts: 23
Rep Power: 17 
Hi Frank...
Where did you download IcoFsiFoam from...? I am trying to build a multiphysics, moving mesh solver, and think that studying and hacking IcoFsiFoam might be a good start... Alex 

May 14, 2007, 08:37 
Dear Alex,
icoFsiFoam is no

#4 
Senior Member
Frank Bos
Join Date: Mar 2009
Location: The Netherlands
Posts: 340
Rep Power: 18 
Dear Alex,
icoFsiFoam is not available in the official build of openFoam. You have to obtain a development version, maintained by prof. Jasak, which you can download from: http://powerlab.fsb.hr/ped/kturbo/OpenFOAM/release/ Rergards, Frank
__________________
Frank Bos 

June 21, 2008, 11:44 
Hi everyone,
I have been us

#5 
Member
feng wang
Join Date: Mar 2009
Posts: 67
Rep Power: 17 
Hi everyone,
I have been using icoFsiFoam for several weeks, but there are still several basic points I am not 100% sure: (1) only the pressure of the fluid is transfered to the solid but the shear stress is not. (2) as the solid domain is updated at every step, at each time step, the pressure transfered from fluid is loaded on the boundary of the current configuration of the solid doamin, not on the initial configuration. If I am wrong, please correct me! Thanks in advance! feng 

June 25, 2008, 09:05 
Hi Mathieu!
Yes. You're rig

#6 
Assistant Moderator
Bernhard Gschaider
Join Date: Mar 2009
Posts: 4,225
Rep Power: 51 
Hi Mathieu!
Yes. You're right. The icoStructFoam requires that the meshes on the boundary zone of fluid and solid are exactly the same. Am not very proud of that, but it was the best I could do at the time Bernhard
__________________
Note: I don't use "Friend"feature on this forum out of principle. Ah. And by the way: I'm not on Facebook either. So don't be offended if I don't accept your invitation/friend request 

June 26, 2008, 16:02 
Hi Mathieu,
Thanks for your

#7 
Member
feng wang
Join Date: Mar 2009
Posts: 67
Rep Power: 17 
Hi Mathieu,
Thanks for your help! I really appreciate it. I have tried your code on my case, but I get totally different results, I think the problems may come from: vectorField solidPatchTraction = interpolatorFluidSolid.faceInterpolate ( (sigmaFluid.boundaryField()[fluidPatchID]) & n ); and I replace: (sigmaFluid.boundaryField()[fluidPatchID]) & n with ((1)*sigmaFluid.boundaryField()[fluidPatchID]) & n then I get results which is close to ones without considering shear stress. So I think at the interface, the traction vector of the solid should be in the opposite direction to the traction vetor of the fluid. If I am wrong, please correct me! Kind regards feng 

June 27, 2008, 11:51 
Hi Feng,
You are right for

#8 
Member
Mathieu Olivier
Join Date: Mar 2009
Location: Quebec City, Canada
Posts: 77
Rep Power: 17 
Hi Feng,
You are right for the minus sign. However, it depends on the sign implemented in your traction boundary condition. Also, I replaced the code in the setPressure.H file with the following (which is expressed in terms of the surface normal vector of the structural part) and I get better results : ////////////////////////////////////////////// vectorField n = (stressMesh.Sf().boundaryField()[solidPatchID])/(stressMesh.magSf().boundaryFiel d()[solidPatchID]); symmTensorField solidPatchTraction = interpolatorFluidSolid.faceInterpolate ( (sigmaFluid.boundaryField()[fluidPatchID]) ); solidPatchTraction *= rhoFluid.value(); tForce.traction() = solidPatchTraction & n; ////////////////////////////////////////////// Keep me posted if you find some bugs or mismatches. I appreciate your comments. Mathieu 

June 27, 2008, 15:06 
Hi Mathieu,
Thanks for your

#9 
Member
feng wang
Join Date: Mar 2009
Posts: 67
Rep Power: 17 
Hi Mathieu,
Thanks for your kind help! Your codes are working fine with me. I ave hmade a test case which is to calculate the shear stress on a flat plate due to the laminar flow on it, the result looks reasonable, and I will compare it with the analytical solution for validation. On the other hand, I think I will find a way of how to merge the code of the structural solver using updated configuration in the paper you posted above with icoFsiFoam, so that icoFsiFoam can deal with large deformation for the structure. Kind regards feng 

August 26, 2008, 10:13 
Hi all,
I'm trying to imple

#10 
New Member
Christoph Heinrich
Join Date: Mar 2009
Posts: 12
Rep Power: 17 
Hi all,
I'm trying to implement a strong coupling scheme within the icoFsiFoamsolver. To do that I'd like to use a QuasiNewton approach, which means, that I'm approximating the product of the jacobian and a vector by a finite difference. And that's the only thing I need for an iterative solver like GMRES. Now my problem: as I'm calculating only on the interface variables, I don't know how to move the solid mesh. For the fluid it's no problem, because here the only thing that I need to move the mesh are the interface variables. But to move the solid mesh I need its internal field. Would it be a good idea to do one more solid solve with the interface positions as a fixed valuebc in order to get the solid internal field? If yes, how can I do that, that means, how can I change my boundary conditions from "tractionDisplacement" to "fixedValue" from within the solver? Can anyone help me? Kind regards, Christoph 

August 26, 2008, 11:42 
Hi Christoph,
I am not fami

#11 
Member
Mathieu Olivier
Join Date: Mar 2009
Location: Quebec City, Canada
Posts: 77
Rep Power: 17 
Hi Christoph,
I am not familiar with the method you are using. Is it a monolithic coupling procedure or an iterative partitioned coupling procedure. Could you give more details so that I can see if I can help you. Regarding your idea to change the interface boundary condition from "tractionDisplacement" to "fixedValue", I don't think it's a good idea since it would not reproduce the physics. Can't you solve the solid field using the "tractionDisplacement" BC ? Regards, Mathieu 

August 26, 2008, 12:12 
Hi Mathieu,
thank you for y

#12 
New Member
Christoph Heinrich
Join Date: Mar 2009
Posts: 12
Rep Power: 17 
Hi Mathieu,
thank you for your answer. I'm using an iterative partitioned coupling procedure as it is described in section 4.3 of ftp://ftp.inria.fr/INRIA/publication...RR/RR4691.pdf Here I have 3 iteration levels. One time level, one "strongcoupling"level and one GMRESlevel. In every level I'm only calculating on interface values. And in every "strongcoupling" and GMRESlevel I need to compute one full FSIcycle. Before I can do that I need to move the fluid and the solid meshin the desired position. If I want to move the solid mesh like in icoFsiFoam I need to know the internal field of the solid. But as I'm computing on interface values I don't know the internal field and this is my problem. Is this explanation helpful? Regards, Christoph 

August 26, 2008, 14:17 
Hi Christoph,
The structura

#13 
Member
Mathieu Olivier
Join Date: Mar 2009
Location: Quebec City, Canada
Posts: 77
Rep Power: 17 
Hi Christoph,
The structural solver in icoFsiFoam is a linear elasticity solver (small deformation only). The mesh motion of the "solid" mesh is a trick to take large deformation into account. The structural problem in the paper you sent is set in the initial reference frame. In this case, you don't need to move the "solid" mesh. So I guess you should modify the structural solver of icoFsiFoam to make it work in the initial reference frame with the appropriate constitutive law. I think that would make things easier for you. Mathieu 

August 27, 2008, 10:54 
Thanks a lot Mathieu,
but now

#14 
New Member
Christoph Heinrich
Join Date: Mar 2009
Posts: 12
Rep Power: 17 
Thanks a lot Mathieu,
but now I have some new questions, I hope you can help me: 1. Could the structural solver in icoFsiFoam be seen as some kind of UpdatedLagrangeSolver? 2. What would be the difference in the results if I just commented out the solid mesh motion in icoFsiFoam? 3. The structural solver contained in icoFsiFoam is using the 2nd PiolaKirchhoff stress tensor (right?) and therefore isn't it already the right consitutive law? Or could you give me any hint how to change the structural solver? Kind regards, Christoph 

August 27, 2008, 15:34 
Hi Christoph,
1. I would sa

#15 
Member
Mathieu Olivier
Join Date: Mar 2009
Location: Quebec City, Canada
Posts: 77
Rep Power: 17 
Hi Christoph,
1. I would say yes but take a look to this paper for the right formulation of an UpdatedLagrangeSolver: http://powerlab.fsb.hr/ped/kturbo/OpenFOAM/papers/TukovicJasak_NonLinElastodynam ics_FAMENA_18062007.pdf 2. The solid geometry would be distorted for large deformation (but it is a good idea to try it...). 3. See the paper for the right constitutive law. I modify the structural solver in icoFsiFoam so that it can take large deformation into account. The solver "works" in the initial (not updated though) reference frame. Contact me by email and I will send you some stuff... looks like I can't write code in my messages anymore... Regards, Mathieu 

September 4, 2008, 04:08 
Hi Mathieu and all the others,

#16 
New Member
Christoph Heinrich
Join Date: Mar 2009
Posts: 12
Rep Power: 17 
Hi Mathieu and all the others,
some new problems... I'm trying to implement a strong coupling scheme based on a fixed point iteration and Aitken relaxation. I was surprised by the results and I located the error in the following problem: while(runTime.run()) { ....... runTime++; #include "solveFluid.H" #include "setPressure.H" #include "solveSolid.H" #include "solveFluid.H" #include "setPressure.H" #include "solveSolid.H" ........ } I expected to get the same pressure in both FSIcycles, because the geometry and the mesh remains the same. But actually I get a different (higher) pressure in the second case. Why? And how can I fix it? I would be very happy if someone could help me! Regards, Christoph 

September 4, 2008, 11:08 
Hi Christoph,
Suggestion :

#17 
Member
Mathieu Olivier
Join Date: Mar 2009
Location: Quebec City, Canada
Posts: 77
Rep Power: 17 
Hi Christoph,
Suggestion : try with a large value of nCorrector in the PISO dictionary so that you can be sure the solution is converged at each call of the fluid solver. In fact (correct me if I'm wrong), the fluid solver in icoFsiFoam uses a SIMPLE loop but the PISO dictionary is used to provide the number of iteration via the nCorrector parameter. Good luck, Mathieu 

September 5, 2008, 12:16 
Thank you Mathieu, but that do

#18 
New Member
Christoph Heinrich
Join Date: Mar 2009
Posts: 12
Rep Power: 17 
Thank you Mathieu, but that doesn't help
When I use a coarse mesh, this effect is very small. But with a finer mesh I get a significant higher pressure at the interface and as a consequence wrong displacements. But I need to solve fluid and solid several times per timestep when I want to use a strong coupling scheme like fixed point iteration with Aitken relaxation. This is an essential part of my Master's thesis, which I have to hand in soon. So I'm running out of time Could anyone help me or could you, Prof. Jasak, please give me a hint of what is going wrong? I would be so happy... HELP!!! Christoph 

September 5, 2008, 17:44 
Hi Christoph,
Is your setPr

#19 
Member
Mathieu Olivier
Join Date: Mar 2009
Location: Quebec City, Canada
Posts: 77
Rep Power: 17 
Hi Christoph,
Is your setPressure.H file independent of the solid solution (the displacement) ? In the case of large deformation, it should. If it is your case, then it might be what causes the difference in the pressure force. But if you were talking about the pressure field itself, then I don't know what to say. I ran a similar case and both FSI cycles gave me the same results after I modified my setPressure.H file to make it independent of Usolid (no iteration occurred in the second cycle since the solution is already converged). Keep me posted and again, good luck ! Mathieu 

September 30, 2008, 09:38 
Hi,
I see that you are work

#20 
New Member
kleb
Join Date: Mar 2009
Posts: 3
Rep Power: 17 
Hi,
I see that you are working quite a lot on this FSI features of OpenFOAM . We are interesting to simulate the fluid structure interaction between a flow and a flexible panel . Can these cases below be simulated with openFOAM ?:  FSI with a thin flexible panel (with and without large displacement) ?  FSI with a thin flexible porous panel (with and without large displacement) ?. Do these cases require a huge amount of implementation and development?. For example these cases can be more or less be solved with FLUENT/MpCCI/Abaqus , is it possible with OpenFOAM ? Thank for your help Pascal 

Thread Tools  Search this Thread 
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
FLUID STRUCTURE INTERACTION  Javier  FLUENT  1  October 14, 2004 14:42 
fluidstructure interaction  Tikka  Main CFD Forum  4  July 7, 2001 16:08 
FluidStructure Interaction  Janice  Main CFD Forum  9  May 3, 2001 17:46 
FLUID/Structure Interaction  Jas  Main CFD Forum  5  November 21, 2000 05:46 
FluidStructure Interaction  Gabor BALINT  Main CFD Forum  5  October 12, 1999 05:54 