Open Source Computational Fluid Dynamics



Similar documents
Tutorial 0A Programming on the command line

Command Line Crash Course For Unix

Command Line - Part 1

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

Birmingham Environment for Academic Research. Introduction to Linux Quick Reference Guide. Research Computing Team V1.0

Linux command line. An introduction to the Linux command line for genomics. Susan Fairley

CFD: What is it good for?

How To Run A Steady Case On A Creeper

CS 103 Lab Linux and Virtual Machines

Linux System Administration on Red Hat

A Guide to the free mesh program Discretizer with OpenFOAM for CFD (Computational Fluid Dynamics)

Basic C Shell. helpdesk@stat.rice.edu. 11th August 2003

Thirty Useful Unix Commands

Command-Line Operations : The Shell. Don't fear the command line...

USEFUL UNIX COMMANDS

Tutorial Guide to the IS Unix Service

CSIL MiniCourses. Introduction To Unix (I) John Lekberg Sean Hogan Cannon Matthews Graham Smith. Updated on:

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.

An Introduction to the Linux Command Shell For Beginners

Draft Version. For personal use. c Copyright Máté Márton LOHÁSZ. Tutorial for Channel Flow by LES using Open Source CFD

Basic Linux & Package Management. Original slides from GTFO Security

ICS 351: Today's plan

Unix Sampler. PEOPLE whoami id who

Introduction to Linux operating system. module Basic Bioinformatics PBF

Fred Hantelmann LINUX. Start-up Guide. A self-contained introduction. With 57 Figures. Springer

Introduction to Mac OS X

Training Day : Linux

Cisco Networking Academy Program Curriculum Scope & Sequence. Fundamentals of UNIX version 2.0 (July, 2002)

TVM 4155 Numerical modelling and hydraulics 10. March OpenFOAM homework

Kernel. What is an Operating System? Systems Software and Application Software. The core of an OS is called kernel, which. Module 9: Operating Systems

HP-UX Essentials and Shell Programming Course Summary

Introduction to Linux and Cluster Basics for the CCR General Computing Cluster

Linux Overview. Local facilities. Linux commands. The vi (gvim) editor

A Crash Course on UNIX

An A-Z Index of the Apple OS X command line (TERMINAL) The tcsh command shell of Darwin (the open source core of OSX)

Introduction to Shell Programming

OpenFOAM Opensource and CFD

CFD with OpenSource software

Open Source CFD Solver - OpenFOAM

TNM093 Practical Data Visualization and Virtual Reality Laboratory Platform

INASP: Effective Network Management Workshops

Acronis Backup & Recovery 10 Server for Linux. Installation Guide

1 Basic commands. 2 Terminology. CS61B, Fall 2009 Simple UNIX Commands P. N. Hilfinger

Web Hosting: Pipeline Program Technical Self Study Guide

WinSCP PuTTY as an alternative to F-Secure July 11, 2006

OpenFOAM open source CFD on ANSELM

Agenda. Using HPC Wales 2

QUICK START BASIC LINUX AND G++ COMMANDS. Prepared By: Pn. Azura Bt Ishak

Introduction to Operating Systems

Acronis Backup & Recovery 10 Server for Linux. Installation Guide

UNIX / Linux commands Basic level. Magali COTTEVIEILLE - September 2009

Unix Guide. Logo Reproduction. School of Computing & Information Systems. Colours red and black on white backgroun

Self Financed One Week Training

UNIX Basics. Ian Darwin TCP Informatics January, Presented from a Mac using Apple s Keynote presentation software

Lab 1: Introduction to C, ASCII ART and the Linux Command Line Environment

Acronis Backup & Recovery 10 Server for Linux. Installation Guide

An Introduction to Using the Command Line Interface (CLI) to Work with Files and Directories

File management Editing X Window KDE. Debian/GNU Linux. Introduction II. Károly Erdei. November 21, Károly Erdei Debian/GNU Linux 1/45

cloud-kepler Documentation

Recommended File System Ownership and Privileges

Higher National Unit Specification. General information for centres. Multi User Operating Systems. Unit code: DH3A 34

Lab 1 Beginning C Program

A UNIX/Linux in a nutshell

CPSC 2800 Linux Hands-on Lab #7 on Linux Utilities. Project 7-1

