Académique Documents
Professionnel Documents
Culture Documents
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.1/26
Background
Objective
• Present an open source CFD simulation platform based on fundamental ideas of
object orientation, layered software design and equation mimicking
Topics
1. Implementing complex physical models through equation mimicking
2. OpenFOAM: Object-oriented software for Computational Continuum Mechanics
3. Layered software development and open source collaboration platform
4. Some illustrative examples
5. Development of in-house simulation tools
6. Summary
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.2/26
Open Source CFD Platform
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.3/26
Object-Oriented Numerics for CCM
» –2
∂k 1 ǫo
+ ∇•(uk) − ∇•[(ν + νt )∇k] = νt (∇u + ∇uT ) − k
∂t 2 ko
solve
(
fvm::ddt(k)
+ fvm::div(phi, k)
- fvm::laplacian(nu() + nut, k)
== nut*magSqr(symm(fvc::grad(U)))
- fvm::Sp(epsilon/k, k)
);
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.4/26
Object Orientation
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.5/26
Model-to-Model Interaction
class turbulenceModel
{
virtual volTensorField R() const = 0;
virtual fvVectorMatrix divR
(
volVectorField& U
) const = 0;
virtual void correct() = 0;
};
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.6/26
Model-to-Model Interaction
autoPtr<turbulenceModel> turbulence
(
turbulenceModel::New(U, phi, laminarTransport)
);
fvVectorMatrix UEqn
(
fvm::ddt(rho, U)
+ fvm::div(phi, U)
+ turbulence->divR(U)
==
- fvc::grad(p)
);
UEqn.solve();
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.7/26
Top-Level Solver Code
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.8/26
Mesh Handling
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.9/26
Automatic Mesh Generation
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.10/26
Automatic Mesh Motion
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.11/26
Prescribed Mesh Motion
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.12/26
Automatic Mesh Motion
vF y′ aF
SB
SA o′ x′
Free
rF
surface
y
o
x
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.13/26
Large Eddy Simulation
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.14/26
Multi-Phase Free Surface Flow
∂γ
+ ∇•(uγ) = 0
∂t
∇•u = 0
∂ρu
+ ∇•(ρuu) − ∇•σ = −∇p + ρf + σκ∇γ
∂t
u = γu1 + (1 − γ)u2
µ, ρ = γρ1 + (1 − γ)ρ2
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.15/26
Multi-Phase Free Surface Flow
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.16/26
Free Surface LES
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.17/26
Fluid-Structure Interaction
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.18/26
Fluid-Structure Interaction
∂δv
Z I I
ρu dVu − nu •(2µ + λ)∇δu dSu = nu •q dSu
∂t
Vu Su Su
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.19/26
Fluid-Structure Interaction
Effect of Under-Relaxation
Number of outer iterations per time-step
ρs /ρf Fixed under-relaxation Adaptive under-relaxation
10 30 6
1 60 12
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.20/26
Liquid Film Model
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.21/26
Vehicle Soling Simulation
Vehicle Soling Simulation: Coupled Eulerian, Lagrangian and Wall Transport Model
• Continuous phase: external aerodynamics flow model; coupled or uncoupled
• Lagrangian tracking for droplets: drag, pressure term, gravity
• Liquid film model capturing surface transport
• Droplet re-ejection on sharp edges and liquid film stripping add further droplets
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.22/26
In-House Simulation Tools
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.23/26
Deployment and Support
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.24/26
Summary
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.25/26
About Me
Hrvoje Jasak
• First degree: mechanical engineering, University of Zagreb, Croatia
• PhD, Imperial College London 1993-1996
• Senior development engineering, CD-adapco, 1996-2000
• Technical director, Nabla Ltd. 2000-2004
• Consultant on CFD software architecture and modelling, Ansys Fluent 2000-
Current Work
• Professor, University of Zagreb, Croatia
• Director, Wikki Ltd: UK-based consultancy company
• Various software development and commercial support projects based on
OpenFOAM with consultants and large industrial partners
• Collaboration with several Universities and government research labs on wide
range of OpenFOAM activities, including naval hydrodynamics
• Coordinating open source OpenFOAM development to allow contributions from the
public domain developers
• OpenFOAM workshops, lectures and seminars, visiting professorships (University
Santa Maria, Chile, University of Zaragoza)
OpenFOAM: Open Platform for CFD and Complex Physics Simulations – p.26/26