[x] Extend the f-wave solver with support for bathymetry according to Eq. 3.1.1 and Eq. 3.1.2.
[x] Implement an example which illustrates the effect of bathymetry in your extended solver. Note: You have to add bathymetry to the respective patches implementing the abstract class patches::WavePropagation as well. Also, ghost cells require a valid value for the bathymetry, i.e., set b_0 := b1 and b{n+1} = b_n
3.2. Reflecting Boundary Conditions
[x] Implement reflecting boundary conditions as defined in Eq. 3.2.1.
[x] Show that you obtain the Ch. 2.1’s one-sided solution of the shock-shock setup if you set
everywhere initially and use reflecting boundary conditions at the right boundary, and outflow boundary conditions at the left boundary. Note: Reflecting boundary conditions for the right boundary can be implemented through a ghost cell
that is dry.
3.3. Hydraulic Jumps
[x] Compute the location and value of the maximum Froude number for the subcritical setting given in Eq. 3.3.1 and the supercritical setting given in Eq. 3.3.2 at the initial time
[x] Implement both cases through the base class setup::Setup.h. is a reasonable time window for your simulation.
[x] Determine the position of the hydraulic jump (stationary discontinuity) in your supercritical solution and show that our f-wave solver fails to converge to the analytically expected constant momentum over the entire domain.
3.4. 1D Tsunami Simulation
[x] Extract bathymetry data for the 1D domain, shown in Fig. 3.4.1, from the GEBCO_2021 Grid. Use a 250m sampling between the two points
[x] Extend the class tsunami_lab::io::Csv such that it can read your extracted bathymetry data.
[x] Add a new setup setups::TsunamiEvent1d which uses your CSV reader and the artificial displacement to initialize your quantities as defined in Eq. 3.4.1.
[x] Run and visualize the setup. What runup do you observe?
[ ] (optional) Modify the displacement! What are the impacts?
3.1. Non-zero Source Term
[x] Extend the f-wave solver with support for bathymetry according to Eq. 3.1.1 and Eq. 3.1.2.
[x] Implement an example which illustrates the effect of bathymetry in your extended solver. Note: You have to add bathymetry to the respective patches implementing the abstract class patches::WavePropagation as well. Also, ghost cells require a valid value for the bathymetry, i.e., set b_0 := b1 and b{n+1} = b_n
3.2. Reflecting Boundary Conditions
[x] Implement reflecting boundary conditions as defined in Eq. 3.2.1.
[x] Show that you obtain the Ch. 2.1’s one-sided solution of the shock-shock setup if you set everywhere initially and use reflecting boundary conditions at the right boundary, and outflow boundary conditions at the left boundary. Note: Reflecting boundary conditions for the right boundary can be implemented through a ghost cell that is dry.
3.3. Hydraulic Jumps
[x] Compute the location and value of the maximum Froude number for the subcritical setting given in Eq. 3.3.1 and the supercritical setting given in Eq. 3.3.2 at the initial time
[x] Implement both cases through the base class setup::Setup.h. is a reasonable time window for your simulation.
[x] Determine the position of the hydraulic jump (stationary discontinuity) in your supercritical solution and show that our f-wave solver fails to converge to the analytically expected constant momentum over the entire domain.
3.4. 1D Tsunami Simulation
[x] Extract bathymetry data for the 1D domain, shown in Fig. 3.4.1, from the GEBCO_2021 Grid. Use a 250m sampling between the two points
[x] Extend the class tsunami_lab::io::Csv such that it can read your extracted bathymetry data.
[x] Add a new setup setups::TsunamiEvent1d which uses your CSV reader and the artificial displacement to initialize your quantities as defined in Eq. 3.4.1.
[x] Run and visualize the setup. What runup do you observe?
[ ] (optional) Modify the displacement! What are the impacts?