Você está na página 1de 43

Implementation of Physical Models in

OpenFOAM
Hrvoje Jasak
h.jasak@wikki.co.uk, hrvoje.jasak@fsb.hr

Wikki Ltd, United Kingdom, Germany and Australia


FSB, University of Zagreb, Croatia

Implementation of Physical Models in OpenFOAM p. 1


Outline

Objective
Present Design rationale and some capabilities of OpenFOAM software
Illustrate some recent work with complex and coupled simulation examples
Topics
Background: Numerical simulation in engineering
Software architecture and limitations
Object orientation is use: mimicking partial differential equations in code
Some Examples:
Parallelisation and parallel scaling
Radial Basis Function in mesh motion, morphing and shape optimisation
Fluid-Structure Interaction (FSI) solvers in a single software
Multi-phase compressible free surface flows
Linear solver performance: accelerated AMG solvers
Points of interest: using Open Source numerical simulation software in academia
and industry

Implementation of Physical Models in OpenFOAM p. 2


State of the Art: Commercial CFD

State of the Art in Commercial CFD


Trend towards unification of numerical tools, especially structural analysis + CFD
Two-fold requirements
Integration into the CAD-based design process
Quick and reliable implementation of new models
Complex geometry support, high-performance computing, automatic meshing,
dynamic mesh capabilities etc. needed across the spectrum
Software Organisation
A CFD software is a large project: order of 1-2 million lines of source code
Large number of physical models: complex model-to-model interaction
Functional approach: centralised data and functions operating on it
Single discretisation method (FVM, FEM) associated with physics
Monolithic implementation and integrated software: single executable for all cases
Consequences
User-defined models inefficient and limiting; at worst, impossible to implement
Difficulties in development, maintenance and support

Implementation of Physical Models in OpenFOAM p. 3


Implementing Continuum Models

How to Handle Complex Continuum Models in Software?


Natural language of continuum mechanics: partial differential equations
Example: turbulence kinetic energy equation

 2
k 1 o
+ (uk) [( + t )k] = t (u + uT ) k
t 2 ko

Objective: represent differential equations in their natural language

solve
(
fvm::ddt(k)
+ fvm::div(phi, k)
- fvm::laplacian(nu() + nut, k)
== nut*magSqr(symm(fvc::grad(U)))
- fvm::Sp(epsilon/k, k)
);

Correspondence between the implementation and the original equation is clear

Implementation of Physical Models in OpenFOAM p. 4


Object Orientation

Object-Oriented Software
Analysis of numerical simulation software through object orientation:
Recognise main objects from the numerical modelling viewpoint
Objects consist of data they encapsulate and functions which operate on the data
Example: Sparse Matrix Class
Data members
Sparse addressing pattern (CR format, arrow format)
Diagonal coefficient
Off-diagonal coefficients
Operations on matrices or data members
Matrix algebra: +, , , /, scalar multiplication
Matrix-vector product, transpose, triple product, under-relaxation
Example: Linear Solver
Operate on a system of linear equations [A][x] = [b] to obtain [x]
It is irrelevant how the matrix was assembled or what shall be done with solution
Ultimately, even the solver algorithm is not of interest: all we want is new x!
Gauss-Seidel, AMG, direct solver: all answer to the same interface

Implementation of Physical Models in OpenFOAM p. 5


Layered Development

OpenFOAM Software Architecture


Design encourages code re-use: developing shared tools
Classes and functional components developed and tested in isolation
Vectors, tensors and field algebra
Mesh handling, refinement, mesh motion, topological changes
Discretisation, boundary conditions
Matrices and linear solver technology
Physics by segment in library form
Custom-written top-level solvers optimised for efficiency and storage
Library level mesh, pre-, post- and data handling utilities
Custom-written top-level solvers optimised for efficiency and storage
Development of model libraries: easy model extension
Model-to-model interaction handled through common interfaces
New components do not disturb existing code: fewer bugs
Run-time selection provides ultimate user-coding capabilities: differencing
schemes: convection, diffusion, rate of change; gradient calculation; boundary
conditions; linear equation solvers; physical models; mesh motion algorithms etc.

