Skip to content

utkuyilmaz1903/learning-sciML-pde

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learning SciML PDE Discretization

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.


Background

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.


Learning Objectives

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

Topics Covered

Numerical PDE Foundations

  • Finite Difference Method (FDM)
  • Method of Lines (MOL)
  • Stability intuition
  • Grid discretization

SciML Ecosystem

  • DifferentialEquations.jl
  • ModelingToolkit.jl
  • MethodOfLines.jl

Software Understanding

  • Reading scientific computing source code
  • Understanding solver abstractions
  • Experiment-driven learning

📁 Repository Structure

learning-sciML-pde/
│
├── mini-projects/    # Small PDE implementations
├── myNotes
└── source-study/     # Internal library exploration

Progress

This repository is updated continuously as I:

  • implement numerical methods from scratch,
  • reproduce SciML examples,
  • analyze internal implementations,
  • and document insights gained during learning.

Motivation

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.


Long-Term Goal

To contribute production-quality improvements to PDE discretization tooling in SciML and help make advanced numerical computing more accessible to users.


Status

🚧 Active learning and preparation in progress.

Mini Project 1

Finite Difference implementation of the 1D Heat Equation to understand PDE discretization fundamentals.

Mini Project 2

Heat Equation solved using SciML's MethodOfLines.jl discretization pipeline. Comparison between manual finite differences and automated discretization.

Mini Project 3: Non-Uniform 1D Heat Equation (Proof of Concept)

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_left and h_right) for the second derivative stencil.
  • Demonstrated the severe time-step penalty (microscopic dt requirement) caused by the explicit stability criterion on dense grids, highlighting the necessity of implicit solvers provided by MethodOfLines.jl.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages