|
Howto WhiskyWhisky is a collection of modules (called thorns) for the Cactus framework. So, you will need some Cactus components as well. The easiest way to do this is to use a checkout script, usually called after its name: 'GetCactus'. This script accepts one parameter: a thornlist. This is a list of thorns connected with information about how and where to retrieve them from. A short example is: !REPOSITORY_LOCATION cvs.cactuscode.org !REPOSITORY_NAME /cactusdevcvs !REPOSITORY_TYPE pserver !REPOSITORY_USER knarf CactusBase/MoL CactusBase/Boundary CactusBase/CartGrid3D CactusBase/CoordBase CactusBase/IOASCII CactusBase/IOBasic CactusBase/IOUtil CactusBase/Time You can download this thornlist which includes a good collection of freely available thorns working together with Whisky. Save both files into the place you want to have Cactus downloaded, make 'GetCactus' executable and call it with the thornlist as parameter. In this form, it will ask a couple of questions which you can all answer by pressing Enter (using the default), except the one about which version of Cactus to use. Here you have to use the development version. The stable Cactus version is way too old to work with Whisky. You can give additional parameters to avoid those questions. To summarize, the commands you have to execute so far, would be similar to: wget http://www.cactuscode.org/download/GetCactus chmod +x GetCactus wget http://www.whiskycode.org/downloads/Whisky_stable.th ./GetCactus -install=Cactus -anonymous=yes -verbose=no -repository=development ./Whisky_stable.th Note that this assumes that you have the necessary tools to obtain those thorns installed. For the example above this includes cvs and svn. This should create a directory 'Cactus' with a few subdirectories inside. One of them is 'arrangements' which holds the collections (arrangements) of thorns (modules) which use Cactus. One of them is Whisky.
Cactus
|
+-arrangements
|
+-Whisky
|
+-Whisky
+-Whisky_Init_Data
+-Whisky_IVP
+-Whisky_TOVSolverC
The next step after downloading the source code is to configure Cactus according to your hardware and software environment. This step can be very simple but can also take quite a while, depending on circumstances. Fortunately, Cactus knows about the most common environments (e.g. compilers) and you also have to do that step probably only once. A configuration does not automatically include every thorn present in the source tree to be able to also compile slim configurations even when you have a big collection of thorns around, or sometimes thorns conflict with each other. Therefore you have to give the thornlist as argument to the configure stage. You can have different configurations with the same source code, so you have to give a name to each configuration. If everything would work out of the box, executing cd Cactus make whisky-config THORNLIST=../Whisky_stable.th should be enough to create a configuration with the name 'whisky'. Most of the time however, you would like to use different options than the default ones, you have to give additional information or maybe the default does not work. Then it is best to use a 'config' file to store those options. You can give this file as argument to the configure stage: make whisky-config THORNLIST=../Whisky_stable.th options=<FILENAME> or you can store the configurations in a file ~/.cactus/config. Then you can omit the command line argument and Cactus will read the configuration from that file every time (You can still overwrite this by using the command line argument). There is a lot which can be specified in the option file and this is not the appropriate place to explain all this. Some of the most commonly set options are given in the example below. CC = icc CXX = icpc F77 = ifort F90 = ifort FPPFLAGS = -traditional LIBDIRS = /cluster/intel/fce/10.1.008/lib #MPI = MPICH #MPICH_DIR = /cluster/mvapich-0.9.8/intel MPI = CUSTOM MPI_LIBS = mpi MPI_INC_DIRS = /opt/scali/include64 MPI_LIB_DIRS = /opt/scali/lib64 HDF5 = yes HDF5_DIR = /cluster/hdf5/1.8.0_apiv16 GSL_DIR = /cluster/gsl/1.10 LAPACK = yes LAPACK_DIR = /usr/lib64 WARN = yes DEBUG = yes If you have questions with the configure stage (which is not that unlikely), please feel free to ask at the Cactus users or Whisky users mailing list. Once the configure step went ok, you still have to build the executable: make whisky Depending on the number of thorns in the thornlist and the speed of the computer this can take quite some time. If it finishes successfully, you should now have an executable file 'cactus_whisky' in the 'Cactus/exe' directory. Executing this file will start a simulation, but it needs a parameter file to know what to simulate as command line parameter. This would include information like if and how to setup the initial conditions (like the location and type of stars) and how to evolve these data. The content entirely depends on the thorns you use and the problem you want to address. The following is an example which evolves a TOV star using Whisky for a short time, doing some 1D output. To summarize, here is the complete set of commands which can be used to obtain, install and compile Whisky with some other thorns, but in practice you might have to put work into the configure stage. wget http://www.cactuscode.org/download/GetCactus chmod +x GetCactus wget http://www.whiskycode.org/downloads/Whisky_stable.th ./GetCactus -install=Cactus -anonymous=yes -verbose=no -repository=development ./Whisky_stable.th cd Cactus make whisky-config THORNLIST=../Whisky_stable.th make whisky ./exe/cactus_whisky arrangements/Whisky/Whisky/test/whisky_test_tov_ppm.par |
|||||||
| This page is maintained by Bruno Giacomazzo and Frank Löffler. | ||||||||