Directory structure and environmental variables
After the compilation is completed and Kassiopeia has been installed to the installation directory, it is useful to
set up some environment variables that allow you ton run Kassiopeia
and other commands from any location. A script
is provided that provides a similar functionality to the thisroot.sh
script explained above. To set up Kassiopeia
with the script, copy the following lines to your ~/.bashrc
(or similar), then logout and login again:
#Set up the Kassiopeia environmental variables
source ~/kassiopeia/install/bin/kasperenv.sh
The script will define a few environment variables that can be used outside of Kassiopeia:
KASPERSYS - the location of Kassiopeia binaries, libraries and configuration files.
KEMFIELD_CACHE - the location of the KEMField cache directory
KASPER_SOURCE - the location of the Kassiopeia source directory
KASPER_INSTALL - the location of the Kassiopeia installation directory
The KASPERSYS
and KEMFIELD_CACHE
can, in principle, be changed to different locations before running
simulations. This is intended to allow more flexible configurations on multi-user systems, or when multiple independent
instances of the Kassiopeia software are installed. For the typical user, the variables can be left as they are.
The complete set of Kassiopiea executables and configuration files will be found in the specified installation directory. The installation directory is broken down into several components, these are:
bin
cache
config
data
doc
include
lib
log
output
scratch
The Kassiopeia executable can be found under the bin
directory. Also in this directory is the script
kasperenv.sh
that was mentioned above.
The bin
directory also contains other executables useful for interacting with the sub-components of Kassiopeia
such as the KEMField or KGeoBag libraries. This included tools for generating particles without running a full
simulation, for calculating electromagnetic fields, or for visualizing the simulation geometry.
The lib
directory contains all of the compiled libraries, as well as cmake and pkgconfig modules to enable linking
against Kassiopeia by external programs. The include
directory contains all of the header files of the compiled
programs and libraries.
The other directories: cache
, config
, data
, doc
, log
, output
, and scratch
are all further
sub-divided into parts which relate to each sub-module of the code: Kassiopeia, Kommon, KGeoBag, or KEMField.
The cache
and scratch
directories are responsible for storing temporary files needed during run time for later
reuse. The data
directory contains raw data distributed with Kassiopeia needed for certain calculations (e.g.
molecular hydrogen scattering cross sections). The log
directory provides space to collect logging output from
simulations, while the output
directory is where simulation output is saved, unless otherwise specified.