Difference between revisions of "Adhika Satyadharma"

From ccitonlinewiki
Jump to: navigation, search
Line 235: Line 235:
  
 
Apabila hal ini sudah selesai, maka proses perhitungan akan masuk tahap 5.
 
Apabila hal ini sudah selesai, maka proses perhitungan akan masuk tahap 5.
 +
 +
 +
== Jumlah node dalam ANN ==
 +
Belakangan ini saya mencoba menggunakan ANN. Sebuah masalah utama yang saya dapat dari ANN adalah jumlah nodes yang perlu digunakan dan mengenai error dari hasil ANN. Secara beban komputasi yang akan dihasilkan, semakin sedikit node yang digunakan, maka  beban komputasi yang diperlukan/iterasi semakin kecil. Hanya saja setelah mencoba-coba, dengan menggunakan node yang sedikit, dengan jumlah iterasi yang sama, error yang dihasilkan akan cenderung besar. Sebaliknya dengan jumlah node yang banyak, beban komputasi/iterasinya akan besar, namun dengan jumlah iterasi yang sama, error yang dihasilkan dari ANN akan kecil.
 +
 +
 +
Hal ini berarti jumlah node mempunyai peran langsung dalam beban komputasi serta akurasi dari sebuah ANN model.

Revision as of 00:10, 3 May 2020

Biodata

Nama  : Adhika Satyadharma

NPM  : 1906323956

Jurusan  : Teknik Mesin - Konversi Energi

Info Lain : -


Komputasi Teknik - Pendahuluan

1.1. Apa itu Komputasi Teknik?

Komputasi teknik merupakan sebuah teknik mengunakan tenaga komputer untuk menyelesaikan masalah-masalah teknik. Hal ini dilakukan karena dengan menggunakan komputer, masalah dapat selesai dengan lebih cepat, mudah sehingga (seperti biasa) pada akhirnya cost engineeringnya akan berkurang.


1.2. Tahap-Tahapan Komputasi Teknik

Untuk menyelesaiakan masalah teknik yang dibantu oleh tenaga komputer ada berberapa tahap yang perlu diikuti, yaitu:

1. Pahami masalah yang perlu diselesaikan.

2. Terjemahkan masalah tersebut kedalam bahasa yang dimengerti oleh komputer.

3. Biarkan komputer memproses informasi yang ada.

4. Setelah komputer mengeluarkan hasil, maka hasil ini harus selalu dicheck ulang oleh engineer.


1.3. Apakah Komputasi Teknik Penting Dipelajari?

Komputasi teknik menurut saya merupakan hal yang penting untuk diketahui oleh orang teknik, khususnya mahasiswa/peneliti. Hal ini dikarenakan sering kali ada suatu kasus (persamaan matematis) yang tidak dapat diselesaikan dengan mudah sehingga dibutuhkan skill-skill lebih lanjut (komputasi teknik) untuk menyelesaikannya. Tanpa kemampuan ini seseorang akan sangat bergantung pada aplikasi-aplikias tertentu, dan terpaksa mengikuti persyartan dan keterbatasan aplikasi tersebut, dimana belum tentu sesuai dengan apa yang ingin diselesaikan.


1.4. Kemampuan Saya dalam Komputasi Teknik

Pengalaman saya dengan komputasi teknik sudah cukup banyak. Saya telah melakukan perhitungan untuk menyelesaikan masalah-masalah teknik selama cukup lama. Sebagai contoh dalam berberapa hari terakhir saya membuat perhitungan yang memfilter dan mengolah hasil CFD dalam excel. Contoh lain adalah saya telah membuat program yang menghitung propagasi error dalam CFD (Computational Fluid Dynamics) menggunakan bahasa Phyton. Contoh lain lagi adalah saya pernah membuat program pengolahan hasil PIV (Particle Image Velocimetry) dalam matlab, sekalipun yang ini hasilnya masih kurang robust. Masih ada banyak contoh lain tentang aplikasi yang pernah saya lakukan seperti: Program curve fitting (phython, matlab), Program untuk membantu pembuatan mesh multiblock (excel), program linear equation solver (implicit)(phython), program test mesh independency (phython, matlab, excel). Selain itu saya juga sudah sangat biasa mengoperasikan fluent, dimana fluent merupakan program CFD dan CFD merupakan sebuah program yang didalamnya ada sangat banyak teknik komputasi.


Sumber : Pendapat Pribadi



Project Komtek - Latar Belakang

Sebelumnya saya ingin menyampaikan bahwa topik yang akan saya sampaikan disini bukanlah skripsi saya. Skripsi saya membahas masalah plasma aktuator pada plat datar, dimana memang salah satu komponen penelitiannnya adalah simulasi MHD dengan fluent. Namun seingat saya salah satu poin dari tugas ini adalah untuk dibuat karya ilmiah. Skripsi saya sudah pernah saya presentasikan dalam confrence terdahulu oleh karena itu saya tidak akan menyampaikan materi mengenai skripsi saya disini, namun suatu kasus lain yang baru saja saya kerjakan, dan fokusnya memang pada masalah komputasi teknik.


