Amazon Best VPN GoSearch

Favicon OnWorks

mpqc - Dalam talian di Awan

Jalankan mpqc dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan mpqc yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


mpqc - Program Kimia Kuantum Selari Besar-besaran (MPQC)

SINOPSIS


mpqc [pilihan] [nama fail]

DESCRIPTION


MPQC mengira sifat molekul, ab initio, pada pelbagai jenis komputer
seni bina.

Ia boleh mengira cengkerang tertutup dan kulit terbuka terhad umum tenaga HartreeFock dan
kecerunan, teori gangguan kulit terbuka tertib kedua (OPT2[2]) dan gangguan Zaveraged
tenaga teori (ZAPT2), dan teori gangguan MoellerPlesset shell tertutup tertib kedua
tenaga dan kecerunan. Ia juga termasuk kaedah untuk mengoptimumkan molekul sama ada
Koordinat Cartesian atau dalaman.

MPQC direka menggunakan teknik pengaturcaraan berorientasikan objek dan dilaksanakan dalam C++
bahasa pengaturcaraan.

PILIHAN


MPQC boleh diberi pilihan diikuti dengan nama fail input pilihan. Jika nama fail input
tidak diberikan, ia akan lalai kepada 'mpqc.in'. Pilihan baris arahan berikut ialah
dikenali:

-o Memberi nama fail output. Lalai ialah konsol.

-i Tukar fail input mudah kepada fail input berorientasikan objek dan tulis hasilnya
kepada output. Tiada pengiraan dibuat.

-messagegrp
A ParsedKeyVal spesifikasi a MessageGrp objek. Lalai bergantung pada bagaimana
MPQC telah disusun.

-memorygrp
A ParsedKeyVal spesifikasi a MemoryGrp objek. Lalai bergantung pada bagaimana
MPQC telah disusun.

-threadgrp
A ParsedKeyVal spesifikasi a ThreadGrp objek. Lalai bergantung pada bagaimana
MPQC telah disusun.

-l Menetapkan had pada bilangan fungsi asas. Lalai ialah sifar, yang bermaksud an
bilangan fungsi asas yang tidak terhad.

-W Menetapkan direktori kerja. Lalai ialah direktori semasa.

-c Semak input dan keluar.

-v Cetak nombor versi.

-w Cetak maklumat waranti (tiada waranti).

-d Jika objek penyahpepijat diberikan dalam input, mulakan penyahpepijat berjalan sebaik sahaja
MPQC dimulakan.

-h Cetak senarai pilihan.

-f Nama fail input berorientasikan objek. Lalai ialah mpqc.in. Ini tidak boleh
digunakan jika fail input lain ditentukan. Pilihan ini ditamatkan, kerana kedua-dua input
format fail boleh dibaca dengan diberi nama fail input pada baris arahan tanpa
sebarang bendera pilihan.

Sesetengah persekitaran MPI tidak menghantar baris arahan kepada program hamba, tetapi membekalkannya apabila
MPI_Init dipanggil. Untuk membuat panggilan MPQC MPI_Init semasa permulaan, bukannya apabila an
MPIMessageGrp dicipta, namakan mpqc-mpi boleh laku.

ALAM SEKITAR PELBAGAI


MPQC melihat empat pembolehubah persekitaran untuk menyediakan komunikasi dan mencari fail perpustakaan.
Perpustakaan dan utiliti khusus mesin untuk menjalankan program secara selari mungkin melihat yang lain
pembolehubah persekitaran juga. Empat yang digunakan pada semua platform ialah:

SCLIBDIR
Nama direktori perpustakaan.

MESSAGEGRP
A ParsedKeyVal spesifikasi a MessageGrp objek. Lalai bergantung pada bagaimana
MPQC telah disusun. Lihat MessageGrp dokumentasi kelas untuk maklumat lanjut.

MEMORYGRP
A ParsedKeyVal spesifikasi a MemoryGrp objek. Lalai bergantung pada bagaimana
MPQC telah disusun dan MessageGrp sedang digunakan.

THREADGRP
A ParsedKeyVal spesifikasi a ThreadGrp objek. Lalai bergantung pada bagaimana
MPQC telah disusun.

Secara lalai, MPQC cuba mencari fail perpustakaan terlebih dahulu dalam sub-direktori lib
direktori pemasangan dan kemudian direktori kod sumber. Jika fail perpustakaan tidak boleh
didapati, MPQC mesti dimaklumkan tentang lokasi baharu dengan pembolehubah persekitaran SCLIBDIR.

Tiga kata kunci lain menentukan objek. Ini dilakukan dengan memberikan mini ParsedKeyVal input
dalam rentetan. Objek adalah tanpa nama, iaitu, tiada kata kunci dikaitkan dengannya. Di sini
satu contoh:

setenv MESSAGEGRP 'ShmMessageGrp>:(n = 4)'

BERKONGSI MEMORY MULTIPROCESSOR DENGAN SYSV IPC


Secara lalai, MPQC akan berjalan pada satu CPU sahaja. Untuk menentukan lebih lanjut, anda boleh memberikan a ShmMessageGrp
objek pada baris arahan. Yang berikut akan menjalankan mpqc dalam empat proses:

mpqc -messagegrp 'ShmMessageGrp>:(n = 4)' input_file

Secara bergantian, yang ShmMessageGrp objek boleh diberikan sebagai pembolehubah persekitaran:

setenv MESSAGEGRP 'ShmMessageGrp>:(n = 4)'
fail_input mpqc

Jika MPQC akan mati secara tiba-tiba, segmen memori dan semafor yang dikongsi akan ditinggalkan pada
mesin. Ini hendaklah segera dibersihkan atau kerja lain mungkin dihalang daripada dijalankan
dengan jayanya. Untuk melihat sama ada anda mempunyai mana-mana sumber ini diperuntukkan, gunakan arahan ipcs.
Output akan kelihatan seperti:

