## Implementasi Metode Teori Fungsional Kerapatan pada bahasa C untuk menghitung energi keadaan dasar berbagai atom
Enggar Alfianto
enggar@itats.ac.id Institut Teknologi Adhi Tama Surabaya

## Abstrak
Density Functional Theory (DFT) / Teori Fungsional Kerapatan adalah metode pencarian energi menggunakan kerapatan muatan. DFT menggunakan persamaan Kohn-Sham yang merupakan persamaan numerik dari persamaan Schrodinger. Penelitian ini bertujuan untuk mencari keadaan dasar atom secara numerik. Energi keadaan dasar merupakan energy pada kondisi atom paling stabil, artinya untuk melakukan disain material perlu diketahui energi keadaan dasar dari atom penyusunnya. Perhitungan dilakukan dengan mengimplementasikan metode DFT kedalam bahasa pemrograman C. Dari implementasi metode DFT tersebut diperoleh hasil perhitungan energi pada atom Hidrogen sebesar - 0.445670 Ha, Helium sebesar -2.834835 Ha, Besi sebesar - 1261.093055 Ha, Tembaga sebesar -1637.785861 Ha, Platina sebesar -17326.576369 Ha, Germanium sebesar -2073.807332 Ha.

## Kata Kunci — DFT, C, Energi keadaan dasar, atom

## Abstract
Density Functional Theory is an energy searching method using charge density. DFT based on Kohn-Sham equation, which is a numerical equation of Schrodinger. This research is made to find the ground state energy of atoms by numeric equation. Ground state energy is  the lowest energy or most stable state of an atom. If one needs to design a material, this energy must be calculated. The calculation is done by implementing DFT method to C language programming. The result of energy calculation on hydrogen atomic is -0.445670 Ha, -2.834835 Ha for Helium, - 1261.093055 Ha for steel, -1637.785861 Ha for Copper, - 17326.576369 Ha for Platinum , - 2073.807332 Ha for Germanium.

## Keywords — DFT, C, Ground State Energy, Atoms

## I. PENDAHULUAN
Perkembangan teknologi yang begitu pesat tak lepas dari kemajuan teknologi bidang rekayasa material. Rekayasa material memberi kesempatan kepada ilmuan untuk mendisain sebuah material baru yang natinya dapat dimanfaatkan sesuai dengan keinginan. Misalnya untuk memperoleh baterai dengan kapasitas besar dan waktu isi yang singkat. Dicarilah bahan yang memiliki transfer muatan tinggi. Dari perhitungan secara komputasi diperoleh beberapa kandidat material, misalnya adalah Litium di dalam Montmorrilonite.
Pada mulanya untuk mencari material semacam itu, ilmuan menggunakan metode coba-coba ( trial and error ) yang bermodalkan  intuisi. Metode coba-coba tentu saja memiliki banyak kekurangan, diantaranya adalah biaya yang dikeluarkan cukup tinggi apalagi jika dalam penelitian terjadi kesalahan. Selain biaya jika dilihat dari waktu, juga kurang evektif. Karena untuk membpersiapkan bahan pakai tentu saja membutuhkan waktu yang tidak singkat, apalagi jika bahan tersebut harus didatangkan dari luar negeri, waktu dan biaya menjadi masalah yang sering dikeluhkan.
Namun setelah metode DFT ditemukan, dimungkinkan pencarian material dengan simulasi sebelaum dilakukan fabrikasi. Sehingga Kemajuan rekayasa material menjadi semakin pesat dan biaya yang murah. Selain dari pada itu, simulasi juga digunakan sebagai tolak ukur keberhasilan penelitian. Sehingga hasil eksperimen dibandingkan dengan simulasi yang telah dilakukan sebelumnya.
Untuk memahami metode DFT dengan baik, perlu didisain aplikasi sederhana dengan struktur program yang mudah dipahami. Sehingga dalam penelitian ini kami gunakan bahasa C untuk mengimplementasikan metode DFT untuk menghitung energi total keadaan dasar dari atom.
Penghitungan energi keadaan dasar dipilih karena untuk memahami sifat sifat material perlu mengetahui energi keadaan dasar dari atom penyusun materi tersebut.

## II. M ETODE P ENELITIAN
Penelitian ini dimulai dengan melakukan penurunan persamaan Schrodinger sehingga memiliki bentuk yang dapat diselesaikan secara numerik. Hal itu diperlukan karena persamaan Schrodinger merupakan persamaan analitik yang tidak serta merta dapat dihitung secara numerik. Setelah persamaan Schrodinger dapat dikerjakan secara numerik, persamaaan tersebut disesuaikan dengan persamaan yang telah dibuat oleh Kohn-Sham, dimana persamaan Kohn-Sham merupakan persamaan numerik yang memiliki bentuk menyerupai persamaan Schrodinger.
Persamaan Kohn-Sham pada dasarnya merupakan persamaan numerik yang dikerjakan secara berulang (iterative) sehingga ditemukan suatu nilai tertentu dari perulangan tersebut. Dimana nilai tersebut merupakan nilai yang memiliki nilai korespondensi satu-satu dengan energy keadaan dasar.
Pada berbagai kasus yang menggunakan perhitungan secara berulang, senantiasa dibutuhkan adanya nilai awal. Dalam kasus ini, nilai tebakan yang digunakan merupakan nilai kerapatan atom n 0 (r). Setelah nilai tebakan dimasukkan, kemudian mencari nilai potensial Kohn-Sham V KS . Nilai potensial tersebut dibutuhkan untuk menghitung Hamiltonian Kohn-Sham yang telah mengandung nilai fungsi energy gelombang. H KS ψ , Hasil perhitungan Hamiltonian tersebut diekstrak lagi sehingga diperoleh nilai kerapatan hasil perhitungan n i (r). Nilai kerapatan hasil perhitungan harus menuju ke suatu nilai (konvergen).
Jika dalam beberapa iterasi masih belum diperoleh nilai konvergen, maka dinyatakan sebagai error Sehinga nilai kerapatan awal harus diganti dengan nilai tebakan yang baru. Proses penggantian nilai kerapatan awal dilakukan untuk mengurangi perhitungan yang divergen. Adanya nilai yang divergen berdampak sangat merugikan pada prosesor computer yang harus bekerja secara ekstra. Gambar 1 menunjukkan diagram alir algoritma DFT,
Pada proses penentuan nilai potensial Kohn-Sham V KS (r) Tersusun menjadi 3 proses perhitungan, Persamaan Poisson, Evaluasi persamaan pertukaran korelasi (V XC ) dan penentuan potensial awal secara acak (Vinit). Secara lengkap ditampilkan dalam gambar 2
Sedangkan pada proses perhitungan nilai Hamiltonian, diuraikan penjadi dua proses, Perhitungan dengan persamaan Schrodinger dan memasukkan spesifikasi atom. Gambar 3 menampilkan diagram alir proses tersebut.
Proses pembuatan program dibuat dengan gaya modulasi, pembuatan modulasi dimaksudkan agar program terstruktur dengan rapi dan mudah dipahami. Pembagian modulasi diklasifikasikan menurut fungsi dari masing-masing modul. Modul pertama adalah modul yang berisi tentang operasi matematis yang sering digunakan, misalnya adalah integral turunan dll. Berikut adalah jenis modul yang dibuat.

## A. Integrasi Numerik
Pertama yang dilakukan untuk membangun aplikasi perhitungan adalah membuat paket integrasi numerik. Pembuatan paket intergrasi numerik merupakan langkah pertama, karena dalam proses perhitungan, paket ini akan sering digunakan Paket intergasi numerik dibuat dengan dua buah metode numerik, yaitu kaidah trapesium dan kaidah Simpson.
Gambar 2. Proses pencarian potensial KS
Gambar 3. Perhitungan nilai Hamiltonian
Penggunakan dua kaidah tersebut didasari oleh kepentingan perhitungan. Apabila yang dibutuhkan adalah kecepatan perhitungan bukan ketelitian, maka kaidah trapesium yang dipilih.Namun, apabila yang dibutuhkan adalah ketelitian perhitungan, kaidah Simpson lah yang digunakan.

## B. Penerapan Syarat Batas Integrasi Atom
Penerapan Syarat batas ini dimaksudkan untuk menterjemahkan nilai nol (0) sampai nilai tak hingga ( ∞ ). Padahal nilai yang dimengerti oleh computer hanya sebatas angka real. Penerapan syarat batas ini menggunakan persamaan 1.
(1)
Dengan menerapkan persamaan berikut, apabila nilai u adalah nol, maka r(u) bernilai nol, jika u bernilai 1 maka r(u) bernilai tak hingga. Maka nilai masukan yang diberikan untuk r(u) antara 0 dan 1 dengan mengijinkan nilai pecahan.

## C. Perhitungan Normalisasi
Dalam Fisika kuantum, nilai gelombang total haruslah bernilai 1. Apabila tidak, maka perhitungan tersebut tidak memenuhi syarat. Untuk menormalisasikan suatu nilai digunakan persamaan 2. Dari persamaan 1 dan 2 maka syarat batas nilai dan normalisasi sudah terpenuhi.
(2)

## D. Perhitungan Energi Potensial Elektron-Inti
Dalam suatu atom, tentu saja terdiri dari electron dan inti atom. Nilai energy potensial tersebut, tentu saja beda untuk atom yang berbeda, Karena jumlah electron yang mengelilingi inti juga beebeda. Persamaan yang digunakan untuk menghitung elektron-inti ditunjukkan pada persamaan 3.
(3)

## E. Metode Turunan Simpson
Pada perhitungan Kohn-Sham banya digunakan perhitungan turunan. Untuk itu, disiapkan paket perhitungan yang secara khusus digunakan untuk menghitung turunan secara numerik. Metode yang kami guankan adalah metode Simpson yang diambil dari Numerical Recipes yang telah dimodifikasi sesuai dengan kebutuhan.

## F. Persamaan Poisson
Untuk melakukan evaluasi kerapatan muatan n(r) digunakan persamaan Poisson yang bentuk analitiknya ditunjukkan pada persamaan 4, berikutnya dioperasikan dengan matriks.
(4)

## G. Exchange Correlation Energy
Energi pertukaran korelasi ini terjadi akibat adanya hubungan antara inti-elektron energy hartree dan energy yang belum diketahui bentuknya. Persamaan untuk mencari energy pertukaran kirelasi ditunjukkan pada persamaan 5.
(5)

## H. Alokasi Memori
Perhitungan pada penelitian ini banyak memakan memori, baik itu RAM ataupun ROM. Memori banyak dibutuhkan untuk menangani perhitungan matriks. Kompleksitas matriks bergantung pada system yang dihitung. Untuk menghitung system paling sederhana, misalnya adalah atom hydrogen, paling tidak dimensi matriks yang digunakan adalah 50x50. Jika sistem yang dihitung adalah atom germanium, dimana atom tersebut memiliki elektron sebanyak 32, maka dimensi matriks yang digunkan sebanyak 2 32 . Jumlah totalnya sekitar 4x10 6 .
Penggunaan matriks sebanyak itu tentu saja menjadi beban RAM. Dalam bahasa pemrograman C, alokasi memori untuk mengatur pengalamatan matriks dapat menggunakan pointer. Dalam penelitian ini, pointer lebih dipilih untuk menangani matriks. Harapanya adalah dapat menghemat penggunaan memori.

## III. H ASIL DAN P EMBAHASAN
Untuk menguji apakah program yang dibuat telah berjalan dengan baik, maka dilakukan pengujian iterasi. Pengujian dimaksudkan untuk mengetahui apakah iterasi sudah berjalan menuju hasil yang konvergen atau divergen. Hal ini sangat penting, karena iterasi merupakan kunci untuk memperoleh nilai kerapatan  atom n(r).
Gambar 4 menunjukkan hasil uji konvergensi pada proses iterasi untuk menghitung atom hydrogen, Gambar 5 menunjukkan konvergensi tiap-tiap perhitungan.. Kedua data menunjukkan bahwa konvergensi dapat dicapai setidak- tidaknya memakan 10 proses iterasi. Oleh karena itu perhitungan dapat dilanjutkan ke tahap berikutnya.
4
Gambar 5. Konvergensi iterasi tiap perhitungan energi keadaan dasar atom

## A. Atom Hidrogen
Atom Hidrogen merupakan atom yang paling sederhana, hanya terdiri dari sebuah inti dan sebuah elektron. Atom hidrigen merupakan atom yang energy keadaan dasarnya masih dapat dihitung dengan metode analitik. Hal itu dikarenakan susunan electron yang masih sangat sederhana. Hasil perhitungan energy keadaan dasar untuk atom hydrogen sebesar -0.4456705 Ha

## B. Atom Helium
Atom helium merupakan jenis atom yang memiliki sebuah inti dan  2 buah elektron. Elektron pada atom helium berada pada kulit pertama. Hasil perhitungan energy keadaan dasar sebesar -2.8348356 Ha.

## C. Atom Besi
Besi atau biasa dilambangkan dengan Fe memiliki sebuah inti dan 26 buah elektron yang semuanya mengelilingi inti tersebut. Susunan elektronnya menyebar pada 4 kulit atomnya. Pada kulit pertama terdapat 2 buah elektron, 8 elektron pada kulit ke dua , 14 buah pada kulit ketiga dan  2 buah lagi pada kulit keempat. Hasil perhitungan untuk atom besi sebesar - 1261.0930558 Ha.