Kasus yang saya akan jelaskan disini terkait dengan masalah error-error pada CFD. Dalam CFD terdapat berbagai jenis error, dimana salah satunya adalah numerical error yang didalamnya mengandung error-error lain seperti iterative error, round-off error, dan error diskritisasi. Dalam verifikasi kasus CFD biasanya penekanannya lebih diutamakan kepada error diskritisasi, yaitu karena biasanya dampakanya paling besar.


Error diskritisasi dalam CFD biasa dikalkulasikan dengan sebuah teknik bernaman Grid Convergence Index (GCI). Hanya saja salah satu masalah dengan metode ini adalah diasumsikannya bahwa tidak ada error lain dalam datanya. Apabila sebuah data yang mengandung error diolah menjadi GCI, maka error ini akan ikut terpopagasi sehingga hasil analisa error diskritisasinya menjadi kacau. Oleh karena itu, error iterasi dan round off error perlu diminimalisir sedemikian rupa sehingga bahkan saat terpopagasi efeknya tidak signifikan.


Mengenai batasan maximum dari iterative dan round-off error, dari paper-paper yang saya baca ada berbagai pendapat mengenai batas ini.

- Celik (2008) (Panduan verifikasi ASME) mengatakan bahwa batas maximumnya adalah 1 orde of magnitude dari error diskritisasi

- Roy (2005) mengatakan bahwa batas maximumnya adalah 2 orde of magnitude dari error diskritisasi

- Eca & Hoekstra (2009) mengatakan bahwa batas maximumnya adalah 2-3 orde of magnitude dari error diskritisasi

Hanya saja diantara pendapat-pendapat ini hanya Eca & Hoekstra saja yang memberi alasan detail mengenai rekomendasinya. Mereka menggunakan berberapa study case untuk memberi rekomendasi mengenai batas mereka, sedangkan yang lain tidak memberi alasan.


Dalam karya ilmiah ini, saya berusaha mencari bukti tambahan mengenai batas maksimal ini. Adapun cara yang saya gunakan adalah memodelkan efek error iterasi dan round off error pada perhitungan GCI dan mencobanya pada range data yang cukup luas. Sayangnya karena kalkulasi GCI sendiri butuh perhitungan numerik dan model yang terbentuk cukup rumit sehingga sulit dikalkulasikan secara analitik, maka proses perhitungan diserahkan sepenuhnya pada komputer.


Refrence

I. B. Celik, et al. Procedure for estimation and reporting of uncertainty due to discretizationin CFD applications. J. Fluids Eng., 130:078001, 2008.

Roy, C. J. (2005). “Review of code and solution verification procedures for computational simulation,” Journal of Computational Physics, Vol. 205, pp. 131-156.

Eca, L., and Hoekstra, M. (2009). “Evaluation of numerical error estimation based on grid refinement studies with the method of the manufactured solutions,” Computers & Fluids, Vol. 38, pp. 1580-1591.


Project Komtek - Slide

PEMGCI-Slide1.jpg

PEMGCI-Slide2.jpg

PEMGCI-Slide3.jpg

PEMGCI-Slide4.jpg

PEMGCI-Slide5.jpg

PEMGCI-Slide6.jpg

PEMGCI-Slide7.jpg

PEMGCI-Slide8.jpg

PEMGCI-Slide9.jpg


Project Komtek - Extended Abstract

(Sekalipun abstract diminta diupload ke grup WA, saya akan upload disini terlebih dahulu. Apabila ada revisi maka akan saya upload lagi)


Judul: Batasan Error Iteratif dan Error Round-Off dalam Perhitungan Grid Convergence Index untuk Verifikasi Hasil Computational Fluid Dynamics

Dalam CFD terdapat 4 tahap yang perlu dilakukan yaitu pemodelan, diskritisasi, perhitungan, dan verifikasi dan validasi. Diantara keempat tahap ini, hanya 3 tahap yang pertama yang perlu dilakukan untuk mendapat hasil, sedangkan verifikasi dan validasi merupakan proses untuk memastikan kebenaran dari hasil yang didapat. Terkhusus pada bagian verifikasi, salah satu teknik yang sering digunakan adalah Grid Convergence Index (GCI). Teknik ini digunakan untuk mengestimasi error diskritisasi spatial dari hasil CFD, dimana error ini nilainya cenderung besar. Hanya saja masalah dengan metode ini adalah bahwa metode ini mempunyai sifat yang sensitif, dimana apabila data yang digunakan dalam perhitungannya mengandung error, terkhusus error iteratif dan round-off error, maka hasil yang diberikan dapat berbeda jauh. Untuk mengetahui seberapa besar error yang dapat diterima oleh metode GCI, sebuah perhitungan analitis dilakukan. Perhitungan ini dilakukan dengan memodelkan dampak error iteratif dan round-off error pada perhitungan GCI. Adapun model ini diuji pada range 1 < r12, r23, f2/f1, f3/f1 < 2, serta error iteratif dan round-off error dalam range 0.0001% to 10%. Seluruh perhitungan ini dilakukan secara diskrit menggunakan program yang dibuat sendiri. Dari hasil perhitungan ini, ditemukan bahwa error iteratif dan round-off error harus berada 3 hingga 4 order of magnitude lebih kecil dari error diskritisasi yang diharapkan.