Status IPC daripada /dev/kmem pada Rabu 13 Mac 14:42:18 1996
KUMPULAN PEMILIK MOD KUNCI T ID
Barisan Mesej:
Memori Dikongsi:
m 288800 0x00000000 --rw------- pengguna cljanss
Semaphore:
s 390 0x00000000 --ra------- pengguna cljanss
s 391 0x00000000 --ra------- pengguna cljanss

Untuk mengalih keluar sumber IPC yang digunakan oleh cljanss dalam contoh di atas pada IRIX, taip:

ipcrm -m 288800
ipcrm -s 390
ipcrm -s 391

Dan pada Linux, taip:

ipcrm shm 288800
ipcrm sem 390
ipcrm sem 391

BERKONGSI MEMORY MULTIPROCESSOR DENGAN POSIX KEBEBASAN


Secara lalai, MPQC akan berjalan dengan hanya satu utas. Untuk menentukan lebih lanjut, anda boleh memberikan a
PthreadThreadGrp objek pada baris arahan. MPQC tidak selari dengan yang besar
setakat dengan benang seperti dengan model memori teragih yang lebih konvensional, jadi anda
mungkin tidak mendapat prestasi terbaik menggunakan teknik ini. Di sisi lain memori di atas kepala
adalah lebih rendah dan tiada komunikasi antara proses diperlukan.

Yang berikut akan menjalankan MPQC dalam empat utas:

mpqc -threadgrp 'PthreadThreadGrp>:(bilangan_benang = 4)' fail_masukan

Secara bergantian, yang PthreadThreadGrp objek boleh diberikan sebagai pembolehubah persekitaran:

setenv THREADGRP 'PthreadThreadGrp>:(n = 4)'
fail_input mpqc

BERKONGSI OR DIEDARKAN MEMORY MULTIPROCESSOR DENGAN lampu


A MPIMessageGrp objek digunakan untuk dijalankan menggunakan MPI. Bilangan nod yang digunakan ditentukan oleh
masa jalan MPI dan tidak dinyatakan sebagai data input kepada MPIMessageGrp.

mpqc -messagegrp 'MPIMessageGrp>:()' input_file

Secara bergantian, yang MPIMessageGrp objek boleh diberikan sebagai pembolehubah persekitaran:

setenv MESSAGEGRP 'MPIMessageGrp>:()'
fail_input mpqc

Biasanya, arahan khas diperlukan untuk memulakan kerja MPI; lazimnya ia dinamakan mpirun.

INPUT


MPQC menyokong dua format input. Input utama ialah format berorientasikan objek yang
memberikan pengguna akses kepada semua pilihan MPQC. Format kedua membenarkan akses kepada subset daripada
Keupayaan MPQC, tetapi lebih intuitif dan lebih mudah dipelajari. Pengguna baharu dinasihatkan supaya
mulakan dengan format yang dipermudahkan. MPQC boleh digunakan untuk menukar format yang dipermudahkan kepada
format penuh berorientasikan objek dengan pilihan -i.

Mudah Input


Format input ringkas terdiri daripada kata kunci diikuti dengan ':' diikuti dengan nilai. The
kata kunci adalah sensitif huruf besar-besaran. Nilai mungkin diubah suai oleh pilihan yang terdapat dalam kurungan.
Sebagai contoh, input berikut melakukan pengoptimuman air menggunakan ketumpatan
teori fungsian dengan fungsi korelasi pertukaran B3LYP:

% B3LYP pengoptimuman air
mengoptimumkan: ya
kaedah: KS (xc = B3LYP)
asas: 3-21G*
molekul:
O 0.172 0.000 0.000
H 0.745 0.000 0.754
H 0.745 0.000 -0.754

Komen bermula dengan % dan terus ke penghujung baris. Nama set asas yang mengandungi
aksara khas, seperti ruang atau kurungan, mesti dipetik di dalam sepasang double
petikan. Kata kunci yang diterima ialah:

molekul
Memberi jenis dan koordinat atom. Pilihan berikut boleh digunakan

Bohr
Koordinat diberikan dalam Bohr.

angstrom
Koordinat diberikan dalam Angstroms.

caj
Pilihan ini boleh diberikan selepas empat kali 'elemen x y z'. Ini akan mengatasi
cas pada atom. Sebagai contoh, (caj = 0) boleh diberikan untuk atom hantu dalam a
pengiraan pembetulan counterpoise.

kepelbagaian
Memberi kepelbagaian molekul. Lalai ialah 1.

mengoptimumkan
Jika ya, maka pengoptimuman akan dilakukan. Lalai ialah tidak. Yang berikut
pilihan boleh diberikan.

kartesian
Gunakan koordinat Cartesan.

dalaman
Gunakan koordinat dalaman.

berlebihan
Gunakan koordinat dalaman yang berlebihan.

kecerunan
Jika ya, maka pengiraan kecerunan akan dilakukan. Lalai ialah tidak.

kekerapan
Jika ya, maka frekuensi akan diperolehi. Lalai ialah tidak.

caj
Menentukan cas pada molekul. Lalai ialah 0.

kaedah
Tentukan kaedah. Tiada lalai dan nilai yang mungkin adalah:

HF
Hartree-Fock. HF tidak terhad digunakan jika kepelbagaian > 1

RHF
Terhad Hartree-Fock.

UHF
Hartree-Fock tanpa had.

KS
Kohn-Sham. KS tidak terhad digunakan jika multiplicity > 1

RKS
Terhad Kohn-Sham.

UKS
Kohn-Sham tanpa had.

MP2
Teori gangguan Moeller-Plesset urutan kedua. Hanya tersedia untuk kepelbagaian =
1.

ZAPT2
Teori gangguan purata Z. Hanya tersedia untuk kepelbagaian > 1. Tiada kecerunan,
pengoptimuman, atau frekuensi adalah mungkin.

