MTH3340 will introduce you to the numerical approximation of partial differential equations. (PDEs). As you probably know at this stage, the analytical solution of PDEs is only feasible in very limited situations (simple geometries and differential operators).
Many problems of interest in science, engineering, medicine, etc., are modelled by PDEs. However, in practical situations, the analytical solution is not feasible. Therefore, the only way to extract information about these mathematical models is by approximation techniques, the main topic of this unit.
We will see that solutions of PDEs live in infinite dimensional vector spaces (the ones you have learned in linear algebra, but with infinite dimensions). To do this, we will learn about the weak form of a PDE. Then, we will design finite-dimensional spaces that can approximate any function in the infinite-dimensional ones. Finally, by solving our weak form of the PDE in the finite-dimensional space (instead of the infinite-dimensional one), we will get approximations of the exact problem (Galerkin method).
One constructive way to define these approximation spaces is the finite element method. This technique relies upon a geometrical discretisation. The domain in which the PDE is posed is split into "elements", creating a "mesh". By increasing the number of elements, we can approximate the solution with the desired level of accuracy. Finite element methods transform PDEs into discrete (linear or nonlinear) algebraic systems. Discrete systems can readily be computed using computers. However, the size of these discrete problems increases with the number of elements (more accuracy implies more computational cost). Not surprisingly, the most complex applications (e.g., mantle convection on the Earth's crust or the flow around an aircraft) require supercomputers to be solved accurately.
In this unit, we will go through all these methods, paying particular attention to their mathematical foundations. In any case, we will also learn how to implement these algorithms and use advanced scientific software Gridap
to run these methods and gain intuition. Gridap
is written in Julia, a pretty recent programming language. Thus, we will use Julia in MTH3340.
Please check here
Please check here
Find the lecture notes here