Sunday, 13 May 2012

Modeling dan Pembuatan Program untuk menghitung moment monopile menggunakan Visual Ba

kali ini saya memulai memodelkan dengan memisalkan monopile menjadi sebuah garis lurus ke atas, wind load pada beberapa artikel dan jurnal merupakan gaya yang paling berkontribusi terhadap beban di monopile, dibandingkan dengan arus laut dan hydrostatis dari laut itu sendiri. untuk saat ini saya hanya menghitung gaya antara permukaan laut sampai dengan bagian bawah yang menancap di tanah. bukannya saya abaikan, namun untuk program yang saya buat ini adalah langkah awal untuk membuat program yang lebih lengkap. sebut saja prototype atau under development.

ingat statika struktur? nah.. untuk menghitung moment caranya adalah mengetahui jenis gaya dikalikan dengan jaraknya, ada dua gaya yang saya pakai, gaya tidak dan gaya hydrostatis, nilai berbeda menurut ketinggian
1. Hydrostatis
rho*g* h, dengan h adalah kedalaman air laut, nah.. bila kita anggap, rho dan g adalah konstan, maka nilanya hanya berubah menurut tingginya, atau panjangnya, jadi beban yang terjadi adalah beban merata dengan nilai tinggi yang berbeda
2. tidal
sama juga dengan tidal, bila kecepatan aliran, percepatan, gravitasi, koeffisien tidal, koeffisen inersia dianggap konstan, maka beban yang terjadi menjadi beban merata sepanjang tinggi monopile.

Pembuatan Program

oke, saya buat programnya pada excell 2007 seperti sebelumnya, tampilan awalnya adalah sebagai berikut
bila tombol mulai di klik, maka akan muncul form seperti dibawah ini, 
code yang dipakai adalah
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub

untuk menjaga agar tidak terjadi kesalahan user dalam memasukkan nila ketinggian dari air laut, maka saya buat constraint, antara L dengan X,  X adalah panjang monopile yang dihitung momentnya, dan L adalah tinggi air laut, sehingga bila dimasukkan nilai x lebih besar dari nilai L maka akan muncul peringatan seperti berikut.


code yang saya pakai adalah

If x > L Then
MsgBox " Titik moment yang ingin dihitung (X) lebih besar dari panjang monopile(L)"
Else


ketika form tersebut di load, saya akan munculkan nilai awal, hal ini untuk memperdah user bila user belum tahu berapa koeffisien yang harus saya masukkan, kode yang dipakai adalah



Private Sub UserForm_Activate()
TextBox1.Text = 1.2
TextBox2.Text = 9.8
TextBox3.Text = 25.6 ' m/s
TextBox4.Text = 3
TextBox5.Text = 2.1 ' m

TextBox7.Text = 0.65
TextBox8.Text = 1.6

End Sub


nah... semua kode yang saya pakai, dapat dilihat dibawah ini


Private Sub cmdhitung_Click()
Dim rho, g, x, cd, U, Cmp, D, dudt, l As Single
Dim mx, w As Single

l = TextBox9.Text
rho = TextBox1.Text ' densitas air laut
g = TextBox2.Text ' gravitasi
U = TextBox3.Text ' kecepatan air laut
dudt = TextBox4.Text ' percepatan air laut
D = TextBox5.Text ' diameter
x = TextBox6.Text ' panjang monopile

cd = TextBox7.Text ' koeffisien drag
Cmp = TextBox8.Text ' koefisien inersia

If x > l Then
MsgBox " Titik moment yang ingin dihitung (X) lebih besar dari panjang monopile(L)"
Else
w1 = rho * g * x ' menghitung besan statis
w2 = (1 / 2) * cd * U * U + (Cmp * ((3.14 * D) / 4) * dudt) ' menghitung ombak
w = w1 + w2
mx = w * (x ^ 2) / 2
Label2.Caption = mx

End If
End Sub


nah.. hasilnya, seperti di bawah ini

gampang bukan? oke, kita lanjutkan untuk menghitung beban lainya, sehingga software prototype yang dibuat bisa semakin bagus.
masukkan? saran? dengan tangan dan hati terbuka.. silahkan di sampaikan pada kolom dibawah

0 comments:

Post a Comment