LSN 10 Linux Overview

How To Install Acronis Backup & Recovery 11.5 On A Linux Computer

Basic Hadoop Programming Skills

Cygwin command line windows. Get that Linux feeling - on Windows

Acronis Backup & Recovery 10 Server for Linux. Update 5. Installation Guide

Yocto Project Eclipse plug-in and Developer Tools Hands-on Lab

CPSC 226 Lab Nine Fall 2015

Linux System Administration

University of Toronto

Secure File Transfer Installation. Sender Recipient Attached FIles Pages Date. Development Internal/External None 11 6/23/08

Lab 1: Introduction to the network lab

CS 2112 Lab: Version Control

Student installation of TinyOS

Introduction to Running Hadoop on the High Performance Clusters at the Center for Computational Research

Acronis Backup & Recovery 10 Server for Linux. Quick Start Guide

A simplefoam tutorial

bluecape s Official Website

Syntax: cd <Path> Or cd $<Custom/Standard Top Name>_TOP (In CAPS)

RecoveryVault Express Client User Manual

Introduction to Unix Tutorial

Week Overview. Running Live Linux Sending from command line scp and sftp utilities

SETTING UP RASPBERRY PI FOR TOPPY FTP ACCESS. (Draft 5)

L01 Introduction to the Unix OS

Online Backup Linux Client User Manual

Partek Flow Installation Guide

Online Backup Client User Manual

Tour of the Terminal: Using Unix or Mac OS X Command-Line

The 2013 Experimental Warning Program (EWP) Virtual Weather Event Simulator (WES) Windows & Linux Installation Documentation

Ubuntu, FEAP, and Virtualiza3on. Jonathan Wong Lab Mee3ng 11/08/10

UNIX - FILE SYSTEM BASICS

1. Product Information

Modeling of Earth Surface Dynamics and Related Problems Using OpenFOAM

Online Backup Client User Manual Linux

SSH Connections MACs the MAC XTerm application can be used to create an ssh connection, no utility is needed.

Online Backup Client User Manual

Transcription:

Open Source Computational Fluid Dynamics An MSc course to gain extended knowledge in Computational Fluid Dynamics (CFD) using open source software. Teachers: Miklós Balogh and Zoltán Hernádi Department of Fluid Mechanics, Budapest University of Technology and Economics

Course description Introduction to OpenFOAM simulations (and linux, gnuplot, paraview). Installation on several Linux distributions and virtual systems. Solution of simple fluid dynamics problems using OpenFOAM. Detailed introduction to OpenFOAM software components: pre-processing (meshing tools and utilities) solving (standard applications, user applications) post-processing (ParaView). Single phase stationary and transient flows, turbulence, compressible flows. Multiphase and reactive flows. Extension of OpenFOAM capabilities by program code development in C++. Individual projects using OpenFOAM. Further open source CFD tools. Course website http://www.ara.bme.hu/~hernadi/openfoam

Planned schedule week 1: introduction to OpenFOAM, installing week 2: solving simple fluid flow problems week 3: studying software components week 4: stationary and transient flows week 5: turbulent and compressible flows, student project proposals deadline week 6: multiphase and reactive flows, final list of individual project proposals week 7: OpenFOAM programming (C++), individual project declarations week 8: mid-term exam week 9: advanced programming tools week 10: other open-soruce tools week 11: (holiday) week 12: experiments and simulations week 13-14: presentations of individual projects Final grade The grading is based on 1 mid-term exam (50% in final grade) and an individual project (50% in final grade). In-class activity will be rewarded by bonus points.

Introduction to OpenFOAM Open source Field Operation And Manipulation C++ toolbox, mainly designed for Computational Fluid Dynamics Linux is fully supported by OpenFOAM.

Linux operating system Linux comes in different flavours: distributions. Most popular Linux distributions are e.g. Arch Linux, CentOS, Debian, Fedora, Mageia, Linux Mint, opensuse, PCLinuxOS, Slackware, Ubuntu. Different distributions have different desktop environments, but the linux command-line in very similar. The command-line can be accessed through a terminal emulator, e.g. gnome-terminal, LXTerminal, rxvt, xterm.

