Pengantar Simulasi Molekular

Salah satu mata kuliah yang jarang terselenggara di jurusan kami adalah Simulasi Molekular. Nah, mumpung tahun ini terselenggara ada baiknya kita share di sini agar ilmu yang kita peroleh tidak sia-sia, hehe :p. Oke, salah satu bagian dari kimia komputasi adalah simulasi molekular. Sebenarnya apa sih itu simulasi? Mengapa harus belajar simulasi? Simulasi, terutama simulasi molekular adalah tool yang dapat digunakan untuk mengamati sistem mikro dari suatu sistem makro molekul. Bahkan simulasi menjadi salah satu tool untuk karakterisasi bahan selain dengan menggunakan difraksi dan spektroskopi. Pengaruh dari sistem mikro atau dalam level molekular ini sangat penting untuk diamati, mengapa? Karena sistem mikro inilah yang nanti akan berpengaruh pada sistem makronya. Jika ibarat negara Indonesia ini adalah makro, maka individu-individu yang di dalamnya adalah mikronya. Jika ingin Indonesia menjadi negara yang baik, ya perbaikilah sistem mikro di dalamnya.
Dengan menggunakan simulasi molekular, kita dapat mengeksplorasi secara detail tentang bagian mikro dari suatu makro molekul. Sebagai contoh, mustahil untuk melakukan eksperimen antara 1 ion logam dengan beberapa ratus atau ribu molekul air, namun dengan simulasi hal ini bisa dilakukan sehingga kita dapat mengeksplorasi secara detail tentang bagaimana interaksi ion logam dengan pelarut air. Selain di dalam bidang Kimia, simulasi juga berguna di bidang kedokteran, farmasi (wo ya jelas :D), teknik (terutama dalam menguji material baru) dll. Bahkan sekarang, simulasi tidak hanya bisa dilakukan untuk sistem microscale tapi juga bisa untuk mesoscale (bidang perteknikan). Dengan demikian kita bisa mendesain material generasi baru. Seharusnya antara simulator dengan orang eksperimen terdapat sebuah hubungan kerja sama, misalnya berada dalam satu grup riset seperti apa yang telah ada di luar negeri. Saya pernah membaca profil salah satu departemen di kampus Saudi Arabia, di dalam grup riset tentang katalis terdapat berbagai macam spesialis ada yang organologam, MCM, dan salah satu di dalammnya ada simulatorūüėÄ.

Simulasi yang sering dilakukan dan yang sepanjang saya pernah melihat adalah untuk sistem murni, padatan atau cairan, di lab biasanya cairan. Sedang simulasi untuk sistem campuran seperti padatan-gas, jarang dilakukan karena kerumitan persamaan matematis sehingga banyak asumsi yang harus dibuat. Contoh simulasi kompleks ini adalah simulasi carbon nanotube, polimer, DNA/protein. Oia, lupa, beberapa metode simulasi yang sering digunakan adalah molecular dynamics dan monte carlo. Molecular dynamics adalah kita menginteraksikan molekul-molekul dalam timescale tertentu (inilah yang menjadi keunggulan dari simulasi, kita bisa mengakses molekul dalam timescale pikosekon). Monte Carlo adalah kita menginteraksikan molekul, di mana interaksi antar molekul tersebut diacak hingga tercapai energi yang stabil. Monte Carlo selalu berkaitan dengan random number, bukan dengan waktu.

Perkembangan simulasi bisa dibilang agak telat karena memang simulasi sangat berkaitan dengan perkembabangan hardware komputer. Semakin tinggi spesifikasi hardware, maka simulasi akan berjalan dengan cepat. sebagai contoh :

F1-ATPase in water (183 674 atoms), 1 nanosecond:
106 integration steps
8.4 * 1011 flop per step  [n(n-1)/2 interactions]
total:            8.4 * 1017 flop
on a 100 Mflop/s workstation:        ca 250 years

…but performance has been improved by use of:
multiple time stepping            ca.  25 years
+ structure adapted multipole methods    ca.    6 years
+ FAMUSAMM                ca.    2 years
+ parallel computers             ca.  55 days

iya kan? Oia satu lagi, bagi yang ingin bergelut dengan simulasi ada baiknya mengetahui bahasa fortran atau C sekaligus bagaimana cara untuk mengkompilasi mereka. Fortran digunakan karena akurasinya yang tinggi dan C karena kepraktisannya. Saya dulu pernah melihat Pak Faidur (S3 Komputasi) mengedit program dalam bahasa fortran. Wow! Jarang sekali mahasiswa Kimia pintar programming. Kami juga sering berdiskusi tentang kompiler fortran, salah satunya adalah tentang Slackware. Karena setahu saya Slackware masih menyertakan kompiler fortran, f77 di distronya.

Telah dijelaskan bahwa simulasi berkaitan dengan sistem mikro, lalu muncul pertanyaan, bagaimanakah caranya agar sistem mikro ini bisa mewakili sistem makronya? Sebelum menjelaskan hal ini, coba kita bayangkan katakanlah kita menaruh garam (NaCl) ke dalam air. Maka apa yang akan terjadi, NaCl tadi akan terurai menjadi Na+ dan Cl-. Na+ ini akan disolvasi oleh beberapa molekul air, begitu juga dengan Cl-. Nah, selain itu di dalam sistem juga terdapat bagian yang tidak dipengaruhi oleh keberadaan ion tersebut di dalam air kan? Maka dari itu, kita bisa hanya menggunakan 1 ion saja, misalnya Na+ saja untuk simulasi karena semua kelakuan ion Na+ yang lain akan sama di dalam air. Lalu bagaimana dengan Cl-? Cl-nya tetap ada tapi dalam simulasi dia berada DI LUAR KOTAK SIMULASI sehingga tidak ikut dalam simulasi. Satu pertanyaan yang perlu kita renungkan adalah itu kan untuk cairan, okelah. Lalu bagaimana untuk padatan,misalnya carbon nanotube? bagaimanakah kita memotong carbon nanotube untuk disimulasi? Kondisi inilah yang disebut dengan Periodic Boundary Condition (PBC). Di mana dalam sistem akan terjadi keberulangan batas kondisi. Di sini kita bisa mengatur akan seberapa banyak molekul yang akan digunakan dalam simulasi, dengan memasukkan parameter berat jenis.

Sekarang kita masuk ke tahapan persiapan simulasi. Beberapa hal yang perlu disiapkan dalam simulasi antara lain: konfigurasi awal molekul, potensial interaksi antar atom, algoritma dan jumlah molekul. Di sini saya akan memulai dari konfigurasi, potensial, untuk PBC gambarannya telah dijelaskan di atas. Konfigurasi berkaitan dengan posisi molekul dengan molekul lain sehingga tata letak molekulnya menjadi seimbang. Artinya konfigurasi molekul yang akan disimulasi harus benar dan rasional. Konfigurasi ini akan berkaitan dengan lamanya waktu simulasi. Konfigurasi awal ini bisa dicari menggunakan random generator. Artinya konfigurasi molekul akan diacak hingga ditemukan konfigurasi dengan energi paling stabil. Dalam simulasi, koordinat atom yang akan disimulasi dan kita bisa menyimpannya,menampilkan dalam grafik dll.
Oleh karena itu, dalam pencarian konfigurasi awal terdapat dua step, equilibrasi dan sampling. Equilibrasi adalah untuk membuat konfigurasi seimbang dan sampling untuk mengambil contoh acak dari konfigurasi tadi. Kemudian pasangan potensial interaksi menunjukkan bagaimana atom dalam molekul-molekul itu saling berinteraksi. Pasangan potensial ini harus didefinisikan agar bisa menjalankan simulasi. Pasangan potensial ini bisa diformulasikan dengan interaksi badan banyak (many body correction) tapi untuk saat ini sangat mahal cost komputasi yang diperlukan dan yang umum digunakan adalah 2 body correction dan 3 body correction. hmm, apa ini? Gampangannya begini, ada dua orang yang jatuh cinta. si A cinta sama si B, nah inilah yang disebut dengang 2 body correction. lalu untuk 3 body, mirip dengan cinta segi tiga. A cinta B, A cinta C dan antara si C dan Si B ini ada saling benci, cemburu dll. heheūüėÄ. Pasangan potensial ini bisa dilakukan dengan cara fitting menggunakan ab initio.
Cukup sekian dulu tentang simulasi, kita sambung di tulisan yang akan datang (Setelah saya kuliah simulasi tentunya he)

Semoga bermanfa’at!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s