OpenFOAM: Year in Review



Similar documents
Current Development Work in OpenFOAM

OpenFOAM Optimization Tools

HPC Deployment of OpenFOAM in an Industrial Setting

Quality and Reliability in CFD

Overset Grids Technology in STAR-CCM+: Methodology and Applications

HPC enabling of OpenFOAM R for CFD applications

Open Source CFD Solver - OpenFOAM

OpenFOAM: Introduction, Capabilities and HPC Needs

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

CFD Applications using CFD++ Paul Batten & Vedat Akdag

Automated moving mesh techniques in CFD

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

Lecture 7 - Meshing. Applied Computational Fluid Dynamics

Fully Automatic Hex Dominant Mesher. Paul Gilfrin Sharc Ltd

Pre-processing in openfoam, mesh generation. OpenFOAM kurs 2013 Håkan Nilsson Olivier Petit

ME6130 An introduction to CFD 1-1

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

bluecape s Official Website

High Performance Computing in CST STUDIO SUITE

OpenFOAM: Open source CFD in research and industry

Computational Fluid Dynamics in Automotive Applications

LSCFD: Meshing Tools for Open Source CFD A Practical Point of View

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

CFD software overview comparison, limitations and user interfaces

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

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

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

Part I Courses Syllabus

HPC Wales Skills Academy Course Catalogue 2015

PyFR: Bringing Next Generation Computational Fluid Dynamics to GPU Platforms

Multiphase Flow - Appendices

Introduction to ANSYS

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

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

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

OpenFOAM Opensource and CFD

Set up and solve a transient problem using the pressure-based solver and VOF model.

Constrained Tetrahedral Mesh Generation of Human Organs on Segmented Volume *

Customer Training Material. Lecture 4. Meshing in Mechanical. Mechanical. ANSYS, Inc. Proprietary 2010 ANSYS, Inc. All rights reserved.

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

CastNet: Modelling platform for open source solver technology

CFD modelling of floating body response to regular waves

Best practices for efficient HPC performance with large models

Self Financed One Week Training

Solid Edge ST3 Advances the Future of 3D Design

Parallel Large-Scale Visualization

P013 INTRODUCING A NEW GENERATION OF RESERVOIR SIMULATION SOFTWARE

Experts in Computational Fluid Dynamics

CastNet: GUI environment for OpenFOAM

Recent Developments in OpenFOAM

Introduction to CFD Analysis

Multicore Parallel Computing with OpenMP

FLOW-3D Performance Benchmark and Profiling. September 2012

Poisson Equation Solver Parallelisation for Particle-in-Cell Model

Computational Modeling of Wind Turbines in OpenFOAM

Parametrizzazione di forma mediante il mesh morphing: RBF Morph

Visualization Plugin for ParaView

Application of a Tightly-Coupled CFD/6-DOF Solver For Simulating Offshore Wind Turbine Platforms

Marine CFD applications using OpenFOAM

Aeroelastic Investigation of the Sandia 100m Blade Using Computational Fluid Dynamics

SGI HPC Systems Help Fuel Manufacturing Rebirth

TwinMesh for Positive Displacement Machines: Structured Meshes and reliable CFD Simulations

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

Introduction to CFD Analysis

YALES2 porting on the Xeon- Phi Early results

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

SUBJECT: SOLIDWORKS HARDWARE RECOMMENDATIONS UPDATE

Numerix CrossAsset XL and Windows HPC Server 2008 R2

Modeling Stents Using Abaqus

APPLICATION OF OPTIMIZATION METHODS IN 2D HYDROFOIL DESIGN

2.5 Physically-based Animation

UoB Structured CFD Code

Computational Fluid Dynamics. Department of Aerospace Engineering, IIT Bombay

Grid Computing for Artificial Intelligence

f o r d e m a n d i n g C F D pre- & post-processing ANSA μετα p i o n e e r i n g software systems

Maximize Performance and Scalability of RADIOSS* Structural Analysis Software on Intel Xeon Processor E7 v2 Family-Based Platforms

Agenda. HPC Software Stack. HPC Post-Processing Visualization. Case Study National Scientific Center. European HPC Benchmark Center Montpellier PSSC

Accelerating Simulation & Analysis with Hybrid GPU Parallelization and Cloud Computing