Pilihan berikut adalah sah dengan kaedah KS, RKS dan UKS:

grid
Menentukan grid yang akan digunakan untuk penyepaduan berangka. Nilai berikut boleh
diberikan:

xkasar

kasar

sederhana

akhir

xbaik

sangat halus

xc
Menentukan fungsi korelasi pertukaran. Tiada lalai. Lihat jadual dalam
yang StdDenFunctional dokumentasi kelas untuk nilai yang mungkin.

asas
Menentukan set asas. Tiada lalai. Lihat jadual dalam GaussianBasisSet
dokumentasi kelas untuk set asas yang tersedia.

restart
Tetapkan kepada ya untuk memulakan semula pengoptimuman. Lalai ialah tidak.

pemeriksaan
Tetapkan kepada tidak untuk tidak menyimpan fail pusat pemeriksaan semasa pengoptimuman. Lalainya ialah ya.

simetri
Tentukan simbol Schoenflies bagi kumpulan titik molekul. Lalainya ialah
auto, yang akan menyebabkan program mencari subkumpulan Abelian tertib tertinggi bagi
molekul.

doc
Memberi bilangan orbital yang diduduki dua kali dalam setiap perwakilan yang tidak dapat dikurangkan
dalam senarai dalam kurungan. Simetri mesti dinyatakan dan bukan automatik. Cara
mesti dihadkan.

socc
Memberi bilangan orbital yang diduduki tunggal dalam setiap perwakilan yang tidak dapat dikurangkan
dalam senarai dalam kurungan. Simetri mesti dinyatakan dan bukan automatik. Cara
mesti dihadkan.

alfa
Memberi bilangan orbital yang diduduki alfa dalam setiap perwakilan yang tidak dapat dikurangkan
dalam senarai dalam kurungan. Simetri mesti dinyatakan dan bukan automatik. Cara
mestilah tidak terhad.

beta
Memberi bilangan orbital yang diduduki beta dalam setiap perwakilan tidak dapat dikurangkan dalam
senarai dalam kurungan. Simetri mesti dinyatakan dan bukan automatik. Kaedah mesti
menjadi tidak terhad.

frozen_docc
Memberi bilangan orbital teras beku. Boleh sama ada integer tunggal atau a
senarai dalam kurungan yang memberikan orbital teras beku dalam setiap perwakilan tidak dapat dikurangkan.
Dalam kes kedua, simetri mesti diberikan dan bukan automatik.

frozen_uocc
Memberi bilangan orbital maya beku. Boleh sama ada integer tunggal atau a
senarai dalam kurungan memberikan orbital maya beku dalam setiap tidak dapat dikurangkan
perwakilan. Dalam kes kedua, simetri mesti diberikan dan bukan automatik.

Berorientasikan Objek Input


MPQC ialah program berorientasikan objek yang secara langsung membenarkan pengguna untuk menentukan objek yang
MPQC kemudian memanipulasi untuk mendapatkan tenaga, sifat, dll. Ini menjadikan input sangat
fleksibel, tetapi sangat kompleks. Walau bagaimanapun, kebanyakan pengiraan sepatutnya serupa dengan pengiraan
daripada contoh yang diberikan kemudian dalam bab ini. Cara terbaik untuk bermula ialah menggunakan salah satu daripada
contoh fail input dan ubah suainya untuk memenuhi keperluan anda.

MPQC bermula dengan mencipta a ParsedKeyVal objek yang menghuraikan fail input yang ditentukan pada
baris arahan. Format fail input didokumenkan dalam . Ia pada asasnya adalah percuma
input format yang mengaitkan kata kunci dan kumpulan logik kata kunci dengan nilai. The
nilai boleh menjadi skalar, tatasusunan atau objek.

Kata kunci yang diiktiraf oleh MPQC bermula dengan awalan mpqc. Iaitu, mereka mesti bersarang
antara mpqc:( dan a ). Secara bergantian, setiap kata kunci boleh didahulukan secara individu oleh
mpqc:. Kata kunci utama diberikan di bawah. Beberapa kata kunci menentukan objek, dalam
yang mana objek akan memerlukan lebih banyak ParsedKeyVal input. Objek ini dicipta daripada
input dengan menggunakan mereka ParsedKeyVal pembina. Pembina ini didokumenkan dengan
dokumentasi kod sumber untuk kelas.

tahi lalat
Ini adalah kata kunci yang paling penting untuk MPQC. Ia menentukan Tenaga Molekul objek.
Ini adalah objek yang tahu bagaimana untuk mengira tenaga molekul. The
pengkhususan Tenaga Molekul yang paling biasa digunakan ialah CLKS, HSOSKS, UKS,
CLHF, HSOSHF, UHF dan MBPT2.

pilih
Kata kunci ini mesti dinyatakan untuk pengoptimuman. Ia menentukan satu Optimalkan objek.
Biasanya, QNewtonOpt adalah yang terbaik untuk mencari minima dan EFCOpt adalah yang terbaik untuk peralihan
negeri.

freq
Kata kunci ini mesti ditentukan untuk mengira frekuensi. Ia menyatakan a
Frekuensi Molekul objek.

thread
Ini menentukan jenis objek ThreadGrp yang boleh digunakan untuk kelebihan
mesin berbilang pemproses memori kongsi untuk jenis pengiraan tertentu. Kata kunci ini
boleh ditindih dengan memberikan ThreadGrp dalam persekitaran atau baris arahan. Lihat
bahagian menjalankan MPQC untuk maklumat lanjut.

pemeriksaan
Nilai kata kunci ini ialah Boolean. Jika benar, maka pengoptimuman akan menjadi
pusat pemeriksaan selepas setiap lelaran. Fail pusat pemeriksaan mencukupi ialah .ckpt. lalai
ialah ke pusat pemeriksaan.

