WES SHEDDING VORTEX

Mesh

\[X = 38\]
\[Y = -0.5\]
\[Z = 12\]

center hole:

\[X = 5\]
\[Z = 6\]

Diameter hole:

\[D = 1.5\]

Model definitions

Code_saturne defines LamVisc (molecular viscocity) which is the dynamic viscosity = \(\eta\) [1]. Here \(\eta = 0.0075\)

Density is \(\rho = 1\)

Setup calculation

Files from https://www.code-saturne.org/forum/viewtopic.php?f=12&t=2275&sid=98048c925822c4d513c5c737cdad280

are downloaded to

cd ~/Projects/2018-10-03-oil-damper-functionality/Engineering/2D-numerical/

as:

  • cylinder.med

  • cylinder-download.xml

Then:

cd /home/marcel/WIENS/Projects/2018-10-03-oil-damper-functionality/Engineering/2D-numerical/

cd ~/Projects/2018-10-03-oil-damper-functionality/Engineering/2D-numerical/
mkdir cs-VIV-example-2
cd cs-VIV-example-2
code_saturne create -s Tuto_VIV -c VIV
cd ../cs-VIV-example
cp cylinder.med ../cs-VIV-example-2/Tuto_VIV/MESH/cylinder.med
cp cylinder-download.xml ../cs-VIV-example-2/Tuto_VIV/VIV/DATA/Tuto_VIV.xml
cd ../cs-VIV-example-2/Tuto_VIV/VIV/DATA
./SaturneGUI
  • load the Tuto_VIV.xml file via menu

  • When simply go to prepare batch calculation and press start calculation will make the calculation to fail. First, you have to go to the mesh page and read the mesh explicitly, then you can go to prepare batch calculation and press start calculation now, the calculation seems to be running

  • calculation finishes with message finished with exit code 0 in terminal window where GUI was started.

Post-processing

  • goto directory, something like (adapt to your needs):

    cd /home/marcel/WIENS/Projects/2018-10-03-oil-damper-functionality/Engineering/2D-numerical/cs-VIV-example-2/Tuto_VIV/VIV/RESU/20181009-1442
    cd monitoring
    
  • try the following commands one by one to view some plots:

    xmgrace -block probes_CourantNb.dat -bxy 2:3
    xmgrace -block probes_FourierNb.dat -bxy 2:3
    xmgrace -block probes_LamVisc.dat -bxy 2:3
    xmgrace -block probes_Mesh_displacement[X].dat -bxy 2:3
    xmgrace -block probes_Mesh_Velocity[X].dat -bxy 2:3
    xmgrace -block probes_Mesh_Velocity[Y].dat -bxy 2:3
    xmgrace -block probes_Mesh_Velocity[Z].dat -bxy 2:3
    xmgrace -block probes_mesh_vi1.dat -bxy 2:3
    xmgrace -block probes_Pressure.dat -bxy 2:3
    xmgrace -block probes_total_pressure.dat -bxy 2:3
    xmgrace -block probes_Velocity[X].dat -bxy 2:3
    xmgrace -block probes_Velocity[Y].dat -bxy 2:3
    xmgrace -block probes_Velocity[Z].dat -bxy 2:3
    
  • Open Salome (or Salome_Meca or Salome_CFD)

  • Load module Paravis (paraview) and select new

  • menu - file - open paraview file

  • goto directory /home/marcel/WIENS/Projects/2018-10-03-oil-damper-functionality/Engineering/2D-numerical/cs-VIV-example-2/Tuto_VIV/VIV/RESU/20181009-1442/postprocessing/

  • select file Results.case OK

  • in the left pane, select apply

  • Select +Y view to see all, the pressure distribution should be given by default

  • press play in the animation pane to see the pressure variation over time

  • goto menu - view - toolbars

  • check commmon

  • select warp by vector from the common toolbar

  • click apply in the left pane

  • set scale factor to 1 in left pane

Flow analyis

So, to understand what is happening, a theoretical assessment is made. The vibration time of the oscilation is:

\[Delta T = T_2 - T_1 = 76.0 - 67.2 = 8.8 [s]\]

Hence, the frequency is:

\[f = \frac{1}{T} = \frac{1}{8.8} = 0.1136 [Hz] \equiv 0.714 \left[ \frac{rad}{s} \right]\]

The Reynolds number is:

\[Re = \frac{V_{inf} D \rho }{\eta} = \frac{1 \cdot 1.5 \cdot 1 }{0.0075} = 200\]

The Strouhal number for a cylinder at \(Re = 200\) is approximately \(Sr = 0.2\) [2] So, the frequency of oscillation should be:

\[f_{Sr} = \frac{Sr V_{inf}}{D} = \frac{0.2 1}{1.5} = 0.133\]

