Skip to content
View cfdgasman's full-sized avatar
😃
😃

Block or report cfdgasman

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.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
cfdgasman/README.md

Hi, I'm Adam

I consider myself an applied mathematician with an engineering background who enjoys solving difficult mathematical equations, physical models, and engineering problems through computation.

My work is rooted in classical numerical methods, computational fluid dynamics (CFD), and scientific computing. My main area of expertise is incompressible and low-speed flows, particularly pressure–velocity coupling and finite-volume methods. My broader experience spans finite difference, finite element, discontinuous Galerkin, and particle-based methods, including Molecular Dynamics (MD) and Direct Simulation Monte Carlo (DSMC), as well as linear algebra, linear solvers, and multigrid methods for solving the discrete systems from discretisation.

What I enjoy most is taking a difficult problem, understanding the mathematics and physics behind it, and turning it into a numerical method, computational algorithm that can actually solve the problem.

I also enjoy implementing numerical methods efficiently, including using MPI and GPU/CUDA programming where parallelisation and computational performance matter. Alongside scientific computing, I develop end-to-end software and full-stack applications that turn computational methods into usable tools.

More recently, I have been exploring machine learning and artificial intelligence. My interest is not in replacing classical CFD with black-box models, but in understanding how AI might complement established numerical methods and make scientific computing faster, more efficient, and more capable.


❤️ Why I Do It

I am a CFD numerics expert, and most of my work is focused on the mathematical and computational foundations of numerical simulation—developing, understanding, and improving the methods that make CFD possible.

What motivates me, beyond the technical challenge, is hoping these tools can truly support and uplift people in their everyday lives. I have a particular appreciation for the idea that CFD, applied mathematics, thermodynamics, and computational science can be used to improve human life. I would love to see advances in fluid mechanics and numerical simulation contribute to better understanding of universe, improved healthcare technologies, and solutions that can ultimately improve human health, quality of life, and longevity.

🤖 AI & Vibe Coding

I enjoy using AI and exploratory coding to learn about and build in diverse areas—trading systems and market analysis, website creation, Python development, and mobile app design. It's a way to rapidly explore ideas across different domains while staying curious and engaged.


🌊 Computational Fluid Dynamics

CFD is at the core of much of my work.

My strongest focus is on incompressible and low-speed flows, particularly the numerical challenges associated with pressure, velocity, and continuity.

I work with:

  • Incompressible Navier–Stokes equations
  • Low-speed and low-Mach-number flows
  • Pressure–velocity coupling
  • SIMPLE, SIMPLEC, and PISO
  • Pressure correction methods
  • Pressure Poisson equations
  • Collocated and staggered formulations
  • Mass conservation
  • Convection and diffusion discretisation
  • Flux and gradient reconstruction
  • Steady and transient solvers
  • Laminar and turbulent flows
  • Numerical stability and convergence
  • Verification and validation

I am interested in CFD at the solver level—not simply using an existing package, but understanding how governing equations become discrete equations, how pressure and velocity are coupled, how the resulting systems are solved, and why a numerical solution behaves the way it does.


🔢 Numerical Methods

My background spans a broad range of classical numerical approaches for differential equations, conservation laws, and physical systems.

Finite Volume Methods — FVM

One of my strongest areas.

  • Conservative control-volume formulations
  • Pressure–velocity coupling
  • Convection and diffusion schemes
  • Upwind and central discretisation
  • Higher-order reconstruction
  • TVD and MUSCL methods
  • Flux reconstruction
  • Gradient reconstruction
  • Pressure interpolation
  • Iterative solution methods
  • AMG and Linear Algebra
  • Non-Conformal Interfaces
  • Degenerated and poor quality Meshes

Finite Difference Methods — FDM

  • Explicit and implicit schemes
  • Crank–Nicolson methods
  • Stability and convergence analysis
  • Modified-equation analysis
  • High-order discretisation
  • Parabolic and hyperbolic PDEs

Finite Element Methods — FEM

  • Galerkin and Petrov–Galerkin formulations
  • Mixed formulations
  • Stabilised FEM
  • Continuous and discontinuous formulations

Discontinuous Galerkin — DG

  • High-order formulations
  • Nodal and modal methods
  • Unstructured meshes
  • BR2 / LDG
  • hp-adaptivity
  • Entropy Stable schemes
  • Conservation laws

Particle-Based Methods

I also work with computational approaches that move beyond continuum discretisation.

Molecular Dynamics (MD)

  • Molecular interactions
  • Particle dynamics
  • Statistical mechanics
  • Thermodynamic properties

Direct Simulation Monte Carlo (DSMC)

  • Rarefied and transitional flows
  • Kinetic theory
  • Particle transport
  • Collision modelling
  • Gas–particle interactions
  • Micro-scale flow

⚙️ Parallel & Scientific Computing

For computationally demanding problems, I use parallelisation techniques where they are useful.

My experience includes:

  • MPI for distributed and parallel computation
  • CUDA / GPU programming for computational acceleration
  • Parallel numerical algorithms
  • Linear algebra and linear solvers
  • Direct and iterative methods
  • Domain decomposition
  • Performance-oriented implementation
  • Load Balancing and Efficient Coding

I am interested in how numerical algorithms can be implemented efficiently without losing sight of the mathematics, accuracy, and physical correctness of the underlying method.


💻 Scientific Software & Full-Stack Development

I also enjoy taking computational algorithms beyond research prototypes and turning them into complete, usable applications.

My software work spans:

  • Scientific computing
  • Numerical solver development
  • Computational backends
  • APIs
  • Backend development
  • Frontend development
  • Databases
  • Interactive scientific visualisation
  • Full-stack applications
  • Deployment and production systems

I particularly enjoy connecting a complex mathematical or scientific engine to an intuitive interface, making sophisticated computational methods accessible to people who may not need to understand everything happening underneath.


📐 Applied Mathematics

At the foundation of everything I do is a fascination with difficult equations and mathematical models.

I enjoy working with:

  • Ordinary differential equations
  • Partial differential equations
  • Nonlinear systems
  • Boundary-value problems
  • Initial-value problems
  • Conservation laws
  • Numerical linear algebra
  • Iterative methods
  • Stability and convergence
  • Numerical optimisation
  • Approximation theory
  • Transport equations
  • Mathematical modelling

Popular repositories Loading

  1. databook_python databook_python Public

    Forked from dynamicslab/databook_python

    IPython notebooks with demo code intended as a companion to the book "Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control" by Steven L. Brunton and J. Nathan Kutz

    Jupyter Notebook

  2. applied-deep-learning applied-deep-learning Public

    Forked from maziarraissi/Applied-Deep-Learning

    Applied Deep Learning Course

  3. Machine-Learning-in-90-days Machine-Learning-in-90-days Public

    Forked from krishnaik06/Machine-Learning-in-90-days

    Jupyter Notebook

  4. Pytorch-Tutorial Pytorch-Tutorial Public

    Forked from krishnaik06/Pytorch-Tutorial

    Jupyter Notebook

  5. PINNs PINNs Public

    Forked from maziarraissi/PINNs

    Physics Informed Deep Learning: Data-driven Solutions and Discovery of Nonlinear Partial Differential Equations

    Python

  6. Learning-Scientific_Machine_Learning_Residual_Based_Attention_PINNs_DeepONets Learning-Scientific_Machine_Learning_Residual_Based_Attention_PINNs_DeepONets Public

    Forked from jdtoscano94/NABLA-SciML

    Physics Informed Machine Learning Tutorials (Pytorch and Jax)

    Jupyter Notebook