Sponsored Links

Jumat, 30 Maret 2018

Sponsored Links

OpenFoam Simulation: Tutorial: propeller - YouTube
src: i.ytimg.com

OpenFOAM (for "Open source Field Operation And Manipulation") is a C++ toolbox for the development of customized numerical solvers, and pre-/post-processing utilities for the solution of continuum mechanics problems, including computational fluid dynamics (CFD). The code is released as free and open-source software under the GNU General Public License. The OpenFOAM name was registered by OpenCFD Ltd in 2007 and non-exclusively licensed to the OpenFOAM Foundation Ltd in 2011.


Video OpenFOAM



History

OpenFOAM (originally, FOAM) was created by Henry Weller from the late 1980s at Imperial College, London, to develop a more powerful and flexible general simulation platform than the de facto standard at the time, FORTRAN. This led to the choice of C++ as programming language, due to its modularity and object-oriented features. In 2004, Henry Weller, Chris Greenshields and Mattijs Janssens founded OpenCFD Ltd to develop and release OpenFOAM. On 8 August 2011, OpenCFD was acquired by Silicon Graphics International (SGI). At the same time, the copyright of OpenFOAM was transferred to the OpenFOAM Foundation, a newly founded, not-for-profit organisation that manages OpenFOAM and distributes it to the general public. On 12 September 2012, the ESI Group announced the acquisition of OpenCFD Ltd from SGI. In 2014, Weller and Greenshields left ESI Group and continue the development and management of OpenFOAM, on behalf of the OpenFOAM Foundation, at CFD Direct. CFD Direct continued the development of the distribution known as OpenFOAM, whereas the ESI group now independently develops a fork known as OpenFOAM-plus.


Maps OpenFOAM



Distinguishing features

Syntax

One distinguishing feature of OpenFOAM is its syntax for tensor operations and partial differential equations that closely resembles the equations being solved. For example, the equation

? ? U ? t + ? ? ? U - ? ? ? ? U = - ? p {\displaystyle {\frac {\partial \rho \mathbf {U} }{\partial t}}+\nabla \cdot \phi \mathbf {U} -\nabla \cdot \mu \nabla \mathbf {U} =-\nabla p}

is represented by the code

This syntax, achieved through the use of object-oriented programming and operator overloading, enables users to create custom solvers with relative ease. However, code customization becomes more challenging with increasing depth into the OpenFOAM library, owing to a lack of documentation and heavy use of template metaprogramming.

Extensibility

Users can create custom objects, such as boundary conditions or turbulence models, that will work with existing solvers without having to modify or recompile the existing source code. OpenFOAM accomplishes this by combining virtual constructors with the use of simplified base classes as interfaces. As a result, this gives OpenFOAM good extensibility qualities. OpenFOAM refers to this capability as run-time selection.


The 3rd OpenFOAM User Conference 2015 | ESI Group
src: www.esi-group.com


Structure of OpenFOAM

OpenFOAM is constituted by a large base library, which offers the core capabilities of the code:

  • Tensor and field operations
  • Discretization of partial differential equations using a human-readable syntax
  • Solution of linear systems
  • Solution of ordinary differential equations
  • Automatic parallelization of high-level operations
  • Dynamic mesh
  • General physical models
    • Rheological models
    • Thermodynamic models and database
    • Turbulence models
    • Chemical reaction and kinetics models
    • Lagrangian particle tracking methods
    • Radiative heat transfer models
    • Multi-reference frame and single-reference frame methodologies

The capabilities provided by the library are then used to develop applications. Applications are written using the high-level syntax introduced by OpenFOAM, which aims at reproducing the conventional mathematical notation. Two categories of applications exist:

  • Solvers: they perform the actual calculation to solve a specific continuum mechanics problem.
  • Utilities: they are used to prepare the mesh, set-up the simulation case, process the results, and to perform operations other than solving the problem under examination.

