SHAKE dan RATTLE

assalamu’alaikum warahmatullahi wabarakatuh….

kali ini kita akan membahas dua algoritma yang sering digunakan dalam rigid body simulation atau dengan kata lain kita melakukan simulasi dengan membuat panjang ikatan dan sudut tetap selama simulasi. caranya dengan menggunakan algoritma SHAKE dan RATTLE

mengapa harus ada simulasi dengan rigid body ? jawabnya adalah agar kita menggunakan time step yang lebih besar dan bisa melakukan simulasi untuk sistem yang lebih besar misalnya untuk simulasi QM/MM.

nah, mengapa time step simulasi ini bisa membawa masalah ? ingat time step dalam simulasi selalu dibatasi oleh gerakan vibrasi tercepat dari sebuah molekul. misalnya air. kita tahu vibrasi stretching O-H dari air adalah pada daerah 3200 – 3800 cm-1. jika kita ambil titik tengahnya maka kita akan mendapatkan angka 3333 cm-1. jika angka ini kita kalikan dengan kecepatan cahaya maka kita akan memperoleh 10^14 s-1. untuk mendapatkan berapa nilai periode frekuensi dari vibrasi OH maka kita tinggal membuat inversenya dan diperoleh 10^14 s atau 10 fs.

artinya untuk satu gelombang vibrasi stetching OH membutuhkan waktu 10 fs. jika kita mengambil 50 titik dalam satu gelombang tersebut maka, time step yang harus kita pakai adalah 1 fs. jika kita membuat rigid OH artinya tidak ada vibrasi, hanya rotasi dan translasi saja maka kita bisa menggunakan time step yang lebih besar misalnya 1 fs.

nah sekarang kita masuk ke dalam pembahasan SHAKE dan RATTLE. pertama-tama tentang SHAKE dulu. pada intinya SHAKE adalah algoritma untuk menjaga JARAK dari dua partikel selalu tetap, hal ini berarti selisih jarak antara A-B dengan jarak AB pada kesetimbangan = 0. sementara algoritma RATTLE  adalah adalah kita menjaga agar kecepatan antara A-B tetap 0 selama simulasi. mengapa kecepatan bernilai 0 ? karena kita menjaga jarak tetap sehingga tidak ada vibrasi yang terjadi, yang ada hanya rotasi dan translasi saja. lalu bagaimana dua algoritma ini diterapkan ? jawabannya adalah dengan memasukkannya ke dalam algoritma integrasi. karena dari algoritma integrasi kita mendapatkan nilai gaya, kecepatan dan posisi dari partikel. jika menggunakan algoritma integrasi biasa, maka kita akan mendapatkan jarak A-B yang berubah-ubah karena tidak ada “constraint” yang diterapkan. bagaimana SHAKE bekerja ?  bisa dijelaskan sebagai berikut :
mula-mula kita mengatur jarak antara O-H1 , kemudian kita mengatur jarak O-H2 *artinya kita mengabaikan jarak O-H1 yang telah kita atur tadi*, kemudian mengatur jarak H1-H2 *artinya kita mengabaikan jarak O-H2. proses ini diulang terus sampai kita mendapatkan rasio nilai perubahan jarak / jarak kesetimbangan = 10^-4 atau kurang dari itu. oh ya, algoritma yang bisa diterapkan SHAKE dan RATTLE adalah leap frog. kalau menggunakan velocity verlet harus yang sudah ada RATTLE-nya seperti velocity verlet rattle.

pada perkembangan selanjutnya dikembangkan metode M-SHAKE dan M-RATTLE, di mana metode ini menggunakan matriks untuk menerapkan constraints. di mana ukuran matriks sama dengan jumlah constrains yang akan diterapkan. keunggulan dari metode ini adalah karena menggunakan matriks maka secara otomatis jika kita mengatur jarak antara O-H1, jarak O-H2 juga otomatis akan dipertimbangkan.

oh ya satu lagi, dalam iterasi SHAKE yang kita pedulikan adalah geometri terakhir, bukan geometri-geometri sebelumnya. kita juga memerlukan geometri referens * ya iyalah* yang dijadikan acuan.

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