Skip to content

andreacangiani/AFEMT-2026

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AFEMT-2026

Course syllabus

Advanced FEM Techniques 2025/2026

Instructors

Prof. Andrea Cangiani <acangian@sissa.it>
Dr. Ankur Ankur <aankur@sissa.it>

Programs

  • (Ph.D.) Mathematical Analysis, Modelling, and Applications @ SISSA.

Description

This course provides a high level introduction to the numerical analysis of PDES and related high-performance computing techniques, focusing on problems in mechanics such as fluid dynamics. Students will acquire advanced understanding on Computational modelling techniques, both theoretical and practical. The course will utilise a combination of frontal lectures and live programming demonstrations using the C++ deal.ii (dealii.org) Finite Element Library.

Content:

Review of fundamentals of the Finite Element Method: theory and practice. A priori and a posteriori error estimates. Computational mechanics: fluid mechanics, linear elasticity. The discontinuous Galerkin Finite Element Method. Analysis of Finite Element Methods for the Stokes equations. Theory and approximation of the Navier-Stokes problem.

Tools for Finite Element programming. Data structures and mesh generation, numerical quadrature techniques. Assembling and storage. Direct and iterative solvers, preconditioning techniques. Numerical linear algebra packages. Solution of nonlinear systems.

High Performance Computing. Parallel computing. Using the Docker. Introduction to the deal.II Finite Element library. Hands-on sessions for developing and implementing finite element solvers using deal.II. Visualization tools.


Required skills

Prior knowledge of foundamentals about the numerical analysis of partial differential equations and in particular finite element method analysis.

Knowledge of programming fundamentals (syntax, data types, variables, control structures, functions) is required for this course.

Prior experience with a programming language, preferably C++.


Extra info

To participate in this course, students will be requested to bring their own laptop equipped with a working Linux or UNIX environment, whether standalone or virtualized. Students are expected to utilize either a text editor, such as Emacs, Vim, or Nano, or an Integrated Development Environment (IDE), such as VSCode, Eclipse, or Code::Blocks, according to their preference.

To ensure that their environment is suitable for the course, students should ensure that it meets the following requirements:

The environment must have a C++ compiler installed with full support for C++17, such as GCC 10 or newer, or Clang 11 or newer.

The environment must meet the minimum system requirements for running a Linux or UNIX environment with the necessary software and tools for the course.

Any recent Linux distribution, such as Ubuntu 22.04 or newer, or Debian 11 or newer, or macOS system that meets these requirements should be suitable for the course.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors