Skip to content
View MRLintern's full-sized avatar

Block or report MRLintern

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
MRLintern/README.md

Hello ๐Ÿ‘‹, I'm Matthew Lintern-Monro, but I go by Matt

Contact Me:

Interests

  • Languages I prefer developing with: C, Modern C++, Fortran, Rust & Golang.

  • High Performance Computing. E.g OpenCL & SYCL; I'll be doing some projects using these (at some point in the next couple of months).

  • Computational Science.

  • Systems Programming: E.g. Operating Systems/Kernel Development & Compiler Development

  • Scientific Programming: E.g. Modelling and Simulation of problems in Fluid Dynamics & the Physical Sciences.

  • Applied Mathematics: E.g. Numerical Analysis: Numerical Linear Algebra and Numerical Ordinary/Partial Differential Equations.

What I'm up to?

  • Developing a Modern Fortran Solver for 2D Heat Diffusion Through Different Geological Materials. Makes use of OOP techniques and the OpenMP API. Project Name: 2DGeoHF.

  • viscousRiver: a C++ solver for modelling a Viscous Fluid flowing through a Channel. Makes use of the Finite Element Method (FEM) and the Eigen Template Library (Eigen) for the Algebra.

  • Developing a C++ Solver for the Burgers Equation for 2D Channel Flow. Concepts/tools that will be utilised: OOP, the Finite Element Method (FEM) and the Eigen Template Library for the Algebra. Project Name: 2D_BurgerFEM.

Projects that are Comming Up

  • Re-developing the NavierStokes-2D-ChannelFlow Fortran Solver from a Serial to a Parallel version, making use of OOP techniques and the OpenMP API.

  • sigPro. This is a Dynamic Library (.SO) developed in Modern C++, (hopefully C++20), which allows user to perform basic Signal Processing tasks. E.g. converting spacial or temporal data into frequency data via the Discrete Fourier Transform (DFT).

  • fastDFT. Using OpenCL to develop a solver for the Discrete Fourier Transform (DFT).

  • lidFlowFVM. This is a C++ solver, which models Lid-Driven Cavity Flow. The Discretization Method used will be the Finite Volume Method (FVM). Everything else will be developed by myself.

  • Developing Unit Tests for a number of solvers developed in C. See repositories from High Performance Computing Applications for Physical Simulation.

  • A Dynamic Library called cfvmLib, developed in C++, (hopefully C++20), for problems in Fluid Dynamics. The Discretization Method used will be the Finite Volume Method (FVM). Linear problems will be tackled first; hopefully Non-Linear problems will be tackled not too far down the line!

  • Linux Kernel called basix.

  • Operating Systems: Three Easy Pieces. I've been meaning to read this for years!

  • Compiler using C. Language implementation will (hopefully) be with Rust.

  • Operating System developed in Rust. Project Name: ros.

  • RDBMS (SQL) developed in C++. Hopefully look at doing this with C++20. Project Name: CDB++.

  • Distributed File System development in Golang. Project Name: GoDistIt.

  • Rust version of Git. Project Name: RustIt.

  • Compiler Development using LLVM.

  • Heterogeneous Programming: Using SYCL to develop a Numerical Solver for the Linear 2D Heat/Diffusion Equation. Could be any Partial Differential Equation; TBC.

Top Languages

Top Langs

Tools and Technologies

Programming Languages
Scripting
Data Analytics
Text Editors
Databases
Other

Sample Projects (at the click of a button)

Below shows a list of links to some of my repositories.

Systems Programming

Scientific Computing

High Performance Computing Applications for Physical Simulation

Pinned Loading

  1. NavierStokes-2D-ChannelFlow NavierStokes-2D-ChannelFlow Public

    2D Navier-Stokes Equation Solver. Discretized using Finite Differences and solved via the Successive Over-Relaxation (SOR) Method.

    Fortran 4

  2. cppHTOP cppHTOP Public

    System Monitor similar to htop which displays Computer System Processes in Real-Time.

    C++

  3. Shallow_Water_Equations Shallow_Water_Equations Public

    Application of the Shallow Water Equations to Oceanography & Planetary Atmospheres

    MATLAB 1

  4. 2D_Poisson_Equation_OpenMP 2D_Poisson_Equation_OpenMP Public

    2D Poisson Equation Solver. Discretized using the Finite Difference Method & Solved by Parallelising the Jacobi Iterative Method via the OpenMP API.

    C 1 1

  5. Boundary-Value-Problem_Library Boundary-Value-Problem_Library Public

    A C++ Designed Library used for Solving Boundary Value Problems (BVP). More of a Header File than a .SO library (Linux) or .DLL (Windows)

    C++

  6. viscousRiver viscousRiver Public

    a C++ solver for modelling a Viscous Fluid flowing through a Channel. Makes use of the Finite Element Method (FEM) and the Eigen Template Library (Eigen) for the Algebra.

    C++