Each application provides specific capabilities: for example, the application called blockMesh is used to generate meshes from an input file provided by the user, while another application called icoFoam solves the Navier-Stokes equations for an incompressible laminar flow.

Finally, a set of third-party packages are used to provide parallel functionality (OpenMPI) and graphical post-processing (ParaView).


How to run your first simulation in OpenFOAM® - Part 1 - tutorial ...
src: i.ytimg.com


Capabilities

OpenFOAM solvers include:

  • Basic CFD solvers
  • Incompressible flow with RANS and LES capabilities
  • Compressible flow solvers with RANS and LES capabilities
  • Buoyancy-driven flow solvers
  • DNS and LES
  • Multiphase flow solvers
  • Particle-tracking solvers
  • Solvers for combustion problems
  • Solvers for conjugate heat transfer
  • Molecular dynamics solvers
  • Direct simulation Monte Carlo solvers
  • Electromagnetics solvers
  • Solid dynamics solvers

In addition to the standard solvers, OpenFOAM syntax lends itself to the easy creation of custom solvers.

OpenFOAM utilities are subdivided into:

  • Mesh utilities
    • Mesh generation: they generate computational grids starting either from an input file (blockMesh), or from a generic geometry specified as STL file, which is meshed automatically with hex-dominant grids (snappyHexMesh)
    • Mesh conversion: they convert grids generated using other tools to the OpenFOAM format
    • Mesh manipulation: they perform specific operations on the mesh such as localized refinement, definition of regions, and others
  • Parallel processing utilities: they provide tools to decompose, reconstruct and re-distribute the computational case to perform parallel calculations
  • Pre-processing utilities: tools to prepare the simulation cases
  • Post-processing utilities: tools to process the results of simulation cases, including a plugin to interface OpenFOAM and ParaView.
  • Surface utilities
  • Thermophysical utilities

Natural Convection Simulation using OpenFOAM
src: s3-eu-west-1.amazonaws.com


License

OpenFOAM is free and open-source software, released under the GNU General Public License version 3.


Holzmann CFD :: Temperature evaluation of Städele (front) using ...
src: i.ytimg.com


Advantages and disadvantages

Advantages

  • Friendly syntax for partial differential equations
  • Fully documented source code
  • Unstructured polyhedral grid capabilities
  • Automatic parallelization of applications written using OpenFOAM high-level syntax
  • Wide range of applications and models ready to use
  • Commercial support and training provided by the developers
  • No license costs

Disadvantages

  • The development community suffers from fragmentation, giving rise to numerous forked projects.
  • Absence of an integrated graphical user interface (stand-alone open-source and proprietary options are available)
  • The Programmer's guide does not provide sufficient details, making the learning curve very steep if you need to write new applications or add functionality

Introduction to CFD using Matlab and OpenFOAM - Courses - Skill-Lync
src: edxengine-live-courses-files.s3.amazonaws.com


GUI and software tools with integrated OpenFOAM solver

  • SwiftBloc and SwiftSnap
  • HELYX-O
  • SimScale
  • SimFlow
  • iconCFD

OpenFOAM Tutorial #1 - Intro, Installation & First Simulation ...
src: i.ytimg.com


See also

  • ParaView an open-source multiple-platform application for interactive scientific visualization

Supersonic flow around a prism
src: s3-eu-west-1.amazonaws.com


References


OpenFOAM 2D Airfoil Tut - YouTube
src: i.ytimg.com


External links

Official resources

  • OpenFOAM Foundation website
  • Download OpenFOAM
  • OpenFOAM documentation
  • OpenFOAM bug-reporting system

Community resources

  • OpenFOAM Forum at CFD Online
  • OpenFOAM wiki
  • A Blog about OpenFOAM in Chinese
  • OpenFOAM tutorials by Holzmann CFD

Other resources

  • OpenCFD Ltd

Source of the article : Wikipedia

Comments
0 Comments