Organisation of Scientific Computing 2

Table of Contents

1 Organisation of Scientific Computing 2

1.1 Introduction

1.1.1 Scientific Computing 2 (Galerkin h/p methods)

  • The course is an extension of Scientific Computing 1 (CS1) given the first semester of the 2nd year master. It uses some of the ingredients of CS1 and presents new ones in the context of the finite element software Life written in C++1
  • We have 6 weeks from January 4th to February 9th, 2 days per week, 2 courses and 2 practical sessions.

1.1.2 Courses

  • Courses given by C. Prud'homme2
  • When/Where
    • Mondays: (C) 11:30-13:00 Room F211
    • Tuesdays: (C) 13:30-15:00 Room F211
  • Course notes in english will be provided.

1.1.3 Practical Sessions

  • Practical session given by M. Ismail3
  • When/Where
    • Mondays: (P) 17:00-18:30 Room F212
    • Tuesdays: (P) 11:30-13:00 Room F211
  • Will be in computer rooms with bi processors and 4Go of RAM
  • Must use the Linux OS (no windows), Debian or Ubuntu distros are preferred
  • Requirements: knowledge in C++ programming environment (compilation of large software, …).
  • A course on software tools is being developed by C. Prud'homme and F. Faure that may help you with this course. Check out this page Some of the slides/courses notes are already available
  • Visualisation will be done with Paraview4

1.1.4 Time table

SessionsCourse(h)Practical(h)Total(h eq TD)
Intro Life21.54.5
Large Sparse Systems31.56.
Galerkin Methods6312.

1.2 Weekly organisation

1.2.1 Week 1:

  • Course
    • Session 1 : introduction (1h) + introduction life
    • Session 2 : introduction life
  • Practical session
    • Session 1 : introduction to life
    • Session 2 : introduction to life + presentation of the project

1.2.2 Week 2:

  • Course
    • Session 1 : Mesh
      • mesh generation
      • localisation, localize points in a mesh, see kd-trees and ann5
    • Session 2 : Mesh
      • localisation,
      • adaptation
  • Practical session
    • Session 1 : Use the Chain OpenCascade6, Gmsh7 and MadLib8

    Use OpenCascade to define the geometry, import the geometry in Gmsh and adapt the mesh using Madlib according to a given metric (e.g. given by life, or something else)

    • Session 2 : Project

1.2.3 Week 3:

  • Course
    • Session 1 : Large sparse linear systems
    • Session 2 : Large sparse linear and nonlinear systems
  • Practical session
    • Session 1 : Manipulation and comparison of various methods
      • provide one linear example and one nonlinear example
      • exercise the solvers/preconditioners from the course
      • look for information on Trilinos9/Petsc10 websites to get help on the solver/preconditioner availability
      • test the code/solvers with respect to solver type, preconditioner type, dimension and polynomials order.
      • measure number of iterations and computing time. Report them in tables
    • Session 2 : Project

1.2.4 Week 4:

  • Course
    • Session 1 : Galerkin methods
      • high order approximation in nD, n=1,2,3
    • Session 2 : Galerkin methods
      • high order approximation in nD, n=1,2,3
      • other elements: Raviart Thomas, Nedelec, Crouzeix-Raviart, …
  • Practical session
    • Session 1 : Numerical tests
      • convergence order plots with respect to and ,
      • choose quadratures properly,
      • use only one domain and very high order approximation. Compare it with low order and many elements,
      • test with respect to geometry order and observe convergence with respect to and
    • Session 2 : Project

1.2.5 Week 5:

  • Course
    • Session 1 : Galerkin Methods
      • Mixed problems: Saddle point formulations, Stokes and Darcy
    • Session 2 : Galerkin Methods
      • Mixed problems
      • Galerkin Least Square Methods
  • Practical session
    • Session 1 : Numerical Tests
      • Invalid mixed elements wrt to inf-sup and show the chessboard effect
      • observe convergence wrt to and for some families of space pairs (e.g. , )
      • For darcy (i) compare various strategies, RT+Lag, RT+Crouzeiz-Raviart, VLag+Crouzeiz-Raviart, (ii) observe the local conservation (or not) of mass or

      the fact that the Darcy laws verified locally

    • Session 2 : Project

1.2.6 Week 6:

  • Course
    • Session 1 : Advanced Models
      • Flows : fluid mechanics (Navier-Stokes) and flows in porous media (Darcy)
    • Session 2 : Advanced Models
      • Flows
      • Elasticity

    Note that if necessary this session may actually be used for Galerkin Methods and make sure we cover mixed problems and Stabilisation methods properly. It could be also that we extend Galerkin methods with a section on a posteriori error estimate and mesh adaption.

  • Practical session
    • Session 1 : Project
    • Session 2 : Project

1.3 Project

1.3.1 Project

  • The project is presented the first week at the second session. Every week, one of the practical session is dedicated to the project.
  • The project is the simulation of a cooling system for electronic components. This is a coupling between heat-transfer (heat equation) and fluid flow (poiseuille or Navier-Stokes flows). Ideally this problem will be treated fully nonlinearly using a Newton solver in both steady and unsteady cases. Alternatives approximation spaces may be used for comparisons. Performance indices will be computed to check the behavior of the system.

1.4 Validation of the Course

1.4.1 Validation

The course is validated as follows:

  • Report in LaTeX on the project with at least two of the practical sessions in an appendix
  • 20 minutes of oral presentation where the students present the project and the associated results and one of the practical sessions they have written in the appendices
  • Grade is given as follows:
    • quality of report
    • quality of oral presentation
    • advancement in the project
    • answers to questions on the practical sessions and the project
    • failing to write one of the two practical sessions will automatically reduce the grade
  • Students can be in groups of at most 2 persons


Author: M. Ismail, C. Prud'homme <>

Date: <2008-08-25 Mo>

HTML generated by org-mode 6.31a in emacs 23