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

Solver for FSI strongly coupled

Register Blogs Community New Posts Updated Threads Search

Like Tree4Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 25, 2011, 08:49
Default
  #21
Member
 
Fábio César Canesin
Join Date: Mar 2010
Location: Florianópolis
Posts: 67
Rep Power: 16
Canesin is on a distinguished road
Have you validated the solver against experimental data ?
Canesin is offline   Reply With Quote

Old   July 25, 2011, 10:20
Default
  #22
New Member
 
charbel's Avatar
 
Charbel Habchi
Join Date: Jan 2011
Location: Lebanon
Posts: 27
Rep Power: 15
charbel is on a distinguished road
No it is not finlizied yet there is several problems for the strong coupling I am trying to solve. This is why I am asking for help here.
You can try it. For strong coupling I get much more small deformation values relative to weak coupling solution and other test cases from litterature.
__________________
--
Charbel
charbel is offline   Reply With Quote

Old   July 25, 2011, 23:51
Default
  #23
Member
 
Santiago
Join Date: Dec 2009
Posts: 85
Rep Power: 16
gascortado is on a distinguished road
Charbel,

when I run wmake all i get the following error,

tCaseFSI/testVorflexFoam$ wmake all
SOURCE=testVorflexFoam.C ; g++ -m32 -Dlinux -DWM_DP -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-40 -I/usr/lib/OpenFOAM-1.6-ext/src/dynamicMesh/dynamicFvMesh/lnInclude -I/usr/lib/OpenFOAM-1.6-ext/src/dynamicMesh/dynamicMesh/lnInclude -I/usr/lib/OpenFOAM-1.6-ext/src/meshTools/lnInclude -I/usr/lib/OpenFOAM-1.6-ext/src/turbulenceModels/incompressible/turbulenceModel -I/usr/lib/OpenFOAM-1.6-ext/src/transportModels -I/usr/lib/OpenFOAM-1.6-ext/src/transportModels/incompressible/singlePhaseTransportModel -I/usr/lib/OpenFOAM-1.6-ext/src/finiteVolume/lnInclude -DFACE_DECOMP -I/usr/lib/OpenFOAM-1.6-ext/src/tetDecompositionFiniteElement/lnInclude -I/usr/lib/OpenFOAM-1.6-ext/src/dynamicMesh/meshMotion/tetDecompositionMotionSolver/lnInclude -IlnInclude -I. -I/usr/lib/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/usr/lib/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linuxGccDPOpt/testVorflexFoam.o
testVorflexFoam.C:41: fatal error: tetFemMatrices.H: No such file or directory
compilation terminated.
make: *** [Make/linuxGccDPOpt/testVorflexFoam.o] Error 1

please take a look at this post by myself about this. I will appreciate any help. Thanks

http://www.cfd-online.com/Forums/ope...tml#post317474
gascortado is offline   Reply With Quote

Old   July 26, 2011, 10:50
Default
  #24
New Member
 
D. Matz
Join Date: May 2011
Posts: 6
Rep Power: 15
matz is on a distinguished road
Hi everyone,

Charbel I did test your solver a little, but I do not have a difference with your provided case. The results for weak and aitken coupling are the same. Did you alter something afterwards, so that some strange behaviour occurs?

Well something is not right, if you look at your fluid mesh displacements and the solid mesh displacements in Paraview they do not match. But they should I think.

Another thing, why did you introduce "interpolatorSolidFluid.movePoints();" for your weakCoupling?

@gascortado: Well if you look at the output you see that there is a missing file. Named "tetFemMatrices.H". Did you download the source of OpenFoam-1.6-ext and compiled it, or do you have a precompiled version? At my machine there is no problem compiling this solver.

Best regards.
matz is offline   Reply With Quote

Old   July 26, 2011, 12:05
Default
  #25
New Member
 
charbel's Avatar
 
Charbel Habchi
Join Date: Jan 2011
Location: Lebanon
Posts: 27
Rep Power: 15
charbel is on a distinguished road
Hi Matz,

Thanks for your reply.

