Home  >  Products  >  DigiMat Pro — Open & Free

DigiMat Pro — Open & Free

Digital Math is the unification of math and programming. You get a deeper understanding of algorithms rather than learning special cases by heart. This makes math useful and valuable for society and for you in your daily and professional life. You begin by understanding the math of the world around you, and step by step you create your own virtual world, by making physics simulations. Physics simulations are widely used in science and industry, such as aerodynamics, medicine and textile. By learning a few basic algorithms, anyone can carry out such simulations.

Try the technology behind DigiMat.

DigiMat Pro is offered through a collaboration with KTH Royal Institute of Technology in Stockholm, Sweden.

Learn about Open & Free OLI courses by visiting the “Open & Free features” tab below.


We present the Digital Math framework as the foundation for modern science based on constructive digital mathematical computation. The computed result (coefficient vector, FEM function, plot, etc.) is a mathematical theorem, and the mathematical Open Source code, here in the FEniCS framework, and computation is the mathematical proof. We can also derive additional constructive proofs from the FEniCS and FEM formulation, such as stability.

Based on the Digital Math framework and the FEniCS realization, we present our Direct FEM Simulation (DFS) methodology together with predictions of the most advanced benchmarks available, unlocking the grand challenge of turbulence and aerodynamics.

Digital Math represents digitalization of mathematics, society, industry and society in the form of automated and easily understandable computation of mathematical models in the Open Source FEniCS framework with world-leading performance and recognized at the highest level of science and industry together with an effective pedagogical concept with combined abstract theory and mathematical interactive programming in a cloud-HPC web-interface.

With our computational framework you can predict and understand the grand challenges of science and technology.

If you feel you need to prepare for Pro, start with DigiMat Basic or Mid:

Open & Free features

Open & Free Courses

  • Open & Free OLI courses enable independent learners to study a subject on their own terms, at their leisure. Courses are:

    • Self-guided.
    • Self-paced.
    • Self-supported.
  • Open & Free courses include only the learning materials:

    • No teacher.
    • No tests.
    • No college credit.
    • No certificate of completion.
  • *If your teacher gave you a Course Key, do not use an Open & Free course because your teacher will never see your work.

What students will learn

By the time they finish this course, students will learn to:

  • Understand and try how Digital Math underlies science and industry, and allows prediction of the mathematical models governing reality.
  • Understand the finite element method in a familiar linear algebra setting.
  • Learn how to optimally apply the finite element discretization with adaptivity for fast and cheap computation.
  • Get an overview of high performance and advanced predictive aerodynamics applications and learn about performance in an adaptive FEM and HPC setting.
  • Understand the mechanism of flight, aerodynamics and turbulence and how to efficiently predict flight simulation with Real Flight Simulation in Digital Math.

Learning objectives by module

Unit 2

  • Explain how physical phenomena in different fields can be described by the same mathematical model.
  • Connect fields of science to the study of particular partial differential equations.
  • Explain the concept of a Galerkin method to compute approximate solutions to a general PDE.
  • Explain the concept of a finite element method.

Unit 3

  • Explain the piecewise linear approximation of a function, such as the solution in FEM, including mesh and cell size in the mesh.
  • Explain the piecewise linear approximation in terms of basis functions in a function space, conceptually and in FEniCS.
  • Explain the L2 inner product, and the associated L2 norm of functions, conceptually and in FEniCS.
  • Formulate L2 orthogonal projection using the L2 inner product, compute examples in FEniCS and compare against interpolation.

Unit 4

  • Recall integration by parts in 1D and 2D/3D.
  • Formulate the Galerkin orthogonality of a general stationary PDE in weak form in FEM, conceptually and in FEniCS.
  • Explain the linear system associated with a general FEM discretization, conceptually and in FEniCS.
  • Formulate the weak form of a given general stationary PDE given in strong form.
  • Manipulate the basic components of FEM: weak form of PDE and piecewise linear approximation, conceptually and in FEniCS.

Unit 5

  • Learn about the mapping from a reference cell, conceptually and in FEniCS/FEniCS-mini.
  • Formulate the general assembly algorithm, conceptually and in FEniCS-mini.
  • How to enforce boundary conditions – the general Robin penalty formulation, conceptually and in FEniCS.

Unit 6

  • Recall time-stepping for ODE.
  • Formulate the Implicit Euler and Trapezoid method for a general PDE in weak form, both conceptually and in FEniCS.

