Difference between revisions of "Rafiq Ali Abdillah Azizi"
(→Analisis menggunakan CFDS dan Paraview) |
(→Simulasi Airfoil) |
||
Line 353: | Line 353: | ||
[[File:Korneg 33.jpg]] | [[File:Korneg 33.jpg]] | ||
+ | |||
+ | |||
+ | hasil dengan template coding yang diberikan | ||
+ | |||
+ | [[File:koreng 34.jpg]] | ||
== Artificial Neuron Networ == | == Artificial Neuron Networ == |
Revision as of 11:48, 24 December 2019
Nama: Rafiq Ali Abdillah Azizi
NPM: 1806200854
Asal: Kebumen, Jawa Tengah
بسم الله الر حمن الر حيم
wong bumen njajal nulis mugo lancar
SAIKI DURUNG BISO,AKU RAK POPO SENG PENTING USAHA
Contents
- 1 Mengapa harus belajar kalkulus?
- 2 Pertemuan Ke-Dua
- 3 Pertemuan Ke-Tiga
- 4 Deret Fibonaci dengan python
- 5 Pertmuan Ke Enam
- 6 Pertemuan Ke Tujuh
- 7 Coding Kuis Aljabar dan persamaan diferensial
- 8 UTS
- 9 Tugas Perbaikan UTS
- 10 Analisis menggunakan CFDS dan Paraview
- 11 Simulasi Airfoil
- 12 Artificial Neuron Networ
Mengapa harus belajar kalkulus?
dalam suatu kehidupan sudah pasti akan ada ilmu yang mengikuti baik ilmu yang pasti maupun yang tidak pasti karena orang hidup diperintahkan untuk mencari ilmu. semakin majunya zaman sudah pasti diikut sertai kemajuan dalam hal teknologi juga. untuk membentuk suatu alat yang mencerminkan kemajuan teknologi sudah pasti dibutuhkan berbagai perhitungan baik dari perhitungan kekuatan maupun ketelitian suatu design agar tercipta suatu alat yang sesuai dengan kebutuhan dan keamanan yang terjamin. Karenanya dibutuhkan suatu perhitungan-perhitungan dasar, dari situlah kalkulus sangat dibutuhkan sebagai dasar ilmu perhitungan yang pasti. sebagai seorang engineer sudah pastinya kita harus pandai akan hal dasar INI.
MINGGU DEPAN SINAU PYTHON (BAHASA PEMOGRAMAN)
T(x)=(x^2-1)/(x-1)
Pertemuan Ke-Dua
Pertemuan Ke-Tiga
Deret Fibonaci dengan python
A. Jika menggunakan for
1. Mulai
2. Buatlah deret yang diingin kan, misal dengan variabel "a,b,c = 0,1,0" a dengan nilai 0 karena deret diminta dari 0
3. lalu "for in range (10)" itu untuk mengatur berapa jumlah suku yg diinginkan, jika (10) maka jumlah sukunya ada 10
4. "print(a)" untuk membuat deret sesuai dengan perintah suku pertama a dan diatas a yang diminta adalah 0
5. masukkan rumus umum fibonaci dengan variabel a,b,c "c=a+b , a=b , b=c"
6. selesai
B. Dengan Function
1. Mulai
2. Masukkan n, yaitu banyaknya bilangan fibonacci yang diinginkan
3. Tentukan nilai i untuk suku pertama dan kedua yaitu i=0 atau i=1
4. Jika i=0 atau i=1 cetak fibonacci(i)=i
5. Isi nilai i>1 dimana i≤n
6. Tambahkan nilai pada variabel fibonacci di bilangan ke (i-1) dengan nilai pada variabel fibonacci di bilangan ke (i-2) kemudian nyatakan ke variabel fibonacci pada indeks ke i.
8. Cetak nilai variabel fibonacci(i)
9. Tambahkan i dengan 1
10. Selesai
Pertmuan Ke Enam
Pada pembelajaran kali ini Prof DAI menjelaskan bahwa banyaknya fungsi matematika untuk menghitung suatu permaslahan. untuk pertemuan ini prof DAI menjelaskan hal yang terjadi pada batang yang mengalami gaya tarik di satu sisi dan sisi lainnya menmpel pada dinding. Pada batang tersebut sudah pasti banyak sekali titik pusat persebaran gaya tersebut. Untuk mempermudah menghitung hal tersebut digunakanlah persamaan diferensial. untuk mempermudah memahami persamaan diferensial kami diajarkan oleh asisten menggunakan methode Runge Kutta yang dimana pada intinya memiliki methode tersendiri yang dinamakan methode Runge Kutta
Pertemuan Ke Tujuh
Kuis
Coding Kuis Aljabar dan persamaan diferensial
1. Persamaan Aljabar simultan dengan A.X = B
from numpy import linalg
import numpy as np
matAbar1 = [0,0,2,1,2]
matAbar2 = [0,1,0,2,-1]
matAbar3 = [1,2,0,-2,1]
matAbar4 = [0,0,0,-1,1]
matAbar5 = [0,1,-1,1,-1]
A = np.array ([matAbar1,matAbar2,matAbar3,matAbar4,matAbar5])
print ("matriks yang diketahui:")
print (A)
B = np.array ([1,1,-4,-2,-1])
print ("matriks hasil kali matriks yang diketahui dengan x:")
print (B)
jawab = linalg.solve (A,B)
matXkol1 = int(jawab[0])
matXkol2 = int(jawab[1])
matXkol3 = int(jawab[2])
matXkol4 = int(jawab[3])
matXkol5 = int(jawab[4])
print ("hasil X adalah :")
print ("matXkol1= ",matXkol1)
print ("matXkol2= ",matXkol2)
print ("matXkol3= ",matXkol3)
print ("matXkol4= ",matXkol4)
print ("matXkol5= ",matXkol5)
2. coding untuk penyelesaian persamaan diferensial
def dydx(x, y):
return ((x**2 - 4*y))
- mencari nilai y dengan nilai x tertentu pada suatu posisi tertentu h
- dan nilai awal y0 pada x0
def rungeKutta(x0, y0, x, h):
n = (int)((x - x0)/h) y = y0 for i in range(1, n + 1): "menggunakan metode runge kutta untuk mencari y dan dengan terlebih dahulu mencari nilai k nya" "y ahir=y awal+1/6(k1+2*k2+2*k3+k4)" k1 = h * dydx(x0, y) k2 = h * dydx(x0 + 0.5 * h, y + 0.5 * k1) k3 = h * dydx(x0 + 0.5 * h, y + 0.5 * k2) k4 = h * dydx(x0 + h, y + k3) # hasil y ahir y = y + (1.0 / 6.0)*(k1 + 2 * k2 + 2 * k3 + k4) # hasil x pada posisi h x0 = x0 + h return y
- misalkan :
x0 = 0 y = 1 x = 0.03 h = 0.01 print ('nilai y saat x adalah :', rungeKutta(x0, y, x, h))
==
UTS
Muhasabah Sedikit renungan diri ada di link di bawah. Terima Kasih
Coding untuk persoalan 1A mencari tegangan tali
from math import *
A=eval(input("masukkan m1: ")) B=eval(input("masukkan m2: ")) C=eval(input("masukkan m3: ")) D=eval(input("masukkan m4: "))
u=eval(input("masukkan koefisien gesek: ")) alfa=eval(input("masukkan sudut dalam derajat: "))
g=9.8 x=sin(alfa) y=cos(alfa) T1=A*g*(x-u*y) T2=B*g*(x-u*y) + T1 T3=C*g*(x-u*y) + T2 T4=D*g
print("Besar Tegangan Tali T4 adalah: ",T4)
Video presentasi untuk persoalan no 1 di link di bawah ini
untuk nomer 2 mencari waktu yang diperlukan untuk mencapai top speed
berikut kodingnya
from math import * from sympy import *
G=9.81
Roair= 1.2
Cd=eval(input("masukkan drag coefficient: "))
Luas=eval(input("masukkan area (m^2): "))
v0=eval(input("masukkan velocity awal: "))
M=eval(input("masukkan massa mobil(kg): "))
K=eval(input("masukkan koefisien gesekan: "))
A=eval(input("masukkan percepatan(m/s^2): "))
Vtop=eval(input("masukkan besar topspeed: "))
As=G*K
Adrag=(Cd*Luas*Roair*v0**2)/2*M
Atot=A-(Adrag+As)
t=Vtop/Atot
print("waktu yang dibutuhkan dari diam sampai top speed: ",t)
Berikut Video presentasi untuk persoalan nomer 2 di link bawah ini :
Tugas Perbaikan UTS
Pada tugas kali ini saya akan menggunakan permasalahan gerak vertikal ke atas pada keseharian yaitu menendang bola ke atas. pada permasalahan ini menggunakan kecepatan tendangan pada waktu tertentu dan bola pada posisi 50 cm ketika ditendang ke atas.
dari persamaan umumnya dimana untuk mendapatkan kecepatan saat bola ditendang maka butuh suatu percepatan seperti rumus yang biasa kita kenal yaitu
Vt = V0 + at
mengapa harus menggunakan runge kutta karena adanya variabel yang perlu di integralkan dalam satu persamaan sehingga tidak bisa membentuk persamaan linier yaitu V atau kecepatan yang merupakan integral dari a atau percepatan.
dan berikut codingnya
t = eval(input("pada saat t berapa: "))
h = 1 # dtnya
t0 = 0.1
y0 = 50 #bola ditendang dari darat denga ketinggian 50cm
def F(t0, y0):
return ((y0 + 5*t*t)/t)
- Finds value of y for a given x using step size h
def rungeKutta(t0, y0, t, h):
# Count number of iterations using step size or step height h n = (int)((t - t0) / h) # mendefinisikan y= y0 y = y0 for i in range(1, n + 1): "Apply Runge Kutta Formulas to find next value of y" k1 = h * F(t0, y) k2 = h * F(t0 + 0.5 * h, y + 0.5 * k1) k3 = h * F(t0 + 0.5 * h, y + 0.5 * k2) k4 = h * F(t0 + h, y + k3) # Update next value of y y = y + (1.0 / 6.0) * (k1 + 2 * k2 + 2 * k3 + k4) # Update next value of t t0 = t0 + h return y
print('posisi air padaman pertama telah sampai pada ketinggian:',rungeKutta(t0, y0, t, h))
Berikut adalah hasil run python ketika diberi waktu 20 detik
Analisis menggunakan CFDS dan Paraview
Analisis Drag Force dimulai dengan menggunakan program CFDSOF. Pada program CFDSOF, dilakukan impor gambar 3D dari mobil yang akan dianalisis, pembuatan mesh, beserta input data dan boundary condition yang diinginkan. Setelah semua data telah diinput, dilakukan penjalanan solver.
Analisis dilanjutkan dengan menggunakan program ParaView.
Pada program ParaView, dilakukan penghilangan internalMesh dan dimunculkan car_body.
Setelah itu, dilanjutkan dengan membuat filter "Generate Surface Normal" dengan "Compute cell normal"
Setelah itu, dilakukan perhitungan menggunakan kalkulator yang ada di program dengan menggunakan Attribute Mode Cell Data, mengganti Result Array Name menjadi Drag Force, dan melakukan perhitungan p*Normal_X
Terakhir, tambahkan filter Integrate Variables dan dapatkan nilai Drag Force
Simulasi Airfoil
Dengan menggunakan metode CFDS diatas lalu dengan sudut serang dari -15 hingga 90 dihasilkan data sebagai berikut
Drag Fprce
Lift Force
hasil dengan template coding yang diberikan
Artificial Neuron Networ
ANN ini merupakan salah satu metode untuk melakukan pengolahan data yang cara kerjanya mirip dengan sistem saraf otak pada manusia. Karena semakin banyaknya data yang terimput maka data yang dihasilkan akan lebih mirip dengan data yang real. Adapun beberapa langkah utama yang harus dilakukan supaya bisa menjalankan program dengan metode ini.
1. Olahlah data yang akan di analisis, bisa dengan data data dragforce dan lift force kemarin.
2. input data yang telah diolah
3. Acak dengan init
4. Tambahkan layer tersembunyi untuk rumus untuk mengolah datanya
5. lalu pilih pengoptimalan, kehilangan dan metrik kinerja
6. Kompilasi model
7. gunakan model fit unutk melatih model.
8. evaluasi model tersebut
maka akan kelihatan bagamna perbandingan antara hasil real data dengan hasil yang dilakukan dengan metode ANN dari hasilnya kemarin hasil data grafiknya sangatlah mirip.
(comments voting "plus" :/)