negeri simpan
Nilai kata kunci ini ialah Boolean. Jika benar, maka keadaan pengoptimum dan
objek fungsi gelombang akan disimpan selepas pengiraan selesai. Fail keluaran
akhiran ialah .wfn. Lalai adalah untuk menyimpan keadaan.

restart
Nilai kata kunci ini ialah Boolean. Jika benar, mpqc akan cuba memulakan semula
pengiraan. Jika fail checkpoint tidak dijumpai, pengiraan akan diteruskan seolah-olah
nilai itu palsu. Lalai adalah benar.

restart_file
Ini memberikan nama fail dari mana maklumat mulakan semula dibaca. Jika fail
nama berakhir dengan .wfn the Tenaga Molekul objek akan dipulihkan. Jika tidak, yang Optimalkan
objek akan dipulihkan. Nama fail lalai dibentuk dengan menambahkan .ckpt pada
masukkan nama fail dengan sambungan dialih keluar.

melakukan_tenaga
Nilai kata kunci ini ialah Boolean. Jika benar pengiraan tenaga satu titik akan
dilakukan untuk Tenaga Molekul objek yang diberikan dengan kata kunci mol. Lalainya ialah
benar.

do_gradient
Nilai kata kunci ini ialah Boolean. Jika benar pengiraan kecerunan satu titik
akan dilakukan untuk Tenaga Molekul objek yang diberikan dengan kata kunci mol. lalai
adalah palsu.

mengoptimumkan
Nilai kata kunci ini ialah Boolean. Jika benar dan kata kunci pilih telah ditetapkan kepada yang sah
nilai, maka pengoptimuman akan dilakukan. Lalai adalah benar.

tulis_pdb
Nilai kata kunci ini ialah Boolean. Jika benar fail PDB dengan molekul
koordinat akan ditulis.

nama fail
Nilai kata kunci ini ialah rentetan yang memberikan nama dari mana checkpoint dan
nama fail lain dibina. Lalai ialah nama asas fail input.

masa_cetak
Jika ini benar, maklumat masa dicetak pada penghujung larian. Lalainya ialah
benar.

Terdapat juga beberapa kata kunci utiliti yang memberitahu mpqc beberapa butiran teknikal tentang cara melakukannya
pengiraan:

debug
Kata kunci pilihan ini memberikan a Debugger objek yang boleh digunakan untuk membantu mencari masalah
jika MPQC menghadapi ralat bencana.

matrixkit
Kata kunci pilihan ini memberikan a SCMatrixKit pengkhususan yang digunakan untuk menghasilkan
matriks jenis yang dikehendaki. Lalai ialah a ReplSCMatrixKit yang mereplikasi
matriks pada semua nod. Pilihan lain tidak diuji secara menyeluruh.

CONTOH


Input contoh ini melakukan pengiraan Hartree-Fock pada air. Berikut adalah keseluruhannya
input, diikuti dengan pecahan dengan penerangan.

% Input ini melakukan pengiraan Hartree-Fock pada air.
molekul<Molekul>: (
simetri = C2V
unit = angstrom
{ geometri atom } = {
O [ 0.00000000 0.00000000 0.37000000 ]
H [ 0.78000000 0.00000000 -0.18000000 ]
H [ -0.78000000 0.00000000 -0.18000000 ]
}
)
asas<GaussianBasisSet>: (
nama = 'STO-3G'
molekul = $:molekul
)
mpqc: (
tahi lalat<CLHF>: (
molekul = $:molekul
asas = $: asas
)
)

Kita mulakan dengan ulasan deskriptif. Komen bermula dengan %. Segala-galanya daripada % kepada
hujung talian diabaikan.

% Input ini melakukan pengiraan Hartree-Fock pada air.

Sekarang mari sediakan a Molekul objek. Nama objek didahulukan, ia adalah molekul.
Kemudian, dalam kurungan sudut, datang jenis molekul, iaitu kelas Molekul. Yang
kata kunci dan nama kelas diikuti oleh : dan kemudian beberapa keping input dikumpulkan
antara sepasang kurungan yang sepadan. Tanda kurung ini mengandungi maklumat yang
akan diberikan kepada Molekul KeyVal pembina.

molekul<Molekul>: (

Kumpulan titik molekul diperlukan. Ini dilakukan dengan memberikan simetri kepada kes
simbol Schoenflies tidak sensitif yang digunakan untuk memulakan a PointGroup objek. Seorang Abelian
kumpulan mata hendaklah digunakan.

simetri = C2V

Unit lalai untuk koordinat Cartesan ialah Bohr. Anda boleh menentukan unit lain dengan
unit yang diberikan kepada rentetan yang akan digunakan untuk memulakan a Unit objek.

unit = angstrom

Akhirnya, atom dan koordinat diberikan. Ini boleh diberikan dalam jadual trengkas
sintaks ditunjukkan di bawah. Tajuk jadual ialah kata kunci antara pasangan pertama
kurungan. Ini diikuti oleh = dan sepasang kurungan lain yang mengandungi data.
Datum pertama diberikan kepada elemen pertama tatasusunan yang sepadan dengan
tajuk pertama, atom. Datum kedua diberikan kepada elemen pertama tatasusunan
dikaitkan dengan tajuk kedua, geometri, dan seterusnya. Di sini datum kedua sebenarnya
vektor: koordinat x, y dan z bagi atom pertama.

{ geometri atom } = {
O [ 0.00000000 0.00000000 0.37000000 ]
H [ 0.78000000 0.00000000 -0.18000000 ]
H [ -0.78000000 0.00000000 -0.18000000 ]
}
)

Seterusnya, objek set asas diberikan.

asas<GaussianBasisSet>: (
nama = 'STO-3G'
molekul = $:molekul
)

Sekarang kami akan memberikan isi utama input. Semua kata kunci seterusnya akan dikumpulkan
bahagian mpqc input (iaitu, setiap kata kunci akan diawali dengan mpqc:).