I introduce interpolatorSolidFluid.movePoints() according to this post.
However, I think I most introduce it in the outerLoopAitken.H
I am making modifications on the solver. I will post new version when It ll be done.

Best regards.
__________________
--
Charbel
charbel is offline   Reply With Quote

Old   July 26, 2011, 14:01
Default
  #26
Member
 
Santiago
Join Date: Dec 2009
Posts: 85
Rep Power: 16
gascortado is on a distinguished road
Thanks for your reply matz,

I installed OF-1.6-ext by using the Synaptic Package manager as directed here

http://www.cfd-online.com/Forums/ope...tml#post290344

So I guess this is a pre compiled version? Do I have to get the binaries and build OF-1.6-ext from scratch? Any idea of what to do?
gascortado is offline   Reply With Quote

Old   July 27, 2011, 02:50
Default
  #27
New Member
 
D. Matz
Join Date: May 2011
Posts: 6
Rep Power: 15
matz is on a distinguished road
Hi Charbel and gascortado,

@Charbel: Thanks for your reply. I did miss this part of the thread. Well this interpolator for the interface between fluid and solid is not working right, at least in my opinion.
One thing is that if you compare the transferred pressure field it is not matching for the fluid and the corresponding forces mapped to the solid.
The second thing is that if you run in parallel the results do not match with the serial runs.

I am curious and will have a look at the next stage of your solver.

@gascortado: I am using only self compiled versions of OpenFOAM, and do not have a machine with Ubuntu 10.10. Did you do a search in your OF directory to find the missing files? You can check with this:

cd $WM_PROJECT_DIR/src
find ./ -name "tetFemMatrices.H"

If this gives no files you probably need to do a full source compilation.
matz is offline   Reply With Quote

Old   July 27, 2011, 07:54
Default
  #28
New Member
 
charbel's Avatar
 
Charbel Habchi
Join Date: Jan 2011
Location: Lebanon
Posts: 27
Rep Power: 15
charbel is on a distinguished road
Hi Matz,

You are rigth, there is no difference in the results for the Fluid domain between weak (present solver and icoFsiFoam) and strong coupling solvers. However, as you see in the figure below there is a difference between the stressMesh (solid domain) and mesh (fluid domain) displacement. This problem is not encoutred for icoFsiFoam in which the same interpolation method is used for displacement and pressure as that I use here.

I tried to modify several things in the solver (I even deleted the interpolatorSolidFluid.movePoints()...) however the problem persist.

Do you think that the problem is caused by fvc::makeRelative(phi, U) and fvc::makeAbsolute(phi, U) and by changing the order of fluid, solid and mesh solvers in the time loop?

Best regards
Attached Images
File Type: jpg differenceUsolidAndFluidDisplacement.jpg (102.7 KB, 106 views)
__________________
--
Charbel
charbel is offline   Reply With Quote

Old   July 27, 2011, 10:48
Default
  #29
Member
 
Santiago
Join Date: Dec 2009
Posts: 85
Rep Power: 16
gascortado is on a distinguished road
Thanks guys for your help. I finally managed to run icoFsiFoam and now I can start looking into this solver. The solver was not able to find the RunFunctions file in the default folder so I moved them to the solver folder and changed the Allrun file accordingly.

I need to develop a solver for FSI while using LES turbulence modeling. I was able to successfully simulate a turbulent flow using pisoFoam for my first trials with a fixed plate (no plate motion) using LES. Now I need to introduce plate motion and the solver developed by Chrabel seems to be a good start. What would be the difference between pimpleDymFoam and pisoFoam in terms of LES turbulence modeling? Is there any difference? Thanks again.
gascortado is offline   Reply With Quote

Old   July 27, 2011, 12:23
Default
  #30
New Member
 
charbel's Avatar
 
Charbel Habchi
Join Date: Jan 2011
Location: Lebanon
Posts: 27
Rep Power: 15
charbel is on a distinguished road
pimpleDyMFoam uses the PIMPLE algorithm which include both PISO and SIMPLE. Moreover, the NS equations are solved in ALE by making fluxes relative or absolute. It is thus mre stable when using large time steps (since FSI solvers becomes ustable when decreasing the time step) and for moving mesh. In pimpleDyMFoam I think you can use LES.
There is many threads giving more details on the difference between these solvers.
__________________
--
Charbel
charbel is offline   Reply With Quote

