User Documentation

Installing and Running

  • clone the project with git clone https://github.com/Minutenreis/tsunami_lab.git

  • add the submodules with git submodule init and git submodule update

  • install dependencies with apt-get install libnetcdf-dev

  • build with scons

  • execute the Program with ./build/tsunami_lab [-s solver] [-u setup] [-b "boundary_left boundary_right"] [-r stationsJson] [-o outputType] [-f frames] [-t maxtime] [-k size] [-i] [-c] n_cells_x

  • execute the tests with ./build/tests

The output of Solver is saved in /solutions if you use csv as outputType. If you use netCdf as outputType, the output is saved as output.nc in the root directory. The output of the Stations is in /stations

Command Line Parameters

n_cells_x = number of cells the simulation gets broken up into in x-direction; y-direction depends on setup; specially cased in the tsunami2d Setup to mean the cell length instead.
[-s solver] = choose between roe and fWave solver, default is fWave
[-u setup] = choose between 'DamBreak1d h_l h_r', 'ShockShock1d h hu', 'RareRare1d h hu', 'Custom1d h_l h_r hu_l hu_r middle', Subcrit1d, Supercrit1d, 'Tsunami1d path_to_csv time_simulated', 'ArtificialTsunami2d time_simulated', 'Tsunami2d path_to_displacement path_to_bathymetry time_simulated', DamBreak2d , default is DamBreak2d
[-b 'boundary_left boundary_right boundary_bottom boundary_top'] = choose each boundary between wall and open, default is open for each; any boundary left out is set to open
[-r stationsJson] = path of the stations json file, default is src/data/stations.json
[-o outputType] = outputtype, choose between csv and netCdf, default is netCdf
[-f frames] = (minimum) number of frames to be saved, default is 100
[-t maxtime] = maxTime of simulation, default is 24
[-k size] = size of cells in output as faktor, default is 1
[-i] = no fileIO (benchmarking)
[-c] = use CUDA (only for 2d)

stationsJson Format:

{
   "period": float,
   "stations": [
      {
         "name": string,
         "x": float,
         "y": float
      },
      ...
   ]
}