## D. Atom Tembaga
Tembaga (Cu) merupakan atomyang terdiri atas sebuah inti dan 29 buah elektron. Elektron pada atom tembaga tersebar keadalam 4 kulit dengan susunan 2 buah di kulit pertama, 8 buah dikulit kedua, 18 buah dikulit ke tiga dan 1 buah dikulit keempat.
Hasil perhitungan energi keadaan dasar tembaga sebesar - 1637.7858610 Ha. Dari hasil perhitungan terlihat bahwa nilainya mendekati nilai referensi(Tabel 1). Perbedaan berada pada ketelitian dan penentuan pembulatan atau angka penting. Pada referensi pembulatan dilakukan setelah 6 angka dibelakang koma. Pada perhitungan, anggapan angka penting berada pada 7 angka dibelakang koma.
T ABEL 1. H ASIL PERHITUNGAN DIBANDINGKAN DENGAN REFERENSI NIST Atom Hasil Perhitungan NIST (Referensi) Hidrogen Helium Besi Tembaga Platina Germanium -0.4456705 Ha -2.8348356 Ha -1261.0930558 Ha -1637.7858610 Ha -17326.5763691 Ha -2073.8073321 Ha -0.445671 Ha -2.834836 Ha -1261.093056 Ha -1637.785861 Ha -17326.576377 Ha -2073.807332 Ha

## E. Atom Platina
Patina (Pt) merupakan atom yang terdiri dari sebuah inti dan 78 buah elektron.
Elektron pada platina tersebar kedalam 6 buah kulit. Di kulit pertama ditemapati 2 buah elektron, 8 elektron dikulit kedua, 18 elektron dikulit ke tiga, 32 elektron dikulit ke empat, 17 elektron dikulit ke lima dan 1 buah elektron dikulit ke lima. Hasil perhitungan energi keadaan dasar pada platina sebesar - 17326.5763691 Ha.

## F. Atom Germanium
Atom Germanium (Ge) adalah atom yang terdiri dari sebuah inti dan 32 elektron. Elektron pada atom germanium tersebar pada 4 kulit atom.
Elektron tersebut menduduki kulit pertama sebanyak 2 buah, 8 buah pada kulit kedua, 18 buah pada kulit ketiga dan 4 buah pada kulit keempat.
Germanium memiliki struktur Kristal berbentuk diamond cubic . Hasil perhitungan pada atom germanium sebesar - 2073.8073321 Ha
Tabel 1 merupakan perbandingan hasil perhitungan dengan referensi. Sebagai referensi diambil dari pusat data yang disimpan di National Institute of Standards and Technology USA (NIST). Perhitungan yang dilakukan oleh NIST.
IV. KESIMPULAN (PENUTUP)
Dari penelitian yang dilakukan dapat disimpulkan bahwa implementasi dari metode DFT yang diimplementasikan pada bahasa pemrograman C untuk menghitung energy keadaan dasar pada atom telah berhasil diwujudkan.
Hasil perhitungan dari aplikasi yang dibuat memiliki nilai yang sangat mendekati referensi. Hasil perbandingan ditampilkan pada Tabel 1.

## R EFERENSI
[1] Arias T.A Notes on the ab initio theory of molecules and solids: Density functional theory (dft) 2005. Cornell University
[2] Haken, Hermann. W.C, 1994, Molecular Physics and Elements of Quantum Chemistry. Springer. USA
[3] S. A. T. William H. Press, Brian P. Flannery, 1999, Numerical Recipes in C. The Art of Scientific Computing. Cambridge University Press.
[4] http://physics.nist.gov/PhysRefData/DFTdata. Atomic Reference Data for Electron Structure Calculation. 08 Februari 2011.
[5] Shols. David,S .A. J, 2009, DENSITY FUNCTIONAL THEORY A Practical Introduction. John Wiley and Sons, Inc,

## !
[6] Born, M., & Huang, K. 1988. Dynamical Theory of Crystal Lattices Oxford Classic Texts in the Physical Sciences. Clarendon Press, Oxford.
[7] P.Hohenberg dan W. Kohn. 1964 Inhomogenous electron gas Phys. Rev.,136(3B):B864â871, 1964.
[8] W. Kohn & L.J. Sham. Self-consistent equations including exchange and correlation effects. Phys. Rev., 140(4A):A1333â1138, 1965.
[9] Fischer. F & Charlotte, 1987, General Hartree-Fock program, Computer Physics Communications, Volume 43, Issue 3, p. 355-365.
[10] S. Ismail-Beigi, T. A. Arias, Comp. Phys. Comm. 128 1
[11] Wungu, T D K, Absorption of Lithium in Montmorillonite: A Density Functional Theory (DFT) Study, Journal of Nanoscience and Nanotechnology, Volume 11, Number 4, April 2011, pp. 2793-2801(9)