Difference between revisions of "JosiahEnrico"

From ccitonlinewiki
Jump to: navigation, search
 
(128 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
Perkenalkan nama saya Josiah Enrico S dari jurusan teknik mesin FTUI. Sebagai salah seorang mahasiswa, saya senang belajar dan berbagi banyak hal baru kepada dunia. Melalui wiki ini, saya akan berbagi kepada kalian tentang apa yang saya pelajari. :)
 
Perkenalkan nama saya Josiah Enrico S dari jurusan teknik mesin FTUI. Sebagai salah seorang mahasiswa, saya senang belajar dan berbagi banyak hal baru kepada dunia. Melalui wiki ini, saya akan berbagi kepada kalian tentang apa yang saya pelajari. :)
  
= Aplikasi Modelica =
+
= [[Aplikasi CFD - Josiah Enrico S (1906356286)]] =
  
== Melakukan Simulasi Tanpa Menggunakan GUI - Aplikasi Modelica/17 November 2020 ==
+
= [[Metode Numerik - Josiah Enrico S (1906356286)]] =
 
 
[[File:VAWT Jos.jpg |200px|thumb|right|Vertical Axis Wind Turbine]]
 
 
 
== Contoh Aplikasi Dynamic Mesh dan 6DoF - Aplikasi Modelica/19 November 2020 ==
 
 
 
 
 
VAWT atau singkatan dari Vertical Axis Wind Turbin adalah salah satu mesin tenaga yang mengubah energi mekanis dari aliran angin menjadi kerja. ciri khas mesin tipe ini adalah turbin memiliki poros yang tegak lurus dengan aliran fluida dan vertikal dengan tanah seperti gambar di samping. Desain ini memungkinkan aliran angin dari arah manapun dapat dimanfaatkan untuk menjadi kerja asalkan tidak sejajar dengan poros turbin ini. Dalam insdustri, mesin ini juga dikenal sebagai "transverse axis wind turbine" atau "cross-flow wind turbine." Dalam artikel ini, diperlihatkan simulasi komputer yang menggambarkan dinamika fluida ketika turbin sedang beroperasi (dengan variasi massa jenis).
 
 
 
Untuk mengimplementasikan simulasi CFD dalam desain berikut, digunakan metode Dynamic Mesh dan 6DoF (6 Degree of Freedom). Dynamic Mesh berarti mesh tidak rigid tapi fleksibel misalnya bergerak dalam suatu jalur atau berputar dalam suatu axis, sedangkan 6DoF berarti simulasi dilakukan dengan memperhatikan kebebasan gerak suatu mesh ketika dialiri fluida (Dalam 3 dimensi kebebasan ini berderajat 6)
 
 
 
 
 
[[File:VAWT Mesh Jos.png|400px|thumb|center|Bentuk Meshing Geometri]]
 
 
 
{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
 
|+ Simulasi Dengan Perbedaan Massa Jenis
 
|-
 
| [[File:VAWT 1.2RHO Jos.gif]]
 
| [[File:VAWT 4.8RHO Jos.gif]]
 
|-
 
| style='border-style: none right none left;' | rho=1,2 kg/m^3
 
| style='border-style: none right none left;' | rho=4.8 kg/m^3
 
|}
 
 
 
== CFD Simulation for Economizer Hopper - Aplikasi Modelica/24 November 2020 ==
 
 
 
Economizer Hopper adalah salah satu fitur ducting yang biasanya terdapat dalam PLTU yang menggunakan batu bara. Fitur ini berfungsi menangkap dan menampung fly ash (abu terbang) yang dihasilkan pembakaran batu bara. Tanpa Economizer Hopper, debu tersebut bisa menimbulkan berbagai masalah operasional seperti menghambat aliran fluida di preheater, merusak blade IDF dan Guide Vane, menumpuk di ducting dan bahkan juga mencemari lingkungan. Dalam artikel ini, akan ditunjukkan simulasi CFD yang menggambarkan perbedaan efektifitas sistem yang menggunakan Economizer Hopper dan tanpa Hopper.
 
 
 
:Model Simulasi dalam CFD:
 
:*3D
 
:*Transient
 
:*Incompressible
 
:*Turbulent
 
:*No Heat Transfer
 
:*Multi-phase
 
 
 
