Description of the "CylFlow" CFD code
author: Oleg Bessonov,
Institute for Problems in Mechanics, Moscow,
E-mail: bess@ipmnet.ru
"CylFlow" is a Finite Volume (FVM) code for the numerical simulation of unsteady incompressible fluid flows in cylindrical domains. The code solves 3D Navier Stokes equation in Boussinesq approximation at every timestep. The "CylFlow" code was used for the simulation of crystal growth applications (semiconductor melt flow in Czochralski apparatus), natural convection in space experiments, processes above the surface of a growing aqueous-soluble crystal, and flows in porous media. The parallel version of this code (for 2-16 processors) was widely used for benchmarking many MPP and cluster platforms and for making decision for a purchase. The configuration offered for the SPEC CPU2004 benchmark has a problem size 70 MB (grid size 128x64x92) and represents the code used for the simulation of non-axisymmetric Czochralski flow of GaAs melt.
This work was partially supported by the Russian Foundation for Basic Research (grants RFBR-01-01-00745 and RFBR-02-01-00210) and by the University of Aix-Marseille II, France (through different programs).
Short description of the numerical algorithm:
- Primitive variable formulation for Boussinesq approximation.
- Finite Volume method, applied to the regular staggered grid, with accurate treatment of cylinder axis for essentially non-axisymmetric flows.
- Fractional step (projection) method, with partially implicit time integration scheme.
- Solution of Poisson equation for pressure using Fourier-analysis cyclic reduction (FACR) method.
Some optimization techniques used in the algorithm:
- Taking into the consideration locality properties of the algorithm, rearrangement of data pattern to account the hierarchical memory organization (cache levels).
- Unit-stride access requirement for arrays, using a "front of computations" approach for the 2-nd direction, and a "frontal plane of computations" for the 3-rd direction.
- Vectorization of time-critical sections of the code.
Structure of the program:
- Driver (initialization, input-output, overall control).
- Partially implicit Navier-Stokes ADI solver for the momentum transport.
- Poisson FACR solver for the pressure.
- ADI solver for the scalar transport (heat / mass).
- Set of FFT routines.
Language: Fortran-77
Approximate length: 1800 lines
External libraries: none
Publications (based on this this code):
O. Bessonov, D. Fougere, B. Roux.
Using a Parallel CFD Code for Evaluation of Clusters and MPPs.
International Parallel and Distributed Processing Symposium; Proceedings / IPDPS 2003, Nice, France. IEEE Computer Society, PR01926, 2003, 8 p.
http://www.ipmnet.ru/~bess/bess-ipdps.pdf
http://www.ipmnet.ru/~bess/bess-ipdps_presentation.pdf
O. Bessonov, D. Fougere, B. Roux.
Parallel Simulation of 3D Incompressible Flows and Performance Comparison for Several MPP and Cluster Platforms.
Parallel Computing Technologies: 6th International Conference; Proceedings / PaCT-2001, Novosibirsk, Russia. Lecture Notes in Computer Science, 2127, 2001, pp.401-409.
http://www.ipmnet.ru/~bess/bess-pact2001.ps
O. Bessonov, D. Fougere, B. Roux.
Parallelization of 3D Solver for Incompressible Flows in a Cylinder.
ERCOFTAC Bulletin No.50, 2001, pp.13-16.
http://www.ipmnet.ru/~bess/bess-ercoftac.ps
V. Polezhaev, O. Bessonov, N. Nikitin, S. Nikitin.
Convective Interaction and Instabilities in GaAs Czochralski Model.
J. Crystal Growth, 230, 2001, pp.40-47.
http://www.ipmnet.ru/~bess/bess-jcg.pdf
O. Bessonov, V. Polezhaev.
Mathematical Modeling of Convection in the DACON Sensor under Conditions of Real Space Flight.
Cosmic Research, V.39, No.2, 2001, pp.159-166.
http://www.ipmnet.ru/~bess/bess-cosmic01.pdf
O. Bessonov, V. Brailovskaya.
Three-Dimensional Model of Thermal Convection in an Anisotropic Porous Medium Bounded by Two Horizontal Coaxial Cylinders.
Fluid Dynamics, V.36, No.1, 2001, pp.130-138.
http://www.ipmnet.ru/~bess/bess-fldyn01.pdf
S. Avdeev, I. Babushkin, O. Bessonov et al.
On Measurements of Low-Frequency Microaccelerations Onboard Orbital Station MIR with the Use of Thermal Convection Sensor "Dacon".
AIAA 2000-0569, 38th Aerospace Sciences Meeting & Exhibit, Reno, NV, 10-13 January 2000.