Old   July 27, 2011, 13:14
Default
  #31
New Member
 
D. Matz
Join Date: May 2011
Posts: 6
Rep Power: 15
matz is on a distinguished road
Hi Charbel,

your problem lies with the mesh.update() command. You issue it twice. Once in setMotion.H were it belongs and a second time in solveFluid.H. The mesh-solver is velocity based, and so you have a doubled displacement of the fluid domain.
I deleted it in solveFluid.H and the domains match perfectly now.

Best regards!
matz is offline   Reply With Quote

Old   July 27, 2011, 23:02
Default
  #32
Member
 
Santiago
Join Date: Dec 2009
Posts: 85
Rep Power: 16
gascortado is on a distinguished road
Hi all again. I tried running "wmake all" and I get the familiar error about tetFemMatrices.H missing (see below)


santiago@santiago-laptop:~/OpenFOAM/santiago-1.6-ext/run/Thesis/FSI/solverAndTestCaseFSI/testVorflexFoam$ wmake all
Making dependency list for source file tractionDisplacement/tractionDisplacementFvPatchVectorField.C
Making dependency list for source file testVorflexFoam.C
could not open file tetFemMatrices.H for source file testVorflexFoam.C
could not open file tetPointFields.H for source file testVorflexFoam.C
could not open file faceTetPolyPatch.H for source file testVorflexFoam.C
could not open file tetPolyPatchInterpolation.H for source file testVorflexFoam.C
could not open file fixedValueTetPolyPatchFields.H for source file testVorflexFoam.C
SOURCE=tractionDisplacement/tractionDisplacementFvPatchVectorField.C ; g++ -m32 -Dlinux -DWM_DP -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-40 -I/usr/lib/OpenFOAM-1.6-ext/src/dynamicMesh/dynamicFvMesh/lnInclude -I/usr/lib/OpenFOAM-1.6-ext/src/dynamicMesh/dynamicMesh/lnInclude -I/usr/lib/OpenFOAM-1.6-ext/src/meshTools/lnInclude -I/usr/lib/OpenFOAM-1.6-ext/src/turbulenceModels/incompressible/turbulenceModel -I/usr/lib/OpenFOAM-1.6-ext/src/transportModels -I/usr/lib/OpenFOAM-1.6-ext/src/transportModels/incompressible/singlePhaseTransportModel -I/usr/lib/OpenFOAM-1.6-ext/src/finiteVolume/lnInclude -DFACE_DECOMP -I/usr/lib/OpenFOAM-1.6-ext/src/tetDecompositionFiniteElement/lnInclude -I/usr/lib/OpenFOAM-1.6-ext/src/dynamicMesh/meshMotion/tetDecompositionMotionSolver/lnInclude -IlnInclude -I. -I/usr/lib/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/usr/lib/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linuxGccDPOpt/tractionDisplacementFvPatchVectorField.o
SOURCE=testVorflexFoam.C ; g++ -m32 -Dlinux -DWM_DP -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-40 -I/usr/lib/OpenFOAM-1.6-ext/src/dynamicMesh/dynamicFvMesh/lnInclude -I/usr/lib/OpenFOAM-1.6-ext/src/dynamicMesh/dynamicMesh/lnInclude -I/usr/lib/OpenFOAM-1.6-ext/src/meshTools/lnInclude -I/usr/lib/OpenFOAM-1.6-ext/src/turbulenceModels/incompressible/turbulenceModel -I/usr/lib/OpenFOAM-1.6-ext/src/transportModels -I/usr/lib/OpenFOAM-1.6-ext/src/transportModels/incompressible/singlePhaseTransportModel -I/usr/lib/OpenFOAM-1.6-ext/src/finiteVolume/lnInclude -DFACE_DECOMP -I/usr/lib/OpenFOAM-1.6-ext/src/tetDecompositionFiniteElement/lnInclude -I/usr/lib/OpenFOAM-1.6-ext/src/dynamicMesh/meshMotion/tetDecompositionMotionSolver/lnInclude -IlnInclude -I. -I/usr/lib/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/usr/lib/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linuxGccDPOpt/testVorflexFoam.o
testVorflexFoam.C:41: fatal error: tetFemMatrices.H: No such file or directory
compilation terminated.
make: *** [Make/linuxGccDPOpt/testVorflexFoam.o] Error 1
make: *** Waiting for unfinished jobs....
tractionDisplacement/tractionDisplacementFvPatchVectorField.C: In member function ‘virtual void Foam::tractionDisplacementFvPatchVectorField::upda teCoeffs()’:
tractionDisplacement/tractionDisplacementFvPatchVectorField.C:190: warning: suggest parentheses around ‘+’ in operand of ‘&’
tractionDisplacement/tractionDisplacementFvPatchVectorField.C:190: warning: suggest parentheses around ‘+’ in operand of ‘&’
tractionDisplacement/tractionDisplacementFvPatchVectorField.C:191: warning: suggest parentheses around ‘+’ in operand of ‘&’

