Difference between revisions of "Fashal Firdaus Amarullah"

From ccitonlinewiki
Jump to: navigation, search
Line 485: Line 485:
 
perhitunganflow chart  
 
perhitunganflow chart  
  
  *[[File:590056.jpg|500px|thumb|left]]
+
  [[File:590056.jpg|500px]]       [[File:590036.jpg|500px]]
*[[File:590036.jpg|500px|thumb|left]]
 
  
''Tugas Minggu IV''
+
 
 +
'''Tugas Minggu IV'''
  
 
Mebuat flow chart diagram class dan coding open modelica  
 
Mebuat flow chart diagram class dan coding open modelica  

Revision as of 12:15, 9 December 2020

Profile
573207.jpg
Nama Lengkap Fashal Firdaus Amarullah
NPM 1906301186
Jurusan Teknik Mesin
Alamat Surel fashalamarullah@gmail.com

Nama saya adalah Fashal Firdaus Amarullah sebagai mahasiswa Teknik Mesin angkatan 2019 dan saya adalah salah satu ciptaan terbaik dari Tuhan Yang Maha Esa karena pada prinsipnya Tuhan Yang Maha Esa itu mendesain manusia dengan sebaik-baiknya makhluk. Pada kali ini saya sedang belajar mata kuliah metode numerik. Sebagai mahasiswa saya juga aktif dibeberapa lembaga dan kepanitiaan yang ada di Fakultas Teknik Universitas Indonesia. Saya mengikuti organisasi IMM FTUI sebagai Badan Pengurus bidang Litbang IMM FTUI 2020. Di departemen saya juga aktif di KPD HTW sebagai member. Dilingkup Fakultas Teknik saya menjadi Badan pengurus bidang Relasi BEM FTUI 2020. Saya juga aktif dalam kepanitiaan lingkup Fakultas Teknik sebagai Vice Project Officer Aksioma FTUI 2020 yang merupakan acara tahunan fakultas teknik dalam bidang sosial masyarakat.

Metode Numerik

Metode numerik adalah metode penyelesaian masalah yang diformulasikan secara matematis dengan menggunakan operasi hitungan yaitu operasi tambah, kurang, kali, dan bagi. Metode ini digunakan karena banyak permasalahan yang tidak dapat diselesaikan menggunakan metode analitik. Metode numerik dapat memecahkan suatu permasalahan menggunakan pendekatan-pendekatan yang bersifat analitik. Biasanya hasil dari perhitungan metode numerik bersifat berupa hampiran atau pendekatan.


Pertemuan Minggu Pertama (11 November 2020)

Saat pertemuan pertama kali ini kami diajarkan oleh Bapak Dr. Ir. Ahmad Indra Siswantara tentang tujuan dari pembelajaran metode numerik,diantaranya:

1. Dapat memahami konsep-konsep dan prinsip-prinsip dasar dalam metode numerik seperti:persamaan diferensial parsial, Persamaan algoritma, pencocokan kurva,aljabar, dan lainnya

2. Dapat menerapkan metode numerik dalam hal terkait persoalan keteknikan

3. Dapat mengerti dan mampu menerapkan pemahaman atau aplikasi terhadap konsep metode numerik

4. Mendapat nilai tambah atau adab sehingga kita menjadi orang yang lebih beradab

Pada pertemuan pertama ini, kami juga diajarkan tentang penggunaan software Open modelica. Selain itu beliau juga banyak mengajarkan tentang nilai-nilai kebaikan dalam kehidupan.

Tugas Minggu Pertama

Pada tugas pertama kami diberikan tugas untuk mempalajari penggunaan software Open Modelica, yaitu sebuah sofware untuk membuat sebuah simulasi dan modelling. Open Modelica biasanya digunakan untuk perhitungan industri pada pabrik dan juga biasa digunakan untuk pemecahan masalah metode numerik. Disini beberapa contoh dari youtobe yang saya sudah tonton:


Selain itu kami juga disuruh membuat sebuah video tutorial penggunaan software open modelica. Berikut video tutorial yang saya buat:


Pertemuan Minggu Kedua (18 November 2020)

