- Docente: Michele Ruggeri
- Credits: 9
- SSD: MAT/08
- Language: Italian
- Moduli: Michele Ruggeri (Modulo 1) Nicholas Fantuzzi (Modulo 2)
- Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
- Campus: Bologna
- Corso: Second cycle degree programme (LM) in Civil Engineering (cod. 0930)
-
from Feb 20, 2024 to May 09, 2024
-
from May 14, 2024 to Jun 06, 2024
Learning outcomes
At the end of the class, the student has the knowledge of the most important computational tools in civil engineering, with a particular focus on numerical methods for the solution of algebraic and differential systems.
Course contents
Module 1
Introduction to programming in MATLAB
* Variable assignment (scalars and vectors)
* Arithmetic operations with scalars, vectors and matrices
* Functions and graphical tools
* Conditional statements and loops
* Programming in MATLAB (vectorization)
Basic concepts in numerical mathematics
* Error sources
* Floating point representation of real numbers
* Rounding
* Error propagation in arithmetic operations
* Condition number of a problem, stability, convergence
Approximation of functions and data
* Lagrange polynomial interpolation
* Evaluation of approximation errors
* Equispaced points and Chebyshev points
* Interpolation with piecewise polynomials (splines)
* Least squares approximation of functions and data
Numerical differentiation and integration
* Approximation of derivatives
* Quadrature rules based on interpolation
* Midpoint rule, trapezoidal rule, Simpson rule
* Newton-Cotes rules
* Simple and composite quadrature rules
* Degree of precision of a quadrature rule
* Gauss rules
* Monte Carlo method for numerical integration
Direct methods for the solution of linear systems
* LU factorization and Gauss elimination method
* Choleski factorization
* Pivoting
* Error analysis and condition number of a matrix
* Overdetermined linear systems
Iterative methods for the solution of linear systems
* Classical methods and convergence analysis
* Jacobi, Gauss-Seidel and Richardson methods
* Gradient and conjugate gradient method
* Preconditioning
* Stopping criteria
Methods for the solution of (systems of) nonlinear equations and for optimization problems and for optimization problems
* Bisection, secant, and Newton method for nonlinear equations
* Extension to nonlinear systems
* Optimization (unconstrained)
* Newton method and descent method
Approximation of eigenvalues and eigenvectors
* Rayleigh quotient
* Power method and its generalization
Ordinary differential equations
* Cauchy problem
* Euler and Crank-Nicolson methods
* Consistency, stability, convergence
* Absolute stability regions
* Higher-order methods
* Systems of differential equations
Module 2
Partial differential equations
* Elliptic equations
* Parabolic equations
* Hyperbolic equations
Interpolation and collocation
* Cardinal basis functions
* Gauss integration
* Transformation and computation of derivatives
* Boundary value problems
* Solutions with basis rearrangement
Numerical methods for space-time problems
* Parabolic equations
* Finite differences in time
* Finite differences in space
* Hyperbolic equations
Change of coordinates
* Chebyshev polynomials
Virtual work and energetic principles in mechanics
* Principle of virtual work
* Principle of minimal total potential energy
* Hamilton principle for discrete systems (Lagrange method)
* Hamilton principle for continuum systems
Direct variational methods
* Strong, weak and variational formulations
* Ritz method
* Weighted residual method
Finite element method
* Isoparametric elements in 1D
* Isoparametric elements in 2D
Readings/Bibliography
The course material (slides, lecture notes and exercises) will be made available on Virtuale. Useful textbooks:
* A. Quarteroni, F. Saleri, P. Gervasio: Calcolo scientifico. Springer, 2017.
* J. P. Boyd: Chebyshev and Fourier spectral methods. Dover, 2000.
* A. J. M. Ferreira, N. Fantuzzi: MATLAB codes for finite element Analysis. Springer, 2020.
Teaching methods
Frontal lectures, exercise sessions in lecture hall and in computer lab, independent solution of homeworks.
Assessment methods
Final exam and coursework.
Teaching tools
Computer lab sessions in which the software MATLAB will be used.
Office hours
See the website of Michele Ruggeri
See the website of Nicholas Fantuzzi
SDGs
This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.