This repository documents my learning journey and technical preparation for contributing to the SciML ecosystem, specifically towards PDE discretization and numerical methods projects.
My goal is to prepare for a Google Summer of Code (GSoC) project focused on:
Discretizations of Partial Differential Equations (PDEs)
within the SciML organization.
I am a Computer Engineering student with strong foundations in:
- Differential Equations (AA)
- Linear Algebra (AA)
- Calculus and numerical reasoning
While exploring the SciML ecosystem, I encountered and resolved an installation-related issue and successfully contributed a merged pull request to the project. SciML/SciMLBase.jl#1258 This experience motivated me to deeply understand the numerical and architectural foundations behind SciML's PDE tooling.
This repository serves as a public learning log showing my progress toward becoming an effective open-source contributor.
The main goals of this repository are:
- Understand numerical discretization of PDEs
- Learn Finite Difference and Method of Lines approaches
- Study internal design of SciML PDE tools
- Explore how mathematical models become executable solvers
- Prepare meaningful contributions to SciML libraries
- Finite Difference Method (FDM)
- Method of Lines (MOL)
- Stability intuition
- Grid discretization
- DifferentialEquations.jl
- ModelingToolkit.jl
- MethodOfLines.jl
- Reading scientific computing source code
- Understanding solver abstractions
- Experiment-driven learning
learning-sciML-pde/
│
├── mini-projects/ # Small PDE implementations
├── myNotes
└── source-study/ # Internal library exploration
This repository is updated continuously as I:
- implement numerical methods from scratch,
- reproduce SciML examples,
- analyze internal implementations,
- and document insights gained during learning.
Rather than only applying to projects, I believe the best way to contribute to open source scientific computing is to learn in public and progressively integrate into the ecosystem.
This repository represents that process.
To contribute production-quality improvements to PDE discretization tooling in SciML and help make advanced numerical computing more accessible to users.
🚧 Active learning and preparation in progress.
Finite Difference implementation of the 1D Heat Equation to understand PDE discretization fundamentals.
Heat Equation solved using SciML's MethodOfLines.jl discretization pipeline. Comparison between manual finite differences and automated discretization.
A custom implementation of the 1D Heat Equation using an Explicit Finite Difference Method on a non-uniform grid.
- Mapped a uniform spatial array into a clustered grid using a cubic function to focus on high-gradient areas.
- Dynamically calculated local spatial steps (
h_leftandh_right) for the second derivative stencil. - Demonstrated the severe time-step penalty (microscopic
dtrequirement) caused by the explicit stability criterion on dense grids, highlighting the necessity of implicit solvers provided byMethodOfLines.jl.