Detailed program of the course 

“Advanced numerical methods for environmental modeling”

May 15 – 31, 2024

Room 1H and 1L of the DICAM building, Via Mesiano 77, Trento


Week 1 (room 1H)

Wednesday, May 15, 2024 Prof. Ilya PESHKOV

Morning (9:00 – 12:00) 

Introduction to the course: course content, the Didattica Online system, and information about the exam.  


Hyperbolic and parabolic equations (examples, Euler, shallow water,  Navier-Stokes, Richards equations). The linear scalar advection equation: exact solution of the Cauchy problem, method of characteristics, Eulerian and Lagrangian description, Riemann problem, Linear scalar advection equation with variable coefficients. Linear hyperbolic systems: Characteristic variables, Riemann problem for linear hyperbolic systems. Finite difference approximation of derivatives. The concept of Upwinding.


Accuracy and stability of numerical methods.

Analysis of errors: local truncation error, the modified equation method, and the von Neumann method of linear stability analysis.

 

Afternoon (14:00 – 17:00) Coding session

Finite difference methods for linear advection.

Introduction to Matlab. Practical implementation of various finite difference schemes for linear advection equations (Upwind scheme, Central scheme, Lax-Wendroff, Lax-Friedrichs) and linear hyperbolic systems. Extension to the 2D scalar advection with variable coefficients.

 


Thursday, May 16, 2024 Prof. Annunziato SIVIGLIA


Morning (9:00 – 12:00)

Lax-Friedrichs method, Lax-Wendroff method, FORCE method, Flux-splitting method for the 1D SWE equations. 1D SWE equations in noncoservative form: consequences on the shock speed evaluation. Introduction to 1D nonconservative systems and path-conservative schemes.   


Afternoon (14:00 – 17:00) Coding session

Implementation of the  FORCE and Flux-splitting method for the 1D SWE equations.



Friday, May 17, 2024 Prof. Annunziato SIVIGLIA


Morning (9:00 – 12:00)

Path-conservative schemes of upwind (Pares-Munoz-Godunov scheme) and centered type (PRICE-C scheme). Introduction to the 1D SWE-Exner model.  Flux-splitting scheme for the 1D SWE-Exner model.


Afternoon (14:00 – 17:00) Coding session

Implementation of the PRICE-C scheme

Week 2 (room 1L)

Monday, May 20, 2024 Prof. Annunziato SIVIGLIA


Morning (9:00 – 12:00)

The DOT nonconservative solver. Pollutant transport by shallow water equations: Hyperbolization of the model and

numerical solution via a flux splitting scheme.


Afternoon (14:00 – 17:00) Coding session

Implementation of the Flux-splitting scheme for the 1D SWE-Exner model.

Implementation of the Flux-splitting scheme for the hyperbolized 1D SWE Advection-diffusion equation



Tuesday, May 21, 2024 Prof. Ilya PESHKOV


Morning (9:00 – 12:00) 

Nonlinear scalar conservation laws. The finite volume method. Exact solution of the Riemann problem for general scalar conservation laws. Shock waves and rarefaction fans. The integral form of the conservation law and finite volume method. The Godunov method. 

Riemann problem for the shallow water equations.

Systems of nonlinear conservation laws, nonlinear waves: rarefaction and shock waves for the shallow water equations, Riemann invariants. Assembling the solution to the Riemann problem.


Afternoon (14:00 – 17:00) Coding session

Practical implementation of the exact Riemann solver and of the Godunov finite volume method for nonlinear scalar conservation laws.

Implementation of the Godunov scheme for the 1D Shallow Water Equations with the exact Riemann solver.

 


Wednesday, May 22, 2024 Prof. Ilya PESHKOV


Morning (9:00 – 12:00)

Approximate Riemann solvers and TVD schemes.

HLL Riemann solver for the shallow water equations, Rusanov numerical flux. High-order reconstruction, 2nd order in space method of Kolgan, 2nd order space-time MUSCL-Hancock scheme.

Afternoon (14:00 – 17:00) Coding session

Coding the MUSCL-Hancock scheme for the 2D shallow water equations with the Rusanov numerical flux.


