# Some of my codes

This is a list of my codes most of which are freely available. A more complete list can be found on my github, bitbucket and gitlab pages.

## Codes for teaching

The following repos contain codes I have developed for teaching purpose.

- python: A short introduction to Python relevant for numerical analysis courses that I teach.
- na: Codes for a numerical analysis course
- nla: Codes for a numerical linear algebra course
- numpde: Codes for computational pde course: finite difference, finite volume
- chpde: Codes for computational hyperbolic pde course: finite volume
- chebpy: Based on Trefethen: Spectral Methods in Matlab, rewritten in python
- fem: Codes for a finite element course
- fem50: A simple FEM code for 2-d poisson equation written in matlab
- juliafem: A simple FEM code for 2-d poisson equation written in Julia
- parallel: Some examples of parallel computing : MPI, openmp, petsc

## Finite volume Codes

- fvm2d: 2-D vertex-based finite volume code on triangular grids with Spalart-Allmaras turbulence model.
- euler2d: A 2-D inviscid, compressible, finite volume code together with an adjoint solver. It uses triangular grids and automatic differentiation (Tapenade).
- flo2d: Vertex-centroid finite volume scheme on triangular grids for inviscid and viscous flows
- flo3d: Vertex-centroid finite volume scheme on tetrahedral grid for inviscid and viscous flows
- nuwtun: 2/3-D structured grid, cell-centered, finite volume code for Euler/NS equations. Also has adjoint in 2-D.
- gFoam: Godunov FV code based on OpenFoam
- ug2lib: Library to manage 2d unstructured grids
- UG3: 3-D unstructured grid finite volume code for compressible flows

## Codes

- deal.II: My finite element codes written using deal.II library
- DG code using deal.II
- dflo: 2-D DG Euler code using deal.II
- HyFLO: Hybridizable discontinuous Galerkin code for compressible Navier-Stokes equations written in deal.II
- BVTE: A DG code for the Barotropic vorticity transport equation on the sphere written in deal.II
- Fenics: My finite element codes written using Fenics library
- Examples using nek5000
- cfdlab: This is a collection of many small codes I am working on
- ffdtool: Free-form deformation tool used for shape optimization (closed source)
- optool: Parallel Optimization tool based on PSO and surrogate models (closed source)
- dgswm: Discontinuous Galerkin code for rotating shallow water equations on the sphere, written in deal.II
- semswm: Spectral element code for rotating shallow water equations on the sphere, written in deal.II

## Other codes

- spectral_matlab: Spectral methods in matlab. For python version of these codes, see here.
- nsc2ke: Written by B. Mohammadi. 2-d vertex-based finite volume code on triangular grids, inviscid, viscous, turbulence models.