{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
 
|+ Simulasi Economizer Hopper
 
|-
 
| [[File:Economizer Hopper Jos.gif]]
 
| [[File:Economizer combined Jos.gif]]
 
|-
 
| style='border-style: none right none left;' | Economizer dengan Hopper
 
| style='border-style: none right none left;' | Economizer tanpa Hopper
 
|}
 
 
 
[[File:Skala Economizer Jos.png|400px|center]]
 
 
 
:Analisa:
 
 
 
:
 
 
 
== CFD Simulation for Cyclone Separator - Aplikasi Modelica/26 November 2020 ==
 
 
 
 
 
= Metode Numerik =
 
 
 
== Aplikasi Modelica - Metode Numerik/18 November 2020 ==
 
 
 
 
 
Berikut ini adalah contoh penerapan aplikasi OpenModelica untuk membuat 4 algoritma metode numerik dalam mencari ''roots of equation'' (akar persamaan) dari:
 
 
 
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
 
 
 
''f(x) = exp^(-x)-(x)''
 
 
 
''f'(x) = -exp^(-x)-1''
 
 
 
''error maksimum = 0.0000001''
 
 
 
</div>
 
 
 
===1) Newton Raphson (Terbuka)===
 
 
 
model Newton_Raphson_Algorithm
 
 
parameter Real g=1; //guess
 
parameter Integer N=20; //max iteration
 
parameter Real er=0.0000001; //error maximum
 
Real a[N];
 
Real y[N];//function
 
Real ER[N]; //error
 
Real sol; //solution
 
 
algorithm
 
 
a[1]:=g;
 
y[1]:=a[1]-(exp(-a[1])-a[1])/(-exp(-a[1])-1);
 
ER[1]:=abs(1-a[1]/y[1]);
 
 
for i in 2:N loop
 
  a[i]:=y[i-1];
 
  y[i]:=a[i]-(exp(-a[i])-a[i])/(-exp(-a[i])-1);
 
  ER[i]:=abs(1-y[i-1]/y[i]);
 
 
  if ER[i]<er then
 
  sol:=y[i];
 
  break;
 
  end if;
 
end for;
 
 
end Newton_Raphson_Algorithm;
 
 
 
===2) Secant (Terbuka)===
 
 
model Secant_Algorithm
 
 
parameter Real a=0; //guess
 
parameter Real b=1; //guess
 
parameter Integer N=10; //max iteration
 
parameter Real er=0.0000001; //error maximum
 
Real A[N];
 
Real B[N];
 
Real y[N];
 
Real ER[N];
 
Real sol; //solution
 
 
algorithm
 
 
A[1]:=a;
 
B[1]:=b;
 
y[1]:=B[1]-(exp(-B[1])-B[1])*(A[1]-B[1])/((exp(-A[1])-A[1])-(exp(-B[1])-B[1]));
 
ER[1]:=abs(1-B[1]/y[1]);
 
 
for i in 2:N loop
 
  A[i]:=B[i-1];
 
  B[i]:=y[i-1];
 
  y[i]:=B[i]-(exp(-B[i])-B[i])*(A[i]-B[i])/((exp(-A[i])-A[i])-(exp(-B[i])-B[i]));
 
  ER[i]:=abs(1-y[i-1]/y[i]);
 
 
  if ER[i]<er then
 
  sol:=y[i];
 
  break;
 
 
 
  end if;
 
end for;
 
 
end Secant_Algorithm;
 
 
 
===3) Bisection (Tertutup)===
 
 
 
model Bisection_Algorithm
 
 
parameter Real a=0; //guess bawah
 
parameter Real b=1; //guess atas
 
parameter Integer N=50; //max iteration
 
parameter Real er=0.0000001; //error maximum
 
Real fa=(exp(-a)-a);
 
Real fb=(exp(-b)-b);
 
Real A[N];
 
Real B[N];
 
Real fy[N];
 
Real y[N];
 
Real ER[N];
 
Real sol; //solution
 
 
algorithm
 
 
if fa*fb<0 then
 
 
A[1]:=a;
 
B[1]:=b;
 
y[1]:=(A[1]+B[1])/2;
 
fy[1]:=exp(-y[1])-y[1];
 
