Вы находитесь на странице: 1из 35

6DOF RANS Simulations of Floating and

Submerged Bodies using OpenFOAM


Eric Paterson, David Boger, Kevin Smith, Scott Miller, and Gina Casadei Hrvoje Jasak
Applied Research Laboratory, Penn State Univ, State College, PA, USA Wikki Ltd., London, UK
12th Numerical Towing Tank Symposium, Cortona, Italy
4-6 October 2009
Monday, October 5, 2009
Objectives
• Develop Multiphase CFD Tools for
Naval Hydrodynamics using
OpenFOAM

• Resistance and propulsion

• Bubbly wakes

• Seakeeping

• Wave-impact and green-water-on-


deck forces

• Multi-body problems

Monday, October 5, 2009


Approach
• OpenFOAM
• ~4 years of experience at PSU/ARL
• Initial validation efforts performed as part of student theses
• Now being used for real-world design, analysis, and acquisition
programs
• Development of overset methods: foamedOver
• Why OpenFOAM?
• Open-source, extensible C++, code architecture, existing
models and algorithms
➯ Capability for multi-physics simulations and custom solvers
• world-wide user base (2500+ users)

Monday, October 5, 2009


rasInterDyMFoam
Tool for Seakeeping, Ship motions, Wave Loads

Large-amplitude Propulsion and


Free Surface
6DOF Motions Control Surfaces

Mesh Motion EOM Wave Model VOF/LS Outflow B.C. Body-force Direct Sim

•Dynamic mesh •Quarternions •Regular waves •High-pass: Advective •Actuator disk •GGI
•GGI •Euler angles •Irregular waves •Low-pass: Sponge Layer •BEM •Overset
•Overset •Short crested •3D RANS
waves

Monday, October 5, 2009


rasInterDyMFoam
• rasInterFoam extended for dynamic Mesh

• forces and moments include buoyancy (floatingBody class)

• equations of motion formulated using quaternions


(sixDOFqODE class)

• 13 variables (linear displacement from Earth-fixed


system (3), linear velocity (3), rotational velocity (3),
quaternions (4))

• Runge-Kutta ODE solver

Monday, October 5, 2009


Wigley Hull

Transient solver: rasInterFoam


runTime ~ 5 hrs
Mesh: 286,000 cells, y ~ 100
+
numProc = 4
2500 Δt for a converged solution
Monday, October 5, 2009
Bare-hull Model 5415

• Navy surface combatant ca. 1980.


• Sonar dome and transom stern, propulsion
is provided through twin open-water
propellers driven by shafts supported by
struts
• CFD Validation Database
• Used at the Gothenburg 2000, Tokyo
2005, Gothenburg 2010 workshops
Monday, October 5, 2009
Bare-hull Model 5415
• Grid
• Pointwise
• ~5M hex cells,
• y+ ~ 100
• Simulation
• 128 processors on
4400-core
Woodcrest cluster
• OF compiled with
icc, linked to
optimized MPI
Monday, October 5, 2009
Bare-hull Model 5415
• Grid
• Pointwise
• ~5M hex cells,
• y+ ~ 100
• Simulation
• 128 processors on
4400-core
Woodcrest cluster Transient solver: rasInterFoam
• OF compiled with Δt ~ 1x10-4 (Co = 0.7)
icc, linked to
optimized MPI ➙ 30,000 time steps for a steady
solution!! Unacceptable.
Monday, October 5, 2009
LES of Free-surface flows
Froude number = 1.0 Froude number = 2.0

Monday, October 5, 2009


0.05 0.05

Mean wave elevation and axial velocity


0 -0.1
-0.2 -0.2
0 -0.06 0

(b) Fr
(c) Fr == 2.0
1.0 (c) Fr = 2.0
-0.1
0.2 -0.15
0.2
0.
05
yy (m)

y (m)
(m)

0
0.125

0
0 0

0
0.075 -0 . -0 .
0.3

0.3
85 85
0.2 0.2
-0.75 -0.75
0.05
-0.2 -0.2
0 -0.6 -0.6

0
0

0.1 0.1

-0.2 0 0.2 0.4 0.6 -0.2 0 0.2 0.4 0.6


(c) Fr = 2.0 x (m) x (m)
0.2
y (m)

0
0
-0 .
0.3

85
0.2
-0.75

-0.2
-0.6
0

0.1

-0.2 0 0.2 0.4 0.6


x (m)

Monday, October 5, 2009


Wave models

• Models required to generate


waves
• regular waves, deep and
shallow water Regular waves

• irregular waves and wave


spectra models
• short-crested or directional
waves Irregular seaway

Monday, October 5, 2009


groovyWaveTank
http://openfoamwiki.net/index.php/Contrib_groovyBC#User-Cases

groovyWaveTank with nonzero forward speed (or current)

Monday, October 5, 2009


groovyWaveBasin
atmosphere

advective

U
s
ave
Uw

groovyBC
Monday, October 5, 2009
groovyWaveBasin
input for U
{
type groovyBC;
refValue uniform (0 0 0);
refGradient uniform (0 0 0);
valueFraction uniform 1;
value uniform (1 0 0);
valueExpression "(pos().z<=A*cos(k*pos().x*cos(betaRad)+k*pos().y*sin(betaRad)-we*time())) ? vector(Us+cos
(betaRad)*(A*w*exp(k*pos().z)*cos(k*pos().x*cos(betaRad)+k*pos().y*sin(betaRad)-we*time())), sin(betaRad)*
(A*w*exp(k*pos().z)*cos(k*pos().x*cos(betaRad)+k*pos().y*sin(betaRad)-we*time())), A*w*exp(k*pos().z)*sin(k*pos
().x*cos(betaRad)+k*pos().y*sin(betaRad)-we*time())) : vector(1,0,0)";
gradientExpression "vector(0,0,0)";
fractionExpression "(phi > 0) ? 0 : 1";
variables "l=1;A=0.05;Us=1;beta=45;betaRad=2.*pi*45.0/360.0;g=vector(0,0,-9.81);k=2*pi/l;w=sqrt(k*mag
(g));we=w+k*Us*cos(betaRad);";
timelines ();
}

