Pemodelan Persamaan Gerakan Lemparan Vertikal

From ccitonlinewiki
Revision as of 09:25, 6 November 2019 by Rizkiumas (talk | contribs) (Model Matematika)
Jump to: navigation, search

Studi Kasus

Persamaan yang ditulis dengan inisial RAU merupakan suatu persamaan mengenai gerakan melempar vertikal keatas, contoh aplikasi yang ada di dunia nyata adalah lemparan genteng keatas dari tukang bangunan. Persamaan matematika dari kegiatan melempar genteng ke atas rumah ini saya buat dengan metode numerik runge kutta, dengan memperhitungkan gravitasi dan gaya drag yang dihasilkan dari geometri genteng.

Berikut ini video pelemparan genteng yang saya maksidkan . Klik disini => [1]

Dengan asumsi lemparan vertikal ke atas, tidak membentuk sudut terhadap sumbu vertikal, maka berikut ini adalah pemodelan matematis dari kasus ini:

Model Matematika

Impuls yang diberikan Tukang Bangunan

Dalam pemodelan matematika dari kasus ini diperlukan kecepatan awal yang saya cari dengan memperhitungkan impuls yang diberikan oleh tukang bangunan. Persamaan impuls tersebut adalah sebagai berikut:

Impuls 1 Umas.JPG

dengan kecepatan awal nol karena genteng tidak memiliki kecepatan sebelum diberikan impuls oleh tukang bangunan, sehingga rumus untuk mencari kecepatan awal menjadi seperti berikut:

Impuls 2 Umas.JPG

Perlambatan Kecepatan oleh Gravitasi dan Gaya Drag Udara

Perlambatan kecepatan atau percepatan untuk kasus ini diperoleh dari gaya berat yang dimiliki oleh genteng dan gaya drag udara:

Gaya Drag Udara

Persamaan gaya drag dari udara adalah sebagai berikut:

Gaya drag umas.JPG

Gaya drag umas 1.JPG

Sehingga dihasilkan komponen percepatan sebagai berikut:

Gaya drag umas 2.JPG

Sehingga, persamaan kecepatan yang dihasilkan setelah memperhitungkan hambatan gravitasi dan drag yang ada sehingga menghasilkan fungsi kecepatan sebagai berikut ini:

Kecepatan Umas.JPG

yang jika diturunkan menjadi persamaan berikut:

Turunan Kecepatan Umas.JPG

persamaan inilah yang nantinya akan dipakai untuk membuat persamaan Runge-Kutta Orde 4 untuk menyelesaikan permasalahan ini. Namun masih ada beberapa batasan yang harus diberikan. Persamaan runge-kutta ini belum bisa mendeteksi bahwa benda sudah menyentuh tanah lagi sehingga perlu adanya batasan kecepatan yang menunjukkan bahwa hasil tersebut berarti genteng telah menyentuh tanah kembali.

Kondisi genteng telah menyentuh tanah kembali

Ada beberapa cara untuk mengetahui bahwa genteng telah menyentuh tanah kembali. Yaitu dengan memodelkan posisi terhadap waktu atau dengan energi. Untuk kasus ini saya hanya ingin memodelkan kecepatannya sehingga saya menggunakan batasan dari kekalan energi:

Kekekalan energi 1 umas.JPG

Persamaan energi tersebut dapat juga ditunjukkan menjadi seperti ini, dengan asumsi tidak ada energi selain energi kinetik dan potensial yang bekerja.

Kekekalan energi 2 umas.JPG

Pada kondisi ketinggian yang sama maka kecepatan yang dihasilkan akan sama, sehingga itu menjadi batasan yang akan digunakan dalam output pada pengerjaan tugas ini. Ketika kecepatannya sudah sesuai dengan kecepatan awal maka diasumsikan genteng telah menyentuh tanah kembali dan kecepatannya 0

Algoritma

Persamaan ini dapat diselesaikan dengan metode runge kutta, dalam kasus ini saya ingin mencoba mencari waktu untuk mencapai kondisi tertinggi genteng yang dilemparkan keatas tersebut. Cara-cara yang akan saya lakukan adalah sebagai berikut:

1. Menyusun input yang akan digunakan yaitu terdiri dari impuls yang diberikan, nilai gravitasi, koefisien drag,masa genteng.

2. Membuat pendefinisian dari nilai persamaan sesuai dengan persamaan matematis yang sudah dibuat, pendefinisian berupa suatu persamaan diferensial

3. Untuk mendapatkan nilai waktu maka runge kutta harus dibuat suatu sistem iterasi yaitu dengan menggunakan while, sehingga terjadi iterasi sampai kecepatan 0 dan diperoleh waktunya.

4.

Flowchart

Coding

 import numpy as np
 m = eval(input("massa genteng(kg): "))
 g = eval(input("percepatan gravitasi(m/s^2): "))
 I = eval(input("impuls yang diberikan(kg*m/s): "))
 cd = eval(input("koefisien drag udara : "))
 t = eval(input("waktu untuk menganalisis posisi(s) : "))
 i = t
 def dv(t,v):
     func =-g-((cd*v**3/2)/m)
     return(func)
 #mendifinisikan initial condition, asumsikan V saat sebelum diberi impuls oleh tukang bangunan = 0 sehingga impuls menjadi:
 o = I/m
 v = o
 #menentukan increament waktu
 h = 0.01 
 step_size = np.arange(0,i,h)
 #membuat looping
 for t in step_size:
     k1 = dv(t,v)
     k2 = dv((t+0.5*h),(v+0.5*h*k1))
     k3 = dv((t+0.5*h),(v+0.5*h*k2))
     k4 = dv((t+h),(v+h*k3))
   
     v= v + 1/6*(k1+2*k2+2*k3+k4)*h
 #pendefinisian if dan else berikut ini berdasarkan pada konservasi energi kinetik dan potensial bahwa jumlah energi kinetik dan potensialnya selalu konstan  
 if v >= -o:
     print("maka kecepatannya adalah",v)
 else:
     print("maka kecepatannya adalah", 0, "karena genteng telah menyentuh tanah kembali")

Hasil Phyton

Rizki Aldila Umas Runge Kutta Diff.JPG

Rizki Aldila Umas Runge Kutta Diff 2.JPG