Optimasi? Kebutuhan Energi Manusia

- Energi manusia : Saya mengasumsikan bahwa standarnya seseorang makan 3 kali sehari dan beraktivaitas dengan 2000 kalori. Hanya saja saya sendiri biasa makan hanya 2 kali sehari (tanpa porsi diperbanyak), sehingga lazimnya saya mengasumsikan bahwa sehari-hari saya menggunakan 1400 kalori atau 5.8576 kJ.

Total energi = 5.8576 kJ

Total biaya: 30000/porsi --> Rp 60.000


- Transportasi: Saya berkendara selama 4 hari memerlukan bensin sebanyak 2.6 Liter atau Rp 20000. Dari saudara Edo saya mendapat bahwa kalori bensin adalah 8240 kcal/Liter.

Total Energi = 8240 x 4.184 x 2.6 / 4 = 22495.2 kJ

Total biaya = Rp. 20.000/4hari --> Rp. 5.000


- Biaya peratan Listrik: Peralatan listrik yang saya gunakan mencakup lampu, hp, dan labtop. Total waktu charge saya dengan HP dan labtop adalah 4 jam dan lampu sekitar 6 jam.

Total Energi = 260W x 4 + 5W x 4 + 20W x 6 = 1180 WH = 4248 kJ

Total BIaya = 500 x 1.18 = Rp. 590


Total kebutuhan energi per hari = 26749 kJ

Total Biaya per hari = Rp 65.590



Materi Komputasi

Sedikit mengenai rangkuman materi hari ini tentang komputasi teknik.

  • Note: Karena saya orang fluida, jadi mungkin penjelasan setiap bahasannya akan saya contohkan dengan kasus fluida.


Tahapan simulasi:

1. Pahami kasus yang akan disimulasikan.

Hal utama yang perlu diketahui adalah apakah yang ingin dicari, setelah itu ketahui dan pahami kondisi lainya. Kondisi lain ini dapat mencakup seperti kondisi aliran fluida, fenomena fluida dan apakah ada data-data tambahan yang dapat mengambarkan aliran fluida tersebut. Kondisi aliran fluida mencakup seperti domain dimana fluida tersebut berada, jenis fluidanya, kondisi boundary condtionsnya, dan juga initial conditionsnya. Fenomena fluida adalah hal-hal seperti buoyancy, turbulensi, mixing, dll. Sedangkan data-data tambahan adalah data-data yang dapat digunakan untuk validasi hasil simulasi.


2. Translate kasus ke ranah komputasi.

Apabila tahap pertama adalah memahami kasus yang terjadi secara realistisnya, maka tahap kedua adalah merubahnya kedalam bentuk persamaan. Hal utama yang harus ditranslate adalah fenomena fluida yang terjadi. Untuk fenomena-fenomena yang umum, persamaannya cenderung sudah ada sehinnga pengunaaanya tinggal memakainya saja. Namun, pada fenomena-fenomena yang spesifik, mungkin pemodelannya tidak dimasukan kedalam aplikasi yang digunakan atau bahkan memang belum ada modelnya. Hal ini mungkin agak merepotkan dimana yang satu butuh kemampuan programming untuk memasukan persamaan yang belum tersedia dan yang satu lagi harus memodelkan dari awal.


3. Simplifikasi Kasus

Apabila kasus terlalu rumit, beban komputasi terlalu tinggi, maka ada baiknya kasusnya disimplifikasi. Tentunya simplifikasi ini harus didasari pehaman yang baik sehingga hasil yang didapat tetap mempunyai arti. Contoh simplifikasi: Simulasi 2D, Steady state, simplifikasi geometri


4. Siapkan strategi diskritisasi

Mungkin tahap ini khusus untuk kasus fluida dimana proses diskritisasinya mempunyai peran yang cukup signifikan, oleh karena itu harus dirancang dengan baik. Dalam CFD, proses diskritisasi berhubungan cukup erat dengan 4 hal yaitu kestabilan perhitungan, biaya komputasi, effort yang dibutuhkan untuk proses meshingnya, dan masalah error diskritisasi.


