Extend-bazaar/Toolkits/Fluid-structure interaction
Contents
1 Description
Quoting from here:
This toolkit supersedes the icoFsiElasticNonLinULSolidFoam FSI solver within the solidMechanics toolbox.This framework was presented at the OpenFOAM Workshop 2014 in Zagreb: abstract and slides.
The major improvement with regard to FSI coupling is the implementation of the IQN-ILS algorithm.
Also, the plugin approach used for the solid and fluid solvers should allow easier extension to other fluid/solid models e.g. multi-phase, compressible, plasticity, etc.
2 Installation
- The first publicly available snapshot of the source code is available here on the wiki, which was designed to work with : Fsi_31.tar.gz
- Git repository based on this source code and further updated for foam-extend 3.1 and 3.2 is available here: https://github.com/wyldckat/FluidStructureInteraction
- The second publicly available snapshot of the source code is available here on the wiki, which was designed to work with : Fsi_40.tar.gz
- It's expected that this will be integrated into future versions of foam-extend.
The instructions are a bit different, depending on the version of foam-extend:
- Install on foam-extend 3.0
- Install on foam-extend 3.1
- Install on foam-extend 3.2
- Install on foam-extend 4.0
2.1 Install on foam-extend 3.0
To download and install, run the following commands:
mkdir -p $WM_PROJECT_USER_DIR cd $WM_PROJECT_USER_DIR wget http://openfoamwiki.net/images/5/52/Fsi_31.tar.gz tar -xzf Fsi_31.tar.gz cd FluidStructureInteraction/src/ ./Allwmake
2.2 Install on foam-extend 3.1
First we have to download and unpack the source code:
mkdir -p $WM_PROJECT_USER_DIR cd $WM_PROJECT_USER_DIR wget http://openfoamwiki.net/images/5/52/Fsi_31.tar.gz tar -xzf Fsi_31.tar.gz
Now we need to do some repairs in the source code:
cd FluidStructureInteraction/src/fluidStructureInteraction/stressModels/constitutiveModel wget https://raw.githubusercontent.com/wyldckat/FluidStructureInteraction/fe31/src/fluidStructureInteraction/stressModels/constitutiveModel/constitutiveModel.C -O constitutiveModel.C wget https://raw.githubusercontent.com/wyldckat/FluidStructureInteraction/fe31/src/fluidStructureInteraction/stressModels/constitutiveModel/constitutiveModel.H -O constitutiveModel.H cd ../../..
Finally, we can build the toolkit:
./Allwmake
2.3 Install on foam-extend 3.2
WARNING: These instructions advise you to download and install an adapted and experimental source code. It has not been fully tested and it's probable that it won't work as intended.
The changes needed for foam-extend 3.2 are too many in order to reuse the file provided for foam-extend 3.0, therefore here are the instructions for getting from wyldckat's repository at Github:
- Go into the assigned user folder:
mkdir -p $WM_PROJECT_USER_DIR cd $WM_PROJECT_USER_DIR
- Now, depending on whether you're able to use git or not:
- For cloning from the git repository:
git clone https://github.com/wyldckat/FluidStructureInteraction.git
Then checkout the right branch:
cd FluidStructureInteraction git checkout fe32
- For downloading the ZIP package:
wget -O FluidStructureInteraction.fe32.zip https://github.com/wyldckat/FluidStructureInteraction/archive/fe32.zip
Then unpack, rename the unpacked folder and go into the folder:
unzip FluidStructureInteraction.fe32.zip mv FluidStructureInteraction-fe32 FluidStructureInteraction cd FluidStructureInteraction
- For cloning from the git repository:
- Now build:
cd src ./Allwmake
2.4 Install on foam-extend-4.0
First we have to download and unpack the source code:
mkdir -p $WM_PROJECT_USER_DIR cd $WM_PROJECT_USER_DIR wget https://openfoamwiki.net/images/d/d6/Fsi_40.tar.gz tar -xzf Fsi_40.tar.gz
Now we need to do some repairs in the source code, by running:
cd FluidStructureInteraction/ find src/fluidSolidInteraction -type f -name "*.C" | xargs -n 1 sed -i.old 's=lduSolverPerformance::debug=blockLduMatrix::debug='
Finally, we can build the toolkit:
cd src
./Allwmake
3 Tutorials
The first version of the toolkit provides in the folder run the following examples:
- fsiFoam
- 3dTube
- beamInCrossFlow
- HronTurekFsi3
- stressFoam
- plateHole
- thermalStressFoam
- flange
3.1 fsiFoam tutorial cases
Each tutorial case available in the fsiFoam folder is executed by running the following commands:
sed -i s/tcsh/sh/g *Links
./removeSerialLinks fluid solid
./makeSerialLinks fluid solid
cd fluid
./Allclean
./Allrun
3.2 stressFoam tutorial case
The tutorial case plateHole is executed by going into the case folder:
cd stressFoam/plateHole/plateHole/
And running:
./Allrun
3.3 thermalStressFoam tutorial case
The tutorial case flange is executed by going into the case folder:
cd thermalStressFoam/flange/
And running:
./Allrun
4 Reports where this toolkit has been used
The following entries are in the page for the 2014 MSc/PhD course in CFD with OpenSource software at Chalmers University of Technology, which use this toolkit:
- Presentation by Huadong Yao: Fluid-structure interaction
- Student projects and reports: