HPC Deployment of OpenFOAM in an Industrial Setting



Similar documents
OpenFOAM Optimization Tools

Quality and Reliability in CFD

OpenFOAM: Introduction, Capabilities and HPC Needs

OpenFOAM Workshop. Yağmur Gülkanat Res.Assist.

Current Development Work in OpenFOAM

HPC enabling of OpenFOAM R for CFD applications

OpenFOAM: Open source CFD in research and industry

Open Source CFD Solver - OpenFOAM

Design and Optimization of OpenFOAM-based CFD Applications for Hybrid and Heterogeneous HPC Platforms

Computational Fluid Dynamics in Automotive Applications

OpenFOAM: Open Platform for CFD and Complex Physics Simulations

CastNet: Modelling platform for open source solver technology

Adaptation and validation of OpenFOAM CFD-solvers for nuclear safety related flow simulations

ME6130 An introduction to CFD 1-1

Tomasz STELMACH. WindSim Annual User Meeting 16 June 2011

This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM and OpenCFD trade marks.

Fast Multipole Method for particle interactions: an open source parallel library component

CastNet: GUI environment for OpenFOAM

P013 INTRODUCING A NEW GENERATION OF RESERVOIR SIMULATION SOFTWARE

Express Introductory Training in ANSYS Fluent Lecture 1 Introduction to the CFD Methodology

OpenFOAM Opensource and CFD

Accelerating CFD using OpenFOAM with GPUs

CFD modelling of floating body response to regular waves

Recent Developments in OpenFOAM

Advanced discretisation techniques (a collection of first and second order schemes); Innovative algorithms and robust solvers for fast convergence.

Experiences Extending the CFD Solver of the PDE Framework Peano

CCTech TM. ICEM-CFD & FLUENT Software Training. Course Brochure. Simulation is The Future

CFD Applications using CFD++ Paul Batten & Vedat Akdag

Modeling of Earth Surface Dynamics and Related Problems Using OpenFOAM

2013 Code_Saturne User Group Meeting. EDF R&D Chatou, France. 9 th April 2013

POLITECNICO DI MILANO Department of Energy

THE CFD SIMULATION OF THE FLOW AROUND THE AIRCRAFT USING OPENFOAM AND ANSA

AeroFluidX: A Next Generation GPU-Based CFD Solver for Engineering Applications

OpenFOAM: Year in Review

FRIEDRICH-ALEXANDER-UNIVERSITÄT ERLANGEN-NÜRNBERG

Parallel Programming at the Exascale Era: A Case Study on Parallelizing Matrix Assembly For Unstructured Meshes

Simulation of Fluid-Structure Interactions in Aeronautical Applications

STCE. Outline. Introduction. Applications. Ongoing work. Summary. STCE RWTH-Aachen, Industrial Applications of discrete adjoint OpenFOAM, EuroAD 2014

Relations with ISV and Open Source. Stephane Requena GENCI

Scientific Computing Programming with Parallel Objects

High Performance Computing in CST STUDIO SUITE

ParFUM: A Parallel Framework for Unstructured Meshes. Aaron Becker, Isaac Dooley, Terry Wilmarth, Sayantan Chakravorty Charm++ Workshop 2008

Customer Training Material. Lecture 2. Introduction to. Methodology ANSYS FLUENT. ANSYS, Inc. Proprietary 2010 ANSYS, Inc. All rights reserved.

High Performance Computing. Course Notes HPC Fundamentals

How To Run A Steady Case On A Creeper

AN INTERFACE STRIP PRECONDITIONER FOR DOMAIN DECOMPOSITION METHODS

Numerical Calculation of Laminar Flame Propagation with Parallelism Assignment ZERO, CS 267, UC Berkeley, Spring 2015

Self Financed One Week Training

Christof Hinterberger, Mark Olesen

CONVERGE Features, Capabilities and Applications

Investigation of the influence of turbine-to-turbine interaction on their performance using OpenFOAM

PyFR: Bringing Next Generation Computational Fluid Dynamics to GPU Platforms

How To Run A Cdef Simulation

Best practices for efficient HPC performance with large models

Benchmark Tests on ANSYS Parallel Processing Technology

Olivier Gicquel, Ronan Vicquelin, Jean Taine Phd Students : Y. Zhang, J. Kim, G. Wang, R. Goncalves dos Santos

OpenFOAM at FM LTH. Erdzan Hodzic. FM Seminars: 16-march Division of Fluid Mechanics, Department of Energy Sciences, Lund University

Spatial Discretisation Schemes in the PDE framework Peano for Fluid-Structure Interactions

