The course will discuss the theory and practice of Finite Element and Volume Methods. The theoretical part will follow course notes provided by the Instructor, advanced textbooks on Differential Equations, Iterative Methods for Sparse Linear Systems and numerical methods of Optimization. A part of the course will be held in a Laboratory setting where the methods discussed will be implemented in Matlab, using either the commercial version provided by Mathworks or else the open source version GNU Octave. In addition, the packages FreeFem++ and Clawpack will be introduced. At the end of the course the student is expected to have an excellent knowledge of the scientific and computational aspects of the techniques used to solve Partial Differential Equations by means of Finite Elements and Volumes.
The course will discuss the following topics:
* Minimum Principle and the weak form, existence, uniqueness and regularity
* The Rayleigh-Ritz and Galerkin methods, optimization methods, methods for the solution of sparse linear systems
* Transport and Diffusion equations, artificial diffusion, the generalized Galerkin method, discontinuous elements
* Hyperbolic and parabolic equations, semi and completely discretized problems
* Optimal Control of PDEs, Primal and Dual approaches, FDTO-FOTD approaches, Newton-type methods and SQP methods, Optimal Transport problems
|R. J. LeVeque||Finite-Volume Methods for Hyperbolic Problems||Cambridge University Press||2004|
|Yousef Saad||Iterative Methods for Sparse Linear systems||SIAM||2013||Available online.|
|R. J. LeVeque||Numerical Methods for Conservations Laws||Springer||1992|
|Alfio Quarteroni||Numerical Models for Differential Problems (Edizione 3)||Springer||2017|
The purpose of the exam is to see if the student is able to recall and reproduce the theory and practice of Finite Elements. The exam will be oral. Alternatively, the student may choose to be examined on the basis of a specific software programming language. In this case, part of the evaluation will be replaced by a small project using the package FreeFem++ or Clawpack.