5. Kalkulasi/Simulasi

Dalam proses kalkulasi, sekalipun proses ini akhirnya mungkin lebih banyak menunggu, pengaturan proses kalkulasi sangat penting agar proses perhitungan yang terjadi tidak divergen, stabil, cepat dan terpercaya.


6. Trouble shooting 1

Terkhusus dalam CFD, proses kalkulasi dapat mengalami error, dimana artinya ada suatu kesalahan. Sumber kesalahan ini dapat berasal dari banyak hal yaitu modeling, diskritisasi, proses perhitungan, atau mungkin human error. Sumber error ini harus ditangani sehingga simulasi dapat berjalan dengan semestinya.


7. Verifikasi dan Validasi (V&V)

"Verification" ~ Solving the equations right

"Validation" ~ Solving right equations

  • Taken from Boehm 1981 and Blottner 1990 in Roache 1998

Proses V&V merupakan proses untuk meyakini bahwa hasil sebuah simulasi benar. Proses verifikasi merupakan proses untuk memeriksa apakah perhitungan governign equations yang dilakukan sudah benar. Dilain hal proses validasi merupakan proses yang memerika kesesuain dari governing equations yang digunakan dengan kasus yang disimulasikan. Terkhusus untuk CFD proses verifikasi biasanya dilakukan dengan meyakinkan bahwa iterative error dan khususnya discritization errornya sudah kecil (Celik 2008). Sedangkan untuk validasi,.... silahkan baca Oberkampf 2017.


Sumber: Catatan pribadi


Rerfrence:

- Celik, I. B. et al.(2008).“Procedure for estimation and reporting of uncertainty due to discretizationin CFD applications,” J. Fluids Eng., Vol. 130, 078001, pp. 1-4.

- P. J. Roache. (1998). Verification and Validation in Computational Science and Engineering, Hermosa Publishers, New Mexico.

- Oberkampf, W. L. and Smith, B. L. (2017). “Assessment Criteria for Computational Fluid Dynamics Model Validation Experiments,” Journal of Verification, Validation and Uncertainty Quantification, Vol. 2, 031002, pp. 1-14.


Progress Project Komtek

Mengikuti tahapan materi komputasi yang sudah saya tuliskan, maka berikut posisi saya:

1. Pahami kasus yang akan disimulasikan (sudah)

2. Translate ke dalam ranah komputasi (secara abstract sudah)

3. Simplifikasi kasus (Belum)

4. Siapkan strategi diskritisasi (Belum)

5. Kalkulasi (Belum)

6. Trouble Shooting (Jika dibutuhkan)

7. Verifikasi dan Validasi (Belum)


Dapat dilihat bahwa progress saya masih berada dalam poin 2,3, 4 dan 5. Masalah sementara adalah bahwa variable bebas yang saya gunakan ada cukup banyak yaitu setidaknya 4 variable, dan variable terikat yang dikalkulasikan proses perhitungannya tidak terlalu sederhana, sehinggga biaya komputasinya bisa cukup signifikan. Oleh karena itu masalah ini perlu disederhanakan (jika bisa) atau dicari strategi lain untuk proses kalkulasinya.


Ide saya sementara adalah memodifikasi sedikit proses kalkulasinya sehingga variable bebas yang digunakan bisa berkurang menjadi 3 buah saja. Adapun sedikit lebih detailnya adalah bahwa ke-4 variable bebas yang digunakan berfungsi untuk proses kalkulasi secara biner (ya/tidak). Proses ini akan dimodifikasi sehingga ke-3 variable bebas yang ditargetkan akan mencari range dari variable ke-4 dimana variable ini bernilai ya dan tidak. Proses ini dapat dilakukan sekalipun akan membutuhkan sedikit (mungkin banyak) penurunan persamaan dan modifikasi dari proses perhitungannya sendiri.


Apabila hal ini sudah selesai, maka proses perhitungan akan masuk tahap 5.


Jumlah node dalam ANN

Belakangan ini saya mencoba menggunakan ANN. Sebuah masalah utama yang saya dapat dari ANN adalah jumlah nodes yang perlu digunakan dan mengenai error dari hasil ANN. Secara beban komputasi yang akan dihasilkan, semakin sedikit node yang digunakan, maka beban komputasi yang diperlukan/iterasi semakin kecil. Hanya saja setelah mencoba-coba, dengan menggunakan node yang sedikit, dengan jumlah iterasi yang sama, error yang dihasilkan akan cenderung besar. Sebaliknya dengan jumlah node yang banyak, beban komputasi/iterasinya akan besar, namun dengan jumlah iterasi yang sama, error yang dihasilkan dari ANN akan kecil.


Hal ini berarti jumlah node mempunyai peran langsung dalam beban komputasi serta akurasi dari sebuah ANN model.