Pada pertemuan kedua kali ini, diawali dengan pesan-pesan kehidupan dari Pak Dai. Beliau memberikan saran agar sebagai manusia kita harus terus berkembang setiap harinya dan menjadi lebih baik dari hari ke hari. Pada minggu ini, banyak mereview tentang tugas yang diberikan pada minggu lalu yaitu penggunaan software Open Modelica. Banyak teman-teman kelas yang mempresentasikan tentang tugas mereka pada minggu lalu. Selain itu Pak Dai juga menjelasakan kelebihan dari Software Open MOdelica. Pada Software ini mempunyai fitur-fitur untuk membuat function, model, persamaan, dlll. Software Open Modelica juga dapat digunakan secara free sehingga dapat digunakan oleh semua orang.

Pada Pertemuan kedua kali ini kami juga diajarkan menggunakan open modelica untuk menggabungkan function kedalam class yang sudah dibuat. Setelah kami diajarkan,kemudian saya mencobanya dengan open modelica. Berikut tahapan-tahapannya:

  • 1. Buatlah class baru dengan menggunakan open modelica seperti berikut
MessageImage 1606286289864.jpg
  • 2. Setelah itu buatlah function baru seperti pada gambar berikut
MessageImage 1606286301025.jpg
  • 3. Setelah selesai membuat function , kembali lagi kehalaman class, dan tarik function ke class menggunakan cara seperti digambar
MessageImage 1606286222199.jpg


Tugas Minggu Kedua

Pada Tugas Minggu kedua ini, kami ditugaskan untuk mempelajari penggunaan Open Modelica untuk penyelesaian Aljabar. Berikut Video Tutorial yang saya buat:


Pertemuan Minggu Ketiga (25 November 2020)

