A highly parallel application for Rayleigh-Benard and Taylor-Couette flows
Fortran M4 Shell Makefile Python
Switch branches/tags
Nothing to show
Permalink
Failed to load latest commit information.
Example
m4
stst3 Updates for stst3: added directory, added stst3.in to dist, remark in… Jan 6, 2016
.gitignore Removed directory verzicco Dec 21, 2015
AUTHORS Updated AUTHORS and NEWS Jan 8, 2016
AuxiliaryRoutines.F90
COPYING
CalcDissipationNu.F90 Some corrections to the calculation of the dissipation rates by Feb 17, 2016
CalcLocalDivergence.F90
CalcMaxCFL.F90 Removed directory verzicco Dec 21, 2015
CalcPlateNu.F90
ChangeLog
CheckDivergence.F90
CorrectPressure.F90 Removed directory verzicco Dec 21, 2015
CorrectVelocity.F90 Removed directory verzicco Dec 21, 2015
CreateGrid.F90 Removed directory verzicco Dec 21, 2015
CreateInitialConditions.F90 Fixed use of undeclared variables. Added check of return code from zg… Oct 19, 2016
DeallocateVariables.F90 Removed directory verzicco Dec 21, 2015
DebugRoutines.F90
ExplicitTermsTemp.F90
ExplicitTermsVX.F90
ExplicitTermsVY.F90 Removed directory verzicco Dec 21, 2015
ExplicitTermsVZ.F90 Removed directory verzicco Dec 21, 2015
GlobalQuantities.F90
HdfReadContinua.F90 Removed directory verzicco Dec 21, 2015
HdfRoutines.F90
INSTALL Removed directory verzicco Dec 21, 2015
ImplicitAndUpdateTemp.F90 Removed directory verzicco Dec 21, 2015
ImplicitAndUpdateVX.F90 Removed directory verzicco Dec 21, 2015
ImplicitAndUpdateVY.F90 Removed directory verzicco Dec 21, 2015
ImplicitAndUpdateVZ.F90
InitPressureSolver.F90 Removed directory verzicco Dec 21, 2015
InitTimeMarchScheme.F90 Removed directory verzicco Dec 21, 2015
InitVariables.F90
LocateLargeDivergence.F90 Removed directory verzicco Dec 21, 2015
MANUAL.md Updates for stst3: added directory, added stst3.in to dist, remark in… Jan 6, 2016
Makefile.am This update introduces the routine factorize in the initialization Jan 7, 2016
MpiAuxRoutines.F90
NEWS Updated AUTHORS and NEWS Jan 8, 2016
QuitRoutine.F90 Updated error messages for the case that the velocity diverges. Feb 17, 2016
README
README.md removed wierd characters in readme file Oct 3, 2016
ReadFlowField.F90
ReadInputFile.F90 Removed directory verzicco Dec 21, 2015
ResetLogs.F90 Removed directory verzicco Dec 21, 2015
SetTempBCs.F90 Removed directory verzicco Dec 21, 2015
SlabDumpRoutines.F90 Removed directory verzicco Dec 21, 2015
SolveImpEqnUpdate_Temp.F90 Faster implementation of implicit routines. Feb 17, 2016
SolveImpEqnUpdate_X.F90
SolveImpEqnUpdate_YZ.F90 Faster implementation of implicit routines. Feb 17, 2016
SolvePressureCorrection.F90 Fixed use of undeclared variables. Added check of return code from zg… Oct 19, 2016
StatReadReduceWrite.F90
StatRoutines.F90
TimeMarcher.F90 Removed directory verzicco Dec 21, 2015
WriteFlowField.F90 Removed directory verzicco Dec 21, 2015
WriteGridInfo.F90 Removed directory verzicco Dec 21, 2015
alloc.F90 Removed directory verzicco Dec 21, 2015
bou.in Minor changes Jan 6, 2016
config.guess Removed directory verzicco Dec 21, 2015
config.sub
configure.ac Merged with neighbor_alltoallw. Default -O2 optimization. Version bum… Jan 6, 2016
decomp_2d.F90 Merged with neighbor_alltoallw. Default -O2 optimization. Version bum… Jan 6, 2016
decomp_2d_fft.F90 Removed directory verzicco Dec 21, 2015
factor.F90 Removed directory verzicco Dec 21, 2015
factorize.F90
fft_common.F90 Removed directory verzicco Dec 21, 2015
halo.F90 Removed directory verzicco Dec 21, 2015
halo_common.F90 Removed directory verzicco Dec 21, 2015
install-sh
interp.F90 index error in the interp routine Sep 27, 2016
main.F90 Added / corrected completion cases for the code. This makes sure that Jan 14, 2016
missing
param.F90 Removed directory verzicco Dec 21, 2015
stst3.in Removed directory verzicco Dec 21, 2015
transpose_x_to_y.F90 Removed directory verzicco Dec 21, 2015
transpose_x_to_z.F90 Merged with neighbor_alltoallw. Default -O2 optimization. Version bum… Jan 6, 2016
transpose_y_to_x.F90 Removed directory verzicco Dec 21, 2015
transpose_y_to_z.F90 Removed directory verzicco Dec 21, 2015
transpose_z_to_x.F90
transpose_z_to_y.F90
wnus.sh Removed directory verzicco Dec 21, 2015

README.md

AFiD

AFiD is a highly parallel application for Rayleigh-Benard and Taylor-Couette flows. See van der Poel et al (2015) for more details.

It is developed by Twente University, SURFsara and University of Rome "Tor Vergata".

See the file COPYING for copying permission of the 2DECOMP&FFT library. This application is free and unencumbered software released into the public domain.

Installation

The AFiD model has the following prerequisites:

  • MPI
  • BLAS
  • LAPACK
  • FFTW3
  • HDF5 with parallel I/O

It's recommended to download a release tarball of AFiD, which can be found here. To install AFiD, please use the 'configure' script. Note that you'll need to set optimization and debugging options yourself. The easiest way to configure and build AFiD is

./configure
make
make install prefix=/path/to/install/afid

It tries to find and configure all prerequisites automatically, although it doesn't always succeed. By default it uses the -O2 optimization flag (if available). The most important configuration options are:

./configure MPIFC=mpif90.gfortran              # set MPIFC to your MPI compiler wrapper for Fortran
./configure --with-blas=/path/to/blas.lib      # library with blas routines
./configure --with-lapack=/path/to/lapack.lib  # library with lapack routines 
./configure FCFLAGS=-O3                        # very high optimization
./configure FCFLAGS="-g -O0"                   # debug info, no optimization

The configure script locates the fftw-wisdom utility to find the root path of the FFTW3 library and it uses the h5pfc compiler wrapper to configure the HDF5 library. You can override these using:

./configure --with-fftw3=<root path to fftw3 installation>
./configure --with-hdf5=<root path to hdf5 installation> 

It is recommended to use the vendor-optimized libraries for BLAS and (possibly) LAPACK (e.g. MKL, ESSL or LibSci). Note that the FFTW3 library cannot be replaced with the MKL library, since it doesn't support the calls that are used in AFiD.

Should you want to build from the repository (when you download the source file from directly using "Download ZIP") you first need to create the configure script. For this you need a recent versions of the GNU autotools and the configure script is created using the command

autoreconf

Usage

See the manual for more a description of the input parameters of the code. An example of the usage of the code can be found here.