Commands for navigating in file system ls list directory contents ls -l (use a long listing format) ls -ltr (long listing, sort by time, reverse order) ls --help (to see other options) man ls manual of ls command (to exit press q) cd.. change directory to parent (relative to $PWD) cd /bin change directory to /bin (absolute position) cd ~/OpenFOAM change directory to $HOME/OpenFOAM pwd print name of current/working directory echo HOME display a line of text: HOME echo $HOME display a variable: $HOME cd change directory to $HOME find -name OpenFOAM find files or directories named OpenFOAM man find manual of find command (to exit press q) which ls locate a command

Commands for texts in files cd $WM_PROJECT_DIR change directory to OpenFOAM installation cat Allwmake print file content less Allwmake print file content and scroll (exit: q) (type /source to search "source") (type n for next, N for previous) wc Allwmake print newline, word, and byte counts wc -w Allwmake print word counts man wc manual for wc command head Allwmake output first part of file tail Allwmake output last part of file grep echo Allwmake print lines matching a pattern sort Allwmake sort lines of text sort -r Allwmake sort lines of text, reverse order tac Allwmake print file content, reverse order grep -ri piso src find files with content (-i: ignore case) sort Allwmake uniq omit reported lines in sorted output man sed; man awk manuals of more advanced text processing

Commands for manipulating files cp Allwmake ~/test1 mv ~/test1 ~/test2 mv ~/test2 ~/OpenFOAM/ rm ~/OpenFOAM/test2 mkdir ~/test rmdir ~/test man rm sort Allwmake >~/test sort Allwmake >~/test sort <~/test >>~/sorted sort <~/test >>~/sorted chmod 000 ~/test chmod u+rw ~/test copy file rename file move file remove file make directory remove empty directory manual for rm command (see -r option!) create file by redirecting overwrite file by redirecting sort redirected input and save output sort redirected input and add output change file mode (check with ls -l) change file mode (check with ls -l) Note Read (4), write (2), execute (1). E.g. rwxr-xr-x = 755, rw-r--r-- = 644.

Job control and performance monitoring ps ps aux less top kill free -h df -h du -sh list current processes list all processes interactive display of processes kill/terminate process report free memory report disk space usage estimate file space usage Tip Use TAB button for auto-completion of commands! Visit http://linuxcommand.org for learning more commands. Note Recommended text editor GUI: gedit

Installing OpenFOAM Linux is fully supported by OpenFOAM. On non-linux systems, you can use a virtualization platform, e.g. VirtualBox. You can download a VirtualBox image file from the course website: http://www.ara.bme.hu/~hernadi/openfoam/virtualbox.html If you have Linux installed, you can install OpenFOAM from http://www.openfoam.org/download/ Easy installation is possible on Ubuntu. For other systems, you have to download and compile OpenFOAM source code. If you use Git version control system, you can compile OpenFOAM source code with the latest fixes. If you experience problems, you can check the (unofficial) wiki: http://openfoamwiki.net/index.php/installation/linux/openfoam-2.3.1 Warning Compiling OpenFOAM from source usually take several hours! Be patient!

Testing OpenFOAM installation If OpenFOAM is installed, several Linux environment variables are available, e.g $WM_PROJECT_DIR $FOAM_RUN $FOAM_TUTORIALS OpenFOAM installation directory OpenFOAM user directory OpenFOAM tutorials directory Note You can list other environment variables by echo $FOAM_<TAB><TAB> env grep 'WM\ FOAM' less The usual way of testing OpenFOAM is to run a simple simulation: mkdir -p $FOAM_RUN cp -r $FOAM_TUTORIALS $FOAM_RUN cd $FOAM_RUN/tutorials/incompressible/icoFoam/cavity blockmesh icofoam parafoam

OpenFOAM cases The basic directory structure:

How OpenFOAM solvers work Partial differential equation ½U t +r ÁU r ¹rU = rp is represented using high-level C++ syntax inside the solver: solve ( fvm::ddt(rho,u) + fvm::div(phi,u) - fvm::laplacian(mu,u) == - fvc::grad(p) ); Numerical treatment settings (discretization schemes and linear-solvers) are inside OpenFOAM cases (fvschemes, fvsolution). divschemes { default div(phi,u) } none; bounded Gauss linearupwind grad(u);