mpqc: (

Seterusnya kami memberikan kata kunci tahi lalat yang menyediakan pengkhususan Tenaga Molekul
kelas. Dalam kes ini kita akan melakukan pengiraan Hartree-Fock kulit tertutup. Itu dilakukan dengan
objek jenis CLHF. Kata kunci yang CLHF menerima diberikan bersama dokumentasi
bagi CLHF kelas, biasanya dalam penerangan const RefKeyVal& pembina untuk
kelas. Juga dengan CLHF dokumentasi ialah senarai kelas induk. Setiap ibu bapa
kelas juga mungkin mempunyai input. Input ini disertakan dengan input selebihnya untuk
kelas kanak-kanak.

tahi lalat<CLHF>: (

Baris seterusnya menentukan molekul yang akan digunakan. Terdapat dua perkara yang perlu diperhatikan, pertama itu
ini sebenarnya adalah rujukan untuk melengkapkan spesifikasi molekul di tempat lain dalam input
fail. $ menunjukkan bahawa ini adalah rujukan dan kata kunci berikutan $ ialah
lokasi sebenar molekul. The : di hadapan kata kunci bermaksud bahawa kata kunci tersebut adalah
bukan relatif kepada lokasi semasa dalam input, tetapi relatif kepada punca
pokok kata kunci. Oleh itu, garisan ini menangkap molekul yang dinyatakan di atas. The
objek molekul boleh diletakkan di sini, tetapi selalunya perlu beberapa
objek merujuk kepada objek yang sama dan ini hanya boleh dilakukan menggunakan rujukan.

Perkara kedua ialah jika anda melihat dokumentasi untuk CLHF, anda akan melihat bahawa ia
tidak membaca kata kunci molekul. Walau bagaimanapun, jika anda mengikuti kelas induknya sehingga
Tenaga Molekul, anda akan dapati molekul itu memang dibaca.

molekul = $:molekul

Sama seperti yang kami berikan molekul, nyatakan set asas dengan kata kunci asas seperti berikut:

asas = $: asas

Sekarang kita tutup kurungan yang kita buka di atas dan kita selesai.

)
)

Contoh Berorientasikan Objek Input Fail


Cara paling mudah untuk bermula dengan mpqc ialah bermula dengan salah satu input sampel yang paling banyak
hampir sepadan dengan masalah anda. Semua input sampel yang ditunjukkan di sini boleh didapati dalam
direktori src/bin/mpqc/sampel.

Hartree-Fock Tenaga
Input berikut akan mengira tenaga Hartree-Fock air.

% emacs harus menggunakan -*- KeyVal -*- mod
% spesifikasi molekul
molekul<Molekul>: (
simetri = C2V
unit = angstrom
{ geometri atom } = {
O [ 0.00000000 0.00000000 0.37000000 ]
H [ 0.78000000 0.00000000 -0.18000000 ]
H [ -0.78000000 0.00000000 -0.18000000 ]
}
)
% spesifikasi set asas
asas<GaussianBasisSet>: (
nama = 'STO-3G'
molekul = $:molekul
)
mpqc: (
pusat pemeriksaan = tidak
savestate = tidak
% kaedah untuk mengira tenaga molekul
tahi lalat<CLHF>: (
molekul = $:molekul
asas = $: asas
ingatan = 16000000
)
)

MP2 Tenaga
Input berikut akan mengira tenaga MP2 air.

% emacs harus menggunakan -*- KeyVal -*- mod
% spesifikasi molekul
molekul<Molekul>: (
simetri = C2V
unit = angstrom
{ geometri atom } = {
O [ 0.00000000 0.00000000 0.37000000 ]
H [ 0.78000000 0.00000000 -0.18000000 ]
H [ -0.78000000 0.00000000 -0.18000000 ]
}
)
% spesifikasi set asas
asas<GaussianBasisSet>: (
nama = 'STO-3G'
molekul = $:molekul
)
mpqc: (
pusat pemeriksaan = tidak
savestate = tidak
% kaedah untuk mengira tenaga molekul
tahi lalat<MBPT2>: (
molekul = $:molekul
asas = $: asas
ingatan = 16000000
% fungsi gelombang rujukan
rujukan<CLHF>: (
molekul = $:molekul
asas = $: asas
ingatan = 16000000
)
)
)

Hartree-Fock Pengoptimuman
Input berikut akan mengoptimumkan geometri air menggunakan kaedah quasi-Newton.

% emacs harus menggunakan -*- KeyVal -*- mod
% spesifikasi molekul
molekul<Molekul>: (
simetri = C2V
unit = angstrom
{ geometri atom } = {
O [ 0.00000000 0.00000000 0.37000000 ]
H [ 0.78000000 0.00000000 -0.18000000 ]
H [ -0.78000000 0.00000000 -0.18000000 ]
}
)
% spesifikasi set asas
asas<GaussianBasisSet>: (
nama = '6-31G*'
molekul = $:molekul
)
mpqc: (
pusat pemeriksaan = tidak
savestate = tidak
% koordinat molekul untuk pengoptimuman
coorSymmMolecularCoor>: (
molekul = $:molekul
penjana<IntCoorGen>: (
molekul = $:molekul
)
)
% kaedah untuk mengira tenaga molekul
tahi lalat<CLHF>: (
molekul = $:molekul
asas = $: asas
coor = $..:coor
ingatan = 16000000
)
% objek pengoptimum untuk geometri molekul
memilih<QNewtonOpt>: (
fungsi = $..:mol
kemas kini<BFGSUpdate>: ()
penumpuan: (
kartesian = ya
tenaga = $..:..:mol
)
)
)

Pengoptimuman bersama a Dikira Meneka Hessian
Input berikut akan mengoptimumkan geometri air menggunakan kaedah quasi-Newton. The
rasa Hessian akan dikira pada tahap teori yang lebih rendah.