AutoCAD 3D. MicroStation. Courseware Issued (Optional) AutoCAD (30 Days Trial Version) Reference Guide Project Workbook

Bringing Big Data Modelling into the Hands of Domain Experts

How SolidWorks Speeds Consumer Product Design

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

SUN ORACLE EXADATA STORAGE SERVER

Accelerating CFD using OpenFOAM with GPUs

Tutorials from CAD through CFD for Beginners

The Design and Implement of Ultra-scale Data Parallel. In-situ Visualization System

Hardware-Aware Analysis and. Presentation Date: Sep 15 th 2009 Chrissie C. Cui

CONVERGE Features, Capabilities and Applications

Solving Simultaneous Equations and Matrices

Basin simulation for complex geological settings

The Value of High-Performance Computing for Simulation

List of Problems Solved Introduction p. 1 Concept p. 1 Nodes p. 3 Elements p. 4 Direct Approach p. 5 Linear Spring p. 5 Heat Flow p.

On One Approach to Scientific CAD/CAE Software Developing Process

Lecture 16 - Free Surface Flows. Applied Computational Fluid Dynamics

salome-platform.org SALOME7 THE OPEN SOURCE INTEGRATION PLATFORM FOR NUMERICAL SIMULATION

Sourcery Overview & Virtual Machine Installation

Performance Comparison of ISV Simulation Codes on Microsoft Windows HPC Server 2008 and SUSE Linux Enterprise Server 10.2

Transcription:

OpenFOAM: Year in Review Hrvoje Jasak h.jasak@wikki.co.uk, hrvoje.jasak@fsb.hr Wikki Ltd, United Kingdom Faculty of Mechanical Engineering and Naval Architecture University of Zagreb, Croatia 5th OpenFOAM Workshop, Gothenburg 21-24 June 2010 OpenFOAM: Year in Review p. 1

Outline Topics 1. Introduction and Project Overview 2. Robustness and accuracy and scaling improvements 3. Radial Basis Function in mesh motion, morphing and shape optimisation 4. Dynamic remeshing with tetrahedral edge swapping 5. Overset grid in OpenFOAM 6. Python and SALOME interface: VulaSHAKA project 7. Deployment of OpenFOAM 8. New Features in the upcoming release 9. Summary and Outlook OpenFOAM: Year in Review p. 2

Introduction OpenFOAM Since Montreal 2009 A successful year for the community: further penetration into scientific research community, research laboratories and industrial CFD Major community contributions: from new ideas to complete capability libraries Radial Basis Function Turbomachinery features and validation Naval hydrodynamics effort and Overset grid Python and SALOME integration Robustness and accuracy improvements Next stage: integration, consolidation, validation Public test loop, nightly builds, validation cases Documentation and community portal Integrated cross-platform version Quarterly release schedule OpenFOAM: Year in Review p. 3

Robustness, Accuracy, Scaling Robustness and Accuracy Improvements Tetrahedral mesh solution improvement Historically, tet meshes are easier to generate, but hex-based CFD methodology has produced poorer results, especially for boundary layers. Improvements took approx. 6 years in Star-CD and Fluent Pointwise mesh generator: unstructured complex geometry meshes with anisotropic tetrahedral mesh extrusion in boundary layers (with optional recombination of tetrahedra) With community effort, we got there in approx. 6 months: special discretisation 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: Work in progress (don t look at me!) OpenFOAM: Year in Review p. 4

Massively Parallel Scaling 3000 2500 Scaling Test, VOF Free Surface Flow, 50m Cells (In Cooperaton with Intel) 72 CPU 144 CPU 288 CPU Execution Time [s] 2000 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 Intel and the Intel logo are trademarks or registered trademarks od Intel Corporation or its subsidiaries in the United States and other countries OpenFOAM: Year in Review p. 5

Radial Basis Function Radial Basis Function Interpolation RBF interpolation defines the interpolation directly from the sufficient smoothness criterion on the interpolation (positive weighting factors): s(x) = N b X j=1 γ j φ( x x b,j ) + q(x) where x is the interpolant location x b is the set of N b 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 = b 0 + b 1 x + b 2 y + b 3 z Consistency of interpolation is achieved by requiring that all polynomials of the order lower than q disappear at data points N b X j=1 γ j p(x b,j ) = 0 OpenFOAM: Year in Review p. 6