Which seems to be the frequency in Herz. It is slightly different from the frequency calculated above, but that was only for 1 cycle, so lets calculate the frequency over more cycles:

\[Delta T_{10} = \frac{T_N - T_1}{N} = \frac{152.0 - 67.2}{10} = 8.48 [s]\]
\[f_{10} = \frac{1}{T_{10}} = \frac{1}{8.48} = 0.118 [Hz] \equiv 0.741 \left[ \frac{rad}{s} \right]\]

With this frequency, the Strouhal number could be:

\[Sr_{f_{10}} = \frac{0.118 \cdot 1.5}{1} = 0.177\]

This fits better with the Strouhal number graph shown on wikipedia [3]

The undampted frequency of the structure is:

\[f_s = \frac{1}{2 \pi} \sqrt{\frac{k}{m}} = \frac{1}{2 \pi} \sqrt{\frac{2}{5}} = 0.101 [Hz]\]

And the damped frequency is:

\[f_{sd} = f_s \sqrt{1 - \zeta^2}\]

with:

\[\zeta = \frac{c}{2 \sqrt{k m}} = \frac{3}{2 \sqrt{2 \cdot 5}} = 0.474\]

So that:

\[f_{sd} = f_s \sqrt{1 - \zeta^2} = 0.101 \sqrt{1 - 0.474^2} = 0.101 \cdot 0.880 = 0.089 [Hz]\]

The ratio between exciation frequency and natural frequency is:

\[\frac{f_{10}}{f_{sd}} = \frac{0.118}{0.089} = 1.332\]

Not that close for resonant behaviour. The ratio between dynamic amplitude and static amplitude for a damped system is (assuming sine force excitation where force is not influenced by amplitude, as is actually the case here):

\[A_f = \frac{1}{\sqrt{\left(1 - \left(\frac{f_{10}}{f_{sd}}\right)^2 \right)^2 + \left(2 \zeta \frac{f_{10}}{f_{sd}} \right)^2}} = 0.675 [-]\]

Test calculations

Several calculations are performed with different parameters, the table below gives the different parameters and the output results

#

M

C

\(\zeta\)

mesh postpro

probes

\(t_{max} [s]\)

termination

\(f_{sd} [Hz]\)

\(\frac{f_{10}}{f_{sd}} [-]\)

\(A_f [-]\)

\(A_{max} [-]\)

0

5

3

0.474

fixed_mesh

default

400

OK

0.089

1.332

0.675

0.104

1

5

3

0.474

fixed_mesh

cyl edge

400

OK

0.089

1.332

0.675

0.104

2

5

3

0.474

trans_coord

cyl edge

400

OK

0.089

1.332

0.675

0.104

3

3.53

3

0.565

trans_coord

cyl edge

400

OK

0.099

1.193

0.708

1.165

4

1.25

3

0.949

trans_coord

cyl edge

14.8

X-dir vibration

0.064

1.854

0.234

N/A

5

1.25

0

0.000

trans_coord

cyl edge

12.9

X-dir vibration

0.201

0.586

1.523

N/A

6

1.25

1

0.316

trans_coord

cyl edge

13.4

X-dir vibration

0.191

0.618

1.367

N/A

7

2.0

1

0.250

trans_coord

cyl edge

218.2

Z-dir vibr mesh def

0.154

0.766

1.774

0.306

8

1.6

1

0.280

trans_coord

cyl edge

239.2

Z-dir vibr mesh def

0.171

0.691

1.538

0.283

9

3.53

1

0.188

trans_coord

cyl edge

400

OK

0.118

1.003

2.649

0.293

With the following definitions:

\(A_{max} [-]\):

The maximum amplitude of the vibration measured in post processing. This is not very accurate as only every \(10^{th}\) step is saved.

trans_coord:

short for: transient_coordinates, an option to set.

cyl edge:

6 probes are defined on the North (1) South (1) East (2) West (2) locations around the hole. East as West have 2 nodes, as they are not exactly on 0 or 180 degrees. The purpuse was to track the vibration of the cylinder more closely, but getting to output other coordinates than X are not successful so far.

X-dir vibration:

from start heavy vibration in X-direction, seems that speed is so high that Mach number is very high, so that pressure lines appear in the solution, like in

Vibration in X-direction (horizontal) showing pressure lines

Z-dir vibr mesh def:

At some point in the simulation after a very long period of nice vibrations, the solutions becomes unstable. the amplitude in Z-direction becomes larger mesh starts to deform, in combination with low pressures in these deformed meshes. as in

Vibration in Z-direction (vertical) showing mesh deformation and low pressure

N/A:

Not applicable, because the solution does not go into vibration in Z-direction