Unit 7

  • Recall fixed-point iteration and Newton’s method.
  • Formulate Newton’s method for a non-linear general PDE, both conceptually and in FEniCS.

Unit 8

  • Formulate a posteriori error estimate of FEM for linear functional output – error representation.
  • Formulate a do-nothing duality-based adaptive error control algorithm.

Course outline

Unit 2: FEM in Science and Industry

  • Module 2: Lecture
    • Learning outcomes
    • FEM in Science and Industry
    • Reference text
  • Module 3: Learning Activities
    • Heat equation
    • Wave equation
    • Navier-Stokes equations
  • Module 4: Assignments
    • FEniCS in the MOOC
    • Partial differential equations
    • Heat equation
    • Wave equation
    • Euler equations

Unit 3: Galerkins method part 1

  • Module 5: Lecture
    • Learning outcomes
    • Galerkins method part 1
    • Galerkin Extra material (optional)
    • Reference text
  • Module 6: Learning Activities
    • Domain and mesh
    • Functions
    • Integrals
    • Function spaces in Galerkins method
    • Interpolation
    • Interpolation error
    • L2 projection (optional)
  • Module 7: Assignments
    • Galerkins method
    • L2 projection and basis functions
    • L2 projection error and optimality

Unit 4: Galerkins method part 2

  • Module 8: Lecture
    • Learning outcomes
    • Galerkins method part 2
    • Reference text
  • Module 9: Learning Activities
    • Weak form
    • Strong form
  • Module 10: Assignments
    • Strong and weak solutions
    • Weak form of an equation
    • Weak form in FEniCS
    • Navier-Stokes equations

Unit 5: Automated FEM assembly

  • Module 11: Lecture
    • Learning outcomes
    • Automated FEM assembly
    • Reference text
  • Module 12: Assignments
    • Theory of assembly
    • Manual assembly
    • FEniCS assembly

Unit 6: Solving nonlinear PDEs part 1

  • Module 13: Lecture
    • Learning outcomes
    • Solving nonlinear PDEs part 1
    • Reference text
  • Module 14: Learning Activities
    • Nonlinear ODEs
  • Module 15: Assignments
    • Time stepping methods
    • Time stepping methods: Large time step
    • Time stepping methods: Medium time step
    • Time stepping methods: Small time step

Unit 7: Solving nonlinear PDEs part 2

  • Module 16: Lecture
    • Learning outcomes
    • Solving nonlinear PDEs part 2
    • Reference text
  • Module 17: Learning Activities
    • Fixed-point methods
    • Newtons method manually in FEniCS
  • Module 18: Assignments
    • Iterative methods
    • Fixed-point methods
    • Fixed-point methods 2
    • Newtons method
    • Gateux derivative in FEniCS
    • Newtons method in FEniCS

Unit 8: Adaptive error control

  • Module 19: Lecture
    • Learning outcomes
    • Adaptive error control
    • Reference text
  • Module 20: Learning Activities
    • Manual mesh refinement
    • Improving the solution by local mesh refinement
    • Local vs global mesh refinement
  • Module 21: Assignments
    • Error indicators
    • Dual-based error estimates
    • Automated mesh adaptivity

Other course details

This course should take you about 15-20 hours to complete.

June, 2021

DigiMat Pro is developed by the DigiMat team, led by Johan Jansson. Prof. Jansson is an Associate Professor of Numerical Methods/Computational Science and Technology at KTH Royal Technical Institute of Sweden.

This work is part of an ongoing collaboration between CMU and KTH.

System requirements

OLI system requirements, regardless of course:

  • internet access
  • an operating system that supports the latest browser update
  • the latest browser update (Chrome recommended; Firefox, Safari supported; Edge and Internet Explorer are supported but not recommended)
  • pop-ups enabled
  • cookies enabled

Some courses include exercises with exceptions to these requirements, such as technology that cannot be used on mobile devices.

This course’s system requirements:

  • To do the activities, you will need  access to Google Colaboraty (Colab). Colab can be accessed via Google Drive or a Github account.  DigiMat Pro includes data files and software instructions, but not the software itself. For more information, see the Colab FAQ
OLI Website:
New look and
New student registration process

OLI’s website has undergone a refresh, and so has the student registration process. Watch the video to see how easily students can register with a Course Key.