Implementation of Physical Models in OpenFOAM p. 6


OpenFOAM: Capabilities Highlights

Physical Modelling Capability Highlights


Basic: Laplace, potential flow, passive scalar/vector/tensor transport
Incompressible and compressible flow: segregated pressure-based algorithms
Heat transfer: buoyancy-driven flows, conjugate heat transfer
Multiphase: Euler-Euler, VOF free surface capturing and surface tracking
RANS for turbulent flows: 2-equation, RSTM; full LES capability
Pre-mixed and Diesel combustion, spray and in-cylinder flows
Stress analysis, fluid-structure interaction, electromagnetics, MHD, etc.

Implementation of Physical Models in OpenFOAM p. 7


Parallelisation and HPC

Parallel Components and Functionality


1. Parallel communication wrapper
Basic information about the run-time environment: serial or parallel execution,
number of processors, process IDs etc.
Passing information in transparent and protocol-independent manner
Optimised global gather-scatter communication operations
2. Mesh-related operations
Mesh and data decomposition and reconstruction
Global mesh information, e.g. global mesh size, bounding box etc.
Handling patched pairwise communications
Processor topology communication scheduling data
3. Discretisation support
Operator and matrix assembly: executing discretisation operations in parallel
Data updates across processor boundaries: data consistency
4. Linear equation solver support (highest impact on solver performance!)
5. Auxiliary operations, e.g. messaging or algorithmic communications, non-field
algorithms (e.g. particle tracking), data input-output, solution sampling and
acquisition of (point, line, surface) post-processing data

Implementation of Physical Models in OpenFOAM p. 8


Parallelisation and HPC

Zero Halo Layer Approach in Discretisation


Traditionally, FVM parallelisation uses the halo layer approach: data for cells next
to a processor boundary is duplicated. Halo layer covers all processor boundaries
and is explicitly updated through parallel communications calls: prescribed
communications pattern, at pre-defined points
OpenFOAM operates in zero halo layer approach: flexibility in communication
pattern, separate setup for FVM and FEM solvers
FVM and FEM operations look parallel without data dependency: perfect scaling
Subdomain 1 Subdomain 2
Global domain

decomposition

Subdomain 3 Subdomain 4

Implementation of Physical Models in OpenFOAM p. 9


Parallelisation and HPC

Massively Parallel Scaling in CFD Solvers

Scaling Test, VOF Free Surface Flow, 50m Cells


(In Cooperaton with Intel)
3000

72 CPU
144 CPU
2500 288 CPU

2000
Execution Time [s]

1500

1000

500

0
0 2e-07 4e-07 6e-07 8e-07
Simulation Time (Iteration) [s]

Intel Xeon Processor: X5650 B0; Frequency: 2.93 GHz # processors 2; # cores 6;
Cache (L1 KB/L2 MB/L3 MB): 32 KB / 256 KB / 12 MB; 6x4GB DDR3 1333 RDIMM QDR
InfiniBand 4x

Implementation of Physical Models in OpenFOAM p. 10


Parallelisation and HPC

Massively Parallel Scaling in CFD Solvers: Vestas, IBM Server, 12 000 Cores

Implementation of Physical Models in OpenFOAM p. 11


Parallelisation and HPC

Massively Parallel Scaling in CFD Solvers


Implicit CFD algorithms scale well up to low 1000s of processors: extensive
experience with industrial use of OpenFOAM solvers
Scaling of OpenFOAM solvers in line with industrial state-of-the-art
OpenFOAM Workshop 2011: GE Global Research reports good scaling of
OpenFOAM up to 4096 processors on Jaguar supercomputer (Oak Ridge National
Lab). Largest parallel run size: 10 000 processors!
Performance and Parallel Scaling Improvements
Tuning of OpenFOAM for high-end parallel machines: collaboration with Intel
Scalable Software Workshop: National Science Foundation, USA
OpenMP baseline by Sandeep Menon, UMass Amherst
Basic wrapping and examples for use of OpenMP in the library
Objective: provide multi-core support at linear solver, matrix and calculus
and field operator level, in stages!
OpenFOAM on GPU in progress, with significant interest: more news coming soon

