Difference between revisions of "Extend-bazaar/Toolkits/Fluid-structure interaction"

From OpenFOAMWiki
(Install on foam-extend 3.1: wget needs enforcing of the target file)
(Installation: Added instructions for foam-extend 3.2)
Line 12: Line 12:
 
== Installation ==
 
== Installation ==
  
{{versionInfo}}{{version3.0-ext}}{{version3.1-ext}}
+
{{versionInfo}}{{version3.0-ext}}{{version3.1-ext}}{{version3.2-ext}}
  
 
The original source code is available here on the wiki: [[Media:Fsi_31.tar.gz|Fsi_31.tar.gz]]
 
The original source code is available here on the wiki: [[Media:Fsi_31.tar.gz|Fsi_31.tar.gz]]
* Git repository based on  this source code and further updated for foam-extend 3.1 is available here: https://github.com/wyldckat/FluidStructureInteraction
+
* 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
  
  
Line 21: Line 21:
 
* [[#Install on foam-extend 3.0|Install on foam-extend 3.0]]
 
* [[#Install on foam-extend 3.0|Install on foam-extend 3.0]]
 
* [[#Install on foam-extend 3.1|Install on foam-extend 3.1]]
 
* [[#Install on foam-extend 3.1|Install on foam-extend 3.1]]
 +
* [[#Install on foam-extend 3.1|Install on foam-extend 3.2]]
  
  
Line 53: Line 54:
 
<bash>./Allwmake
 
<bash>./Allwmake
 
</bash>
 
</bash>
 +
 +
=== Install on foam-extend 3.2===
 +
 +
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 [https://github.com/wyldckat/FluidStructureInteraction repository at Github]:
 +
<ol>
 +
<li>Go into the assigned user folder:
 +
<bash>mkdir -p $WM_PROJECT_USER_DIR
 +
cd $WM_PROJECT_USER_DIR</bash>
 +
</li>
 +
<li>Now, depending on whether you're able to use {{tt|git}} or not:
 +
<ul>
 +
<li>For cloning from the git repository:
 +
<bash>git clone https://github.com/wyldckat/FluidStructureInteraction.git</bash>
 +
Then checkout the right branch:
 +
<bash>cd FluidStructureInteraction
 +
git checkout fe32</bash>
 +
</li>
 +
<li>For downloading the ZIP package:
 +
<bash>wget -O FluidStructureInteraction.fe32.zip https://github.com/wyldckat/FluidStructureInteraction/archive/fe32.zip</bash>
 +
Then unpack, rename the unpacked folder and go into the folder:
 +
<bash>unzip FluidStructureInteraction.fe32.zip
 +
mv FluidStructureInteraction-fe32 FluidStructureInteraction
 +
cd FluidStructureInteraction
 +
</bash>
 +
</li>
 +
</ul>
 +
</li>
 +
<li>Now build:
 +
<bash>cd src
 +
./Allwmake</bash>
 +
</li>
 +
</ol>
  
 
== Tutorials ==
 
== Tutorials ==

Revision as of 17:23, 12 September 2015

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

Valid versions: OF Version 30ext.png OF Version 31ext.png OF Version 32ext.png

The original source code is available here on the wiki: Fsi_31.tar.gz


The instructions are a bit different, depending on the version of foam-extend:


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

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:

  1. Go into the assigned user folder:
    mkdir -p $WM_PROJECT_USER_DIR
    cd $WM_PROJECT_USER_DIR
  2. 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
  3. Now build:
    cd src
    ./Allwmake

3 Tutorials

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: