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:


About Me

  • Geophysicist by trade who fell into Data Science & Machine Learning.
  • My real passion is Scientific Programming & Software Engineering applied to areas in Applied Mathematics, such as Geophysical Fluid Dynamics and Numerical Analysis.
  • I'm also interested in Computational Science; it takes the best parts of Computer Science and combines them with Science.

Interests

  • Languages I love working with:

    • C,
    • Modern C++,
    • Fortran,
    • Python,
    • MATLAB.
  • Machine Learning (Fluid Dynamics). E.g. Application of Deep Learning Algorithms/Methods for replacing or augmenting Conventional Numerical Solvers in Fluid Dynamics.

  • Machine Learning (Natural Language Processing). I've used this in a couple of jobs and it proved to be very informative. E.g. I used Sentiment Analysis while working at Tesco to understand customer opinions of Tesco products.

  • Computational Science.

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

  • Systems-Level Programming.


What I'm Up To

Currently Working on:

  • Tsunami-Solver: A C++17 Non-Linear Solver which models Tsunamis by solving the 2D Shallow Water Equations.

Future Projects:

  • The following projects are ideas; I might not do them.

  • Ocean-Kit: A C++17 Library which helps users solve Partial Differential Equations (PDEs) that model different 2D Ocean Models.

  • Developing a Modern (Pure) Modular Fortran version of NavierStokes-2D-Open-Channel-Flow using OOD. Unlike the original solver, this one uses Coarrays and Domain Decomposition for Parallelism.

  • Barotropic-Circulation: A C++17 solver which models Large-Scale Ocean Gyres and Wind-Driven Circulation by solving the Linearized Shallow Water Equations on a Beta Plane using FEM.

  • GeoCoreFlow: This project looks at producing Core-Surface Flow Maps/Models at the Earths Core Mantle Boundary (CMB). These maps are created by solving an Ill-Posed Inverse Problem. The Magnetic Induction Equation is inverted to find the Flow Velocity of the Earth's Liquid Outer Core at the top of the CMB. Magentic Field Data from, e.g. CHAMP will be used to for modelling the Geomagnetic Field near Earth's surface. I.e. mapping the Geomagnetic Field onto a Spherical Shell, and Secular Variation Data from, e.g., CHAOS or IGRF will be used to invert the Magnetic Induction Equation with Physical Constraints/Assumptions. Key Technologies/Techniques/Theory to be used: C++17, Eigen Template Library, Python, Inverse Theory, Fluid Dynamics, Spectral Methods and other Numerical Methods for the solver.


Top Languages

Top Langs


Sample Projects

  • Some projects I'm quite chuffed of can be found below:

Scientific Computing

High Performance Computing Applications for Physical Simulation


Pinned Loading

  1. NavierStokes-2D-Open-Channel-Flow NavierStokes-2D-Open-Channel-Flow Public

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

    Fortran 4

  2. 1D_Wave-Equation-MPI 1D_Wave-Equation-MPI Public

    1D Wave Equation Discretized using Finite Differences and Solved via Parallelizing the Jacobi Method with MPI

    C 2

  3. 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

  4. StokesianFlow StokesianFlow Public

    A C++ solver for Modelling a Stokes Fluid Flowing through a Channel/River. Makes use of the Finite Element Method (FEM) and the Eigen Template Library (Eigen) for the Algebra.

    C++

  5. SORCPP SORCPP Public

    This is a demo. of how to implement the Successive Over Relaxation (SOR) Algorithm using C++ and the Eigen Template Library

    C++

  6. Parallel_Linear_Solver Parallel_Linear_Solver Public

    Software which uses OpenMP to parallelise the three classic Algebraic Iterative Methods: Jacobi, Gauss-Seidel & Successive Over Relaxation, for solving Systems of the form Ax = b

    C++