This is probably the limit: more complexity ➙ custom BC


Monday, October 5, 2009
Outflow b.c.

• Two approaches used in tandem:


• advection BC:
• high-pass filter, best for filtering long
waves
• ineffective for zero forward speed, but
good for other cases
• Numerical beach: low-pass filter, best for
damping short waves

Monday, October 5, 2009


Numerical beach
∂ρU
+ ∇ · (ρUU) = −∇p + ∇ · µ∇U + ρg − σκn − νd (x)ργU
∂t

• νd is a scalar dissipation function


• Zero everywhere except in the sponge layer region
• νd(x) defined as a cubic (Clement, 1996)
• Grid expansion is also effective at filtering short waves

Monday, October 5, 2009


Numerical beach

• Studied numerous lengths and magnitudes.


• Evaluated by defining a reflection coefficient

No Sponge Layer νd,max = 6, L = 4 νd,max = 100, L = 4

Monday, October 5, 2009


Surface-piercing cyclinder in waves
zero Forward speed

Monday, October 5, 2009


Wigley Hull in waves
nonzero Forward speed

Monday, October 5, 2009


Wigley Hull in waves
response of boundary layer & wake

Monday, October 5, 2009


Wave impact loads
• Wave impact pressure on block
• Experiment done at NSWCCD (Fullerton et al., 2009)
– Breaking and non-breaking waves tested
– Block face and angle varied
– Data taken from slam panels and pressure gages
– Pressures and forces taken relative to calm water level
– Average load of 75 to 150 wave impacts

Monday, October 5, 2009


Wave impact loads

EFD data

Monday, October 5, 2009


Prescribed motions
Tumblehome geometry 2D midship slice

Monday, October 5, 2009


Roll damping & wave-excited roll
Wave parameters: λ = 1.56 m, H = 0.044 m
 Results: Damping Factor ζ
 CFD BR: 0.0877
 CFD No BR: 0.0980
 Experiment: 0.106
 Bilge radius reduces damping
 Sources of error
 2D approximation
 Experimental setup has more
damping due to friction at fixed axis of
barge

Monday, October 5, 2009


foamedOver
• Overset meshing requires the following
modifications to a CFD solver
– Blank out regions of the mesh
– Interpolation of fringe and outer boundary cells from
donor meshes (tri-linear interpolation)
– Modification of algebraic solvers (Hard part)
• Breaks symmetry of pressure Poisson equation. Solution:
PETSc GMRES solver
• Momentum and turbulence solved with 2-stage Jacobi
• Future work: modify OpenFOAM solvers (GAMG, PGC,
BiCGStab, etc.) and compare to PETSc solvers

Monday, October 5, 2009


rasInterDyMFoam
OpenFOAM PETSc libraries libSuggar++ and
libraries (ANL) DiRTlib (PSU/ARL)
(OpenCFD) OpenSource data structures OpenSource Overset Tools
OpenSource CFD Toolbox and solvers

foamedOver
libraries custom libraries
Interface between waves b.c., floatingBody class
OpenFOAM - PETSc -
libSuggar++/DiRTlib

Monday, October 5, 2009


foamedOver

• start with potentialFoam potential field

• 4 new lines of code to create


oversetPotentialFoam
■ include "oversetObject.H
■ include "createOverset.H" which
instantiates the oversetObject object
■ add oversetOperations.swapValues(p) after
pEqn.solve() to update the fringe values
■ add oversetOperations.blankEquations
(pEqn,p) to modify the equations

Monday, October 5, 2009


foamedOver
oversetSimpleFoam
– 6 lines of new code required to link with foamedOver library

pressure field velocity field

Monday, October 5, 2009


foamedOver
oversetRasInterFoam
– 7 lines of new code required to link with foamedOver library

gamma field pressure field

Monday, October 5, 2009


3DOF rising buoyant body
Overset

capsize of floating box


GGI

Monday, October 5, 2009


Conclusions
• Different CFD formulations required for various aspects of Ship
Hydrodynamics

• Steady VOF - URANS - LES/DES - vehicle motions: all have unique


challenges

• interFoam-class solvers work well for transient problems such as wave


propagation, wave slap, wave forces

• Develop work required to stitch everything together

• Boundary-condition formulation for oblique/beam/trailing seas needs


attention

• Overset has been implemented and tested. Needs to be compared to


GGI/dynamic mesh for seakeeping simulations

Monday, October 5, 2009


Overset Symposium
www.oversetsymposium.org

9th Symposium (2008):


Penn State University

10th Symposium (2010):


NASA Ames, CA

Monday, October 5, 2009


OpenFOAM Ship Hydro SIG
http://openfoamwiki.net/index.php/Sig_Ship_Hydrodynamics

Monday, October 5, 2009


OpenFOAM Workshop

• 1st Workshop (2006):


Zagreb, Croatia

• 2nd Workshop (2007):


Zagreb, Croatia

• 3rd Workshop (2008):


Milan, Italy

• 4th Workshop (2009):


Montreal, Canada

• 5th Workshop (2010):


Gothenburg, Sweden

Monday, October 5, 2009

Вам также может понравиться