Anda di halaman 1dari 3

KSA_UAS_Fisika Komputasi

August 21, 2020

1 Simple Harmonic Simulation (Mass and Spring)

Nama : Budi Setiawan


NIM : G1B017009
Refrensi:
1. vpython code by I Wayan Sudiarta Ph.D
2. Graph by vpython.org
3. Rumus persamaan differansial by Catur Edi Widodo, jurnal (Simulasi Numerik Osilator Har-
monis) Vol 10 , No.3, Juli 2007 hal. 123-125

1.0.1 Permasalahan

Sistem massa-pegas terdiri dari pegas yang salah satu ujungnya terikat pada penyangga kaku dan
ujung lainnya dipasang pada benda yang dapat bergerak.
Pada saat pegas diregangkan atau dikompres, pegas berusaha mengembalikan posisinya yang men-
gakibatkan terjadinya osilasi benda disekitar posisi kesetimbangan. Posisi kesetimbangan didefin-
isikan sebagai posisi saat pegas berada pada panjang normalnya dan benda tidak mengalami gaya
apapun.

1.0.2 Persamaan Fisika

Dalam sistem massa-pegas, gaya tidak konstan melainkan sebanding dengan posisi benda terhadap
posisi kesetimbangan.

F = −k.x

a = (−k.x)/m

1
1.0.3 Metode Euler

Percepatan (a (t)) dapat dihitung dari posisi (x (t)) pada waktu t menggunakan persamaan:

k
a(t) = − (t)
m
Dimana k adalah konstanta pegas dan m adalah massa benda.
Untuk kecepatan dapat dirumuskan:

v(t + dt) = v(t) + a(t)

Dimana dt adalah interval waktu.


Posisi dapat dihitung dari kecepatan sebagai:

x(t + dt) = x(t) + v(t)dt

[ ]: from vpython import*

[ ]: display(background=color.white)

totalTime=10 # dalam detik

# definisikan plot
f1 = graph(xmin=0,xmax=totalTime,xtitle='<i>t</i> dalam detik')
f1 = gdots(color=color.green, label='Posisi',fast=True)
f2 = gdots(color=color.blue, label='Kecepatan',fast=True)
f3 = gdots(color=color.red, label='Percepatan',fast=True)

massa = box(pos=vector(10,0,0),velocity=vector(0,0,0),color=color.green,mass=1)

pivot = vector(-10,0,0)

pegas = helix(pos=pivot,axis=massa.pos-pivot,radius=0.
,→5,coils=20,constant=(pi*pi)/4,thicnkess=0.1,color=color.red)

eq = vector(0,0,0) #equilibrium

t = 0
dt = .05 #time step

# looping simulasi
while (t <= totalTime):
frameRate = 1/dt

rate(frameRate)

2
acc = (eq-massa.pos)*(pegas.constant/massa.mass)
massa.velocity = massa.velocity+acc*dt
massa.pos = massa.pos+massa.velocity*dt
pegas.axis = massa.pos-pegas.pos

f1.plot(t,massa.pos.x)
f2.plot(t,massa.velocity.x)
f3.plot(t,acc.x)

t = t + dt

[ ]:

Anda mungkin juga menyukai