I then run did this as Matz sugested:

cd $WM_PROJECT_DIR/src
find ./ -name "tetFemMatrices.H
"

and I got

./tetDecompositionFiniteElement/tetFemMatrix/tetFemMatrices.H

Do I need to change the Wmake file options in roder to compile the solver? Any suggestions?

Thanks again
gascortado is offline   Reply With Quote

Old   July 28, 2011, 02:53
Default
  #33
New Member
 
D. Matz
Join Date: May 2011
Posts: 6
Rep Power: 15
matz is on a distinguished road
Hi gascortado,

well you should have an output looking like that:

./tetDecompositionFiniteElement/lnInclude/tetFemMatrices.H
./tetDecompositionFiniteElement/tetFemMatrix/tetFemMatrices.H


So it seems there is no symbolic link in your lnInclude-Folder to tetFemMatrices.H. You need to create one for it and all other missing files.

Create the first with:

cd $WM_PROJECT_DIR/src/tetDecompositionFiniteElement/lnInclude
ln -s ../tetFemMatrix/tetFemMatrices.H tetFemMatrices.H

But if one is missing there could be others ...

Best regards!

__________________
------
D.Matz

Last edited by matz; July 28, 2011 at 05:26.
matz is offline   Reply With Quote

Old   July 28, 2011, 07:42
Default
  #34
Member
 
Santiago
Join Date: Dec 2009
Posts: 85
Rep Power: 16
gascortado is on a distinguished road
Thanks for your reply Matz,

When I use the browser I can see the folder lnInclude inside $WM_PROJECT_DIR/src/tetDecompositionFiniteElement directory. Inside lnInclude I see a whole bunch of symbolic files among all tetFemMatrices.H.

However, when I try accessing
$WM_PROJECT_DIR/src/tetDecompositionFiniteElement/lnInclude by using the terminal the folder is not recognized. Furthermore, by using the "ls" command, the folder lnInclude is not listed:

santiago@santiago-laptop:/usr/lib/OpenFOAM-1.6-ext/src/tetDecompositionFiniteElement$ ls

Allwmake tetFemCalculus tetPolyMesh
elementMesh tetFemMatrix tetPolyMeshCellDecomp
fields tetFemMethod tetPolyMeshFaceDecomp
Make.cellDecomp tetFemSolution tetPolyPatchInterpolation
Make.faceDecomp tetPointMesh


When I tried doing:
cd $WM_PROJECT_DIR/src/tetDecompositionFiniteElement/lnInclude

bash: cd: /usr/lib/OpenFOAM-1.6-ext/src/tetDecompositionFiniteElement/lnInclude: No such file or directory

I then switched to this directory santiago@santiago-laptop:/usr/lib/OpenFOAM-1.6-ext/src/tetDecompositionFiniteElement$ ln -s ../tetFemMatrix/tetFemMatrices.H tetFemMatrices.H