Implementation of Physical Models in OpenFOAM p. 12


Radial Basis Function

Radial Basis Function Interpolation


RBF interpolation defines the interpolation directly from the sufficient smoothness
criterion on the interpolation (positive weighting factors):

Nb
X
s(x) = j (|x xb,j |) + q(x)
j=1

where
x is the interpolant location
xb is the set of Nb locations carrying the data
(x) is the basis function, dependent on point distance
q(x) is the (usually linear) polynomial function, depending on choice of basis
function and j , eg. q = b0 + b1 x + b2 y + b3 z
Consistency of interpolation is achieved by requiring that all polynomials of the
order lower than q disappear at data points

Nb
X
j p(xb,j ) = 0
j=1

Implementation of Physical Models in OpenFOAM p. 13


Radial Basis Function

RBF Interpolation Procedure


1. Establish locations of data-carrying points xb and their values
2. Assemble and solve the equation set for and using a direct solver
3. Calculate values at desired locations by evaluating s(x)
Using RBF in a CFD Code Context
Automatic mesh motion: mesh deformation based on a small number of control
points located on moving boundaries
PhD project by dr. Frank Bos, TU Delft
Basic implementation of RBF in OpenFOAM
Automatic selection of control points with coarsening + extinguishing function
for far-field motion control: reduce number of control points
RBF interpolation to calculate mesh motion (+ parallelisation)
Implemented as an option in dynamic mesh motion
RBF mesh morpher in geometric shape optimisation
Morphing points control change of shape as data carriers
Small number of degrees of freedom: ideal for parametrisation
Mesh quality in deformation guaranteed by properties of RBF

Implementation of Physical Models in OpenFOAM p. 14


Radial Basis Function

Radial Basis Function in Automatic Mesh Motion


Mathematical tool which allows data interpolation from a small set of control points
to space with smoothness criteria built into the derivation
Used for mesh motion in cases of large deformation: no inverted faces or cells
Control points chosen on a moving surface, with extinguishing function used to
control far-field mesh motion

Implementation of Physical Models in OpenFOAM p. 15


Radial Basis Function

RBF Mesh Morphing


RBF morphing object defines the parametrisation of geometry (space):
1. Control points in space, where the parametrised control motion is defined
2. Static points in space, whose motion is blocked
3. Range of motion at each control point: (d0 , d1 )
4. Set of scalar parameters for control points, defining current motion as

d() = d0 + (d1 d0 ), where 0 1

For each set of parameters, mesh deformation is achieved by interpolating


motion of control points d over all vertices of the mesh: new deformed state of the
geometry
Mesh in motion remains valid since RBF satisfies smoothness criteria
Using RBF in Optimisation
Control points may be moved individually or share values: further reduction in
dimension of parametrisation of space
Mesh morphing state is defined in terms of parameters: to be controlled by the
optimisation algorithm

Implementation of Physical Models in OpenFOAM p. 16


Radial Basis Function

RBF Mesh Morphing: Cylinder and Sphere Examples


Parametrisation uses a single parameter for this motion, with various number of
control points

Implementation of Physical Models in OpenFOAM p. 17


RBF Morphing in Optimisation

Geometric Shape Optimisation with Parametrised Geometry


Specify a desired object of optimisation and use the parametrisation of geometry
to explore the allowed solution space in order to find the minimum of the
optimisation objective
objective = f (shape)

1. Parametrisation of Geometry
Computational geometry is complex and usually available as the
computational mesh: a large amount of data
Parametrisation tool: RBF mesh morphing, defining deformation at a small
number of mesh-independent points in space
2. CFD Flow Solver is used to provide the flow solution on the current geometry, in
preparation for objective evaluation
3. Evaluation of Objective: usually a derived property of the flow solution
4. Optimiser Algorithm: explores the solution space by providing sets of shape
coordinates and receiving the value of objective. The search algorithm iteratively
limits the space of solutions in search of a minimum value of objective

