Difference between revisions of "Kelompok 2"

From ccitonlinewiki
Jump to: navigation, search
(Tugas Besar)
(Tugas Besar)
Line 181: Line 181:
 
  Airfoil yang digunakan adalah MH 70 11.08% - Martin Hepperle MH70
 
  Airfoil yang digunakan adalah MH 70 11.08% - Martin Hepperle MH70
 
  Span = 2 mm
 
  Span = 2 mm
  Root and Tip Chord = 10 mm
+
  Root and Tip Chord = 10 mm Airfoil dibuat dengan menggunakan software Autodesk Inventor
 +
[[File:TB2.png]]
 +
 
 +
'''Simulasi menggunakan CFDSOFT??'''
 +
Model yang sudah dibuat diimport ke CFDSOFT
 
  [[File:TB1.png]]
 
  [[File:TB1.png]]
  
 
  '''Pembuatan model airfoil'''
 
  '''Pembuatan model airfoil'''
Airfoil dibuat dengan menggunakan software Autodesk Inventor
 
[[File:TB2.png]]
 
  
'''Simulasi menggunakan CFDSOFT??'''
 
Model yang sudah dibuat diimport ke CFDSOFT
 
 
  Model memasuki tahap ''meshihg''
 
  Model memasuki tahap ''meshihg''
 
  [[File:TB3.png]]
 
  [[File:TB3.png]]
Line 207: Line 207:
 
  Model ''meshing'' diimport ke Paraview
 
  Model ''meshing'' diimport ke Paraview
 
  Perhitungan dilakukan dengan tahap berikut
 
  Perhitungan dilakukan dengan tahap berikut
 +
[[File:TB12.png]]
 +
[[File:TB13.png]]
 +
[[File:TB14.png]]
 +
[[File:TB15.png]]
 +
[[File:TB16.png]]
 +
[[File:TB17.png]]
 +
[[File:TB18.png]]
  
 
  '''Hasil Percobaan'''
 
  '''Hasil Percobaan'''
 
  ''Data Percobaan''
 
  ''Data Percobaan''
  Berikut adalah data percobaan kami
+
  Data Percobaan
  hh
+
  [[File:TB19.png]]
 
  ''Grafik Percobaan''
 
  ''Grafik Percobaan''
 
  Berikut adalah grafik lift dan drag kami
 
  Berikut adalah grafik lift dan drag kami
  jj
+
  [[File:TB20.png]]
 
  ''Optimasi''
 
  ''Optimasi''
 
  Kode yang digunakan
 
  Kode yang digunakan
  hh
+
  [[File:TB21.png]]
 
  Berikut hasil optimasi yang dilakukan
 
  Berikut hasil optimasi yang dilakukan
  hh
+
  [[File:TB22.png]]
 
  Grafik hasil optimasi Lift vs Drag
 
  Grafik hasil optimasi Lift vs Drag
  dgs
+
  [[File:TB23.png]]

Revision as of 17:44, 8 December 2019

1. Ryanson Jonathan

2. Agis Gilang Setiawan

3. Ales Daniel


Eliminasi Gauss

Pengerjaan dilakukan menggunakan algoritma Gauss seperti yang ada di buku Phyton. Namun, yang membedakan adalah tidak menggunakan module pada pengerjaan ini. Berikut adalah algoritma yang sudah dirancang berdasarkan soal pada buku Phyton :

Algoritma yang kami gunakan adalah sebagai berikut:

a = [[2,-3,-1], \
[3,2,5], \
[2,4,4]]
b = [[3], \
[-9], \
[-5]]
n = len(b)
for k in range(0, n-1):
  for i in range(n-1, k, -1):
    if a[i][k] != 0.0:
      op= a[i][k]/a[i-1][k]
      b[i][0]=b[i][0]-op*b[i-1][0]
      for f in range(0,n):
        a[i][f]=a[i][f]-op*a[i-1][f]
Hasil=['Hasilnya']
if a[2][2] !=0:
  z=b[2][0]/a[2][2]
else:
  z=0
if a[0][0] !=0:
  y=(b[1][0]-z*a[1][2])/a[1][1]
else:
  y=0
if a[0][0] !=0:
  x=(b[0][0]-z*a[0][2]-y*a[0][1])/a[0][0]
else:
  x=0
hasil=(x,y,z)
print(a)


Gauss test kelompok2.jpg

Runge-Kutta Method


Pengerjaan dilakukan dan kode dirancang untuk mengikuti contoh soal.

# Di sini, kita akan menggunakan x0 dan y sebagai titik asal, x sebagai t yang diinginkan, dan h sebagai increment. Kita menggunakan h = 0.01. 
x0 = 0
y = 0
h = 0.01
x = float(input("Masukkan nilai t: "))
if 0 <= x < 2:
  # dydx menyatakan persamaan awal dalam soal. Persamaan harus diintegralkan sekali untuk menghasilkan persamaan kecepatan.
  # Didapat hasil 2x^2 - 30xy karena dipakai massa m = 2,5 kg dan konstanta pegas k = 75 N/m.
  # P(t) dinyatakan dalam x. 
  def dydx(x, y): 
    return (2*x**2 - 30*x*y) 
  # Ini merupakan implementasi perhitungan Runge-Kutta.
  def rungeKutta(x0, y0, x, h): 
    n = (int)((x - x0)/h)  
    y = y0 
    for i in range(1, n + 1): 
       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) 
 
       # untuk y selanjutnya 
       y = y + (1.0 / 6.0)*(k1 + 2 * k2 + 2 * k3 + k4) 
 
       # untuk x selanjutnya
       x0 = x0 + h 
    return y 
  print("Nilai y pada t =", x, "adalah", rungeKutta(x0, y, x, h))
