This repository contains the materials used for the applied numerical computing series in TuxRiders. The materials are obtained from the following sources with very minor changes and adaptation:
- Lectures on scientific computing with Python by Robert Johansson
- Practical Numerical Methods with Python by Lorena A. Barba, Ian Hawke, and Bernard Knaepen
- An Easy Introduction to Finite Element Method and Variational Formulation by Mojtaba Barzegari
The mentioned repositores are embedded (and then partially modified) as git subtrees in this repository.
- Introduction to scientific computing with Python
- Introduction to Python programming
- Numpy - multidimensional data arrays
- SciPy - Library of scientific algorithms for Python
- matplotlib - 2D and 3D plotting in Python
- Sympy - Symbolic algebra in Python
- Tools for high-performance computing (HPC) applications
- Revision control software
- Initial-value problems: solving nonlinear ordinary differential equations
- General aspects of numerical solution of partial differential equations
- Riding the wave: convection problems
- Spreading out: diffusion problems
- Elliptic problems
- Quick overview of the finite element method
- Function approximation by global functions
- Function approximation by finite elements
FreeFEM code - function approximation - Variational formulations with global basis functions
- Variational formulations with finite elements
FreeFEM code - variational formulation and solution of Poisson equation - Time-dependent variational forms
FreeFEM code - time dependent diffusion equation with variable diffusion coefficient - Variational forms for systems of partial differential equations
FreeFEM code - Stokes equations for lid cavity problem - Dealing with nonlinearity
FreeFEM code - Picard method for nonlinear Poisson equation
FreeFEM code - Picard-relaxation for nonlinear Poisson equation
FreeFEM code - Newton method for nonlinear Poisson equation - Iterative solvers and preconditioning
FreeFEM code - high-performance solution of Poisson equation using PETSc