Radial Basis Function RBF Interpolation Procedure 1. Establish locations of data-carrying points x b 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 OpenFOAM: Year in Review p. 7

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 Implemented by Frank Bos, TU Delft and Dubravko Matijašević, FSB Zagreb OpenFOAM: Year in Review p. 8

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: (d 0,d 1 ) 4. Set of scalar parameters δ for control points, defining current motion as d(δ) = d 0 + δ(d 1 d 0 ), 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 OpenFOAM: Year in Review p. 9

Radial Basis Function RBF Mesh Morphing: Cylinder and Sphere Examples Parametrisation uses a single parameter δ for this motion, with various number of control points OpenFOAM: Year in Review p. 10

Shape Optimisation Shape Optimisation Background 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 OpenFOAM: Year in Review p. 11

Shape Optimisation 2-D Wedge: Minimise X-Component of Force Using 4 moving control points along the height, with independent motion parameters in optimisation Point Motion range ( 0 0.25 ±0.1) (( 0.45 0 0) ( -0.45 0 0)) ( 0.5 0.75 ±0.1) (( 0.25 0 0) ( -0.25 0 0)) ( 1 1.25 ±0.1) (( 0.25 0 0) ( -0.25 0 0)) ( 1.5 1.75 ±0.1) (( 0.25 0 0) ( -0.25 0 0)) Motion in all points is parallel to surface to preserve height and ground clearance iter = 1 pos = (0.2 0.2 0.7) v = 2296.61 size = 0.3321 iter = 6 pos = (0.4792 0.1746 0.995) v = 2125.69 size = 0.2915 iter = 24 pos = (0.9554 0.01677 0.977) v = 2079.52 size = 0.05354 iter = 36 pos = (0.9322 0.00383 0.993) v = 2071.47 size = 0.00980 OpenFOAM: Year in Review p. 12

Shape Optimisation 3-D Sphere: Minimising Drag Force Using 9 control points in motion, with symmetry constraints: 4 points in front square, radial motion; 4 points in back square, radial and axial motion; 1 tail point, axial motion only Optimisation is performed with 3 parameters: iter = 1 pos = (0.2 0.7 0.2) v = 147.96 size = 0.2997 iter = 5 pos = (0.06111 0.7092 0.7092) v = 106.26 size = 0.2153 iter = 12 pos = (0.03727 0.9354 0.3830) v = 77.934 size = 0.0793 iter = 22 pos = (0.04095 0.9458 0.3413) v = 75.821 size = 0.006610 OpenFOAM: Year in Review p. 13

Tetrahedral Edge Swapping Re-Meshing with Tetrahedral Edge Swapping In cases where mesh motion involves topological change at the boundary or unpredictable mesh deformation, topological change machinery is impractical: cannot decide a-priori where to place topology modifiers Dynamic remeshing using tetrahedral edge swapping Motion is prescribed on external boundaries Tetrahedral cell quality examined continuously: bad cells trigger automatic remeshing without user interaction: answers to dynamicmesh interface Implemented by Sandeep Menon, UMass Amherst as a ready-to-use library Example: viscoelastic droplet collision using free surface tracking Can be used for all dynamic mesh cases: ultimate ease of mesh setup! OpenFOAM: Year in Review p. 14

Overset Grid in OpenFOAM foamedover: Overset Grid Technology in OpenFOAM Work by David Boger, Penn State University using SUGGAR and DirtLib libraries developed by Ralph Noack, Penn State (must mention Eric Paterson!) Overset Grid Technology Multiple components meshed individually, with overlap Hole cutting algorithm to remove excess overlap cells Mesh-to-mesh interpolation with implicit updates built into patch field updates and linear solver out-of-core operations Body-fitted component meshes: preserving quality and near-wall resolution Simple mesh motion and geometrical studies (replacing individual components) Overset grid is physics-neutral! Currently testing for free surface flows OpenFOAM: Year in Review p. 15