Implementation of Physical Models in OpenFOAM p. 18


RBF Morphing in Optimisation

Example: HVAC 90 deg Bend: Flow Uniformity at Outlet


Flow solver: incompressible steady-turbulent flow, RANS k model; coarse
mesh: 40 000 cells; 87 evaluations of objective with CFD restart
RBF morphing: 3 control points in motion, symmetry constraints; 34 in total
Objective: flow uniformity at outlet plane
iter = 0 pos = (0.9 0.1 0.1) v = 22.914 size = 0.69282
iter = 5 pos = (0.1 0.1 0.1) v = 23.0088 size = 0.584096
iter = 61 pos = ((0.990164 0.992598 0.996147) v = 13.5433 size = 0.000957122

Implementation of Physical Models in OpenFOAM p. 19


Fluid-Structure Interaction

Solution Techniques for Coupled Problems


Partitioned approach: Picard iterations
Optimal for weakly coupled FSI problems
Separate mathematical model for fluid and solid continua
Shared or different discretisation method: FVM and FEM
Coupling achieved by enforcing the kinematic and dynamic conditions on the
fluid-solid interface
Strong coupling by additional iteration loop over partial solvers
(need a convergence acceleration method)
Monolithic approach: Simultaneous solution
Appropriate when fluid-structure interaction is very strong
Good stability and convergence properties
In some cases may lead to ill-conditioned matrices or sub-optimal
discretisation or solution procedure in fluid or solid region
Levels of Fluid-Structure Coupling
Unified mathematical model: single equation set (prof. Ivankovic, UC Dublin)
Unified discretisation method and boundary coupling consistency
Unified solution procedure: fluid + structure matrix solved in a single solver

Implementation of Physical Models in OpenFOAM p. 20


Fluid-Structure Interaction

Updated Lagrangian FVM Solver


Incremental momentum equation in updated Lagrangian formulation

v
Z Z  
u dVu = nu u + u FT
u + u FT
u dSu
t
Vu Su

Incremental constitutive equation for St. Venant-Kirchhoff elastic solid

u = 2Eu + tr (Eu ) I

Increment of Green-Lagrangian strain tensor

1h T T
i
Eu = u + (u) + u(u)
2

Final form of momentum equation ready for discretisation

v
Z I I
u dVu nu (2 + )u dSu = nu q dSu
t
Vu Su Su

Implementation of Physical Models in OpenFOAM p. 21


Fluid-Structure Interaction

ALE FVM Fluid Flow Solver


Continuity and momentum equation for incompressible flow in ALE formulation
Space conservation law; automatic mesh motion solver: Laplace equation
Collocated 2nd order FVM for flow and 2nd order FEM for mesh motion
Solution Procedure
1. Update mesh according to displacement increment from the previous time step
2. Update second Piola-Kirchhoff stress tensor
3. Do until convergence
Calculated RHS of discretised momentum equation using last calculated
displacement increment field
Solve momentum equation
4. Accumulate displacement vector and second Piola-Kirchhoff stress fields
5. On convergence, switch to the next time step
Data Transfer
Data transfer and coupling significantly easier: both domains and equations sets
are implemented in the same solver
Data interpolation routines already available: patch-to-patch interpolation

Implementation of Physical Models in OpenFOAM p. 22


Example: Flow-Induced Vibration

Flow-Induced Deformation
Traditional explicit coupling: Picard iterations. Pressure transferred from fluid to
structure and displacement from structure to fluid: profile and force conservation
Fluid: incompressible flow model
Stress analysis: linear response with large deformation
Automatic mesh motion deforms the fluid mesh
On solid side, mesh deformation is a part of the solution

Implementation of Physical Models in OpenFOAM p. 23


Example: Falling Containers

Falling Plastic Containers


At impact, complex flow field causes deformation of a solid: travelling wave in an
elastic pipe. Wave speed dependent on properties of the coupled system
Very strong interaction: mean flow and stress is zero. Explicit coupling fails
Equation-level coupling: one system approach
Fluid
 
(u) 2
+ (uu) = 2 tr()I pI
t 3

Solid
 
(u) 2
+ (uu) = 2N N tr()I pI +
t 3
where
Z tt 
2

N = t p = 31 tr() = 2 tr()I dt
t=0 3

Implementation of Physical Models in OpenFOAM p. 24


Example: Falling Containers

Combined experimental and numerical study


Influence of bottle geometry: flat or curved bottom
Further simulations include container fracture using a cohesive zone model for
fracture dynamics
As the crack opens, fluid within the container is exposed to atmospheric conditions
and leaks out, changing the flow field

Results courtesy of dr. A Karac, University of Zenica and prof. A. Ivankovic, UC Dublin

Implementation of Physical Models in OpenFOAM p. 25


Fluid-Structure Interaction

Highly Non-Linear Structural Analysis and FSI


As a Continuum Mechanics solver, OpenFOAM can deal with both fluid and
structure components: easier setup of coupling
(Parallelised) surface coupling tools implemented in library form: facilitate coupling
to external solvers without coupling libraries using proxy surface mesh
Structural mechanics in OpenFOAM targeted to non-linear phenomena: consider
best combination of tools
Large deformation formulation in absolute Lagrangian formulation
Independent parallelisation in the fluid and solid domain
Parallelised data transfer in FSI coupling
Dynamic mesh tools and boundary handling used to manipulate the fluid mesh

Implementation of Physical Models in OpenFOAM p. 26


Compressible Free Surface Flow

Original Equation Set


Conservation of mass

+ ( u) = 0
t
Phase mass conservation equation

()
+ (u ) = 0
t

Momentum equation
(u)
+ (u u) = g
t
Phase compressibility: ideal gas law and constant speed of sound for liquid

p
G = = G p, G = = f (p)
RT p

L = 0 + L (p p0 ), L = const.

Implementation of Physical Models in OpenFOAM p. 27


Compressible Free Surface Flow

Derivation of the Compressible Form of Mass Conservation Equations


Introducing chain rule:
p
=
t p t
reorganising the terms, and dividing through by G

p
 
+ u = G + up u
t G t

Pressure equation follows from global mass conservation, by summing up phase


mass conservation equations
  
1 2 2 1 p
+ (u p) pu + u = 0
1 2 + (1 )2 1 t

Handling of the u term is done in the incompressible manner, creating a


pressure laplacian. In the absence of compressibility, the pressure equation
reverts to the incompressible formulation

Implementation of Physical Models in OpenFOAM p. 28


Compressible Free Surface Flow

Derivation of the Compressible Form of Mass Conservation Equations


Manipulation of the phase mass conservation equation
  
2 1 p
+ (u ) u = (1 ) + (u p) pu
t 2 1 t

Analysis of the Equation Set


From the implementation and boundedness point of view, the set of equations is
perfect
(.)
All transport in t
+ u(.) form
Source terms disappear in absence of compressibility
Incompressible form of pressure recovered at M a =
uwlFoam manipulates the source term in -eqn for consistency with the pressure
equation (and mass conservation)

1 2 2 1
+ (u ) u = (1 ) u
t 1 2 + (1 )2 1

because calculating u is easier, cheaper and more accurate

Implementation of Physical Models in OpenFOAM p. 29


Segregated Solver

Simulation of Under-Water Explosions


Of interest are cases with dominating effects of compressibility in air and water:
massive change in density, with propagating pressure waves
Basic test suite:
Rayleigh-Plesset oscillation of a (spherical) bubble
Under-water explosion under a plate
Under-water explosion under a free surface
Pressure ranges from 500 bar to 20 Pa; negative absolute pressure in water?

Implementation of Physical Models in OpenFOAM p. 30


Segregated Solver

Simulation of Under-Water Explosions


Mass error cannot be ignored: pictures are pretty but results are compromised
We can introduce an ad-hoc fix: equilibrating mass source to compensate for lack
of convergence across the coupled system
Mass correction appears as a source term in the continuity equation
Result: less/no mass loss, but bubble oscillation is actually looking worse!
Most of mass correction errors happens at compressibility peaks: bubble collapse
and rebound

Implementation of Physical Models in OpenFOAM p. 31


Segregated Solver

Simulation of Under-Water Explosions


Under-water explosion under a plate, with pressure probes on plate surface
Main feature of the flow is a re-entrant jet created by the collapse of a bubble:
extremely high velocity and pressure
Comparison between an axi-symmetric and 3-D simulation
To facilitate simulations, a non-reflective far field boundary condition is
implemented

Implementation of Physical Models in OpenFOAM p. 32


Segregated Solver

Under-Water Explosion Under a Free Surface: Eric Paterson, Penn State


Bubble of high initial pressure expands after explosion
Initial pressure pulse is very fast - with little effect
Bubble collapse creates re-entrant jer which pierces the free surface

Implementation of Physical Models in OpenFOAM p. 33


Block-Coupled Compressible System

Block-Coupled Compressible p System


Reverting to original p system
  
2 1 p
+ (u ) u = (1 ) + (u p) pu
t 2 1 t

1 2 2 1 p
  
+ (u p) pu + u = 0
1 2 + (1 )2 1 t

Block-coupled matrix components


A = + (u ) u
t
  
2 1 p
Ap = (1 ) + (u p) pu
2 1 t
Ap = 0 not allowed for conservation!!!
    
1 2 2 1 p 1
App = + (u p) pu + p
1 2 + (1 )2 1 t aP

Implementation of Physical Models in OpenFOAM p. 34


Block Solver Results

Block Solver Solution


With block solution, there is no issues with p consistency, because the two
equations are being solved together
Performance of the block solver is substantially more robust

Implementation of Physical Models in OpenFOAM p. 35


Block Solver Results

Block Solver Solution


With block coupling, Co number limit is substantially relaxed, but inner iterations
are required: handling of terms with boundedness implications
More energetic bounce, no mass loss, richer interfacial details in solution
Significant negative absolute pressure on the liquid side
Matrix is substantially larger for same mesh resolution; however, closer
inter-equation coupling reduces overall time to solution

Implementation of Physical Models in OpenFOAM p. 36


Linear Solver Methodology

Preconditioned Linear Solvers: CG-AMG


LES plays an important role in engineering applications: superior to eddy viscosity
models in turbulent flows without the cost of DNS
LES is inherently 3D and transient in nature, requires extremely find meshes and
long simulation times on parallel computers
It is critical to control computational cost: dominated by implicit solution of the
pressure equation: 50 to 80% of solution time
Algebraic Multigrid and Krylov subspace solvers are currently used: can we do
better? Proposal: multiple orthogonal error reduction method
Iterative Linear Equation Solvers
Multigrid uses stationary iterative methods as smoothers rather than solvers
Acceleration is achieved by smoothing a hierarchy of matrix levels: coarsening
Restriction and prolongation transfers solution and residual between levels
Modern solvers use AMG to precondition Krylov space solvers: can we combine a
smoother, AMG methodology and Krylov space solver to accelerate solution?

Implementation of Physical Models in OpenFOAM p. 37


Linear Solver Methodology

Preconditioned Linear Solvers: CG-AMG

ICCG
CG-AAMG 2, V, SGS
CG-AAMG 4, V SGS
0.01 CG-AAMG 4, W, ILU
CG-SAMG, W, ILU
residual

0.0001

1e-06

1e-08
0 50 100 150 200
iteration

Implementation of Physical Models in OpenFOAM p. 38


Linear Solver Methodology

Preconditioned Linear Solvers: Single-CPU Performance

Coarsener Cycle Smoother Iter Time, s


AAMG, 2 V ILU 0/2 70 36.75
AAMG, 2 W SGS 0/2 18 62.45
AAMG, 4 W SGS 2/2 32 30.22
SAMG V SGS 0/2 14 18.04
SAMG W ILU 0/2 4 22.81
SAMG W SGS 0/2 4 20.27
CG Preconditioner Iter Time, s
Incomplete Cholesky 411 45.67
Coarsener Cycle Smoother
AAMG, 2 V SGS 0/2 44 23.84
AAMG, 4 W ILU 0/2 18 11.16
SAMG V SGS 0/2 14 18.38
SAMG V ILU 0/2 12 17.75
SAMG W ILU 0/2 4 22.86

Implementation of Physical Models in OpenFOAM p. 39


Linear Solver Methodology

Preconditioned Linear Solvers: Parallel Execution Time Test, Fine Mesh 5m cells

1 CPU 2 CPUs 4 CPUs


ID Iter Time, s Iter Time, s Iter Time, s
1 22 357.0 21 177.9 22 71.2
2 16 233.1 21 160.7 21 91.7
3 27 374.5 30 220.9 28 117.6
4 52 495.3 45 229.0 40 120.8
5 35 480.2 36 261.3 35 145.9
6 23 344.1 35 276.8 38 172.6
7 97 849.9 129 575.0 109 254.9
8 884 2571.3 913 1385.8 970 502.6

Implementation of Physical Models in OpenFOAM p. 40


Linear Solver Methodology

Preconditioned Linear Solvers: Parallel Execution Time Test, Fine Mesh 5m cells

ID Solver Coarsener Cycle Smoother


1 CG-AMG AAMG, 4 W SGS 2/2
2 CG-AMG AAMG, 4 W ILU 0/2
3 PFEAMG AAMG, 4 W ILU 0/2
4 AMG AAMG, 4 W SGS 0/2
5 AMG AAMG, 4 W ILU 0/2
6 RREAMG AAMG, 4 W ILU 0/2
7 AMG AAMG, 2 V SGS 0/2
8 ICCG

Coarsening strategy plays the dominant role for convergence rates of AMG
Aggressive coarsening with good smoother (AAMG 4, ILU) is very effective
Preconditioned AAMG with aggressive smoothing, ILU smoother and W-cycle
overall the best from the execution time point of view
Preconditioned CG-AAMG with aggressive coarsening and ILU smoother and
W-cycle the best combination from the parallel point of view

Implementation of Physical Models in OpenFOAM p. 41


Point of Interest

Why Consider OpenFOAM


Open architecture
Access to complete source: no secret modelling tricks, no cutting corners
Both community-based and professional support available
Common platform for new R&D projects: shipping results of research into the
hands of a customer with no delay
Low-cost CFD
No license cost, portable to any computing platform (IBM Blue Gene)
Easily scriptable and embeddable: automated CFD and optimisation
Efficient on massively parallel computers, portable to new comms protocols
Problem-independent numerics and discretisation
Tackle non-standard continuum mechanics problem: looking beyond the
capabilities of commercial CFD
Efficient environment for complex physics problems
Tackling difficult physics is made easier through equation mimicking
Utility-level tools readily available: parallelism, moving mesh
Track record in non-linear and strongly coupled problems
Excellent piece of C++ and software engineering! Decent piece of CFD

Implementation of Physical Models in OpenFOAM p. 42


About Me

Hrvoje Jasak
First degree: mechanical engineering, University of Zagreb, Croatia
PhD, Imperial College London 1993-1996
Senior development engineer, CD-adapco, 1996-2000
Technical director, Nabla Ltd. 2000-2004
Solver architecture and CFD consultant, Ansys Fluent 2000-2008
Current Work
Director, Wikki: consultancy company based in the UK, Germany and Australia
Various software development and commercial support projects based on
OpenFOAM with consultants and large industrial partners
Professor, University of Zagreb, Croatia
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 (currently
at TU Delft and TU Darmstadt)

Implementation of Physical Models in OpenFOAM p. 43

Você também pode gostar