elif x >= 2:
  # Ketika x >= 2, perhitungan harus diganti karena P(t) sudah konstan di angka 20 N.
  def dydx(x, y): 
    return (8 - 30*x*y) 
  def rungeKutta(x0, y0, x, h): 
    n = (int)((x - x0)/h)  
    y = y0 
    for i in range(1, n + 1): 
       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) 
       y = y + (1.0 / 6.0)*(k1 + 2 * k2 + 2 * k3 + k4)
       x0 = x0 + h 
    return y 
  print("Nilai y pada t =", x, "adalah", rungeKutta(x0, y, x, h))
else:
  print("Mohon masukkan nilai t positif.")

Flowdiagram RungeKutta Kelompok2.jpg

CFD CAR DRAG ANALYSIS

Analysis drag dilakukan terlebih dahulu input data yang diperlukan pada CFD-Pre dan CFD-Solve. Berikut adalah hasil setelah dilakukan Mesh Geometry dan Run Solver dari mobil yang akan dianalisa.

Testcfdkel2 1.jpg

Kemudian, pada bagian tab CFD-Post, dilakukan running dengan aplikasi Paraview untuk mengetahui drag force yang ingin dicari tahu.

Testcfdkel2 2.jpg

Lalu, dilakukan pengerjaan dengan filter Generate Surface Normal, dengan mengapply tampak car_body saja yang terlihat. Kemudian, dilakukan kalkulasi besar P terhadap gaya normal sumbu x. Hasil tersebut kemudian di apply kembali sehingga menghasilkan perhitungan yang diinginkan yaitu Drag Force yang ditentukan. Didapatkan besarnya setelah dilakukan filter dan integrasi perhitungan yang ada. Berikut adalah skema yang dilakukan:

Testcfdkel2 3.jpg

Kemudian, dilakukan percobaan lainnya dengan variasi V dengan interval 1 dari 10 hingga 20. Akhirnya, didapatkan data yang kemudian dibentuk grafiknya serta trendline yang berbentuk kurva sebagai berikut:

Testcfdkel2 4.jpg


Optimasi

Optimasi untuk kasus airfoil dilakukan menggunakan kode sbb:

# -*- coding: utf-8 -*-
"""
Created on Mon Dec 2 14:39:11 2019

@author: rjsec
"""

import numpy as np
from scipy.optimize import minimize


def cdrag(x):
    x1 = x[0]
    drag = 0.0000003*x1**4-0.00002*x1**3+0.0008*x1**2+0.0026*x1-0.0517
    return drag

def clift(x):
    x1 = x[0]
    lift = 0.0000001*x1**4+0.00001*x1**3+0.0003*x1**2+0.0052*x1+0.0187
    return lift

def objective(x):
    return cdrag(x)

def constraint1(x): 
    return 90 - cdrag(x)
def constraint2(x):
    return 90 - clift(x)

con1=({'type':'ineq','fun':constraint1})
con2=({'type':'ineq','fun':constraint2})
cons = (con1,con2)

x1_guess = 50

x0 = np.array([x1_guess]) 

sol = minimize(objective,x0, method='SLSQP',constraints=cons, options={'disp':True})

xopt = sol.x
forceopt = -sol.fun 

dragopt = cdrag(xopt)
liftopt = clift(xopt) 

print ("")
print ("Hasil optimasi:")
print ("Sudut optimal = "+str(-xopt[0]))
print ("Total force optimal = "+str(forceopt))
print ("Drag force optimal = "+str(-dragopt))
print ("Lift force optimal = "+str(liftopt))


Tugas Besar

Spesifikasi Airfoil
Airfoil yang digunakan adalah MH 70 11.08% - Martin Hepperle MH70
Span = 2 mm
Root and Tip Chord = 10 mm Airfoil dibuat dengan menggunakan software Autodesk Inventor
TB2.png
Simulasi menggunakan CFDSOFT??
Model yang sudah dibuat diimport ke CFDSOFT
TB1.png
Pembuatan model airfoil
Model memasuki tahap meshihg
TB3.png
Berikut adalah Boundary geometry untuk proses meshing
TB4.png
Model memasuki tahap-tahap analisis sebagai berikut 
TB5.png
TB6.png
TB7.png
TB8.png
TB9.png
TB10.png
TB11.png
TB12.png
Perhitungan menggunakan Paraview
Model meshing diimport ke Paraview
Perhitungan dilakukan dengan tahap berikut
TB12.png
TB13.png
TB14.png
TB15.png
TB16.png
TB17.png
TB18.png
Hasil Percobaan
Data Percobaan
Data Percobaan
TB19.png
Grafik Percobaan
Berikut adalah grafik lift dan drag kami
TB20.png
Optimasi
Kode yang digunakan
TB21.png
Berikut hasil optimasi yang dilakukan
TB22.png
Grafik hasil optimasi Lift vs Drag
TB23.png