ACCELERATING COMMERCIAL LINEAR DYNAMIC AND NONLINEAR IMPLICIT FEA SOFTWARE THROUGH HIGH- PERFORMANCE COMPUTING

Turbomachinery CFD on many-core platforms experiences and strategies

Titelmasterformat durch Klicken bearbeiten

Computational Modeling of Wind Turbines in OpenFOAM

High Performance. CAEA elearning Series. Jonathan G. Dudley, Ph.D. 06/09/ CAE Associates

Large-Scale Reservoir Simulation and Big Data Visualization

Introduction to CFD Analysis

Poisson Equation Solver Parallelisation for Particle-in-Cell Model

Multicore Parallel Computing with OpenMP

Automated moving mesh techniques in CFD

Marine CFD applications using OpenFOAM

walberla: A software framework for CFD applications

A Load Balancing Tool for Structured Multi-Block Grid CFD Applications

Fully Automatic In-cylinder Workflow Using HEEDS / es-ice / STAR-CD

Introduction. 1.1 Motivation. Chapter 1

Multiphase Flow - Appendices

Giorgio Bornia. Research statement. Primary interests

Vista: A Multi-field Object Oriented CFD-package

Finite Elements Infinite Possibilities. Virtual Simulation and High-Performance Computing

How To Write A Program For The Pd Framework

Fire Simulations in Civil Engineering

Cluster Scalability of ANSYS FLUENT 12 for a Large Aerodynamics Case on the Darwin Supercomputer

Aeroacoustic Analogy for the Computation of Aeroacoustic Fields in Partially Closed Domains

Interactive Level-Set Deformation On the GPU

Performance of Dynamic Load Balancing Algorithms for Unstructured Mesh Calculations

Which strategy to move the mesh in the Computational Fluid Dynamic code OpenFOAM

A Simultaneous Solution for General Linear Equations on a Ring or Hierarchical Cluster

Computational Fluid Dynamic Modeling Applications

O.F.Wind Wind Site Assessment Simulation in complex terrain based on OpenFOAM. Darmstadt,

CFD SIMULATION OF NATURAL GAS COMBUSTION AND IST APPLICATION TO TUNNEL KILN FIRING

RevoScaleR Speed and Scalability

Introduction to CFD Analysis

SGI HPC Systems Help Fuel Manufacturing Rebirth

walberla: A software framework for CFD applications on Compute Cores

Thermo-Mechanical Coupled Simulation with LS-DYNA

Introductory FLUENT Training

Very special thanks to Wolfgang Gentzsch and Burak Yenier for making the UberCloud HPC Experiment possible.

Very special thanks to Wolfgang Gentzsch and Burak Yenier for making the UberCloud HPC Experiment possible.

Transcription:

HPC Deployment of OpenFOAM in an Industrial Setting Hrvoje Jasak h.jasak@wikki.co.uk Wikki Ltd, United Kingdom PRACE Seminar: Industrial Usage of HPC Stockholm, Sweden, 28-29 March 2011 HPC Deployment of OpenFOAM in an Industrial Setting p. 1

Overview Objective Review the state and prospects for massive parallelisation in CFD codes, with review of implementation in OpenFOAM Topics 1. Introduction: Parallelisation of CFD simulation work-flow 2. Components 3. Parallel algorithms 4. Parallelisation and efficiency of the linear algebra toolkit 5. Auxiliary algorithms and parallel efficiency 6. Points of interest and summary HPC Deployment of OpenFOAM in an Industrial Setting p. 2

Parallelisation in CFD Implications of Deployment of Open Source CFD Academic rationale for open source code is clear: open collaboration and sharing Industrial users rely on commercial software with strict quality control and dedicated support teams... but its flexibitily is not sufficient, development is too slow, support quality varies and parallel CFD licences are massively over-priced Open Source CFD Solution Reminder: Open Source and GPL does not imply zero price Computer time is still expensive but cost is unavoidable Software support, help with running and customisation is still required Engineers running the code are the most costly part: better! Mode of operation When a CFD works well in a design process, it will be used in large volume Development and validation may need to be funded by user but further cost drops significantly: no annual license fee to pay Parts of acceptance and validation effort become responsibility of the user In some cases, scaling up the computational power is essential to success, especially for complex physics. Example: SOFC fuel cell simulation HPC Deployment of OpenFOAM in an Industrial Setting p. 3