Thursday, May 23, 2024 Prof. Ilya PESHKOV


Morning (9:00 – 12:00)

Finite-volume methods for linear and nonlinear diffusion equations.

Energy conservation and the Fourier law of heat conduction. FTCS and BTCS schemes: stability analysis, local truncation error analysis for the linear heat equation.

BTCS with Neumann and Dirichlet boundary conditions, heterogeneous material properties. The conjugate gradient method (brief introduction, main properties, and efficient matrix-free implementation).

Afternoon (14:00 – 17:00) Coding session

Practical implementation of the finite volume FTCS and BTCS method for the 2D linear heat equation. Matrix-free conjugate gradient method for the 2D problem with Neumann and Dirichlet type boundary conditions.


Friday, May 24, 2024 Prof. Ilya PESHKOV


Morning (9:00 – 12:00)

BTCS and FTCS schemes for the Stefan problem (solidification).

BTCS scheme for the nonlinear parabolic equation. Nested Newton method of Casulli and Zanolli for mildly nonlinear algebraic systems. Implementation of the FTCS scheme for the 1D Stefan problem.

 

Afternoon (14:00 – 17:00) Coding session

Implementation of the 1D FTCS scheme and  2D BTCS scheme for the nonlinear parabolic PDEs and application to the Stefan problem: the nested Newton method of Casulli and Zanolli, choice of the initial guess, outer and inner iterations, comparison with the exact solution.

Week 3 (room 1H)

Monday, May 27, 2024 Prof. Ilya PESHKOV


Morning (9:00 – 12:00)

Semi-implicit method for 2D Incompressible Navier Stokes equations (INSE) on Cartesian staggered grids with FTCS and BTCS scheme for diffusion, transport of a passive scalar, and Boussinesq approximation for buoyancy.


Afternoon (14:00 – 17:00) Coding session

Coding: implementation of the SIMPLE method with FTCS and BTCS discretization of the viscous terms, advection-diffusion of a passive scalar. 

 

Tuesday, May 28, 2024 Prof. Ilya PESHKOV


Morning (9:00 – 12:00)

Continue the implementation of the SIMPLE method.


Afternoon (14:00 – 17:00) Coding session

Coupling the SIMPLE code with the semi-implicit code (Casulli-Zanolli method) for the Stefan system (solidification + convection)



Wednesday, May 29, 2024 Prof. Ilya PESHKOV


Morning (9:00 – 12:00)

Semi-Implicit methods for hyperbolic equations (the concept of an all-Mach number scheme).

The idea of splitting a flux into explicit (non-stiff) and implicit (stiff) parts. The semi-implicit staggered scheme of Dumbser-Casulli for the Euler equations. 


Afternoon(14:00 – 17:00) Coding session

Implementation of the 1D semi-implicit scheme of Dumber-Casulli for the Euler equations with the matrix-free conjugate gradient method for the pressure subsystem. 


Thursday, May 30, 2024 Prof. Ilya PESHKOV


Morning (9:00 – 12:00)

Discussion of the Semi-implicit method of Casulli for low-Froude number Shallow-Water Equations with wetting and drying conditions. Coupling of the SWE and sediment transport equations (Exner equation).


Morning (9:00 – 12:00) Coding session

Implementation of the method of Casulli for SWE with wetting and drying conditions, extension to SWE-Exner.



Friday, May 31, 2024 Prof. Ilya PESHKOV


Morning (9:00 – 12:00) Coding session

Coupled nonlinear hyperbolic and nonlinear parabolic equations (Shallow Water+Richards) –  shallow water with a permeable bottom. Discussion of the semi-implicit discretization strategy and of the nested Newton’s method of Casulli-Zanolli for mildly nonlinear systems and its realization for the SWE-Richards equations.

 

Afternoon (14:00 – 17:00)

Implementation of a semi-implicit scheme for the 2D SWE-Richards system (semi-implicit Cassuli scheme for the hyperbolic part + BTCS Casulli-Zanolli for the nonlinear parabolic)


Discussion of the projects for the exam.