72762 - Numerical Methods For Civil Engineering M

• Moduli: Michele Ruggeri (Modulo 1) Nicholas Fantuzzi (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
* 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

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.