1
Fork 0
Simulation of the breaking wave flow which generated the 50T concrete block displacement at the Artha breakwater on February 28, 2017
Find a file
2022-03-31 10:31:45 +02:00
data Switched cm to m in time-series 2022-03-31 10:31:45 +02:00
olaflow Remove polyMesh from repo (generated by blockMesh/snappyHexMesh) 2022-03-30 13:45:36 +02:00
report Fixed figure (report) 2022-03-28 13:39:41 +02:00
swash Removed useless files in swash 2022-03-31 09:49:00 +02:00
.gitattributes Initial commit 2022-02-01 09:46:47 +01:00
.gitignore Initial commit 2022-02-01 09:46:47 +01:00
README.md Precision in README 2022-03-30 13:41:10 +02:00
requirements.txt Added requirements file for python env 2022-03-29 09:45:36 +02:00
tasks.md Tasks: Swash 2022-03-01 10:30:27 +01:00

M2 Internship

"Simulation of the breaking wave flow which generated the 50T concrete block displacement at the Artha breakwater on February 28, 2017"

Report

Configuration

Each part can be run in their respective directories.

$  python -m processing.swash -h
usage: swash.py [-h] [-v] [-c CONFIG]

Run swash model

options:
  -h, --help            show this help message and exit
  -v, --verbose
  -c CONFIG, --config CONFIG

Bathymetry

Configuration:

[inp]
root: input directory
base: bathymetry database (.xyz) -- not provided in this repository
hires: 1d hires smoothed breakwater profile (.dat)
hstru: 1d hires smoothed breakwater porosity height (.dat)
poro: 1d breakwater porosity (.dat)
psize: 1d porosity size (.dat)
hires_step: mesh sizing of 1d profile

[out]
margin: margin around the buoy and breakwater for subdomain
no_breakwater: option to remove breakwater
root: output directory
sub: output file for subdomain
out: output file for 1d projection
step: mesh size
left: margin for 1d projection (breakwater side)
right: margin for 1d projection (buoy side)

[artha]
lat: latitude of the breakwater
lon: longitude of the breakwater

[buoy]
lat: latitude of the buoy
lon: longitude of the buoy
  • Insert database in data/data
  • Run processing.subdomain to generate 2D data in a smaller domain
  • Run processing.projection to generate a 1D bathymetry

Swash

Configuration:

[data]
out: input directory (output of bathymetry)

[swash]
input: swash input file (.sws)
path: path to swash directory (should contain swashrun and swash.exe)
out: output directory for swash (created at the end of the computation)
mpi: number of mpi threads (omit to use serial)

[post]
inp: input directory for post-processing (output of sws_npz)
compare: input directory for post-processing comparison (omit to display results from single case)
out: output directory for figures
x0: position of reflection calculations
t0: minimum time for reflection calculations (necessary because of boundary condition ramping)
  • Run processing.swash to run the Swash model
  • Run processing.sws_npz to convert Swash output to Numpy files
  • Run processing.post to plot wave height at a point, water level at an instant, reflection coefficient at a point
  • Run processing.animate to plot an animation of water level
  • Run processing.layers to plot an animation of layers with flow velocity

OlaFlow

Configuration:

[swash]
np_out: input of olaflow from swash (output of sws_npz)

[bathy]
bathy: bathymetry to be used by olaflow
hstru: height of porous domain (see bathy)
scale: openscad scaling (mesh sizing in [x,y,z])
out: output folder for stl bathymetry

[olaflow]
root: olaflow computation directory
  • Run processing.bathy to generate stl input files
  • Run blockMesh, snappyHexMesh -overwrite, copy 0.org to 0, setFields
  • Run processing.sws_ola to convert Swash output to OlaFlow input