% emacs harus menggunakan -*- KeyVal -*- mod
% spesifikasi molekul
molekul<Molekul>: (
simetri = C2V
unit = angstrom
{ geometri atom } = {
O [ 0.00000000 0.00000000 0.37000000 ]
H [ 0.78000000 0.00000000 -0.18000000 ]
H [ -0.78000000 0.00000000 -0.18000000 ]
}
)
% spesifikasi set asas
asas<GaussianBasisSet>: (
nama = '6-31G*'
molekul = $:molekul
)
mpqc: (
pusat pemeriksaan = tidak
savestate = tidak
% koordinat molekul untuk pengoptimuman
coorSymmMolecularCoor>: (
molekul = $:molekul
penjana<IntCoorGen>: (
molekul = $:molekul
)
)
% kaedah untuk mengira tenaga molekul
tahi lalat<CLHF>: (
molekul = $:molekul
asas = $: asas
coor = $..:coor
ingatan = 16000000
guess_hessianFinDispMolecularHessian>: (
molekul = $:molekul
only_toally_symmetric = ya
hapuskan_syarat_padu = tidak
pusat pemeriksaan = tidak
tenaga<CLHF>: (
molekul = $:molekul
ingatan = 16000000
asas<GaussianBasisSet>: (
nama = '3-21G'
molekul = $:molekul
)
)
)
)
% objek pengoptimum untuk geometri molekul
memilih<QNewtonOpt>: (
fungsi = $..:mol
kemas kini<BFGSUpdate>: ()
penumpuan: (
kartesian = ya
tenaga = $..:..:mol
)
)
)

Pengoptimuman Menggunakan Newton kaedah
Input berikut akan mengoptimumkan geometri air menggunakan kaedah Newton. The
Hessian akan dikira pada setiap langkah dalam pengoptimuman. Walau bagaimanapun, pengiraan semula Hessian
biasanya tidak berbaloi dengan kosnya; cuba gunakan Hessian yang dikira sebagai tekaan Hessian untuk a
kaedah quasi-Newton sebelum menggunakan pengoptimuman Newton.

% Emac harus menggunakan -*- KeyVal -*- mod
% spesifikasi molekul
molekul<Molekul>: (
simetri = c2v
unit = angstrom
{ geometri atom } = {
O [ 0.00000000 0.00000000 0.36937294 ]
H [ 0.78397590 0.00000000 -0.18468647 ]
H [ -0.78397590 0.00000000 -0.18468647 ]
}
)
% spesifikasi set asas
asas<GaussianBasisSet>: (
nama = '3-21G'
molekul = $:molekul
)
mpqc: (
pusat pemeriksaan = tidak
savestate = tidak
mulakan semula = tidak
% koordinat molekul untuk pengoptimuman
coorSymmMolecularCoor>: (
molekul = $:molekul
penjana<IntCoorGen>: (
molekul = $:molekul
)
)
do_energy = tidak
do_gradient = tidak
% kaedah untuk mengira tenaga molekul
tahi lalat<CLHF>: (
molekul = $:molekul
asas = $: asas
ingatan = 16000000
coor = $..:coor
guess_wavefunctionCLHF>: (
molekul = $:molekul
jumlah_caj = 0
asas<GaussianBasisSet>: (
molekul = $:molekul
nama = 'STO-3G'
)
ingatan = 16000000
)
hessianFinDispMolecularHessian>: (
only_toally_symmetric = ya
hapuskan_syarat_padu = tidak
pusat pemeriksaan = tidak
)
)
mengoptimumkan = ya
% objek pengoptimum untuk geometri molekul
pilih: (
print_hessian = ya
lelaran_maks = 20
fungsi = $..:mol
penumpuan: (
kartesian = ya
tenaga = $..:..:mol
)
)
)

Hartree-Fock frekuensi
Input berikut akan mengira frekuensi Hartree-Fock dengan anjakan terhingga. A
analisis termodinamik juga akan dilakukan. Jika input pengoptimuman juga disediakan,
maka pengoptimuman akan dijalankan dahulu, kemudian frekuensi.

% emacs harus menggunakan -*- KeyVal -*- mod
% spesifikasi molekul
molekul<Molekul>: (
simetri = C1
{ geometri atom } = {
O [ 0.0000000000 0.0000000000 0.8072934188 ]
H [ 1.4325589285 0.0000000000 -0.3941980761 ]
H [ -1.4325589285 0.0000000000 -0.3941980761 ]
}
)
% spesifikasi set asas
asas<GaussianBasisSet>: (
nama = 'STO-3G'
molekul = $:molekul
)
mpqc: (
pusat pemeriksaan = tidak
savestate = tidak
% kaedah untuk mengira tenaga molekul
tahi lalat<CLHF>: (
molekul = $:molekul
asas = $: asas
ingatan = 16000000
)
% input frekuensi getaran
freqFrekuensi Molekul>: (
molekul = $:molekul
)
)

Memberi Koordinat and a Meneka Hessian
Contoh berikut menunjukkan beberapa ciri yang benar-benar bebas. Pembolehubah
koordinat diberikan secara eksplisit, bukannya dijana secara automatik. Ini terutamanya
berguna apabila tekaan Hessian akan disediakan, seperti yang terdapat di sini. Hessian ini, seperti yang diberikan oleh
pengguna, tidak lengkap dan QNewtonOpt objek akan mengisi nilai yang hilang menggunakan
tekaan Hessian yang disediakan oleh Tenaga Molekul objek. Juga, koordinat tetap ialah
diberikan dalam input sampel ini.

