CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Fluid Structure Interaction using icoFsiFoam Problems

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree3Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 13, 2007, 03:49
Default Dear all, Besides the 3D fl
  #1
Senior Member
 
Frank Bos
Join Date: Mar 2009
Location: The Netherlands
Posts: 340
Rep Power: 18
lr103476 is on a distinguished road
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
lr103476 is offline   Reply With Quote

Old   April 13, 2007, 11:46
Default Are there some guidelines when
  #2
Senior Member
 
Frank Bos
Join Date: Mar 2009
Location: The Netherlands
Posts: 340
Rep Power: 18
lr103476 is on a distinguished road
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
lr103476 is offline   Reply With Quote

Old   May 14, 2007, 08:33
Default 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
ed_teller is on a distinguished road
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
ed_teller is offline   Reply With Quote

Old   May 14, 2007, 08:37
Default Dear Alex, icoFsiFoam is no
  #4
Senior Member
 
Frank Bos
Join Date: Mar 2009
Location: The Netherlands
Posts: 340
Rep Power: 18
lr103476 is on a distinguished road
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
lr103476 is offline   Reply With Quote

Old   June 21, 2008, 11:44
Default Hi everyone, I have been us
  #5
Member
 
feng wang
Join Date: Mar 2009
Posts: 67
Rep Power: 17
fw407 is on a distinguished road
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
fw407 is offline   Reply With Quote

Old   June 25, 2008, 09:05
Default Hi Mathieu! Yes. You're rig
  #6
Assistant Moderator
 
Bernhard Gschaider
Join Date: Mar 2009
Posts: 4,225
Rep Power: 51
gschaider will become famous soon enoughgschaider will become famous soon enough
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
gschaider is offline   Reply With Quote

Old   June 26, 2008, 16:02
Default Hi Mathieu, Thanks for your
  #7
Member
 
feng wang
Join Date: Mar 2009
Posts: 67
Rep Power: 17
fw407 is on a distinguished road
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
fw407 is offline   Reply With Quote

Old   June 27, 2008, 11:51
Default Hi Feng, You are right for
  #8
Member
 
Mathieu Olivier
Join Date: Mar 2009
Location: Quebec City, Canada
Posts: 77
Rep Power: 17
mathieu is on a distinguished road
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
mathieu is offline   Reply With Quote

Old   June 27, 2008, 15:06
Default Hi Mathieu, Thanks for your
  #9
Member
 
feng wang
Join Date: Mar 2009
Posts: 67
Rep Power: 17
fw407 is on a distinguished road
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
fw407 is offline   Reply With Quote

Old   August 26, 2008, 10:13
Default Hi all, I'm trying to imple
  #10
New Member
 
Christoph Heinrich
Join Date: Mar 2009
Posts: 12
Rep Power: 17
christoph_heinrich is on a distinguished road
Hi all,

I'm trying to implement a strong coupling scheme within the icoFsiFoam-solver. To do that I'd like to use a Quasi-Newton 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 value-bc 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
christoph_heinrich is offline   Reply With Quote

Old   August 26, 2008, 11:42
Default Hi Christoph, I am not fami
  #11
Member
 
Mathieu Olivier
Join Date: Mar 2009
Location: Quebec City, Canada
Posts: 77
Rep Power: 17
mathieu is on a distinguished road
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
mathieu is offline   Reply With Quote

Old   August 26, 2008, 12:12
Default Hi Mathieu, thank you for y
  #12
New Member
 
Christoph Heinrich
Join Date: Mar 2009
Posts: 12
Rep Power: 17
christoph_heinrich is on a distinguished road
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/RR-4691.pdf
Here I have 3 iteration levels. One time level, one "strong-coupling"-level and one GMRES-level. In every level I'm only calculating on interface values. And in every "strong-coupling"- and GMRES-level I need to compute one full FSI-cycle. 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
christoph_heinrich is offline   Reply With Quote

Old   August 26, 2008, 14:17
Default Hi Christoph, The structura
  #13
Member
 
Mathieu Olivier
Join Date: Mar 2009
Location: Quebec City, Canada
Posts: 77
Rep Power: 17
mathieu is on a distinguished road
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
mathieu is offline   Reply With Quote

Old   August 27, 2008, 10:54
Default Thanks a lot Mathieu, but now
  #14
New Member
 
Christoph Heinrich
Join Date: Mar 2009
Posts: 12
Rep Power: 17
christoph_heinrich is on a distinguished road
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 Updated-Lagrange-Solver?
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 Piola-Kirchhoff 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
christoph_heinrich is offline   Reply With Quote

Old   August 27, 2008, 15:34
Default Hi Christoph, 1. I would sa
  #15
Member
 
Mathieu Olivier
Join Date: Mar 2009
Location: Quebec City, Canada
Posts: 77
Rep Power: 17
mathieu is on a distinguished road
Hi Christoph,

1. I would say yes but take a look to this paper for the right formulation of an Updated-Lagrange-Solver:
http://powerlab.fsb.hr/ped/kturbo/OpenFOAM/papers/TukovicJasak_NonLinElastodynam ics_FAMENA_18-06-2007.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
mathieu is offline   Reply With Quote

Old   September 4, 2008, 04:08
Default Hi Mathieu and all the others,
  #16
New Member
 
Christoph Heinrich
Join Date: Mar 2009
Posts: 12
Rep Power: 17
christoph_heinrich is on a distinguished road
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 FSI-cycles, 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
christoph_heinrich is offline   Reply With Quote

Old   September 4, 2008, 11:08
Default Hi Christoph, Suggestion :
  #17
Member
 
Mathieu Olivier
Join Date: Mar 2009
Location: Quebec City, Canada
Posts: 77
Rep Power: 17
mathieu is on a distinguished road
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
mathieu is offline   Reply With Quote

Old   September 5, 2008, 12:16
Default Thank you Mathieu, but that do
  #18
New Member
 
Christoph Heinrich
Join Date: Mar 2009
Posts: 12
Rep Power: 17
christoph_heinrich is on a distinguished road
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
christoph_heinrich is offline   Reply With Quote

Old   September 5, 2008, 17:44
Default Hi Christoph, Is your setPr
  #19
Member
 
Mathieu Olivier
Join Date: Mar 2009
Location: Quebec City, Canada
Posts: 77
Rep Power: 17
mathieu is on a distinguished road
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
mathieu is offline   Reply With Quote

Old   September 30, 2008, 09:38
Default Hi, I see that you are work
  #20
New Member
 
kleb
Join Date: Mar 2009
Posts: 3
Rep Power: 17
pkleb is on a distinguished road
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
pkleb is offline   Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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
FLUID STRUCTURE INTERACTION Javier FLUENT 1 October 14, 2004 14:42
fluid-structure interaction Tikka Main CFD Forum 4 July 7, 2001 16:08
Fluid-Structure Interaction Janice Main CFD Forum 9 May 3, 2001 17:46
FLUID/Structure Interaction Jas Main CFD Forum 5 November 21, 2000 05:46
Fluid-Structure Interaction Gabor BALINT Main CFD Forum 5 October 12, 1999 05:54


All times are GMT -4. The time now is 05:10.