Observations

  • Version 0..4 are heavily damped. Hardly any overshoot is expected, see damper sdofdampedovershoot.png. The cylinder movement is just forced by the flow. The flow goes to a certain maximum amplitude as shown for 3 in damper Displacement in Z-direction of cylinder over time. Clearly amplitude builds up until 50s, then increases linearly to 80s and then tops off to reach a maximum amplitude of 1.165.

    THIS IS IN LINE WITH LITERATURE… EXPAND FURTHER

  • In versions 5..9, the mass spring system is more dynamic \(\zeta < 0.32\) Hence, some overshoot near resonance frequency can be expected.

    Dynamic over static amplitude overshoot for a single DOF dynamic damped system. When \(\zeta > 0.5\) there is virtually no overshoot.

Displacement in Z-direction of cylinder over time for case 3.

Second tests

A sweep is designed through frequency spectrum, to find fluid-structure response for these data:

Input parameters for the next set of tests.

#

m

c

k

fs [Hz]

zeta

dcorr

\(f_{sd} [Hz]\)

\(\frac{f_{10}}{f_{sd}} [-]\)

\(A_f [-]\)

\(A_{max} [-]\)

\(f_{20}\)

21

0.034

0.131

2

1.219

0.250

0.968

1.180

0.100

1.009

N/A

N/A

22

0.136

0.261

2

0.609

0.250

0.968

0.590

0.200

1.036

N/A

N/A

23

0.307

0.392

2

0.406

0.250

0.968

0.393

0.300

1.084

N/A

N/A

24

0.546

0.522

2

0.305

0.250

0.968

0.295

0.400

1.158

N/A

N/A

10

0.853

0.653

2

0.244

0.250

0.968

0.236

0.500

1.265

N/A

N/A

11

1.228

0.784

2

0.203

0.250

0.968

0.197

0.600

1.415

N/A

N/A

12

1.671

0.914

2

0.174

0.250

0.968

0.169

0.700

1.617

0.312

0.123

13

2.183

1.045

2

0.152

0.250

0.968

0.147

0.800

1.858

0.318

0.122

14

2.763

1.175

2

0.135

0.250

0.968

0.131

0.900

2.047

0.280

0.120

15

3.411

1.306

2

0.122

0.250

0.968

0.118

1

2

0.241

0.119

16

4.127

1.437

2

0.111

0.250

0.968

0.107

1.100

1.699

0.198

0.117

17

4.912

1.567

2

0.102

0.250

0.968

0.098

1.200

1.344

0.162

0.116

18

5.765

1.698

2

0.094

0.250

0.968

0.091

1.300

1.055

0.131

0.116

19

6.685

1.828

2

0.087

0.250

0.968

0.084

1.400

0.842

0.108

0.116

20

7.675

1.959

2

0.081

0.250

0.968

0.079

1.500

0.686

0.089

0.116

Nota

case 10..13 the amplitude and frequency is determined using 5 cycles and 90% starting limit, where 14..20 use 20 cycles and 95% starting limit.

These Cases are stored in files: Tuto_VIV_vXX.xml where XX is the version number (#). The cases are run via a script runCodeSaturneCases.sh:

#!/bin/bash

cd ~/WIENS/Projects/2018-10-03-oil-damper-functionality/Engineering/2D-numerical/cs-VIV-example-2/Tuto_VIV/VIV/DATA
code_saturne run -p Tuto_VIV_v10.xml
code_saturne run -p Tuto_VIV_v11.xml
code_saturne run -p Tuto_VIV_v12.xml
code_saturne run -p Tuto_VIV_v13.xml
code_saturne run -p Tuto_VIV_v14.xml
code_saturne run -p Tuto_VIV_v15.xml
code_saturne run -p Tuto_VIV_v16.xml
code_saturne run -p Tuto_VIV_v17.xml
code_saturne run -p Tuto_VIV_v18.xml
code_saturne run -p Tuto_VIV_v19.xml
code_saturne run -p Tuto_VIV_v20.xml

All files are modifications of Tuto_VIV_v09.xml

Observations in the second tests

  • peak resonance seems to happen around \(\frac{f_{10}}{f_{sd}} = 0.8 [-]\), so, there must be considerable damping from the fluid flow. That is also why there is a maximum amplitude.

  • damper sdofversusSimulated.png gives the response plotted together with the response of a single DOF damped system response. The real amplitude ratio is not known, as the static force of the fluid-structure system is unknown, so, the amplitude is scaled by a factor 7.0 for shape comparison. There seems to be more damping than \(\zeta=0.25\). But also the amplitude is much larger for the \(\zeta=0.25\) line. Below a certain frequency range, a stable solution cannot be obtained. When using other values, like scaling with factor 4.0 and compare to \(\zeta=0.5\), the dots would cross the line.

    Scaled amplitude (green dots) plotted together with the amplitude response of a single DOF damped system, showing shape differences in the response.