% emacs harus menggunakan -*- KeyVal -*- mod
% spesifikasi molekul
molekul<Molekul>: (
simetri = C1
{ geometri atom } = {
H [ 0.088 2.006 1.438 ]
O [ 0.123 3.193 0.000 ]
H [ 0.088 2.006 -1.438 ]
O [ 4.502 5.955 -0.000 ]
H [ 2.917 4.963 -0.000 ]
H [ 3.812 7.691 -0.000 ]
}
)
% spesifikasi set asas
asas<GaussianBasisSet>: (
nama = 'STO-3G'
molekul = $:molekul
)
mpqc: (
pusat pemeriksaan = tidak
savestate = tidak
% kaedah untuk mengira tenaga molekul
tahi lalat<CLHF>: (
molekul = $:molekul
asas = $: asas
coor = $..:coor
ingatan = 16000000
)
% koordinat molekul untuk pengoptimuman
coorSymmMolecularCoor>: (
molekul = $:molekul
penjana<IntCoorGen>: (
molekul = $:molekul
ikatan_tambahan = [ 2 5 ]
)
% menggunakan ini dan bukannya koordinat yang dijana
pembolehubah<SetIntCoor>: [
<StreSimpleCo>:( atom = [ 2 5 ] )
<BendSimpleCo>:( atom = [ 2 5 4 ] )
: ( atom = [ 5 2 1 3 ] )
<SumIntCoor>: (
coor: [
<StreSimpleCo>:( atom = [ 1 2 ] )
<StreSimpleCo>:( atom = [ 2 3 ] )
]
coef = [ 1.0 1.0 ]
)
<SumIntCoor>: (
coor: [
<StreSimpleCo>:( atom = [ 4 5 ] )
<StreSimpleCo>:( atom = [ 4 6 ] )
]
coef = [ 1.0 1.0 ]
)
<BendSimpleCo>:( atom = [ 1 2 3 ] )
<BendSimpleCo>:( atom = [ 5 4 6 ] )
]
% ini tetap dengan simetri,
tetap<SetIntCoor>: [
<SumIntCoor>: (
coor: [
<StreSimpleCo>:( atom = [ 1 2 ] )
<StreSimpleCo>:( atom = [ 2 3 ] )
]
coef = [ 1.0 -1.0 ]
)
<SumIntCoor>: (
coor: [
<StreSimpleCo>:( atom = [ 4 5 ] )
<StreSimpleCo>:( atom = [ 4 6 ] )
]
coef = [ 1.0 -1.0 ]
)
<TorsSimpleCo>:( atom = [ 2 5 4 6] )
:( atom = [ 3 2 6 4 ] )
:( atom = [ 1 2 6 4 ] )
]
)
% objek pengoptimum untuk geometri molekul
memilih<QNewtonOpt>: (
fungsi = $..:mol
kemas kini<BFGSUpdate>: ()
penumpuan: (
kartesian = ya
tenaga = $..:..:mol
)
% memberikan hessian tekaan separa dalam koordinat dalaman
% elemen yang hilang akan diisi secara automatik
hessian = [
[0.0109261670]
[ -0.0004214845 0.0102746106 ]
[ -0.0008600592 0.0030051330 0.0043149957 ]
[0.0 0.0 0.0]
[0.0 0.0 0.0]
[0.0 0.0 0.0]
[0.0 0.0 0.0]
]
)
)

Pengoptimuman bersama a Hidrogen Bond
Penjana koordinat dalaman automatik akan gagal jika ia tidak dapat mencari lebihan yang mencukupi
koordinat dalaman. Dalam kes ini, penjana koordinat dalaman mestilah secara eksplisit
dibuat dalam input dan diberi maklumat sambungan tambahan, seperti yang ditunjukkan di bawah.

% emacs harus menggunakan -*- KeyVal -*- mod
% spesifikasi molekul
molekul<Molekul>: (
simetri = C1
{ geometri atom } = {
H [ 0.088 2.006 1.438 ]
O [ 0.123 3.193 0.000 ]
H [ 0.088 2.006 -1.438 ]
O [ 4.502 5.955 -0.000 ]
H [ 2.917 4.963 -0.000 ]
H [ 3.812 7.691 -0.000 ]
}
)
% spesifikasi set asas
asas<GaussianBasisSet>: (
nama = 'STO-3G'
molekul = $:molekul
)
mpqc: (
pusat pemeriksaan = tidak
savestate = tidak
% kaedah untuk mengira tenaga molekul
tahi lalat<CLHF>: (
molekul = $:molekul
asas = $: asas
coor = $..:coor
ingatan = 16000000
)
% koordinat molekul untuk pengoptimuman
coorSymmMolecularCoor>: (
molekul = $:molekul
% memberikan penjana koordinat dalaman yang mengetahui tentang
% ikatan hidrogen antara atom 2 dan 5
penjana<IntCoorGen>: (
molekul = $:molekul
ikatan_tambahan = [ 2 5 ]
)
)
% objek pengoptimum untuk geometri molekul
memilih<QNewtonOpt>: (
fungsi = $..:mol
kemas kini<BFGSUpdate>: ()
penumpuan: (
kartesian = ya
tenaga = $..:..:mol
)
)
)

Tetap Selaras Pengoptimuman
Contoh ini menunjukkan cara untuk membetulkan koordinat dalaman secara selektif dalam pengoptimuman. mana-mana
bilangan koordinat bebas linear boleh diberikan. Koordinat ini mesti kekal
bebas linear sepanjang pengoptimuman, keadaan yang mungkin tidak berlaku sejak itu
koordinat boleh menjadi tak linear.

Secara lalai, nilai koordinat tetap awal diambil daripada geometri kartesian
yang diberikan oleh Molekul objek; bagaimanapun, molekul akan disesarkan ke dalam
nilai koordinat yang diberikan dengan koordinat dalaman tetap jika kata kunci have_fixed_values
ditetapkan kepada benar, seperti yang ditunjukkan dalam contoh ini. Dalam kes ini, geometri Cartesian awal
hendaklah semunasabahnya hampir dengan geometri awal yang dikehendaki dan semua pembolehubah
koordinat akan dibekukan kepada nilai asalnya semasa anjakan awal.

