OFF, Open source Finite volume Fluid dynamics code: A free, high-order solver based on parallel, modular, object-oriented Fortran API
详细信息    查看全文
文摘
OFF, an open source (free software) code for performing fluid dynamics simulations, is presented. The aim of OFF is to solve, numerically, the unsteady (and steady) compressible Navier–Stokes equations of fluid dynamics by means of finite volume techniques: the research background is mainly focused on high-order (WENO) schemes for multi-fluids, multi-phase flows over complex geometries. To this purpose a highly modular, object-oriented application program interface (API) has been developed. In particular, the concepts of data encapsulation and inheritance available within Fortran language (from standard 2003) have been stressed in order to represent each fluid dynamics “entity” (e.g. the conservative variables of a finite volume, its geometry, etc…) by a single object so that a large variety of computational libraries can be easily (and efficiently) developed upon these objects. The main features of OFF can be summarized as follows:

Programming LanguageOFF is written in standard (compliant) Fortran 2003; its design is highly modular in order to enhance simplicity of use and maintenance without compromising the efficiency;

Parallel Frameworks Supported the development of OFF has been also targeted to maximize the computational efficiency: the code is designed to run on shared-memory multi-cores workstations and distributed-memory clusters of shared-memory nodes (supercomputers); the code’s parallelization is based on Open Multiprocessing (OpenMP) and Message Passing Interface (MPI) paradigms;

Usability, Maintenance and Enhancement in order to improve the usability, maintenance and enhancement of the code also the documentation has been carefully taken into account; the documentation is built upon comprehensive comments placed directly into the source files (no external documentation files needed): these comments are parsed by means of doxygen free software producing high quality html and latex documentation pages; the distributed versioning system referred as git has been adopted in order to facilitate the collaborative maintenance and improvement of the code;

CopyrightsOFF is a free software that anyone can use, copy, distribute, study, change and improve under the GNU Public License version 3.

The present paper is a manifesto of OFF code and presents the currently implemented features and ongoing developments. This work is focused on the computational techniques adopted and a detailed description of the main API characteristics is reported. OFF capabilities are demonstrated by means of one and two dimensional examples and a three dimensional real application.

Program summary

Program title:OFF

Catalogue identifier: AESV_v1_0

Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AESV_v1_0.html

Program obtainable from: CPC Program Library, Queen’s University, Belfast, N. Ireland

Licensing provisions: GNU General Public Licence, version 3

No. of lines in distributed program, including test data, etc.: 60466

No. of bytes in distributed program, including test data, etc.: 595575

Distribution format: tar.gz

Programming language: Fortran (standard 2003 or newer); developed and tested with Intel Fortran Compiler v. 12.x or newer.

Computer: Designed for shared-memory multi-cores workstations and for hybrid distributed/shared-memory supercomputers, but any computer system with a Fortran (2003+) compiler is suited.

Operating system: Designed for POSIX architecture and tested on GNU/Linux one.

Has the code been vectorized or parallelized?: Hybrid parallelization by means of MPI library and OpenMP paradigm, tested on up to 256 processors.

RAM: [1 MB; 1 GB] x core, simulation-dependent

Classification: 4.3, 4.10, 12.

External routines: The proprietary library [1] must be linked for producing binary outputs in Tecplot Inc. format; the MPI library [2] must be linked for running on distribute-memory parallel systems

Nature of problem:

Numerical solution of the Compressible Navier–Stokes equations for multi-fluids multi-phase flows in complex geometries

Solution method:

Fully-conservative Finite Volume scheme based on very high-order WENO Positivity-Preserving reconstruction technique and Strong Stability Preserving high-order Runge–Kutta time integration. Structured multi-block general curvilinear and body-fitted grids constitute the underlining numerical grids. MPI and OpenMP paradigms are used for parallel computations. Pre-processing tool to deal with commercial meshing softwares is provided as well as post-processing one for numerical results visualization

Restrictions:

At present, OFF is validated for simulating inviscid and single-phase flows (viscous fluxes computation and fully coupled Eulerian /Lagrangian schemes have still to be validated, but they are already implemented); modern Fortran compiler is mandatory

Unusual features:

OFF is a complex CFD software strongly based on Object-Oriented Programming paradigm by means of modern Fortran standard (2003 or higher)

Additional comments:

OFF project adopts Git [3], a free and open source distributed version control system. A public repository dedicated to OFF project [4] has been created on github, a web-based hosting service for software development projects using git versioning system. Finally, a comprehensive documentation [5] is provided parsing source code comments by means of doxygen software [6]

Running time:

The running time depends on the available computation resources, the complexity of the problem and the selected accuracy of the numerical scheme. Simple one dimensional problems require few minutes on personal workstation-like systems whereas complex three dimensional problems needing high accuracy (e.g. DNS) could require weeks on supercomputers. OFF has proven to have a good scalability on small clusters (e.g. CASPUR facilities, namely on Matrix, a GNU/Linux cluster composed by 320 nodes each one constituted by a dual Opteron quadcore at 2.1GHz with 16/32 GB of RAM)

References:

[1]

TecIO Library, Tecplot Inc. proprietary library for I/O binary files in Tecplot format, http://www.tecplot.com/downloads/tecio-library/.

[2]

The Message Passing Interface (MPI) standard, a library specification for message-passing, proposed as a standard by a broadly based committee of vendors, implementors, and users, http://www.mcs.anl.gov/research/projects/mpi/.

[3]

Git, a free and open source distributed version control system, http://git-scm.com/.

[4]

Github, a web-based hosting service for software development projects using git versioning system, https://github.com.

[5]

Ocial OFF documentation, http://szaghi.github.com/OFF/index.html.

[6]

Doxygen, a documentation system for many programming languages, http://www.stack.nl/dimitri/doxygen.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700