Pada pertemuan ketiga kali ini kami membahas tentang penggunaan Open Modelica pada permasalahan engineering. Pada permasalahan engineering, metode numerik dapat membantu menyelesaikan persoalan agar lebih cepat. Beberapa contoh metode numerik yang dapat membantu menyelesaikan permasalaha engineering diantaranya CFD(Computation fluid dynamics, Metode Stokastik, dan FEA ( FInite Element Analaysis). Tahapan untuk menyelesaikan masalah engineering menggunakan metode numerik:

  • 1. Melakukan analisis terhadap masalah engineering
  • 2. Melakukan pemodelan matematis dari masalah yang sudah dianalisis
  • 3. Menerjemahkan pemodelan matematis yang sudah dibuat menjadi metode numerik agar bisa dhitung oleh komputer
  • 4. Melakukan perhitungan metode numerik menggunakan software dan dihasilkanlah solusi dari masalah engineering tersebut

CFD Simulation

simulasi aliran fluida pada pesawat ulang alik

Computational fluid dynamics ( CFD ) adalah cabang dari mekanika fluida yang menggunakan analisis metode numerik dan struktur data untuk menganalisis dan memecahkan masalah yang melibatkan aliran fluida. Dasar fundamental dari hampir semua masalah CFD adalah persamaan Navier-Stokes , yang mendefinisikan banyak aliran fluida pada satu fasa. Persamaan-persamaan ini dapat disederhanakan dengan menghilangkan suku-suku yang mendeskripsikan tindakan kental untuk menghasilkan persamaan Euler . Penyederhanaan lebih lanjut, dengan menghilangkan istilah yang menggambarkan vortisitas menghasilkan persamaan potensial penuh.

Finite Element Method for Trusses

The finite element method (FEM) is a numerical technique used to perform finite element analysis (FEA) of any given physical phenomenon. It is necessary to use mathematics to comprehensively understand and quantify any physical phenomena, such as structural or fluid behavior, thermal transport, wave propagation, and the growth of biological cells. Most of these processes are described using partial differential equations (PDEs). However, for a computer to solve these PDEs, numerical techniques have been developed over the last few decades and one of the most prominent today is the finite element method.

Example for trusses

Soal Trusses 1 fashal.jpg

We can use Finete Element Method to solve this problem. We can make equation with numerical method use Open modelica.

Persamaan

model Trusses

parameter Integer N=10; //Global matrice = 2*points connected
parameter Real A=8;
parameter Real E=1.9e6;
Real G[N,N]; //global
Real Ginitial[N,N]; //global
Real Sol[N]; //global dispplacement
Real X[N]={0,0,0,0,0,0,0,-500,0,-500};
Real R[N]; //global reaction force
Real SolMat[N,1];
Real XMat[N,1];

//boundary coundition
Integer b1=1;
Integer b2=3;

//truss 1
parameter Real X1=0; //degree between truss
Real k1=A*E/36;
Real K1[4,4]; //stiffness matrice
Integer p1a=1;
Integer p1b=2;
Real G1[N,N];

//truss 2
parameter Real X2=135; //degree between truss
Real k2=A*E/50.912;
Real K2[4,4]; //stiffness matrice
Integer p2a=2;
Integer p2b=3;
Real G2[N,N];

//truss 3
parameter Real X3=0; //degree between truss
Real k3=A*E/36;
Real K3[4,4]; //stiffness matrice
Integer p3a=3;
Integer p3b=4;
Real G3[N,N];

//truss 4
parameter Real X4=90; //degree between truss
Real k4=A*E/36;
Real K4[4,4]; //stiffness matrice
Integer p4a=2;
Integer p4b=4;
Real G4[N,N];

//truss 5
parameter Real X5=45; //degree between truss
Real k5=A*E/50.912;
Real K5[4,4]; //stiffness matrice
Integer p5a=2;
Integer p5b=5;
Real G5[N,N];

//truss 6
parameter Real X6=0; //degree between truss
Real k6=A*E/36;
Real K6[4,4]; //stiffness matrice
Integer p6a=4;
Integer p6b=5;
Real G6[N,N];

/*
for each truss, please ensure pXa is lower then pXb (X represents truss element number)
*/

algorithm

//creating global matrice
K1:=Stiffness_Matrices(X1);
G1:=k1*Local_Global(K1,N,p1a,p1b);

K2:=Stiffness_Matrices(X2);
G2:=k2*Local_Global(K2,N,p2a,p2b);

K3:=Stiffness_Matrices(X3);
G3:=k3*Local_Global(K3,N,p3a,p3b);

K4:=Stiffness_Matrices(X4);
G4:=k4*Local_Global(K4,N,p4a,p4b);

K5:=Stiffness_Matrices(X5);
G5:=k5*Local_Global(K5,N,p5a,p5b);

K6:=Stiffness_Matrices(X6);
G6:=k6*Local_Global(K6,N,p6a,p6b);

G:=G1+G2+G3+G4+G5+G6;
Ginitial:=G;

//implementing boundary condition
for i in 1:N loop
 G[2*b1-1,i]:=0;
 G[2*b1,i]:=0;
 G[2*b2-1,i]:=0;
 G[2*b2,i]:=0;
end for;

G[2*b1-1,2*b1-1]:=1;
G[2*b1,2*b1]:=1;
G[2*b2-1,2*b2-1]:=1;
G[2*b2,2*b2]:=1;

//solving displacement
Sol:=Gauss_Jordan(N,G,X);

//solving reaction force
SolMat:=matrix(Sol);
XMat:=matrix(X);
R:=Reaction_Trusses(N,Ginitial,SolMat,XMat);

end Trusses;


Trusses Problem 2 (Homework)

Soal Trusses 2 fashal.jpg


Discplacement Graphics
Reaction Forces Graphics

Persamaan

class Trusses_HW

parameter Integer N=8; //Global matrice = 2*points connected
parameter Real A=0.001; //Area m2
parameter Real E=200e9; //Pa
Real G[N,N]; //global
Real Ginitial[N,N]; //global
Real Sol[N]; //global dispplacement
Real X[N]={0,0,-1035.2762,-3863.7033,0,0,-1035.2762,-3863.7033};
Real R[N]; //global reaction force
Real SolMat[N,1];
Real XMat[N,1];

//boundary condition
Integer b1=1;
Integer b2=3;

//truss 1
parameter Real X1=0; //degree between truss
Real k1=A*E/1;
Real K1[4,4]; //stiffness matrice
Integer p1a=1;
Integer p1b=2;
Real G1[N,N];

//truss 2
parameter Real X2=0; //degree between truss
Real k2=A*E/1;
Real K2[4,4]; //stiffness matrice
Integer p2a=2;
Integer p2b=3;
Real G2[N,N];

//truss 3
parameter Real X3=90; //degree between truss
Real k3=A*E/1.25;
Real K3[4,4]; //stiffness matrice
Integer p3a=2;
Integer p3b=4;
Real G3[N,N];

//truss 4
parameter Real X4=90+38.6598; //degree between truss
Real k4=A*E/1.6;
Real K4[4,4]; //stiffness matrice
Integer p4a=1;
Integer p4b=4;
Real G4[N,N];

//truss 5
parameter Real X5=90-38.6598; //degree between truss
Real k5=A*E/1.6;
Real K5[4,4]; //stiffness matrice
Integer p5a=3;
Integer p5b=4;
Real G5[N,N];

/*
for each truss, please ensure pXa is lower then pXb (X represents truss element number)
*/

algorithm

//creating global matrice
K1:=Stiffness_Matrices(X1);
G1:=k1*Local_Global(K1,N,p1a,p1b);

K2:=Stiffness_Matrices(X2);
G2:=k2*Local_Global(K2,N,p2a,p2b);

K3:=Stiffness_Matrices(X3);
G3:=k3*Local_Global(K3,N,p3a,p3b);

K4:=Stiffness_Matrices(X4);
G4:=k4*Local_Global(K4,N,p4a,p4b);

K5:=Stiffness_Matrices(X5);
G5:=k5*Local_Global(K5,N,p5a,p5b);

G:=G1+G2+G3+G4+G5;
Ginitial:=G;

//implementing boundary condition
for i in 1:N loop
 G[2*b1-1,i]:=0;
 G[2*b1,i]:=0;
 G[2*b2-1,i]:=0;
 G[2*b2,i]:=0;
end for;

G[2*b1-1,2*b1-1]:=1;
G[2*b1,2*b1]:=1;
G[2*b2-1,2*b2-1]:=1;
G[2*b2,2*b2]:=1;

//solving displacement
Sol:=Gauss_Jordan(N,G,X);

//solving reaction force
SolMat:=matrix(Sol);
XMat:=matrix(X);
R:=Reaction_Trusses(N,Ginitial,SolMat,XMat);

end Trusses_HW;

Fungsi Panggil

Matrice Transformation

function Stiffness_Matrices
input Real A;
Real Y;
output Real X[4,4];
Real float_error = 10e-10;

final constant Real pi=2*Modelica.Math.asin(1.0);

algorithm

Y:=A/180*pi;
    
X:=[(Modelica.Math.cos(Y))^2,Modelica.Math.cos(Y)*Modelica.Math.sin(Y),-(Modelica.Math.cos(Y))^2,-Modelica.Math.cos(Y)*Modelica.Math.sin(Y);

Modelica.Math.cos(Y)*Modelica.Math.sin(Y),(Modelica.Math.sin(Y))^2,-Modelica.Math.cos(Y)*Modelica.Math.sin(Y),-(Modelica.Math.sin(Y))^2;

-(Modelica.Math.cos(Y))^2,-Modelica.Math.cos(Y)*Modelica.Math.sin(Y),(Modelica.Math.cos(Y))^2,Modelica.Math.cos(Y)*Modelica.Math.sin(Y);

-Modelica.Math.cos(Y)*Modelica.Math.sin(Y),-(Modelica.Math.sin(Y))^2,Modelica.Math.cos(Y)*Modelica.Math.sin(Y),(Modelica.Math.sin(Y))^2];

for i in 1:4 loop
 for j in 1:4 loop
   if abs(X[i,j]) <= float_error then
     X[i,j] := 0;
   end if;
 end for;
end for;

end Stiffness_Matrices;

Global Element Matrice

function Local_Global
input Real Y[4,4];
input Integer B;
input Integer p1;
input Integer p2;
output Real G[B,B];

algorithm

for i in 1:B loop
 for j in 1:B loop
     G[i,j]:=0;
 end for;
end for;

G[2*p1,2*p1]:=Y[2,2];
G[2*p1-1,2*p1-1]:=Y[1,1];
G[2*p1,2*p1-1]:=Y[2,1];
G[2*p1-1,2*p1]:=Y[1,2];

G[2*p2,2*p2]:=Y[4,4];
G[2*p2-1,2*p2-1]:=Y[3,3];
G[2*p2,2*p2-1]:=Y[4,3];
G[2*p2-1,2*p2]:=Y[3,4];

G[2*p2,2*p1]:=Y[4,2];
G[2*p2-1,2*p1-1]:=Y[3,1];
G[2*p2,2*p1-1]:=Y[4,1];
G[2*p2-1,2*p1]:=Y[3,2];

G[2*p1,2*p2]:=Y[2,4];
G[2*p1-1,2*p2-1]:=Y[1,3];
G[2*p1,2*p2-1]:=Y[2,3];
G[2*p1-1,2*p2]:=Y[1,4];

end Local_Global;

Gauss_Jordan

function Gauss_Jordan
input Integer N;
input Real A[N,N];
input Real B[N];
output Real X[N];
Real float_error = 10e-10;
algorithm
X:=Modelica.Math.Matrices.solve(A,B);
for i in 1:N loop
  if abs(X[i]) <= float_error then
    X[i] := 0;
  end if;
end for;
end Gauss_Jordan;

Reaction Matrice Equation

function Reaction_Trusses
input Integer N;
input Real A[N,N];
input Real B[N,1];
input Real C[N,1];
Real X[N,1];
output Real Sol[N];
Real float_error = 10e-10;

algorithm
X:=A*B-C;

for i in 1:N loop
 if abs(X[i,1]) <= float_error then
   X[i,1] := 0;
 end if;
end for;

for i in 1:N loop
 Sol[i]:=X[i,1];
end for;

end Reaction_Trusses;


Pertemuan 4 (02/12/2020)

Kita harus mengetahui hal apa saja yang akan kita lakukan


Quiz Diagram Class dan Flow Chart

Membuat flow chart dan class diagram dari coding trusse problem

Setelah memahami pembahasan dari josiah, saya melihat bahwa josiah menggunakan 5 kelas. Ketik kita menggunakan matrices transfromation, kita ada menambahkan data sudut dari elemen pada truss, kemudia outputnya pun berupa matriks lokal dari kekakuan pegas. ketika persamaan global element matrice didapat, tiap matriks lokal kekukan elemen akan diletkannan dalam susunan matriks global. Didalam class truss berikutnya matriks tiap elemen diolah dengan luas penampang , modulus elastisitaas dan panjang tiap elemen, yang selanjutnya digabungkan menjadi suatu matriks global g, dengan penerapan boundary conditon, selanjutnya diselesaikan dengan gauss jordan untuk mendapatkan nili defleksi dan digunakanlah fungsu reaction untuk menghasilkan gaya reaksi.

Buatlah Flowchart untuk soal berikut

Soal Trusses 2 fashal.jpg

Pembuatan Flowchart

590034.jpg

perhitunganflow chart

590056.jpg        590036.jpg


Tugas Minggu IV

Mebuat flow chart diagram class dan coding open modelica

Pr4tin.jpeg


Dibawah ini adalah coding untuk soal 3d trusses berdasarkan sumber dari saudara Ahmad Mohammad Fahmi dari kelas metode numerik 03 :

Membuat Kekakuan elemen

KE 3D 1.png
KE 3D 2.png


Membuat Kekakuan Global

KG 3D 1.png
KG 3D 2.png


Membuat Kekakuan Global Gabungan (hasil penjumlahan kekakuan global per elemen)

KGG 3D.png
KGB 3D.png


Membuat Gauss Jordan

Gauss Jordan 3D.png


Membuat Gaya Reaksi

Gaya Reaksi 3D.png


Membuat Kelas Pemanggil

Kelas 3D.png

Setelah itu didapatlah hasil untuk U (defleksi) dan R (gaya reaksi)

U 3D.png R 3D.png