Scientific Programming – Course ProjectBilimsel Programlama – Ders Projesi
Damped Spring-Mass SystemSönümlü Yay-Kütle Sistemi
A numerical and analytical study of damped harmonic oscillators, comparing forward Euler integration with exact solutions across underdamped, critically damped, and overdamped regimes. Developed as a final project for the Scientific Programming course at Marmara University.Sönümlü harmonik osilatörlerin sayısal ve analitik incelemesi; ileri Euler entegrasyonu ile az sönümlü, kritik sönümlü ve aşırı sönümlü rejimlerde kesin çözümlerin karşılaştırılması. Marmara Üniversitesi Bilimsel Programlama dersi final projesi olarak geliştirilmiştir.
A mass $m$ hangs from a vertical spring with stiffness $k$ and natural length $L_0$. The system experiences three forces: the restoring spring force (Hooke's law), a viscous damping force proportional to velocity, and gravity. We work in a coordinate system where $x$ measures displacement from the static equilibrium position, with positive $x$ pointing downward.
At equilibrium the spring force balances gravity, so the equilibrium extension is $\delta_{\text{eq}} = mg/k$. By measuring displacement from this point, the gravity term drops out of the equation of motion entirely — the oscillation is governed purely by the spring restoring force and damping.
$m$ kütleli bir cisim, yay sabiti $k$ ve doğal uzunluğu $L_0$ olan dikey bir yaya asılıdır. Sisteme üç kuvvet etki eder: geri çağırıcı yay kuvveti (Hooke yasası), hıza oransal viskoz sönüm kuvveti ve yerçekimi. $x$, statik denge konumundan ölçülen yer değiştirmeyi ifade eder; pozitif yön aşağıdır.
Dengede yay kuvveti yerçekimini dengeler, dolayısıyla denge uzaması $\delta_{\text{eq}} = mg/k$ olur. Yer değiştirme bu noktadan ölçüldüğünde yerçekimi terimi hareket denkleminden tamamen düşer — salınım yalnızca yay geri çağırma kuvveti ve sönüm tarafından yönetilir.
Hooke's Law & DampingHooke Yasası ve Sönüm
The spring produces a restoring force proportional to displacement. The dashpot produces a force opposing the velocity:Yay, yer değiştirmeyle orantılı bir geri çağırma kuvveti üretir. Sönümleyici ise hıza zıt yönde kuvvet uygular:
Second-order linear ODE with constant coefficientsSabit katsayılı ikinci mertebe lineer ODE
Dividing by $m$ and introducing the natural frequency $\omega_0 = \sqrt{k/m}$ and the damping ratio $\zeta = c\,/\,(2m\omega_0) = c\,/\,(2\sqrt{km})$:$m$'ye bölüp doğal frekans $\omega_0 = \sqrt{k/m}$ ve sönüm oranı $\zeta = c\,/\,(2m\omega_0) = c\,/\,(2\sqrt{km})$ tanımlanarak:
The discriminant $\Delta = \zeta^2 - 1$ determines three qualitatively different regimes:Diskriminant $\Delta = \zeta^2 - 1$, niteliksel olarak farklı üç rejimi belirler:
Underdamped ($\zeta < 1$)Az Sönümlü ($\zeta < 1$)
Roots are complex: $r = -\zeta\omega_0 \pm i\omega_d$ where $\omega_d = \omega_0\sqrt{1 - \zeta^2}$ is the damped angular frequency. The solution oscillates inside an exponential envelope:Kökler karmaşıktır: $r = -\zeta\omega_0 \pm i\omega_d$, burada $\omega_d = \omega_0\sqrt{1 - \zeta^2}$ sönümlü açısal frekanstır. Çözüm, üstel bir zarf içinde salınır:
Repeated real root $r = -\omega_0$. The system returns to equilibrium in the shortest time without oscillating:Tekrarlı reel kök $r = -\omega_0$. Sistem, salınım yapmadan en kısa sürede dengeye döner:
Two distinct negative real roots. The system decays exponentially without oscillation, but more slowly than critical damping:İki farklı negatif reel kök. Sistem salınım yapmadan üstel olarak söner, ancak kritik sönümden daha yavaştır:
Oscillates with decaying amplitudeAzalan genlikle salınır
Critically dampedKritik sönümlü
$\zeta = 1$
Fastest return without oscillationSalınımsız en hızlı dönüş
OverdampedAşırı sönümlü
$\zeta > 1$
Slow exponential decay, no oscillationYavaş üstel sönüm, salınım yok
Energy AnalysisEnerji Analizi
The total mechanical energy is the sum of kinetic and elastic potential energy. The damping force continuously removes energy from the system:Toplam mekanik enerji, kinetik ve elastik potansiyel enerjinin toplamıdır. Sönüm kuvveti sistemden sürekli enerji çeker:
Energy is strictly non-increasing · For $c = 0$, $E$ is constant (simple harmonic motion)Enerji kesinlikle azalmaz · $c = 0$ için $E$ sabittir (basit harmonik hareket)
NoteNot –
By working relative to the equilibrium position, gravity drops out of both the equation of motion and the energy expression. The full vertical spring-mass equation is $m\ddot{y} + c\dot{y} + k(y - L_0) = -mg$; substituting $x = y - y_{\text{eq}}$ where $y_{\text{eq}} = L_0 - mg/k$ yields the canonical form above.Denge konumuna göre çalışıldığında yerçekimi hem hareket denkleminden hem de enerji ifadesinden düşer. Tam dikey yay-kütle denklemi $m\ddot{y} + c\dot{y} + k(y - L_0) = -mg$'dir; $x = y - y_{\text{eq}}$ yerine konarak ($y_{\text{eq}} = L_0 - mg/k$) yukarıdaki kanonik form elde edilir.
We integrate the second-order ODE as a system of two first-order equations. At each time step, acceleration is computed from the current state, then velocity and position are updated explicitly:
İkinci mertebe ODE'yi iki birinci mertebe denklem sistemi olarak entegre ediyoruz. Her zaman adımında ivme mevcut durumdan hesaplanır, ardından hız ve konum açıkça güncellenir:
First-order explicit scheme – $\mathcal{O}(\Delta t)$ local truncation errorBirinci derece açık şema – $\mathcal{O}(\Delta t)$ yerel kesme hatası
StabilityKararlılık –
Forward Euler can introduce spurious energy growth in oscillatory systems. For the damped oscillator, stability requires $\Delta t < 2/(\zeta\omega_0)$. With defaults ($\zeta\omega_0 \approx 0.615\;\text{s}^{-1}$, $\Delta t = 0.01\;\text{s}$), this is easily satisfied. For comparison, the analytical solution is plotted alongside the numerical result.İleri Euler, salınımlı sistemlerde yapay enerji artışına neden olabilir. Sönümlü osilatör için kararlılık $\Delta t < 2/(\zeta\omega_0)$ gerektirir. Varsayılanlarla ($\zeta\omega_0 \approx 0.615\;\text{s}^{-1}$, $\Delta t = 0.01\;\text{s}$) bu kolaylıkla sağlanır. Karşılaştırma için analitik çözüm sayısal sonucun yanına çizilir.
Watch the spring-mass system oscillate in real time. The spring coils stretch and compress as the mass moves. Blue = Euler, dashed pink = analytical solution.Yay-kütle sisteminin gerçek zamanlı salınımını izleyin. Yay kangalları kütle hareket ettikçe uzar ve kısalır. Mavi = Euler, kesikli pembe = analitik çözüm.
Each sweep varies one parameter while holding others at defaults. The three damping regimes are clearly visible in the damping sweep.Her taramada bir parametre değişirken diğerleri varsayılan değerde tutulur. Sönüm taramasında üç sönüm rejimi açıkça görülür.
§3.2 – Energy Dissipation§3.2 – Enerji Kayıpları
Without damping, total mechanical energy is perfectly conserved. With damping, energy is monotonically dissipated as heat. The rate of dissipation is $P = c\dot{x}^2$, which peaks at maximum velocity.Sönümsüz durumda toplam mekanik enerji tamamen korunur. Sönümlü durumda enerji monoton olarak ısıya dönüşür. Kayıp gücü $P = c\dot{x}^2$ olup maksimum hızda zirve yapar.
This project demonstrates the rich behavior of the damped spring-mass system across three qualitatively distinct regimes. The damping ratio $\zeta$ fully determines the character of the response: oscillatory decay for $\zeta < 1$, optimal aperiodic return for $\zeta = 1$, and sluggish exponential settling for $\zeta > 1$. Energy analysis confirms that the damper continuously extracts kinetic energy at a rate proportional to $\dot{x}^2$.
The forward Euler scheme matches the analytical solution well for small time steps, though accumulated phase error becomes visible over many oscillation periods. Possible extensions include higher-order integrators (RK4, Verlet), nonlinear springs (Duffing oscillator), forced oscillations and resonance, and coupled multi-mass systems.
Bu proje, sönümlü yay-kütle sisteminin niteliksel olarak farklı üç rejim boyunca zengin davranışını göstermektedir. Sönüm oranı $\zeta$, yanıtın karakterini tamamen belirler: $\zeta < 1$ için salınımlı sönüm, $\zeta = 1$ için optimal aperiyodik dönüş ve $\zeta > 1$ için yavaş üstel yerleşme. Enerji analizi, sönümleyicinin $\dot{x}^2$ ile orantılı bir hızda sürekli kinetik enerji çektiğini doğrular.
İleri Euler şeması küçük zaman adımlarında analitik çözümle iyi uyuşur, ancak birçok salınım periyodu boyunca birikimli faz hatası görünür hale gelir. Olası genişletmeler: yüksek mertebe entegratörler (RK4, Verlet), lineer olmayan yaylar (Duffing osilatörü), zorlanmış salınımlar ve rezonans, ve bağlaşık çok kütleli sistemler.
Berkay Yılmaz
Lead Developer & ResearcherProje Geliştiricisi & Araştırmacı
Physics graduate specializing in computational simulations and AI. Passionate about merging physical laws with modern software architecture.Hesaplamalı simülasyonlar ve yapay zeka üzerine uzmanlaşmış fizik mezunu. Fiziksel yasaları modern yazılım mimarisiyle birleştirme tutkusuyla çalışıyor.