ER[1]:=1;
 
 
for i in 2:N loop
 
  if fy[i-1]>0 then
 
  A[i]:=y[i-1];
 
  B[i]:=B[i-1];
 
  else
 
  A[i]:=A[i-1];
 
  B[i]:=y[i-1];
 
  end if;
 
   
 
  y[i]:=(A[i]+ B[i])/2;
 
  fy[i]:=exp(-y[i])-y[i];
 
  ER[i]:=abs(1-y[i-1]/y[i]);
 
 
 
  if ER[i]<er then
 
  sol:=y[i];
 
  break;
 
  end if;
 
 
end for;
 
end if;
 
 
end Bisection_Algorithm;
 
 
 
===4) Regula Falsi (Tertutup)===
 
 
 
model Regula_Falsi_Algorithm
 
 
parameter Real a=0; //guess bawah
 
parameter Real b=1; //guess atas
 
parameter Integer N=20; //max iteration
 
parameter Real er=0.0000001; //error maximum
 
Real A[N];
 
Real B[N];
 
Real fa[N];
 
Real fb[N];
 
Real fy[N];
 
Real y[N];
 
Real ER[N];
 
Real sol; //solution
 
 
algorithm
 
 
A[1]:=a;
 
B[1]:=b;
 
fa[1]:=exp(-A[1])-A[1];
 
fb[1]:=exp(-B[1])-B[1];
 
 
if fa[1]*fb[1]<0 then
 
 
y[1]:=(A[1]*fb[1]-B[1]*fa[1])/(fb[1]-fa[1]);
 
fy[1]:=exp(-y[1])-y[1];
 
ER[1]:=1;
 
 
for i in 2:N loop
 
  if fy[i-1]>0 then
 
  A[i]:=y[i-1];
 
  B[i]:=B[i-1];
 
  else
 
  A[i]:=A[i-1];
 
  B[i]:=y[i-1];
 
  end if;
 
 
 
  fa[i]:=exp(-A[i])-A[i];
 
  fb[i]:=exp(-B[i])-B[i];
 
  y[i]:=(A[i]*fb[i]-B[i]*fa[i])/(fb[i]-fa[i]);
 
  fy[i]:=exp(-y[i])-y[i];
 
  ER[i]:=abs(1-y[i-1]/y[i]);
 
 
 
  if ER[i]<er then
 
  sol:=y[i];
 
  break;
 
  end if;
 
end for;
 
end if;
 
 
 
end Regula_Falsi_Algorithm;
 
 
 
Berikut link Youtube yang berisi penjelasan tentang algoritma dan penulisan kode OpenModelica keempat metode diatas:
 
 
 
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
 
<youtube width="200" height="100">66myoVJuyE0</youtube>
 
</div>
 
 
 
== Fungsi Panggil dalam Modelica - Metode Numerik/18 November 2020 ==
 
 
 
Fungsi panggil dalam aplikasi Modelica adalah metode membuat fungsi numerik dalam kelas ''function'' yang akan digunakan di dalam permodelan numerik utama (tipe 'class'). metode ini biasanya dipakai untuk menyederhanakan persoalan matematika yang kompleks, seperti persamaan aljabar simultan, sehingga lebih mudah diselesaikan. Dalam artikel ini akan ditampilkan 3 contoh persoalan numerik dengan solusi '''array''' atau lebih dari satu anggota:
 
 
 
===1) Root of Equation (Newton Raphson dan Regula Falsi)===
 
 
 
 
 
[[File:Fungsi root Jos.png|600px|thumb|right|Grafik Modelica]]
 
 
 
