If you are content to use channelflow's predefined command-line utilities (for time-integration, computation of equilibria and periodic orbits, etc.), you can download precompiled binary packages and install them using your Linux distribution's package manager.
If you want to write your own channelflow programs or tinker with the channelflow source code, you should download channelflow source via subversion (preferable) or as a numbered development package.
Installing from the subversion source gives you access to the latest code and simplifies the process of merging your modifications to the source code with modifications to the official distribution.
cd ~ svn co http://svn.channelflow.org/channelflow cd channelflow mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=~/channelflow ~/channelflow/trunk make make test make install
Installing from a tarball is good if you're content with stable releases and infrequent updates of
channelflow. The following will download, compile, and install channelflow-1.5.0, using an out-of-source build directory ~/channelflow/build
, and installing executables, libraries, and header files into ~/channelflow/bin
, ~/channelflow/lib
, ~/channelflow/include
.
mkdir ~/channelflow cd ~/channelflow wget http://www.channelflow.org/download/channelflow-1.5.0.tgz tar xvfpz channeflow-1.5.0.tar.gz mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=~/channelflow ../channelflow-1.5.0 make make test make install
Of course if you're installing a different version of channelflow, change the version numbers to suit. If that doesn't work, read on. The most common problem with channelflow installation is that the compiler can't find required header files or libraries (such as FFTW3), because they're either not installed or installed in unusual locations. Fixes for these issues are discussed in the prerequisites and the configuration_options sections.
To install and use channelflow, you need
FFTW is an elegant and efficient self-optimizing Fourier transform library. FFTW is required for channelflow.
Eigen is a C++ pure-template linear algebra library. Most channelflow code does not rely on Eigen. The core fluid simulation algorithms of Channelflow do not require Eigen, however, a few high-level algorithms do (such as computing equilibria and periodic orbits). If you are just interested in time integration, you could strip out the the channelflow code that relies on it.
HDF5 provides flexible, efficient, cross-platform, and standardized data files that can be read by matlab, tecplot, etc. HDF5 is not required, but it is highly recommended. If you do not install HDF5, you can use a channelflow-specific binary files and transfer data to other tools with ASCII files.
You will need to install the required tools and libraries if they are not already installed.
Incomplete instructions
On MS-Windows, you will probably need to install the CygWin Linux emulation environment.
Installing channelflow on Mac OS X, by Eric Jelli, Dept. Physics, U. Marburg.