VulaSHAKA Project VulaSHAKA Background and Project Road-Map: OpenFOAM/SALOME Integration SALOME is an open source integration platform for numerical simulation Development coordinated and financed by EDF (France) Designed specifically to host numerical simulation software OpenFOAM/SALOME Integration IFoam: Interactive FOAM, Python-based, explicit and implicit distributed process coupling and data translation GFoam: Stand-alone GUI, including IFoam engine SFoam: IFoam and GFoam embedded in a SALOME module OpenFOAM: Year in Review p. 16

VulaSHAKA Project VulaSHAKA Project Snapshots CAD generation, meshing, boundary condition setup and post-processing OpenFOAM: Year in Review p. 17

VulaSHAKA Project VulaSHAKA Code Components IFoam (Interactive FOAM): Interactive calculation and integration framework for OpenFOAM, provides integration to SALOME pyfoam (sorry, Bernhard): Python front-end to OpenFOAM, supports IFoam unv2foam: Extends OpenFOAM ideasunvtofoam utility, introducing embedded capabilities necessary for embedding (available as C++ function) foam2vtk: Memory based conversion of FOAM objects into VTK objects for display foam2med: Allows translation of OpenFOAM data into MED format to enable integration with SALOME conffoam: Common configuration package for OpenFOAM development based on automake tools User requirements and future plans: establish international collaboration Developer credits Ivor Clifford, (currently Penn State University), formerly PBMR Alexey Petrov, Johannes Odendaal, PBMR Pty, South Africa OpenFOAM: Year in Review p. 18

Deployment of OpenFOAM OpenFOAM Extend Deployment and Release Schedule Substantial community contributions and developments need a better deployment framework: help the users with new capability and share results of your work Improvements in many directions needed: mimic operation of a software company Community effort is the only way to address all needs: large amount of work! Major Improvements in the Pipeline 1. Unified Linux, Mac OS-X and Windows version 2. Testing and validation harness 3. Community portal and joint documentation effort 4. Quarterly release schedule OpenFOAM: Year in Review p. 19

New Features in Upcoming Release New Features Functional merge with OpenFOAM-1.6.x: new developments + consistent controls Major new features Block matrix implementation with parallelisation support Re-meshing with tetrahedral edge swapping: Sandeep Menon Completion of the internal combustion engine library: Poly Milano Parallelisation work in Fluid-Structure interaction solver Python-SWIG interface to OpenFOAM and finitevolume library: sufficient to migrate complete physics solvers into python Running OpenFOAM without trace on disk: complete functional case generation and setup. This is a part of python interface requirement enable full interpreted execution of OpenFOAM cases, from mesh generation to post-processing Parallelisation of topology modifiers: parallel dynamic mesh Accuracy improvements on tetrahedral meshes Bug fixes and algorithmic improvements (approx 5000) Changing software management system to git OpenFOAM: Year in Review p. 20

New Features in Upcoming Release Native Windows Version of OpenFOAM Major piece of work, actively supported by Microsoft: HPC platform push No shortcuts: native compiler and operating system interface (non-posix) Complete rewrite of build system: CMake: generate Visual Studio project files New mechanism for include file handling: Michael Wild, FreeFOAM Library symbol import-export handling: changes to all class files! Plan: keep Windows port as a git branch to stabilise the regular release and resolve deployment and efficiency issues The work is lost if development lines do not merge. Therefore... Unified Linux, Mac OS-X and Windows Version Merging the development line and regular porting required Binary releases for Linux, Mac and Windows; USB stick, Debian packages Public testing and validation runs prior to release Quarterly release schedule to minimise version-to-version jumps I would like a Release Committee please! Can you help? OpenFOAM: Year in Review p. 21

Summary A Year in Life of OpenFOAM Very successful: improved capability, visibility and quality of the code This is a community-driven project with numerous contributors: Thank You All Presence of OpenFOAM in the numerical simulation arena is changing the way users are applying CFD simulations in industrial settings Academic sharing of results and joint research is easier and more productive Outlook Need to make OpenFOAM easier for entry-level users: several ongoing projects Formalise and validate software capability: adding new features is as important as making the best possible use of existing capability Expand the pool of expert developers: NUMAP-FOAM Summer School, Zagreb Grow the community and user base: software lives only as long as it is used OpenFOAM Workshop 2011: Who is Next?... let s see what the future brings OpenFOAM: Year in Review p. 22