ElmerFoamFSI  2.0
ElmerFoamFSI is fluid-solid interaction simulation application built up from OpenFOAM CFD and Elmer CSM coupled through the IMPACT multiphysics software integration infrastructure.
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros Groups Pages
Hron-Turek Problem

Problem Description

A series of benchmark fluid-solid interaction problems can be described by the Hron-Turek Problem; here a laminar, incompressible flow ( $ F $) enters a 2-D channel from the channel's left side with a parabolic (fully-developed) velocity profile. A cylinder with a cantilever beam attached, ( $ S $), is submerged into the fluid in the middle of the channel closest to the flow entry. A traction load applied by fluid motion develops on the faces of the cylinder and the cantilever beam, causing the beam to deform. The configuration of the problem is such that a self-induced oscillation will develop in the fluid and the beam.
Figure 1 shows the geometry below:

htfsigeo.png
Figure 1. Domain and boundary conditions for the Hron-Turek verification problem

The objective here is to study how accurately the variation of the deformation at the end-point of the beam, ( $ \delta_y $), can be captured.
The velocity profile is ramped from zero to its final profile, ( $ \bar{U}=2 m/s $), in the transition period of $ T_{trans} = 0.1s $, which is then kept constant for the duration of the simulation.
The table below summarizes the properties of the solid and fluid used in the simulation:

htfsitable.png
Table 1. Properties of fluid and solid domains in the Hron-Turek verification problem

ElmerFoamFSI Inputs

In ElmerFoamFSI, OpenFOAM (a finite-volume solver) is used as the fluid solver and Elmer (a finite-element solver) is used as the structural solver.
Here both weak and strong coupling approaches can be used to solve FSI problems. The Simple Dynamic problem Simple Dynamic Problem utilizes a weak-coupling algorithm; please visit Setting up Example Problems for further information regarding the structure of each input file if you have not already done so.

Elmer Input

Elmer can be used to find the deformation of a solid object, ( $ U $), subjected to different types of loads.
To capture large deformations of the solid, ElmerFoamFSI uses a non-linear solver. Here the description of the problem starts with the input files:

The .GRD file provides the description of the geometry of the problem
The .SIF file provides rest of the definitions, including material properties and boundary conditions

  • It's important to note that in the .SIF file: 1, 2, and 3 correspond to the X, Y, and Z directions in a cartesian grid
  • The .SIF file is read by the ELMERSOLVER_STARTINFO upon execution

OpenFOAM Input

Here, OpenFOAM acts as the fluid solver to solve for the fluid pressure ( $ p $) and velocity ( $ U $) found in ./fluid/0/ .
To capture the deformations of the solid/fluid interface, OpenFOAM performs mesh update and re-meshing procedures to maintain the quality of the grid.
OpenFOAM requires both the definition of the solid and the fluid sections of the grid (in ElmerFoamFSI, the solid definition is replaced by Elmer.)
To setup a fluid problem, a strict folder/file hierarchy must be followed.

There are at-least three major sub-folders in the main fluid problem, (./fluid/ ).
These sub-folders are:

  • ./fluid/0/ , which contains the initial and boundary conditions for the problem. We specify the initial and boundary conditions for the pressures, velocities and grid deformation in three separate files with proper names.
  • ./fluid/system/ which contains a series of input files to specify which solvers and strategies should be used.
  • ./fluid/constant/ which contains the description of the grid and material properities. Here the folder contains info about the problem geometry.
    • Within this folder is blockMeshDict which reads the geometric data (may not necessarily be named blockMeshDict depending on the example).

Running The Hron-Turek Problem

The requirements listed in this dynamic example are an extension of the instructions given in main and should be completed before starting the following steps.
In order to execute the simple dynamic verification problem with ElmerFoamFSI, Elmer and ElmerFoamFSI input files must be copied to the ./fluid folder of the OpenFOAM input hierachy. The following directions are steps to take to run a problem:

  • Obtain input_data files of SimpleDynamic problem Simple Dynamic Problem.
  • Create a folder and copy Allclean, Allrun (scripts), ./fluid/ and ./solid/ folders into this folder, taking care to copy all sub-folders as well.

    Make sure your folder has following:

    • Scripts: Allclean, Allrun, AllrunPar, makeLinks, makeSerialLinks, removeSerialLinks
    • Folders: ./fluid/, ./solid/
  • Copy elmer SIF, GRD and ELMERSOLVER_STARTINFO files to ./fluid/.
  • Run ./Allclean and ./Allrun to clean-up and prepare input files for OpenFOAM.
  • Go to ./fluid/ and type ElmerGrid 1 2 name where "name" should be replaced with the name of the GRD file for Elmer.
  • Run ElmerFoamFSI the FSI simulation by typing "elmerformfsi name" where name should be replaced with the name of ElmerFoamFSI input file.
  • Run:

    ./path/to/elmerfoamfsi/elmerfoamfsi test.config (typically found in the top level /build/bin folder)

As a result of simulation, you will obtain VTK and VTU outputs along with many log files. Output files can be further post processed by using tools such as Paraview.

Expected Results

This problem does not have an exact solution. A reference solution provided by Turek and Hron (2006) will be used instead for comparison purposes.
Here the problem is solved with ElmerFoamFSI which utilizes OpenFOAM for the fluid and Elmer for the solid calculations. The tractions, displacement and velocities are transmitted between the solver through IMPACT.
The solid solver used in Elmer is a non-linear elastic solver to account for the large deformation, which is a reasonable assumption for the order of strains observed in this problem. The solid mesh for Elmer is generated by ElmerGrid. The simulation results below shows the contour plot for fluid velocity, pressure and the displacement history for the tip of the beam as obtained by ElmerFoamFSI.

elmerFoam_htfsi3_ux.png
elmerFoam_htfsi3_p.png
elmerFoam_htfsi3_disp.png
Figure 2. ElmerFoamFSI simulation results showing velocity contour (top), pressure contour for t = 5.0s (middle), displacement history for the tip of the beam (bottom)

Results and Discussion

Since there is no exact solution available in this case, the ElmerFoamFSI solution is compared against what is reported in Turek and Hron (2006).
The amplitude and period for the beam deflection $ \delta_y $ are found to be approximately 0.035m and 0.18s, respectively.
ElmerFoamFSI predictions for these quantities are approximately 0.038m and 0.18s, matching the findings from Turek and Hron.
The error in the ElmerFoamFSI result can be considered acceptable due to:

  • Numerical errors associated to the discretization
  • The simple non-iterative nature of the solution scheme

Citations

Turek, S. and Hron, J. (2006). Fluid-Structure Interaction: Modelling, Simulation, Optimisation, chapter Proposal for Numerical Benchmarking of Fluid-Structure Interaction between an Elastic
Object and Laminar Incompressible Flow, pages 371–385. Springer Berlin Heidelberg, Berlin, Heidelberg.