% emacs harus menggunakan -*- KeyVal -*- mod
% spesifikasi molekul
molekul<Molekul>: (
simetri = CS
{ geometri atom } = {
H [ 3.04 -0.69 -1.59 ]
H [ 3.04 -0.69 1.59 ]
N [ 2.09 -0.48 -0.00 ]
C [ -0.58 -0.15 0.00 ]
H [ -1.17 1.82 0.00 ]
H [ -1.41 -1.04 -1.64 ]
H [ -1.41 -1.04 1.64 ]
}
)
% spesifikasi set asas
asas<GaussianBasisSet>: (
nama = '4-31G*'
molekul = $:molekul
)
mpqc: (
pusat pemeriksaan = tidak
savestate = tidak
% koordinat molekul untuk pengoptimuman
coorSymmMolecularCoor>: (
molekul = $:molekul
penjana<IntCoorGen>: (
molekul = $:molekul
)
mempunyai_nilai_tetap = ya
tetap<SetIntCoor>: [
: ( nilai = -0.1
label = 'N-inversi'
atom = [4 3 2 1] )
]
)
% kaedah untuk mengira tenaga molekul
tahi lalat<CLHF>: (
molekul = $:molekul
asas = $: asas
coor = $..:coor
ingatan = 16000000
)
% objek pengoptimum untuk geometri molekul
memilih<QNewtonOpt>: (
lelaran_maks = 20
fungsi = $..:mol
kemas kini<BFGSUpdate>: ()
penumpuan: (
kartesian = ya
tenaga = $..:..:mol
)
)
)

Peralihan Negeri Pengoptimuman
Contoh ini menunjukkan pengoptimuman keadaan peralihan bagi penyongsangan-N dalam menggunakan mod
mengikuti. Geometri awal diperoleh dengan melakukan beberapa pengoptimuman koordinat tetap
sepanjang koordinat penyongsangan.

% emacs harus menggunakan -*- KeyVal -*- mod
% spesifikasi molekul
molekul<Molekul>: (
simetri = CS
{ geometri atom } = {
H [ 3.045436 -0.697438 -1.596748 ]
H [ 3.045436 -0.697438 1.596748 ]
N [ 2.098157 -0.482779 -0.000000 ]
C [ -0.582616 -0.151798 0.000000 ]
H [ -1.171620 1.822306 0.000000 ]
H [ -1.417337 -1.042238 -1.647529 ]
H [ -1.417337 -1.042238 1.647529 ]
}
)
% spesifikasi set asas
asas<GaussianBasisSet>: (
nama = '4-31G*'
molekul = $:molekul
)
mpqc: (
pusat pemeriksaan = tidak
savestate = tidak
% koordinat molekul untuk pengoptimuman
coorSymmMolecularCoor>: (
molekul = $:molekul
penjana<IntCoorGen>: (
molekul = $:molekul
)
diikuti = [ 'N-inversion' 4 3 2 1 ]
)
% kaedah untuk mengira tenaga molekul
tahi lalat<CLHF>: (
molekul = $:molekul
asas = $: asas
coor = $..:coor
ingatan = 16000000
)
% objek pengoptimum untuk geometri molekul
memilih<EFCOpt>: (
keadaan_peralihan = ya
mod_ikut = ya
lelaran_maks = 20
fungsi = $..:mol
kemas kini<PowellUpdate>: ()
penumpuan: (
kartesian = ya
tenaga = $..:..:mol
)
)
)

Peralihan Negeri Pengoptimuman bersama a Dikira Meneka Hessian
Contoh ini menunjukkan pengoptimuman keadaan peralihan bagi penyongsangan-N dalam menggunakan mod
mengikuti. Geometri awal diperoleh dengan melakukan beberapa pengoptimuman koordinat tetap
sepanjang koordinat penyongsangan. Anggaran tekaan Hessian akan dikira, yang menjadikan
pengoptimuman menumpu lebih cepat dalam kes ini.

% emacs harus menggunakan -*- KeyVal -*- mod
% spesifikasi molekul
molekul<Molekul>: (
simetri = CS
{ geometri atom } = {
H [ 3.045436 -0.697438 -1.596748 ]
H [ 3.045436 -0.697438 1.596748 ]
N [ 2.098157 -0.482779 -0.000000 ]
C [ -0.582616 -0.151798 0.000000 ]
H [ -1.171620 1.822306 0.000000 ]
H [ -1.417337 -1.042238 -1.647529 ]
H [ -1.417337 -1.042238 1.647529 ]
}
)
% spesifikasi set asas
asas<GaussianBasisSet>: (
nama = '4-31G*'
molekul = $:molekul
)
mpqc: (
pusat pemeriksaan = tidak
savestate = tidak
% koordinat molekul untuk pengoptimuman
coorSymmMolecularCoor>: (
molekul = $:molekul
penjana<IntCoorGen>: (
molekul = $:molekul
)
diikuti = [ 'N-inversion' 4 3 2 1 ]
)
% kaedah untuk mengira tenaga molekul
tahi lalat<CLHF>: (
molekul = $:molekul
asas = $: asas
coor = $..:coor
ingatan = 16000000
guess_hessianFinDispMolecularHessian>: (
molekul = $:molekul
only_toally_symmetric = ya
hapuskan_syarat_padu = tidak
pusat pemeriksaan = tidak
tenaga<CLHF>: (
molekul = $:molekul
ingatan = 16000000
asas<GaussianBasisSet>: (
nama = '3-21G'
molekul = $:molekul
)
)
)
)
% objek pengoptimum untuk geometri molekul
memilih<EFCOpt>: (
keadaan_peralihan = ya
mod_ikut = ya
lelaran_maks = 20
fungsi = $..:mol
kemas kini<PowellUpdate>: ()
penumpuan: (
kartesian = ya
tenaga = $..:..:mol
)
)
)

Gunakan mpqc dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

Arahan Linux

Ad




×
Pengiklanan
❤ ️Beli, tempah atau beli di sini — tanpa kos, membantu memastikan perkhidmatan percuma.