Parallelisation in CFD Massively Parallel Computing for Industrial CFD Today, most large-scale CFD solvers rely on distributed-memory parallel computer architectures for all medium-sized and large simulations Parallelisation of CFD solvers is complete: if the algorithm does not parallelise, it is not used. Example: wall distance calculation Complete simulation work-flow is still not parallelised! Bottle-necks: Parallel mesh generation is missing or under development Scaling issues related to the linear algebra toolkit: solver technology Parallel efficiency of auxiliary algorithms is sometimes very poor User expectation: linear scaling to thousands of CPUs Parallel Computer Architecture Parallel CCM software operates almost exclusively in domain decomposition mode: a large loop (e.g. cell-face loop in the FVM solver) is split into bits and given to a separate CPU. Data dependency is handled explicitly by the software Using distributed memory machines with communications overhead; architecture dictates speed of communications and limits scalability Handling of multi-core processors sometimes questionable: memory access bandwidth is the limiting factor in serial execution speed HPC Deployment of OpenFOAM in an Industrial Setting p. 4

OpenFOAM: Executive Overview What is OpenFOAM? OpenFOAM is a free-to-use Open Source numerical simulation software with extensive CFD and multi-physics capabilities Free-to-use means using the software without paying for license and support, including massively parallel computers: free 1000-CPU CFD license! Software under active development, capabilities mirror those of commercial CFD Substantial installed user base in industry, academia and research labs Possibility of extension to non-traditional, complex or coupled physics: Fluid-Structure Interaction, complex heat/mass transfer, internal combustion engines, nuclear Main Components Discretisation: Polyhedral Finite Volume Method, second order in space and time Lagrangian particle tracking, Finite Area Method (2-D FVM on curved surface) Massive parallelism in domain decomposition mode Automatic mesh motion (FEM), support for topological changes All components implemented in library form for easy re-use Physics model implementation through equation mimicking HPC Deployment of OpenFOAM in an Industrial Setting p. 5

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. HPC Deployment of OpenFOAM in an Industrial Setting p. 6

Components 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 HPC Deployment of OpenFOAM in an Industrial Setting p. 7

Parallel Algorithms 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 Global domain Subdomain 1 Subdomain 2 decomposition Subdomain 3 Subdomain 4 HPC Deployment of OpenFOAM in an Industrial Setting p. 8

Linear Algebra Toolkit Matrix Assembly and Solution Performance of linear solvers practically dictates parallel scaling in CFD In terms of code organisation, each sub-domain creates its own numbering space: locally, equation numbering always starts with zero and one cannot rely on global numbering: it breaks parallel efficiency Processor interfaces are updated separately, involving communications Explicit codes/operations scale well: no data dependency Implicit algorithms are 100 times faster but involve parallelised linear algebra Choice of Linear Equation Solvers As a rule, Krylov space solvers parallelise naturally: global updates on scaling and residual combined with local vector-matrix operations: global sum Algebraic Multigrid (AMG) performs much worse due to coarse level hierarchy: balance of work and communications at coarse levels... but AMG is intrinsically 3 times faster in the number of operations Currently, all algorithms assume uniform communications performance across the machine: improvement is needed but may require complete algorithmic rewrite Outlook: an (unknown) new approach is needed to achieve performance scaling HPC Deployment of OpenFOAM in an Industrial Setting p. 9

Auxiliary Algorithms Efficiency in Auxiliary Algorithms Overall, parallelisation efficiency is satisfactory on low 000s of CPUs for field-based operations: explicit field algebra, matrix assembly and linear solvers Parallelisation of some components is bound to domain decomposition but operations are not field-based: surface physics, particle tracking, patch integrals Massive load imbalance or inappropriate parallelisation limits performance Example: Lagrangian Particle Tracking in Parallel Particle tracking algorithm operates on each segment of decomposed mesh by tracking local particles. Load balancing issues: particles are not fields! Processor boundary interaction: a particle is migrated to connecting processor HPC Deployment of OpenFOAM in an Industrial Setting p. 10

Points of Interest Current Status: Performance Scaling Implicit general purpose CFD solvers work reasonably well up to low 000s of CPUs Current approach is inappropriate for inhomogeneous communication speed and an order of magnitude increase in computer size Communication speed and memory access are critical: clusters must be co-located with fast inter-connect; moving jobs around is not practical Limiting factors in performance scale-up: Summary Parallelisation of complete CFD process, from geometry to post-processing Iterative sparse matrix solver algorithms Non-field operations in CFD algorithms: spray, radiation, surface physics Current CFD technology involving implicit solvers is close to its limit Some necessary algorithms are badly parallelised due to requirement of method-to-method coupling New approach is needed: how do we do massively parallel linear algebra? We may remain at the level of 000s of CPUs for a long time, looking for other avenues of improvement: multi-core CPU, handling inhomogeneous communications speed, fast memory access, complete migration to GPU HPC Deployment of OpenFOAM in an Industrial Setting p. 11