6DOF RANS Simulations of Floating and Submerged Bodies using...

35
6DOF RANS Simulations of Floating and Submerged Bodies using OpenFOAM 12th Numerical Towing Tank Symposium, Cortona, Italy 4-6 October 2009 Eric Paterson, David Boger, Kevin Smith, Scott Miller, and Gina Casadei Applied Research Laboratory, Penn State Univ, State College, PA, USA Hrvoje Jasak Wikki Ltd., London, UK Monday, October 5, 2009

Transcript of 6DOF RANS Simulations of Floating and Submerged Bodies using...

6DOF RANS Simulations of Floating and Submerged Bodies using OpenFOAM

12th Numerical Towing Tank Symposium, Cortona, Italy4-6 October 2009

Eric Paterson, David Boger, Kevin Smith, Scott Miller, and Gina CasadeiApplied Research Laboratory, Penn State Univ, State College, PA, USA

Hrvoje JasakWikki Ltd., London, UK

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

Free SurfaceLarge-amplitude 6DOF Motions

Propulsion and Control Surfaces

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

•High-pass: Advective •Low-pass: Sponge Layer

•Actuator disk•BEM•3D RANS

•Regular waves•Irregular waves•Short crested waves

•Quarternions•Euler angles

•Dynamic mesh•GGI•Overset

•GGI•Overset

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: rasInterFoamMesh: 286,000 cells, y+ ~ 1002500 Δt for a converged solution

runTime ~ 5 hrsnumProc = 4

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

• OF compiled with icc, linked to optimized MPI

Transient solver: rasInterFoamΔt ~ 1x10-4 (Co = 0.7)➙ 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

0.075

0.125

0.05

-0.1

-0.15

0

0.05

y(m)

-0.2

0

0.2

(b) Fr = 1.0

0

0.04 0

.08

-0.06

-0.10

0.04

y(m)

-0.2

0

0.2

(a) Fr = 0.8

0.2

0.3

-0.85

-0.75

-0.6

0

0

0.1

x (m)

y(m)

-0.2 0 0.2 0.4 0.6

-0.2

0

0.2

(c) Fr = 2.0

0

0.075

0.125

0.05

-0.1

-0.15

0

0.05

y(m)

-0.2

0

0.2

(b) Fr = 1.0

0

0.04 0

.08

-0.06

-0.10

0.04

y(m)

-0.2

0

0.2

(a) Fr = 0.8

0.2

0.3

-0.85

-0.75

-0.6

0

0

0.1

x (m)

y(m)

-0.2 0 0.2 0.4 0.6

-0.2

0

0.2

(c) Fr = 2.0

0

0.075

0.125

0.05

-0.1

-0.15

0

0.05

y(m)

-0.2

0

0.2

(b) Fr = 1.0

0

0.04 0

.08

-0.06

-0.10

0.04

y(m)

-0.2

0

0.2

(a) Fr = 0.8

0.2

0.3

-0.85

-0.75

-0.6

0

0

0.1

x (m)

y(m)

-0.2 0 0.2 0.4 0.6

-0.2

0

0.2

(c) Fr = 2.0

Mean wave elevation and axial velocity

Monday, October 5, 2009

Wave models

• Models required to generate waves

• regular waves, deep and shallow water

• irregular waves and wave spectra models

• short-crested or directional waves

Regular waves

Irregular seaway

Monday, October 5, 2009

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

groovyWaveTank with nonzero forward speed (or current)

Monday, October 5, 2009

groovyWaveBasin

U

Uw

aves

groovyBC

advective

atmosphere

Monday, October 5, 2009

groovyWaveBasin

{ 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 (); }

input for U

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

• ν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

∂ρU∂t

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

Monday, October 5, 2009

• Studied numerous lengths and magnitudes.

• Evaluated by defining a reflection coefficient

Numerical beach

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

Monday, October 5, 2009

Surface-piercing cyclinder in waveszero Forward speed

Monday, October 5, 2009

nonzero Forward speed

Wigley Hull in waves

Monday, October 5, 2009

response of boundary layer & wake

Wigley Hull in waves

Monday, October 5, 2009

• 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

Wave impact loads

Monday, October 5, 2009

EFD data

Wave impact loads

Monday, October 5, 2009

Prescribed motionsTumblehome geometry 2D midship slice

Monday, October 5, 2009

Roll damping & wave-excited roll 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

Wave parameters: λ = 1.56 m, H = 0.044 m

Monday, October 5, 2009

• 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

foamedOver

Monday, October 5, 2009

OpenFOAM libraries

(OpenCFD)OpenSource CFD Toolbox

PETSc libraries(ANL)

OpenSource data structures and solvers

libSuggar++ and DiRTlib (PSU/ARL)

OpenSource Overset Tools

foamedOver libraries

Interface between OpenFOAM - PETSc - libSuggar++/DiRTlib

rasInterDyMFoam

custom librarieswaves b.c., floatingBody class

Monday, October 5, 2009

foamedOver

• start with potentialFoam

• 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

potential field

Monday, October 5, 2009

foamedOveroversetSimpleFoam

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

velocity fieldpressure field

Monday, October 5, 2009

foamedOver

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

oversetRasInterFoam

gamma field pressure field

Monday, October 5, 2009

3DOF rising buoyant body

capsize of floating boxGGI

Overset

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 Symposiumwww.oversetsymposium.org

9th Symposium (2008): Penn State University

10th Symposium (2010): NASA Ames, CA

Monday, October 5, 2009

OpenFOAM Ship Hydro SIGhttp://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