rcgiri / lab-notebook
Nepal · Oct 2026

Ram Chandra Giri

I model non-linear and chaotic systems with my own integrators, and check every result against a conservation law or an independent reference.

MSc Physics · Physics educator · Preparing for a PhD in Computational Physics & Nonlinear Dynamics.

Research interests: Hamiltonian and dissipative chaos, symplectic integration, verification of scientific software.

§1  Main work: physverify

research software · MIT

Does the simulation solve the equations it claims?

physverify checks that a simulation solves the equations it claims, at the order of accuracy it claims, not just that it runs. It runs your solver at several resolutions, measures the error, and gives PASS, FAIL or INCONCLUSIVE with a reason. Convergence-order, conservation and manufactured-solution checks for ODE and 1D PDE solvers; a static scan for Runge-Kutta tables, grid spacings and physical constants. Needs only NumPy.

35 / 37seeded bugs flagged, no false alarms (bugs and checks by the same person)
74defects reported to authors of public physics code (which method found each)
40 / 40checks pass in CI on my own five projects (below)

Limits: works best for ODEs; PDEs in 1D so far. A PASS means these checks found nothing wrong, not that the simulation is proven correct.

§2  Experiments

each one with the check used to trust it
EXP-04 · symplectic

3-Body Laboratory

Custom Velocity-Verlet engine; Sun-Earth-Jupiter validated over 12 years; ejection threshold δ ≈ 0.5.

energy error ~10⁻⁹
physverify 9/9
EXP-06 · chaos

Lorenz Attractor

Adaptive RK4, bifurcation sweep over ρ, twin trajectories at δ ~ 10⁻⁸.

λ_max > 0
physverify 8/8
EXP-05 · Lagrangian

Double Pendulum

Euler-Lagrange in (θ₁, θ₂); where invariant tori break into chaotic seas.

Poincaré sections
physverify 7/7
EXP-03 · legacy migration

Driven LCR Circuit

MSc dissertation (2023, Fortran 90) rebuilt as vectorised Python; matches the legacy Fortran output.

residual vs SciPy < 10⁻⁷
physverify 7/7
EXP-01/02 · ballistics

Projectile Simulation

Vacuum to linear and quadratic drag; Euler to RK4; fixed vs adaptive steps.

spatial residual maps
physverify 9/9

physverify in CI on these projects

Every push runs physverify in GitHub Actions. Latest results on main:

ProjectWhat CI checksResult
3-BodyVelocity-Verlet order; momentum, angular momentum, time reversal; README energy claimorder 2.00 · ~10⁻¹⁵ · |ΔE/E₀| 6.4×10⁻⁹
9/9 PASS
LorenzEquations at RK4 order; phase-space contraction −(σ+1+β); Jacobian; Lyapunov sum = traceorder 3.97–4.28
8/8 PASS
Double PendulumEquations at RK4 order; README energy-drift benchmarkorder 3.78–4.73 · drift 7.8×10⁻¹²
7/7 PASS
ProjectileEuler and RK4 vs exact solutions (vacuum, linear drag) and quadratic dragEuler 1.00 · RK4 3.97–4.04
9/9 PASS
LCR CircuitRK4 vs exact solution at R = 10, 40, 100 Ω; README SciPy claimorder 4.00–4.25 · 9.9×10⁻⁸
7/7 PASS

For Lorenz and the double pendulum, CI checks the equations of motion with physverify's own RK4; their adaptive solvers are not order-checked (the double pendulum's is checked through its energy benchmark).

§3  2026 log

toward a PhD in computational physics
  1. 2026-01/02
    Projectile v1.0 → v2.1
    Euler, then RK4 validated against SciPy.
    DONE
  2. 2026-04
    LCR modernisation · Chaotic 3-body dynamics
    Fortran → Python pipeline; symplectic Velocity-Verlet with energy tracking.
    DONE
  3. 2026-05
    Double pendulum · Lorenz attractor
    Euler-Lagrange derivation, Poincaré sections, bifurcation mapping, λ_max.
    DONE
  4. 2026-06/09
    Applied work
    MCQplex (NEB exam prep), school routine planner, llm-free-cascade, pdf-render-pool, mongo-job-lock.
    LIVE
  5. 2026-10
    physverify 0.1 → 0.4.2
    Verification tool for simulations; added to CI on all five physics projects.
    RELEASED
  6. 2026-11 →
    Computational linear algebra
    Eigenvalue problems, Lanczos, normal modes. Then Numba / C++ acceleration → PDEs and lattice systems → multi-core parameter sweeps.
    NEXT

§4  Applied work and open source

EdTech for Nepal

MCQplex

Adaptive NEB exam prep for low-end Android and patchy networks, with teacher analytics and practice duels.

Routine & Substitution Planner

Offline-first school timetable with a tiered teacher-substitution engine.

Open curricula v0.1

git-for-schools (offline-first Git, Grades 8–12) and data-science-nepal (bilingual, Nepali datasets). Not yet piloted in a classroom.

Utilities

llm-free-cascade (free-tier LLM fallback), pdf-render-pool (Puppeteer HTML→PDF pool), mongo-job-lock (run a clustered cron job once).