Skip to content

Latest commit

 

History

History
40 lines (37 loc) · 2.97 KB

File metadata and controls

40 lines (37 loc) · 2.97 KB

project: SWALS output_dir: ./doc/ project_github: https://github.com/GeoscienceAustralia/ptha/tree/master/propagation/SWALS/ summary: Shallow WAter Like Solvers (SWALS) computes solutions to several variants of the 2D shallow-water equations (linear/nonlinear) in cartesian and spherical coordinates, on domains represented as a connected set of structured grids. author: G Davies graph: true src_dir: ./src/raster/ src_dir: ./src/util/ src_dir: ./src/parallel/ exclude_dir: ./src/parallel/tmp/ src_dir: ./src/shallow_water/ exclude_dir: ./src/shallow_water/tmp/ src_dir: ./tests/unit_tests/ exclude_dir: ./tests/unit_tests/OUTPUTS/ src_dir: ./tests/parallel_tests/ exclude_dir: ./tests/parallel_tests/OUTPUTS/ exclude_dir: ./examples exclude: point2point_include_recv_p2p.f90 exclude: point2point_include_send_p2p.f90 exclude: domain_mod_compute_fluxes_alternatives_include.f90 exclude: domain_mod_compute_fluxes_DE1_inner_include.f90
exclude: domain_mod_routines_vectorized_include.f90 exclude: domain_mod_compute_fluxes_EEC_include.f90 exclude: domain_mod_compute_fluxes_EEC_inner_include.f90 exclude: domain_mod_leapfrog_nonlinear_include.f90 exclude: domain_mod_linear_solver_include.f90 exclude: domain_mod_leapfrog_solver_friction_include.f90 exclude: domain_mod_update_U_DE1_alternatives_include.f90 exclude: domain_mod_update_U_DE1_inner_include.f90 exclude: domain_mod_update_U_DE1_inner_include_openacc.f90 exclude: domain_mod_timestepping_alternatives_include.f90 exclude: domain_mod_with_tasks.f90 exclude: sort_index_template.f90 exclude: sort_index_template2.f90

Shallow WAter Like Solvers (SWALS) computes solutions to several variants of the 2D shallow-water equations (linear/nonlinear) in cartesian and spherical coordinates, on domains represented as a connected set of structured grids. A number of different numerical methods are implemented, suitable for a range of flow regimes. This includes classical leapfrog schemes, shock-capturing finite volume schemes, and the CLIFFS solver developed by Elena Tolkova (which is similar to MOST but uses a different wetting and drying scheme).

Two-way nesting allows for the use of higher-resolution domains in specified areas. Where domains overlap, the highest-resolution domain is the "priority domain" meaning it contains the solution. Domains communicate with each other via halo exchange, and only receive data from "priority-domain" regions. Different domains may use different numerical solvers, and take different timesteps. For some solvers, flux correction is used to enforce the conservation of mass and advected momentum through nested domain interfaces.

Parallel computation (shared and distributed memory CPU) is supported with a mixture of MPI (or Fortran coarrays) and/or openmp. Static load balancing can be used to improve the efficiency of large parallel jobs. The code includes a unit test suite, a parallel unit test suite, and a validation test suite (the latter focussing on tsunami type problems).