ln: creating symbolic link `tetFemMatrices.H': Permission denied

I wonder why is the folder not showing up in the terminal. Does this mean that there is something wrong with the binary files?

This is very frustrating. Thanks again
gascortado is offline   Reply With Quote

Old   July 28, 2011, 08:00
Default
  #35
New Member
 
D. Matz
Join Date: May 2011
Posts: 6
Rep Power: 15
matz is on a distinguished road
Hi gascortado,

did you check your file permissions for these folders? Do you have reading access to them?

All the best!
__________________
------
D.Matz
matz is offline   Reply With Quote

Old   July 28, 2011, 10:29
Default
  #36
New Member
 
charbel's Avatar
 
Charbel Habchi
Join Date: Jan 2011
Location: Lebanon
Posts: 27
Rep Power: 15
charbel is on a distinguished road
Hi Matz,
Thank you for your reply it is this command that was making the problem. In fact, I tried yesterday several modifications to find the error and I confirm you that the mesh.update() in solveFluid.H is the problem.
Now I will try to include the relaxation technique and to finalize the solver. I ll keep you up-to-date for further versions.

@gascortado: I m sorry because I do not know what is the problem with tetFemMatrices. I use the 1.6-ext version from the sourceforge.
__________________
--
Charbel
charbel is offline   Reply With Quote

Old   July 28, 2011, 16:07
Default
  #37
Member
 
Santiago
Join Date: Dec 2009
Posts: 85
Rep Power: 16
gascortado is on a distinguished road
Hi Matz, thanks for your reply. I checked the permission and that is all good. This is what the problem is

http://www.cfd-online.com/Forums/ope...tml#post317853

I will try to solve this issue tonight. I appreciate your help
gascortado is offline   Reply With Quote

Old   July 30, 2011, 12:30
Default
  #38
Member
 
Santiago
Join Date: Dec 2009
Posts: 85
Rep Power: 16
gascortado is on a distinguished road
Thanks guys for you help. I finally was able to compile the solver by reseting the path to the "missing" files manually. Now its all good. I also made the change as pointed out by Matz regarding mesh.update() command and the interfaces match perfectly.

I am interested on being able to display stresses on the solid part. Any pointers on the changes I need to make to the files in order to see that?

Thanks all for your help
gascortado is offline   Reply With Quote

Old   July 30, 2011, 14:08
Default
  #39
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Greetings to all! Hi Santiago,

I'm not familiar with this solver, but here are some tips:
Best regards,
Bruno
__________________
wyldckat is offline   Reply With Quote

Old   August 1, 2011, 06:50
Default
  #40
New Member
 
charbel's Avatar
 
Charbel Habchi
Join Date: Jan 2011
Location: Lebanon
Posts: 27
Rep Power: 15
charbel is on a distinguished road
Hi,

I modified the solver and the new version is attached below.

The outer iterations with constant relaxation parameter are working fine for the present test cases: rhoS/rhoF = 1000 & rhoS/rhoF = 100.
Below please find some figures about the results.

Meanwhile, I have some questions, I will be very grateful for any help:
1) I am not sure about the Aitken's method in "strongCouplingAitken.H"
2) I am not sure if the traction is transferred to the solid in "tractionDisplacementFvPatchVectorField.C /.H" this traction is computed in "setPressure.H"


Best regards,
Attached Images
File Type: jpg comapraisonIcoPimple.jpg (17.6 KB, 195 views)
File Type: jpg comapraisonRhoRatio1000-100.jpg (29.7 KB, 180 views)
File Type: jpg meshRhoRatio100.jpg (44.4 KB, 203 views)
Attached Files
File Type: gz pimpleFsiFoam.tar.gz (10.1 KB, 230 views)
__________________
--
Charbel
charbel is offline   Reply With Quote

Reply

Tags
elastic, icofsifoam, strongly weakly 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
NASA Rotor 37 & Pressure-Based Coupled Solver Razvan FLUENT 6 June 11, 2015 04:58
coupled solver wont work in star ccm+ richie Siemens 5 November 4, 2008 05:51
coupled solver in FLUENT ztdep FLUENT 1 September 14, 2006 23:34
The seperated solver and coupled one summer FLUENT 0 July 5, 2006 16:06
can use coupled solver to calculate combustion cfdfans FLUENT 0 November 25, 2003 05:48


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