Kelompok 1

From ccitonlinewiki
Revision as of 17:44, 30 September 2019 by Rizkyawanwibawa (talk | contribs)
Jump to: navigation, search

Kelompok 1 Anggota:

  • Andika Ramadhan Gurnida
  • M. Pasha Wibisono
  • M. Yusuf Abdurrahman
  • Rizkyawan Wibawa

Tugas: Menyelesaikan problem set bab 2 dengan program Python

  • Agenda untuk tugas ini berdasarkan pemahaman kami atas informasi yang ada adalah pembuatan program Python untuk melakukan eliminasi Gauss, yang kemudian akan digunakan untuk menyelesaikan salah satu soal pada problem set yang terdapat pada Bab 2.
  • Kami memilih soal nomor 4 di Problem Set 2.1 dari buku untuk diselesaikan.
  • Langkah-langkah yang terdapat dalam program yang kami buat adalah sebagai berikut:
  • 1. Mengimpor modul numpy untuk membuat matriks
  • 2. Membuat matriks persamaan yang terdapat pada soal untuk diselesaikan
  • 3. Menulis algoritma untuk melakukan fase eliminasi
  • 4. Menulis algoritma untuk melakukan back substitution
  • 5. Mencetak matriks penyelesaian soal
  • Program yang telah kami buat secara spesifik untuk menyelesaikan soal tersebut sebagai berikut:
   import numpy as np
   A = np.array ([[2,-3,-1],[3,2,-5],[2,4,-1]])
   b = np.array ([[3],[-9],[-5]])
   def gaussElimin(A,b):
   n = len(b)
   for k in range (0,n-1):
   for i in range(k+1,n):
   if A[i,k] != 0.0:
   lam = A[i,k]/A[k,k]
   A[i,k+1:n] = A[i,k+1:n] - lam*A[k,k+1:n]
   b[i] = b[i] - lam*b[k]
   for k in range(n-1,-1,-1):
   b[k] = (b[k] - np.dot(A[k,k+1:n],b[k+1:n]))/A[k,k]
   return b
   x = gaussElimin(A,b)
   print (x)

Tugas: Aplikasi Metode Numerik pada masalah statika struktur

  • Agenda untuk tugas ini berdasarkan pemahaman kami atas informasi yang ada adalah menjelaskan aplikasi dari apa yang telah dipelajari pada mata kuliah metode numerik untuk menyelesaikan permasalahan statika struktur satu dimensi.
  • Kami memilih menggunakan analisa finite element untuk menyelesaikan contoh soal statika struktur satu dimensi.
  • Soal tersebut sebagai berikut:
  • Sebuah batang baja dengan panjang 600mm memiliki luas daerah cross-section sebesar 650mm^2 dan 350mm^2 pada kedua ujungnya. Ujung dengan luasan yang lebih besar menempel pada dinding dan diberikan dua gaya aksial sebesar 40kN pada ujung yang kecil dengan arah menjauhi dinding, dan 10kN pada posisi 200mm dari ujung yang kecil dengan arah mendekati dinding. Modelkan batang tersebut dengan tiga finite element dan tentukan nodal displacement yang terjadi.
  • Pertama-tama, kami memodelkan batang tersebut dengan tiga finite element terlebih dulu.
  • Ketiga elemen tersebut dipisahkan berdasarkan rata-rata luas daerah cross-section pada ujung-ujungnya, dengan panjang masing-masing elemen sebesar 200mm. Elemen yang paling dekat dengan dinding memiliki rata-rata luas daerah cross-section sebesar 600mm^2, elemen di tengah sebesar 500mm^2, dan elemen paling ujung sebesar 400mm^2.
  • Titik-titik tempat menyatunya elemen-elemen tersebut diperlakukan sebagai node yang akan dihitung perpindahannya.
  • Kita juga menentukan posisi konektivitas antar elemen, yang nantinya akan berguna untuk membuat matriks.
  • Node yang dimiliki batang tersebut ada 4 buah (1 pada ujung setiap elemen), maka dapat kita tentukan bahwa elemen paling dekat dengan dinding memiliki konektivitas dengan dinding dan elemen tengah di titik 1 dan 2, elemen tengah terhubung dengan elemen dekat dinding dan elemen ujung di titik 2 dan 3, dan elemen ujung terhubung dengan elemen tengah dan bagian ujung batang di titik 3 dan 4.
  • Informasi ini digunakan untuk membuat matriks global stiffness terlebih dahulu, dimana matriks tersebut diisi dengan nilai stiffness dari masing-masing elemen. Nilai tersebut ditentukan oleh rumus k = (E.A) / l, dimana k adalah nilai stiffness, E adalah modulus Young untuk baja (200 GPa = 200 x 10^3 MPa [N/mm^2]), A adalah luas daerah cross-section, dan l adalah panjang setiap elemen.
  • Kita juga membuat matriks global load vector, dengan nilai beban sesuai pada beban yang terdapat di setiap node.
  • Setelah kita membuat kedua matriks tersebut, maka nodal displacement dapat dicari (dengan catatan node dinding memiliki perpindahan 0 sehingga kita hanya akan mendapatkan tiga nilai perpindahan) dengan program berikut:
   # Mengimpor modul untuk membuat matriks
   import numpy as np
   # Membuat matriks stiffness dan matriks gaya pada objek
   K = np.array ([[5.5,-2.5,0],[-2.5,4.5,-2],[0,-2,2]])
   F = np.array ([[0],[-0.05],[0.2]])
   # Mendefinisikan eliminasi Gauss
   def gaussElimin(K,F):
   # Algoritma fase eliminasi
   n = len(F)
   for k in range (0,n-1):
   for i in range(k+1,n):
   if K[i,k] != 0.0:
   lam = K [i,k]/K[k,k]
   K[i,k+1:n] = K[i,k+1:n] - lam*K[k,k+1:n]
   F[i] = F[i] - lam*F[k]
   # Algoritma back substitution
   for k in range(n-1,-1,-1):
   F[k] = (F[k] - np.dot(K[k,k+1:n],F[k+1:n]))/K[k,k]
   return F
   # Mendefinisikan variabel untuk dicetak pada layar
   Q = gaussElimin(K,F)
   print (Q)
  • Catatan 1: nilai matriks beban dibagi dengan nilai modulus Young untuk mempermudah pembuatan matriks.
  • Catatan 2: hasil matriks Q dalam satuan mm