{| class="wikitable"
 
|-
 
| style='border-style: none  none  solid  solid;' |
 
''Newton Raphson''
 
 
 
...
 
algorithm
 
 
a[1]:=g;
 
y[1]:=a[1]-(Fungsi(a[1]))/(Der_Fungsi(a[1]));
 
ER[1]:=abs(1-a[1]/y[1]);
 
 
for i in 2:N loop
 
  a[i]:=y[i-1];
 
  y[i]:=a[i]-(Fungsi(a[i]))/(Der_Fungsi(a[1]));
 
  ER[i]:=abs(1-y[i-1]/y[i]);
 
 
  if ER[i]<er then
 
  sol:=y[i];
 
  break;
 
  end if;
 
''Regula Falsi''
 
 
 
...
 
fa[1]:=Fungsi(A[1]);
 
fb[1]:=Fungsi(B[1]);
 
 
if fa[1]*fb[1]<0 then
 
 
y[1]:=(A[1]*fb[1]-B[1]*fa[1])/(fb[1]-fa[1]);
 
fy[1]:=Fungsi(y[1]);
 
ER[1]:=1;
 
...
 
 
 
  fa[i]:=Fungsi(A[i]);
 
  fb[i]:=Fungsi(B[i]);
 
  y[i]:=(A[i]*fb[i]-B[i]*fa[i])/(fb[i]-fa[i]);
 
  fy[i]:=Fungsi(y[i]);
 
  ER[i]:=abs(1-y[i-1]/y[i]);
 
...
 
 
 
| style='border-style: solid solid none  none;'  |
 
''fungsi''
 
 
 
function Fungsi
 
input Real X;
 
output Real Y;
 
 
algorithm
 
Y:=exp(-X)-X;
 
end Fungsi;
 
''fungsi turunan''
 
 
 
function Der_Fungsi
 
input Real X;
 
output Real Y;
 
 
algorithm
 
Y:=-exp(-X)-1;
 
end Der_Fungsi;
 
|}
 
 
 
 
 
 
 
===2) Heat Diffusion===
 
 
 
 
 
[[File:Fungsi root Jos.png|600px|thumb|right|Grafik Modelica]]
 
 
 
{| class="wikitable"
 
|-
 
| style='border-style: none  none  solid  solid;' |
 
''Persamaan''
 
 
 
class TesAljabar
 
parameter Real A[5,5]=[375,-125,0,0,0;
 
                      -125,250,-125,0,0;
 
                      0,-125,250,-125,0;
 
                      0,0,-125,250,-125;
 
                      0,0,0,-125,375];
 
                     
 
parameter Real B[5]={29000,4000,4000,4000,54000};
 
Real X[5];
 
 
equation
 
X=matriks5(A,B);
 
end TesAljabar;
 
 
 
| style='border-style: solid solid none  none;'  |
 
''fungsi''
 
function matriks5
 
input Real A[5,5];
 
input Real B[5];
 
output Real X[5];
 
 
algorithm
 
X:=Modelica.Math.Matrices.solve(A,B);
 
end matriks5;
 
|}
 
 
 
 
 
===3) Combined Spring Stiffness===
 
[[File:Fungsi root Jos.png|600px|thumb|right|Grafik Modelica]]
 
 
 
{| class="wikitable"
 
|-
 
| style='border-style: none  none  solid  solid;' |
 
''Persamaan''
 
 
 
class TesAljabar
 
parameter Real A[5,5]=[375,-125,0,0,0;
 
                      -125,250,-125,0,0;
 
                      0,-125,250,-125,0;
 
                      0,0,-125,250,-125;
 
                      0,0,0,-125,375];
 
                     
 
parameter Real B[5]={29000,4000,4000,4000,54000};
 
Real X[5];
 
 
equation
 
X=matriks5(A,B);
 
end TesAljabar;
 
 
 
| style='border-style: solid solid none  none;'  |
 
''fungsi''
 
function matriks5
 
input Real A[5,5];
 
input Real B[5];
 
output Real X[5];
 
 
algorithm
 
X:=Modelica.Math.Matrices.solve(A,B);
 
end matriks5;
 
|}
 
 
 
 
 
 
 
 
 
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
 
<youtube width="200" height="100">ZqoUhqul9l8</youtube>
 
</div>
 
  
 +
= [[Mekanika Fluida - Josiah Enrico S (1906356286)]] =
  
 
== Gate Valve - Aplikasi CFD/12 November 2020 ==
 
== Gate Valve - Aplikasi CFD/12 November 2020 ==

Latest revision as of 08:16, 31 May 2021

Josiah Enrico Syefatiawan

Holaaa

Perkenalkan nama saya Josiah Enrico S dari jurusan teknik mesin FTUI. Sebagai salah seorang mahasiswa, saya senang belajar dan berbagi banyak hal baru kepada dunia. Melalui wiki ini, saya akan berbagi kepada kalian tentang apa yang saya pelajari. :)

Aplikasi CFD - Josiah Enrico S (1906356286)

Metode Numerik - Josiah Enrico S (1906356286)

Mekanika Fluida - Josiah Enrico S (1906356286)

Gate Valve - Aplikasi CFD/12 November 2020

Gate Valve

membuka atau menutup aliran

Mengatur kecepataan fluida (Regulasi)

Mangatasi Backflow atau aliran balik