ນີ້ແມ່ນຄໍາສັ່ງ mpqc ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
mpqc - ໂຄງການເຄມີ Quantum ຂະໜານມະຫາສານ (MPQC)
ສະຫຼຸບສັງລວມ
mpqc [ທາງເລືອກໃນການ] [ຊື່ເອກະສານ]
ລາຍລະອຽດ
MPQC ຄິດໄລ່ຄຸນສົມບັດຂອງໂມເລກຸນ, ab ເລີ່ມຕົ້ນ, ໃນຫຼາກຫຼາຍຂອງຄອມພິວເຕີ
ສະຖາປັດຕະຍະ ກຳ.
ມັນສາມາດຄິດໄລ່ແກະປິດແລະການຈໍາກັດໂດຍທົ່ວໄປ openshell HartreeFock ພະລັງງານແລະ
gradients, second order openshell perturbation theory (OPT2[2]) ແລະ Zaveraged perturbation
ທິດສະດີ (ZAPT2) ພະລັງງານ, ແລະຄໍາສັ່ງທີສອງປິດ Shell MoellerPlesset ທິດສະດີ perturbation
ພະລັງງານແລະ gradients. ມັນຍັງປະກອບມີວິທີການສໍາລັບການເພີ່ມປະສິດທິພາບຂອງໂມເລກຸນ
Cartesian ຫຼືພິກັດພາຍໃນ.
MPQC ຖືກອອກແບບໂດຍໃຊ້ເຕັກນິກການຂຽນໂປຣແກຣມ objectoriented ແລະປະຕິບັດໃນ C ++
ພາສາໂປລແກລມ
OPTIONS
MPQC ສາມາດໄດ້ຮັບທາງເລືອກທີ່ຕິດຕາມດ້ວຍຊື່ໄຟລ໌ທາງເລືອກ. ຖ້າໃສ່ຊື່ໄຟລ໌
ບໍ່ໄດ້ຖືກມອບໃຫ້, ມັນຈະເປັນຄ່າເລີ່ມຕົ້ນເປັນ 'mpqc.in'. ຕົວເລືອກແຖວຄໍາສັ່ງຕໍ່ໄປນີ້ແມ່ນ
ຮັບຮູ້:
-o ໃຫ້ຊື່ຂອງໄຟລ໌ຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ console.
-i ປ່ຽນໄຟລ໌ປ້ອນຂໍ້ມູນແບບງ່າຍດາຍເປັນໄຟລ໌ປ້ອນຂໍ້ມູນແບບວັດຖຸ ແລະຂຽນຜົນໄດ້ຮັບ
ກັບຜົນຜະລິດ. ບໍ່ມີການຄິດໄລ່ແມ່ນເຮັດແລ້ວ.
- ຂໍ້ຄວາມ
A ParsedKeyVal ສະເພາະຂອງ a MessageGrp ວັດຖຸ. ຄ່າເລີ່ມຕົ້ນແມ່ນຂຶ້ນກັບວິທີການ
MPQC ໄດ້ຖືກລວບລວມ.
- ຄວາມຊົງຈໍາ
A ParsedKeyVal ສະເພາະຂອງ a MemoryGrp ວັດຖຸ. ຄ່າເລີ່ມຕົ້ນແມ່ນຂຶ້ນກັບວິທີການ
MPQC ໄດ້ຖືກລວບລວມ.
- threadgrp
A ParsedKeyVal ສະເພາະຂອງ a ThreadGrp ວັດຖຸ. ຄ່າເລີ່ມຕົ້ນແມ່ນຂຶ້ນກັບວິທີການ
MPQC ໄດ້ຖືກລວບລວມ.
-l ກໍານົດຂອບເຂດຈໍາກັດກ່ຽວກັບຈໍານວນຂອງຫນ້າທີ່ພື້ນຖານ. ຄ່າເລີ່ມຕົ້ນແມ່ນສູນ, ຊຶ່ງຫມາຍຄວາມວ່າເປັນ
ຈໍານວນບໍ່ຈໍາກັດຂອງຫນ້າທີ່ພື້ນຖານ.
-W ຕັ້ງຄ່າໄດເລກະທໍລີທີ່ເຮັດວຽກ. ຄ່າເລີ່ມຕົ້ນແມ່ນໄດເລກະທໍລີປະຈຸບັນ.
-c ກວດສອບການປ້ອນແລະອອກ.
-v ພິມໝາຍເລກລຸ້ນ.
-w ພິມຂໍ້ມູນການຮັບປະກັນ (ບໍ່ມີການຮັບປະກັນ).
-d ຖ້າວັດຖຸດີບັ໊ກຖືກມອບໃຫ້ຢູ່ໃນວັດສະດຸປ້ອນ, ເລີ່ມຕົ້ນການດີບັກແລ່ນໄວເທົ່າທີ່ຈະໄວໄດ້
MPQC ໄດ້ເລີ່ມຕົ້ນ.
-h ພິມລາຍການທາງເລືອກ.
-f ຊື່ຂອງໄຟລ໌ປ້ອນຂໍ້ມູນແບບວັດຖຸ. ຄ່າເລີ່ມຕົ້ນແມ່ນ mpqc.in. ອັນນີ້ບໍ່ສາມາດເປັນໄດ້
ໃຊ້ຖ້າໄຟລ໌ປ້ອນຂໍ້ມູນອື່ນຖືກລະບຸ. ທາງເລືອກນີ້ແມ່ນຖືກປະຕິເສດ, ເປັນການປ້ອນຂໍ້ມູນທັງສອງ
ຮູບແບບໄຟລ໌ສາມາດອ່ານໄດ້ໂດຍການໃສ່ຊື່ໄຟລ໌ໃສ່ໃນເສັ້ນຄໍາສັ່ງໂດຍບໍ່ມີ
ທຸງທາງເລືອກໃດນຶ່ງ.
ບາງສະພາບແວດລ້ອມ MPI ບໍ່ຜ່ານເສັ້ນຄໍາສັ່ງໄປຫາໂຄງການ slave, ແຕ່ສະຫນອງມັນເມື່ອ
MPI_Init ຖືກເອີ້ນ. ເພື່ອເຮັດໃຫ້ MPQC ໂທຫາ MPI_Init ໃນການເລີ່ມຕົ້ນ, ແທນທີ່ຈະເປັນ
MPIMessageGrp ຖືກສ້າງຂື້ນ, ຕັ້ງຊື່ mpqc-mpi ທີ່ສາມາດປະຕິບັດໄດ້.
ພະລັງງານ ຄວາມຮັບຜິດຊອບ
MPQC ເບິ່ງສີ່ຕົວແປສະພາບແວດລ້ອມເພື່ອຕັ້ງຄ່າການສື່ສານແລະຊອກຫາໄຟລ໌ຫ້ອງສະຫມຸດ.
ຫ້ອງສະຫມຸດສະເພາະເຄື່ອງຈັກແລະເຄື່ອງໃຊ້ເພື່ອດໍາເນີນໂຄງການໃນຂະຫນານອາດຈະເບິ່ງອື່ນໆ
ຕົວແປສະພາບແວດລ້ອມເຊັ່ນດຽວກັນ. ສີ່ທີ່ນໍາໃຊ້ໃນທຸກເວທີແມ່ນ:
SCLIBDIR
ຊື່ຂອງຫ້ອງສະຫມຸດ.
MESSAGEGRP
A ParsedKeyVal ສະເພາະຂອງ a MessageGrp ວັດຖຸ. ຄ່າເລີ່ມຕົ້ນແມ່ນຂຶ້ນກັບວິທີການ
MPQC ໄດ້ຖືກລວບລວມ. ເບິ່ງ MessageGrp ເອກະສານຫ້ອງຮຽນສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
MEMORYGRP
A ParsedKeyVal ສະເພາະຂອງ a MemoryGrp ວັດຖຸ. ຄ່າເລີ່ມຕົ້ນແມ່ນຂຶ້ນກັບວິທີການ
MPQC ໄດ້ຖືກລວບລວມແລະ MessageGrp ໃນການນໍາໃຊ້.
THREADGRP
A ParsedKeyVal ສະເພາະຂອງ a ThreadGrp ວັດຖຸ. ຄ່າເລີ່ມຕົ້ນແມ່ນຂຶ້ນກັບວິທີການ
MPQC ໄດ້ຖືກລວບລວມ.
ໂດຍຄ່າເລີ່ມຕົ້ນ, MPQC ພະຍາຍາມຊອກຫາໄຟລ໌ຫ້ອງສະໝຸດກ່ອນໃນໄດເລກະທໍລີຍ່ອຍຂອງ lib
ໄດເລກະທໍລີການຕິດຕັ້ງແລະຫຼັງຈາກນັ້ນໄດເລກະທໍລີລະຫັດແຫຼ່ງ. ຖ້າໄຟລ໌ຫ້ອງສະຫມຸດບໍ່ສາມາດເປັນ
ພົບເຫັນ, MPQC ຕ້ອງໄດ້ຮັບການແຈ້ງໃຫ້ຮູ້ຂອງສະຖານທີ່ໃຫມ່ກັບຕົວແປສິ່ງແວດລ້ອມ SCLIBDIR.
ອີກສາມຄໍາທີ່ລະບຸວັດຖຸ. ນີ້ແມ່ນເຮັດໄດ້ໂດຍການໃຫ້ mini ParsedKeyVal ການປ້ອນຂໍ້ມູນ
ໃນສາຍ. ຈຸດປະສົງແມ່ນບໍ່ເປີດເຜີຍຊື່, ນັ້ນແມ່ນ, ບໍ່ມີຄໍາສໍາຄັນທີ່ກ່ຽວຂ້ອງກັບມັນ. ນີ້ແມ່ນ
ຕົວຢ່າງ:
setenv MESSAGEGRP 'ShmMessageGrp>:(n = 4)'
ແບ່ງປັນ ຫນ່ວຍຄວາມຈໍາ MULTIPROCESSOR ກັບ SYSV IPC
ໂດຍຄ່າເລີ່ມຕົ້ນ, MPQC ຈະດໍາເນີນການພຽງແຕ່ຫນຶ່ງ CPU. ເພື່ອກໍານົດເພີ່ມເຕີມ, ທ່ານສາມາດໃຫ້ a ShmMessageGrp
ວັດຖຸຢູ່ໃນເສັ້ນຄໍາສັ່ງ. ຕໍ່ໄປນີ້ຈະດໍາເນີນການ mpqc ໃນສີ່ຂະບວນການ:
mpqc -messagegrp 'ShmMessageGrp>:(n = 4)' input_file
ໃນທາງກົງກັນຂ້າມ, ໄດ້ ShmMessageGrp ວັດຖຸສາມາດຖືກໃຫ້ເປັນຕົວປ່ຽນແປງສິ່ງແວດລ້ອມ:
setenv MESSAGEGRP 'ShmMessageGrp>:(n = 4)'
mpqc input_file
ຖ້າ MPQC ຄວນຕາຍໂດຍບໍ່ຄາດຄິດ, ສ່ວນຄວາມຊົງຈໍາທີ່ແບ່ງປັນແລະ Semalt ຈະຖືກປະໄວ້ໃນ
ເຄື່ອງ. ສິ່ງເຫຼົ່ານີ້ຄວນຖືກອະນາໄມທັນທີ ຫຼືວຽກອື່ນໆອາດຈະຖືກປ້ອງກັນຈາກການແລ່ນ
ສໍາເລັດ. ເພື່ອເບິ່ງວ່າທ່ານມີການຈັດສັນຊັບພະຍາກອນເຫຼົ່ານີ້ຫຼືບໍ່, ໃຫ້ໃຊ້ຄໍາສັ່ງ ipcs.
ຜົນຜະລິດຈະມີລັກສະນະຄ້າຍຄື:
ສະຖານະ IPC ຈາກ /dev/kmem ໃນວັນພຸດທີ 13 ມີນາ 14:42:18 1996
T ID MODE ເຈົ້າຂອງກຸ່ມ
ຄິວຂໍ້ຄວາມ:
ໜ່ວຍຄວາມຈຳທີ່ແບ່ງປັນ:
m 288800 0x00000000 --rw-------- ຜູ້ໃຊ້ cljanss
Semalt:
s 390 0x00000000 --ra------- ຜູ້ໃຊ້ cljans
s 391 0x00000000 --ra------- ຜູ້ໃຊ້ cljans
ເພື່ອເອົາຊັບພະຍາກອນ IPC ທີ່ໃຊ້ໂດຍ cljanss ໃນຕົວຢ່າງຂ້າງເທິງກ່ຽວກັບ IRIX, ພິມ:
ipcrm -m 288800
ipcrm -s 390
ipcrm -s 391
ແລະໃນ Linux, ພິມ:
ipcrm shm 288800
ipcrm sem 390
ipcrm sem 391
ແບ່ງປັນ ຫນ່ວຍຄວາມຈໍາ MULTIPROCESSOR ກັບ POSIX ປ່າໄມ້
ໂດຍຄ່າເລີ່ມຕົ້ນ, MPQC ຈະແລ່ນດ້ວຍຫົວຂໍ້ດຽວເທົ່ານັ້ນ. ເພື່ອກໍານົດເພີ່ມເຕີມ, ທ່ານສາມາດໃຫ້ a
PthreadThreadGrp ວັດຖຸຢູ່ໃນເສັ້ນຄໍາສັ່ງ. MPQC ບໍ່ໄດ້ຖືກຂະຫນານກັບຂະຫນາດໃຫຍ່
ຂອບເຂດທີ່ມີກະທູ້ຍ້ອນວ່າມັນແມ່ນກັບຮູບແບບຄວາມຊົງຈໍາທີ່ແຈກຢາຍແບບດັ້ງເດີມຫຼາຍ, ດັ່ງນັ້ນທ່ານ
ອາດຈະບໍ່ໄດ້ຮັບການປະຕິບັດທີ່ດີທີ່ສຸດໂດຍໃຊ້ເຕັກນິກນີ້. ອີກດ້ານ ໜຶ່ງ ແມ່ນຄວາມຊົງ ຈຳ ທີ່ຢູ່ເທິງຫົວ
ຕ່ໍາກວ່າແລະບໍ່ຈໍາເປັນຕ້ອງມີການສື່ສານລະຫວ່າງກັນ.
ຕໍ່ໄປນີ້ຈະດໍາເນີນການ MPQC ໃນສີ່ຫົວຂໍ້:
mpqc -threadgrp 'PthreadThreadGrp>:(num_threads = 4)' input_file
ໃນທາງກົງກັນຂ້າມ, ໄດ້ PthreadThreadGrp ວັດຖຸສາມາດຖືກໃຫ້ເປັນຕົວປ່ຽນແປງສິ່ງແວດລ້ອມ:
setenv THREADGRP 'PthreadThreadGrp>:(n = 4)'
mpqc input_file
ແບ່ງປັນ OR ແຈກຢາຍ ຫນ່ວຍຄວາມຈໍາ MULTIPROCESSOR ກັບ ໂຄມໄຟ
A MPIMessageGrp ວັດຖຸຖືກນໍາໃຊ້ເພື່ອດໍາເນີນການໂດຍໃຊ້ MPI. ຈໍານວນຂອງ nodes ທີ່ໃຊ້ແມ່ນກໍານົດໂດຍ
ເວລາແລ່ນ MPI ແລະບໍ່ໄດ້ລະບຸເປັນຂໍ້ມູນປ້ອນເຂົ້າ MPIMessageGrp.
mpqc -messagegrp 'MPIMessageGrp>:()' input_file
ໃນທາງກົງກັນຂ້າມ, ໄດ້ MPIMessageGrp ວັດຖຸສາມາດຖືກໃຫ້ເປັນຕົວປ່ຽນແປງສິ່ງແວດລ້ອມ:
setenv MESSAGEGRP 'MPIMessageGrp>:()'
mpqc input_file
ປົກກະຕິແລ້ວ, ຄໍາສັ່ງພິເສດແມ່ນຈໍາເປັນເພື່ອເລີ່ມຕົ້ນວຽກ MPI; ປົກກະຕິແລ້ວມັນມີຊື່ວ່າ mpirun.
ປັດໄຈນໍາເຂົ້າ
MPQC ຮອງຮັບສອງຮູບແບບການປ້ອນຂໍ້ມູນ. ການປ້ອນຂໍ້ມູນຕົ້ນຕໍແມ່ນຮູບແບບທີ່ຮັດກຸມວັດຖຸ
ໃຫ້ຜູ້ໃຊ້ເຂົ້າເຖິງທາງເລືອກ MPQCs ທັງໝົດ. ຮູບແບບທີສອງອະນຸຍາດໃຫ້ເຂົ້າເຖິງຊຸດຍ່ອຍຂອງ
ຄວາມສາມາດຂອງ MPQCs, ແຕ່ແມ່ນ intuitive ຫຼາຍແລະງ່າຍຕໍ່ການຮຽນຮູ້. ຜູ້ໃຊ້ໃຫມ່ແມ່ນແນະນໍາໃຫ້
ເລີ່ມຕົ້ນດ້ວຍຮູບແບບທີ່ງ່າຍດາຍ. MPQC ສາມາດຖືກນໍາໃຊ້ເພື່ອປ່ຽນຮູບແບບທີ່ງ່າຍດາຍເພື່ອ
ຮູບແບບທີ່ເນັ້ນວັດຖຸເຕັມຮູບແບບດ້ວຍຕົວເລືອກ -i.
ງ່າຍດາຍ ການປ້ອນຂໍ້ມູນ
ຮູບແບບການປ້ອນຂໍ້ມູນແບບງ່າຍດາຍປະກອບດ້ວຍຄໍາທີ່ຕິດຕາມດ້ວຍ ':' ຕາມດ້ວຍຄ່າ. ໄດ້
ຄໍາສໍາຄັນແມ່ນຕົວພິມນ້ອຍ. ຄ່າອາດຈະຖືກແກ້ໄຂໂດຍຕົວເລືອກທີ່ພົບໃນວົງເລັບ.
ຕົວຢ່າງ, ການປ້ອນຂໍ້ມູນຕໍ່ໄປນີ້ເຮັດການເພີ່ມປະສິດທິພາບຂອງນ້ໍາໂດຍໃຊ້ຄວາມຫນາແຫນ້ນ
ທິດສະດີການທໍາງານກັບ B3LYP exchange-correlation functional:
% B3LYP ການເພີ່ມປະສິດທິພາບຂອງນ້ໍາ
ເພີ່ມປະສິດທິພາບ: ແມ່ນແລ້ວ
ວິທີການ: KS (xc = B3LYP)
ພື້ນຖານ: 3-21G*
ໂມເລກຸນ:
O 0.172 0.000 0.000
ຮ 0.745 0.000 0.754
H 0.745 0.000 -0.754
ຄຳເຫັນເລີ່ມຕົ້ນດ້ວຍ % ແລະສືບຕໍ່ໄປຫາທ້າຍແຖວ. ພື້ນຖານການຕັ້ງຊື່ປະກອບດ້ວຍ
ຕົວອັກສອນພິເສດ, ເຊັ່ນຊ່ອງຫວ່າງ ຫຼືວົງເລັບ, ຈະຕ້ອງຖືກອ້າງອີງພາຍໃນຄູ່ຂອງຄູ່
ວົງຢືມ. ຄໍາທີ່ຍອມຮັບແມ່ນ:
ໂມເລກຸນ
ໃຫ້ປະລໍາມະນູປະເພດແລະການປະສານງານ. ທາງເລືອກຕໍ່ໄປນີ້ສາມາດນໍາໃຊ້ໄດ້
ບູຮານ
ພິກັດແມ່ນໃຫ້ຢູ່ໃນ Bohr.
angstrom
ພິກັດແມ່ນໃຫ້ຢູ່ໃນ Angstroms.
ໄລ່ເອົາ
ທາງເລືອກນີ້ສາມາດຖືກມອບໃຫ້ຫຼັງຈາກ 'ອົງປະກອບ xyz' quadruple. ນີ້ຈະ override ໄດ້
ໄລ່ເອົາປະລໍາມະນູ. ຕົວຢ່າງ, (ຄ່າບໍລິການ = 0) ສາມາດໃຫ້ອະຕອມຜີໃນ a
ການຄິດໄລ່ການແກ້ໄຂ counterpoise.
multiplicity
ໃຫ້ຄວາມຫຼາກຫຼາຍຂອງໂມເລກຸນ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 1.
ເພີ່ມປະສິດທິ
ຖ້າແມ່ນ, ຫຼັງຈາກນັ້ນການເພີ່ມປະສິດທິພາບຈະຖືກປະຕິບັດ. ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ມີ. ຕໍ່ໄປນີ້
ສາມາດໃຫ້ທາງເລືອກ.
ກະຕ່າຍ
ໃຊ້ຈຸດປະສານງານ Cartesian.
ພາຍໃນ
ໃຊ້ຈຸດປະສານງານພາຍໃນ.
ຊ້ ຳ ບໍ່ ໜຳ
ໃຊ້ພິກັດພາຍໃນທີ່ຊ້ຳຊ້ອນ.
gradient
ຖ້າແມ່ນ, ຫຼັງຈາກນັ້ນການຄິດໄລ່ gradient ຈະຖືກປະຕິບັດ. ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ມີ.
ຄວາມຖີ່
ຖ້າແມ່ນ, ຫຼັງຈາກນັ້ນ, ຄວາມຖີ່ຈະໄດ້ຮັບ. ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ມີ.
ໄລ່ເອົາ
ລະບຸຄ່າໃນໂມເລກຸນ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 0.
ວິທີການ
ສະເພາະ ices ວິທີການ. ບໍ່ມີຄ່າເລີ່ມຕົ້ນ ແລະຄ່າທີ່ເປັນໄປໄດ້ແມ່ນ:
HF
Hartree-Fock. HF ທີ່ບໍ່ຈໍາກັດຖືກໃຊ້ຖ້າຄວາມຄູນ > 1
RHF
ຈຳກັດ Hartree-Fock.
UHF
Hartree-Fock ທີ່ບໍ່ຈໍາກັດ.
KS
Kohn-Sham. KS ທີ່ບໍ່ຈໍາກັດຖືກໃຊ້ຖ້າຄວາມຄູນ > 1
RKS
ຈຳກັດ Kohn-Sham.
ອັງກິດ
Kohn-Sham ທີ່ບໍ່ຈໍາກັດ.
MP2
ທິດສະດີການລົບກວນ Moeller-Plesset ຄໍາສັ່ງທີສອງ. ມີພຽງແຕ່ສໍາລັບ multiplicity =
1.
ZAPT2
ທິດສະດີການລົບກວນໂດຍສະເລ່ຍ Z. ສາມາດໃຊ້ໄດ້ສະເພາະກັບຄວາມຫຼາກຫຼາຍ > 1. ບໍ່ມີ gradient,
ການເພີ່ມປະສິດທິພາບ, ຫຼືຄວາມຖີ່ແມ່ນເປັນໄປໄດ້.
ຕົວເລືອກຕໍ່ໄປນີ້ແມ່ນຖືກຕ້ອງກັບວິທີການ KS, RKS, ແລະ UKS:
ຕາຂ່າຍໄຟຟ້າ
ລະບຸຕາຂ່າຍທີ່ຈະໃຊ້ສໍາລັບການລວມຕົວເລກ. ຄຸນຄ່າຕໍ່ໄປນີ້ສາມາດເປັນ
ມອບໃຫ້:
xcoarse
ຫຍາບ
ຂະຫນາດກາງ
ດີ
xfine
ultrafine
xc
ລະບຸການແລກປ່ຽນ-correlation functional. ບໍ່ມີຄ່າເລີ່ມຕົ້ນ. ເບິ່ງຕາຕະລາງໃນ
ໄດ້ StdDenFunctional ເອກະສານຊັ້ນຮຽນສໍາລັບຄ່າທີ່ເປັນໄປໄດ້.
ພື້ນຖານ
ກໍານົດພື້ນຖານທີ່ກໍານົດໄວ້. ບໍ່ມີຄ່າເລີ່ມຕົ້ນ. ເບິ່ງຕາຕະລາງໃນ GaussianBasisSet
ເອກະສານຊັ້ນຮຽນສໍາລັບຊຸດພື້ນຖານທີ່ມີຢູ່.
ເລີ່ມຕົ້ນໃຫມ່
ຕັ້ງຄ່າເປັນແມ່ນ ເພື່ອເລີ່ມຕົ້ນການເພີ່ມປະສິດທິພາບໃໝ່. ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ມີ.
ດ່ານ
ຕັ້ງເປັນບໍ່ເພື່ອບໍ່ບັນທຶກໄຟລ໌ດ່ານໃນລະຫວ່າງການເພີ່ມປະສິດທິພາບ. ຄ່າເລີ່ມຕົ້ນແມ່ນແມ່ນ.
symmetry
Specif ices ສັນຍາລັກ Schoenflies ຂອງກຸ່ມຈຸດຂອງໂມເລກຸນ. ຄ່າເລີ່ມຕົ້ນແມ່ນ
auto, ເຊິ່ງຈະເຮັດໃຫ້ໂຄງການເພື່ອຊອກຫາຄໍາສັ່ງຍ່ອຍ Abelian ສູງສຸດຂອງ
ໂມເລກຸນ.
ດຣ
ໃຫ້ຈໍານວນຂອງວົງໂຄຈອນທີ່ຄອບຄອງສອງເທົ່າໃນແຕ່ລະການສະແດງຜົນທີ່ບໍ່ສາມາດປ່ຽນແປງໄດ້
ໃນບັນຊີລາຍຊື່ວົງເລັບ. symmetry ຕ້ອງໄດ້ຮັບການລະບຸແລະບໍ່ແມ່ນອັດຕະໂນມັດ. ວິທີການ
ຕ້ອງໄດ້ຮັບການຈໍາກັດ.
socc
ໃຫ້ຈໍານວນຂອງວົງໂຄຈອນທີ່ຄອບຄອງດຽວໃນແຕ່ລະການສະແດງຜົນທີ່ບໍ່ສາມາດປ່ຽນແປງໄດ້
ໃນບັນຊີລາຍຊື່ວົງເລັບ. symmetry ຕ້ອງໄດ້ຮັບການລະບຸແລະບໍ່ແມ່ນອັດຕະໂນມັດ. ວິທີການ
ຕ້ອງໄດ້ຮັບການຈໍາກັດ.
alpha
ໃຫ້ຈໍານວນຂອງວົງໂຄຈອນທີ່ຄອບຄອງ alpha ໃນແຕ່ລະການສະແດງຜົນທີ່ບໍ່ສາມາດປ່ຽນແປງໄດ້
ໃນບັນຊີລາຍຊື່ວົງເລັບ. symmetry ຕ້ອງໄດ້ຮັບການລະບຸແລະບໍ່ແມ່ນອັດຕະໂນມັດ. ວິທີການ
ຕ້ອງໄດ້ຮັບການຈໍາກັດ.
ທົດລອງ
ໃຫ້ຈໍານວນຂອງ beta occupied orbitals ໃນແຕ່ລະຕົວແທນ irreducable ໃນ
ບັນຊີລາຍຊື່ວົງເລັບ. symmetry ຕ້ອງໄດ້ຮັບການລະບຸແລະບໍ່ແມ່ນອັດຕະໂນມັດ. ວິທີການຕ້ອງ
ບໍ່ຈໍາກັດ.
frozen_docc
ໃຫ້ຈໍານວນຂອງວົງໂຄຈອນຫຼັກແຊ່ແຂງ. ສາມາດເປັນຈຳນວນເຕັມດຽວ ຫຼື a
ລາຍຊື່ວົງເລັບໃຫ້ວົງໂຄຈອນຫຼັກທີ່ແຊ່ແຂງໃນແຕ່ລະຕົວແທນທີ່ບໍ່ສາມາດປ່ຽນແປງໄດ້.
ໃນກໍລະນີສຸດທ້າຍ, symmetry ຕ້ອງໄດ້ຮັບການໃຫ້ແລະບໍ່ແມ່ນອັດຕະໂນມັດ.
frozen_uocc
ໃຫ້ຈໍານວນຂອງວົງໂຄຈອນ virtual frozen. ສາມາດເປັນຈຳນວນເຕັມດຽວ ຫຼື a
ບັນຊີລາຍຊື່ວົງເລັບໃຫ້ວົງໂຄຈອນ virtual ແຊ່ແຂງໃນແຕ່ລະ irreducable
ການເປັນຕົວແທນ. ໃນກໍລະນີສຸດທ້າຍ, symmetry ຕ້ອງໄດ້ຮັບການໃຫ້ແລະບໍ່ແມ່ນອັດຕະໂນມັດ.
ຈຸດປະສົງ - ແນວທາງ ການປ້ອນຂໍ້ມູນ
MPQC ແມ່ນໂຄງການທີ່ແນໃສ່ວັດຖຸທີ່ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ສາມາດລະບຸວັດຖຸໄດ້ໂດຍກົງ
MPQC ຫຼັງຈາກນັ້ນ manipulates ເພື່ອໃຫ້ໄດ້ຮັບພະລັງງານ, ຄຸນສົມບັດ, ແລະອື່ນໆ. ນີ້ເຮັດໃຫ້ການປ້ອນຂໍ້ມູນຫຼາຍ
ປ່ຽນແປງໄດ້, ແຕ່ສະລັບສັບຊ້ອນຫຼາຍ. ຢ່າງໃດກໍຕາມ, ການຄິດໄລ່ສ່ວນໃຫຍ່ຄວນຈະຂ້ອນຂ້າງຄ້າຍຄືກັນກັບຫນຶ່ງ
ຂອງຕົວຢ່າງທີ່ໄດ້ໃຫ້ຕໍ່ມາໃນບົດນີ້. ວິທີທີ່ດີທີ່ສຸດເພື່ອເລີ່ມຕົ້ນແມ່ນການນໍາໃຊ້ຫນຶ່ງໃນ
ຕົວຢ່າງການປ້ອນຂໍ້ມູນໄຟລ໌ແລະປັບປຸງແກ້ໄຂມັນເພື່ອຕອບສະຫນອງຄວາມຕ້ອງການຂອງທ່ານ.
MPQC ເລີ່ມຕົ້ນໂດຍການສ້າງ ParsedKeyVal ວັດຖຸທີ່ແຍກເອກະສານການປ້ອນຂໍ້ມູນລະບຸໄວ້ໃນ
ເສັ້ນຄໍາສັ່ງ. ຮູບແບບຂອງໄຟລ໌ປ້ອນຂໍ້ມູນແມ່ນບັນທຶກໄວ້ໃນ . ໂດຍພື້ນຖານແລ້ວມັນເປັນການຟຣີ
ການປ້ອນຂໍ້ມູນຮູບແບບທີ່ເຊື່ອມໂຍງຄໍາສໍາຄັນແລະການຈັດກຸ່ມຢ່າງມີເຫດຜົນຂອງຄໍາທີ່ມີຄ່າ. ໄດ້
ຄ່າສາມາດເປັນ scalar, array, ຫຼື object.
ຄໍາສໍາຄັນທີ່ຖືກຮັບຮູ້ໂດຍ MPQC ເລີ່ມຕົ້ນດ້ວຍຄໍານໍາຫນ້າ mpqc. ນັ້ນແມ່ນ, ພວກເຂົາຕ້ອງໄດ້ຮັບການຮັງ
ລະຫວ່າງ mpqc:( ແລະ a ). ໃນທາງກົງກັນຂ້າມ, ແຕ່ລະຄໍາສາມາດຖືກນໍາຫນ້າໂດຍສ່ວນບຸກຄົນ
mpqc:. ຄໍາສໍາຄັນຕົ້ນຕໍແມ່ນໃຫ້ຂ້າງລຸ່ມນີ້. ບາງຄໍາສໍາຄັນລະບຸວັດຖຸ, ໃນ
ກໍລະນີໃດທີ່ວັດຖຸຕ້ອງການເພີ່ມເຕີມ ParsedKeyVal ວັດສະດຸປ້ອນ. ວັດຖຸເຫຼົ່ານີ້ແມ່ນສ້າງມາຈາກ
ການປ້ອນຂໍ້ມູນໂດຍການນໍາໃຊ້ຂອງເຂົາເຈົ້າ ParsedKeyVal ຜູ້ກໍ່ສ້າງ. ຜູ້ກໍ່ສ້າງເຫຼົ່ານີ້ຖືກບັນທຶກດ້ວຍ
ເອກະສານລະຫັດແຫຼ່ງສໍາລັບຊັ້ນຮຽນ.
ໂມເລກຸນ
ນີ້ແມ່ນຄໍາສໍາຄັນທີ່ສໍາຄັນທີ່ສຸດສໍາລັບ MPQC. ມັນລະບຸວ່າ ພະລັງງານໂມເລກຸນ ວັດຖຸ
ນີ້ແມ່ນວັດຖຸທີ່ຮູ້ວິທີການຄິດໄລ່ພະລັງງານຂອງໂມເລກຸນ. ໄດ້
ຄວາມຊ່ຽວຊານຂອງ ພະລັງງານໂມເລກຸນ ທີ່ຖືກນໍາໃຊ້ຫຼາຍທີ່ສຸດແມ່ນ CLKS, HSOSKS, UKS,
CLHF, HSOSHF, UHF, ແລະ MBPT2.
ເລືອກ
ຄໍາສໍາຄັນນີ້ຕ້ອງໄດ້ຮັບການກໍານົດສໍາລັບການເພີ່ມປະສິດທິພາບ. ມັນກໍານົດເປັນ ເພີ່ມປະສິດທິ ວັດຖຸ
ໂດຍປົກກະຕິແລ້ວ, QNewtonOpt ແມ່ນດີທີ່ສຸດສໍາລັບການຊອກຫາ minima ແລະ EFCOpt ແມ່ນດີທີ່ສຸດສໍາລັບການຫັນປ່ຽນ
ລັດ.
ຄວາມຖີ່
ຄໍາສໍາຄັນນີ້ຕ້ອງໄດ້ຮັບການກໍານົດເພື່ອຄິດໄລ່ຄວາມຖີ່. ມັນລະບຸ a
MolecularFrequencies ວັດຖຸ
ກະທູ້
ນີ້ກໍານົດວັດຖຸຂອງປະເພດ ThreadGrp ທີ່ສາມາດຖືກນໍາໃຊ້ເພື່ອປະໂຫຍດ
shared-memory multiprocessor machines ສໍາລັບການຄິດໄລ່ບາງປະເພດ. ຄໍາສໍາຄັນນີ້
ສາມາດ overridden ໄດ້ໂດຍການໃຫ້ ThreadGrp ໃນສະພາບແວດລ້ອມຫຼືສາຍຄໍາສັ່ງ. ເບິ່ງ
ພາກສ່ວນກ່ຽວກັບການແລ່ນ MPQC ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
ດ່ານ
ມູນຄ່າຂອງຄໍາສໍາຄັນນີ້ແມ່ນ Boolean. ຖ້າເປັນຄວາມຈິງ, ຫຼັງຈາກນັ້ນການເພີ່ມປະສິດທິພາບຈະເປັນ
ກວດກາຫຼັງຈາກແຕ່ລະຄັ້ງ. ໄຟລ໌ດ່ານພຽງພໍແມ່ນ .ckpt. ຄ່າເລີ່ມຕົ້ນ
ແມ່ນເພື່ອກວດກາ.
savestate
ມູນຄ່າຂອງຄໍາສໍາຄັນນີ້ແມ່ນ Boolean. ຖ້າເປັນຄວາມຈິງ, ຫຼັງຈາກນັ້ນລັດຂອງ optimizer ແລະ
ວັດຖຸທີ່ໃຊ້ wavefunction ຈະຖືກບັນທຶກໄວ້ຫຼັງຈາກການຄິດໄລ່ສໍາເລັດ. ໄຟລ໌ຜົນຜະລິດ
ຄຳຕໍ່ທ້າຍແມ່ນ .wfn. ຄ່າເລີ່ມຕົ້ນແມ່ນເພື່ອບັນທຶກສະຖານະ.
ເລີ່ມຕົ້ນໃຫມ່
ມູນຄ່າຂອງຄໍາສໍາຄັນນີ້ແມ່ນ Boolean. ຖ້າເປັນຈິງ, mpqc ຈະພະຍາຍາມປິດເປີດເຄື່ອງໃໝ່
ການຄິດໄລ່. ຖ້າໄຟລ໌ດ່ານບໍ່ພົບ, ການຄິດໄລ່ຈະສືບຕໍ່ຄືກັບວ່າ
ມູນຄ່າແມ່ນບໍ່ຖືກຕ້ອງ. ຄ່າເລີ່ມຕົ້ນແມ່ນຄວາມຈິງ.
restart_file
ອັນນີ້ໃຫ້ຊື່ຂອງໄຟລ໌ທີ່ຂໍ້ມູນ restart ຖືກອ່ານ. ຖ້າໄຟລ໌
ຊື່ລົງທ້າຍດ້ວຍ .wfn the ພະລັງງານໂມເລກຸນ ວັດຖຸຈະຖືກຟື້ນຟູ. ຖ້າບໍ່ດັ່ງນັ້ນ, ໄດ້ ເພີ່ມປະສິດທິ
ວັດຖຸຈະຖືກຟື້ນຟູ. ຊື່ໄຟລ໌ເລີ່ມຕົ້ນແມ່ນສ້າງຂຶ້ນໂດຍການຕໍ່ທ້າຍ .ckpt ກັບ
ໃສ່ຊື່ໄຟລ໌ທີ່ມີສ່ວນຂະຫຍາຍອອກ.
do_energy
ມູນຄ່າຂອງຄໍາສໍາຄັນນີ້ແມ່ນ Boolean. ຖ້າເປັນຄວາມຈິງການຄິດໄລ່ພະລັງງານຈຸດດຽວຈະ
ເຮັດໄດ້ສໍາລັບ ພະລັງງານໂມເລກຸນ ວັດຖຸທີ່ໃຫ້ດ້ວຍຄໍາທີ່ໃຊ້ mole. ຄ່າເລີ່ມຕົ້ນແມ່ນ
ຈິງ
do_gradient
ມູນຄ່າຂອງຄໍາສໍາຄັນນີ້ແມ່ນ Boolean. ຖ້າເປັນຄວາມຈິງການຄິດໄລ່ gradient ຈຸດດຽວ
ຈະເຮັດໄດ້ສໍາລັບການ ພະລັງງານໂມເລກຸນ ວັດຖຸທີ່ໃຫ້ດ້ວຍຄໍາທີ່ໃຊ້ mole. ຄ່າເລີ່ມຕົ້ນ
ແມ່ນບໍ່ຖືກຕ້ອງ.
ເພີ່ມປະສິດທິ
ມູນຄ່າຂອງຄໍາສໍາຄັນນີ້ແມ່ນ Boolean. ຖ້າເປັນຈິງ ແລະຄໍາທີ່ເລືອກຖືກຕັ້ງເປັນທີ່ຖືກຕ້ອງ
ມູນຄ່າ, ຫຼັງຈາກນັ້ນການເພີ່ມປະສິດທິພາບຈະຖືກປະຕິບັດ. ຄ່າເລີ່ມຕົ້ນແມ່ນຄວາມຈິງ.
write_pdb
ມູນຄ່າຂອງຄໍາສໍາຄັນນີ້ແມ່ນ Boolean. ຖ້າເປັນຈິງໄຟລ໌ PDB ທີ່ມີໂມເລກຸນ
ພິກັດຈະຖືກຂຽນ.
ຊື່ເອກະສານ
ມູນຄ່າຂອງຄໍາສໍາຄັນນີ້ແມ່ນສາຍທີ່ໃຫ້ຊື່ຈາກຈຸດກວດກາແລະ
ຊື່ໄຟລ໌ອື່ນໆແມ່ນຖືກສ້າງຂຶ້ນ. ຄ່າເລີ່ມຕົ້ນແມ່ນຊື່ພື້ນຖານຂອງໄຟລ໌ປ້ອນຂໍ້ມູນ.
print_times
ຖ້ານີ້ແມ່ນຄວາມຈິງ, ຂໍ້ມູນເວລາຈະຖືກພິມອອກໃນຕອນທ້າຍຂອງການແລ່ນ. ຄ່າເລີ່ມຕົ້ນແມ່ນ
ຈິງ
ຍັງມີບາງຄໍາທີ່ໃຊ້ປະໂຫຍດທີ່ບອກ mpqc ບາງລາຍລະອຽດດ້ານວິຊາການກ່ຽວກັບວິທີການເຮັດ
ການຄິດໄລ່:
debug
ຄໍາສໍາຄັນທາງເລືອກນີ້ເຮັດໃຫ້ a Debugger ວັດຖຸທີ່ສາມາດໃຊ້ເພື່ອຊ່ວຍຊອກຫາບັນຫາ
ຖ້າ MPQC ພົບກັບຄວາມຜິດພາດທີ່ຮ້າຍກາດ.
matrixkit
ຄໍາສໍາຄັນທາງເລືອກນີ້ເຮັດໃຫ້ a SCMatrixKit ຄວາມຊ່ຽວຊານທີ່ຖືກນໍາໃຊ້ເພື່ອຜະລິດ
matrices ຂອງປະເພດທີ່ຕ້ອງການ. ຄ່າເລີ່ມຕົ້ນແມ່ນ a ReplSCMatrixKit ທີ່ replicates
matrices ໃນທັງຫມົດຂອງ nodes. ທາງເລືອກອື່ນບໍ່ໄດ້ຖືກທົດສອບຢ່າງລະອຽດ.
ຕົວຢ່າງ
ການປ້ອນຂໍ້ມູນຕົວຢ່າງນີ້ເຮັດການຄິດໄລ່ Hartree-Fock ກ່ຽວກັບນ້ໍາ. ຕໍ່ໄປນີ້ແມ່ນທັງຫມົດ
ການປ້ອນຂໍ້ມູນ, ປະຕິບັດຕາມໂດຍການແບ່ງປັນທີ່ມີຄໍາອະທິບາຍ.
% ການປ້ອນຂໍ້ມູນນີ້ເຮັດການຄິດໄລ່ Hartree-Fock ກ່ຽວກັບນ້ໍາ.
ໂມເລກຸນໂມເລກຸນ>: (
symmetry = C2V
ໜ່ວຍ = angstrom
{ ເລຂາຄະນິດອະຕອມ } = {
O [ 0.00000000 0.00000000 0.37000000 ]
H [ 0.78000000 0.00000000 -0.18000000 ]
H [ -0.78000000 0.00000000 -0.18000000 ]
}
)
ພື້ນຖານGaussianBasisSet>: (
ຊື່ = 'STO-3G'
ໂມເລກຸນ = $:ໂມເລກຸນ
)
mpqc: (
moleCLHF>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ພື້ນຖານ = $: ພື້ນຖານ
)
)
ພວກເຮົາເລີ່ມຕົ້ນດ້ວຍຄໍາຄິດຄໍາເຫັນທີ່ອະທິບາຍ. ຄຳເຫັນເລີ່ມຕົ້ນດ້ວຍ %. ທຸກຢ່າງຈາກ % ໄປຫາ
ທ້າຍແຖວຖືກລະເລີຍ.
% ການປ້ອນຂໍ້ມູນນີ້ເຮັດການຄິດໄລ່ Hartree-Fock ກ່ຽວກັບນ້ໍາ.
ຕອນນີ້ໃຫ້ຕັ້ງຄ່າ a ໂມເລກຸນ ວັດຖຸ. ຊື່ຂອງວັດຖຸມາກ່ອນ, ມັນແມ່ນໂມເລກຸນ.
ຫຼັງຈາກນັ້ນ, ໃນວົງເລັບມຸມ, ມາປະເພດຂອງໂມເລກຸນ, ເຊິ່ງເປັນຊັ້ນ ໂມເລກຸນ. ໄດ້
ຄໍາສໍາຄັນແລະຊື່ຫ້ອງຮຽນແມ່ນຕິດຕາມດ້ວຍ : ແລະຫຼັງຈາກນັ້ນຫຼາຍຊິ້ນຂອງວັດສະດຸປ້ອນເຂົ້າເປັນກຸ່ມ
ລະຫວ່າງຄູ່ຂອງວົງເລັບທີ່ກົງກັນ. ວົງເລັບເຫຼົ່ານີ້ປະກອບດ້ວຍຂໍ້ມູນທີ່
ຈະຖືກມອບໃຫ້ ໂມເລກຸນ ຄີວາລ ຜູ້ກໍ່ສ້າງ.
ໂມເລກຸນໂມເລກຸນ>: (
ກຸ່ມຈຸດຂອງໂມເລກຸນແມ່ນຈໍາເປັນ. ນີ້ແມ່ນເຮັດໄດ້ໂດຍການກໍານົດ symmetry ກັບກໍລະນີ
ສັນຍາລັກ Schoenflies insensitive ທີ່ຖືກນໍາໃຊ້ເພື່ອເລີ່ມຕົ້ນ a PointGroup ວັດຖຸ. Abelian
ກຸ່ມຈຸດຄວນຖືກນໍາໃຊ້.
symmetry = C2V
ຫົວໜ່ວຍເລີ່ມຕົ້ນສຳລັບພິກັດ Cartesian ແມ່ນ Bohr. ທ່ານສາມາດກໍານົດຫນ່ວຍງານອື່ນໆໂດຍ
ມອບໝາຍຫົວໜ່ວຍໃຫ້ກັບສະຕຣິງທີ່ຈະໃຊ້ເພື່ອເລີ່ມຕົ້ນ a ຫນ່ວຍ ວັດຖຸ
ໜ່ວຍ = angstrom
ສຸດທ້າຍ, ປະລໍາມະນູແລະຈຸດປະສານງານໄດ້ຖືກມອບໃຫ້. ນີ້ສາມາດຖືກມອບໃຫ້ຢູ່ໃນຕາຕະລາງ shorthand
syntax ສະແດງໃຫ້ເຫັນຂ້າງລຸ່ມນີ້. ຫົວຂໍ້ຂອງຕາຕະລາງແມ່ນຄໍາສໍາຄັນລະຫວ່າງຄູ່ທໍາອິດຂອງ
ວົງເລັບ. ເຫຼົ່ານີ້ແມ່ນປະຕິບັດຕາມດ້ວຍ = ແລະວົງເລັບຄູ່ອື່ນທີ່ມີຂໍ້ມູນ.
datum ທໍາອິດຖືກມອບຫມາຍໃຫ້ອົງປະກອບທໍາອິດຂອງ array ທີ່ສອດຄ່ອງກັບ
ຫົວຂໍ້ທໍາອິດ, ປະລໍາມະນູ. datum ທີສອງຖືກມອບຫມາຍໃຫ້ອົງປະກອບທໍາອິດຂອງ array
ກ່ຽວຂ້ອງກັບຫົວຂໍ້ທີສອງ, ເລຂາຄະນິດ, ແລະອື່ນໆ. ນີ້ແມ່ນຕົວຈິງແລ້ວ, ຂໍ້ທີສອງແມ່ນ
a vector: ຈຸດປະສານງານ x, y ແລະ z ຂອງອະຕອມທຳອິດ.
{ ເລຂາຄະນິດອະຕອມ } = {
O [ 0.00000000 0.00000000 0.37000000 ]
H [ 0.78000000 0.00000000 -0.18000000 ]
H [ -0.78000000 0.00000000 -0.18000000 ]
}
)
ຕໍ່ໄປ, ວັດຖຸທີ່ກໍານົດໄວ້ພື້ນຖານແມ່ນໃຫ້.
ພື້ນຖານGaussianBasisSet>: (
ຊື່ = 'STO-3G'
ໂມເລກຸນ = $:ໂມເລກຸນ
)
ໃນປັດຈຸບັນພວກເຮົາຈະໃຫ້ເນື້ອໃນຕົ້ນຕໍຂອງການປ້ອນຂໍ້ມູນ. ຄໍາສໍາຄັນຕໍ່ໄປທັງຫມົດຈະຖືກຈັດເປັນກຸ່ມ
ສ່ວນ mpqc ຂອງການປ້ອນຂໍ້ມູນ (ນັ້ນແມ່ນ, ແຕ່ລະຄໍາຈະຖືກນໍາຫນ້າດ້ວຍ mpqc:).
mpqc: (
ຕໍ່ໄປພວກເຮົາໃຫ້ຄໍາສໍາຄັນ mole ທີ່ສະຫນອງການພິເສດຂອງ ພະລັງງານໂມເລກຸນ
ຫ້ອງຮຽນ. ໃນກໍລະນີນີ້ພວກເຮົາຈະເຮັດການຄິດໄລ່ Hartree-Fock ປິດ. ທີ່ເຮັດດ້ວຍ
ວັດຖຸຂອງປະເພດ CLHF. ຄໍາສໍາຄັນທີ່ CLHF ການຍອມຮັບແມ່ນໃຫ້ກັບເອກະສານ
ສໍາລັບ CLHF class, ປົກກະຕິແລ້ວໃນຄໍາອະທິບາຍຂອງ const RefKeyVal& constructor ສໍາລັບ
ຫ້ອງຮຽນ. ພ້ອມດ້ວຍ CLHF ເອກະສານແມ່ນບັນຊີລາຍຊື່ຂອງຫ້ອງຮຽນພໍ່ແມ່. ພໍ່ແມ່ແຕ່ລະຄົນ
ຫ້ອງຮຽນອາດມີການປ້ອນຂໍ້ມູນ. ວັດສະດຸປ້ອນນີ້ແມ່ນລວມກັບສ່ວນທີ່ເຫຼືອຂອງວັດສະດຸປ້ອນສໍາລັບ
ຫ້ອງຮຽນເດັກນ້ອຍ.
moleCLHF>: (
ແຖວຕໍ່ໄປລະບຸໂມເລກຸນທີ່ຈະໃຊ້. ມີສອງສິ່ງທີ່ຄວນສັງເກດ, ກ່ອນອື່ນ ໝົດ
ຕົວຈິງແລ້ວນີ້ແມ່ນການອ້າງອີງເຖິງຂໍ້ມູນສະເພາະຂອງໂມເລກຸນຢູ່ບ່ອນອື່ນໃນການປ້ອນຂໍ້ມູນ
ໄຟລ໌. $ ຊີ້ໃຫ້ເຫັນວ່ານີ້ແມ່ນການອ້າງອິງແລະຄໍາສໍາຄັນຕໍ່ໄປນີ້ແມ່ນ $ ແມ່ນ
ສະຖານທີ່ທີ່ແທ້ຈິງຂອງໂມເລກຸນ. The : ຢູ່ທາງຫນ້າຂອງຄໍາສໍາຄັນຫມາຍຄວາມວ່າຄໍາສໍາຄັນແມ່ນ
ບໍ່ກ່ຽວຂ້ອງກັບສະຖານທີ່ປະຈຸບັນໃນວັດສະດຸປ້ອນ, ແຕ່ແທນທີ່ຈະເປັນພີ່ນ້ອງກັບຮາກຂອງ
ຕົ້ນໄມ້ຂອງຄໍາຫລັກ. ດັ່ງນັ້ນ, ເສັ້ນນີ້ grabs ໂມເລກຸນທີ່ໄດ້ລະບຸໄວ້ຂ້າງເທິງ. ໄດ້
ວັດຖຸໂມເລກຸນສາມາດໄດ້ຮັບການວາງຢູ່ທີ່ນີ້, ແຕ່ເລື້ອຍໆມັນຈໍາເປັນຈໍານວນຫຼາຍ
ວັດຖຸອ້າງອີງເຖິງວັດຖຸດຽວກັນຄືກັນອ້ອຍຕ້ອຍແລະນີ້ສາມາດເຮັດໄດ້ພຽງແຕ່ການນໍາໃຊ້ການອ້າງອີງ.
ຈຸດທີສອງແມ່ນວ່າຖ້າທ່ານເບິ່ງເອກະສານສໍາລັບ CLHF, ທ່ານຈະເຫັນວ່າມັນ
ບໍ່ໄດ້ອ່ານຄໍາສໍາຄັນຂອງໂມເລກຸນ. ຢ່າງໃດກໍຕາມ, ຖ້າຫາກວ່າທ່ານປະຕິບັດຕາມຫ້ອງຮຽນພໍ່ແມ່ຂອງຕົນເຖິງ
ພະລັງງານໂມເລກຸນ, ເຈົ້າຈະພົບວ່າໂມເລກຸນຖືກອ່ານແທ້ໆ.
ໂມເລກຸນ = $:ໂມເລກຸນ
ດັ່ງທີ່ພວກເຮົາໄດ້ໃຫ້ໂມເລກຸນ, ໃຫ້ລະບຸພື້ນຖານທີ່ກໍານົດໄວ້ດ້ວຍຄໍາສໍາຄັນພື້ນຖານດັ່ງຕໍ່ໄປນີ້:
ພື້ນຖານ = $: ພື້ນຖານ
ໃນປັດຈຸບັນພວກເຮົາປິດວົງເລັບທີ່ພວກເຮົາເປີດຢູ່ຂ້າງເທິງແລະພວກເຮົາສໍາເລັດ.
)
)
ຕົວຢ່າງ ຈຸດປະສົງ - ແນວທາງ ການປ້ອນຂໍ້ມູນ ໄຟ
ວິທີທີ່ງ່າຍທີ່ສຸດທີ່ຈະເລີ່ມຕົ້ນດ້ວຍ mpqc ແມ່ນເພື່ອເລີ່ມຕົ້ນດ້ວຍຫນຶ່ງໃນຕົວຢ່າງທີ່ເຂົ້າມາຫຼາຍທີ່ສຸດ
ເກືອບກົງກັບບັນຫາຂອງເຈົ້າ. ຕົວຢ່າງທັງຫມົດທີ່ສະແດງໃຫ້ເຫັນຢູ່ທີ່ນີ້ສາມາດພົບເຫັນຢູ່ໃນ
ໄດເລກະທໍລີ src/bin/mpqc/samples.
Hartree-Fock ພະລັງງານ
ການປ້ອນຂໍ້ມູນຕໍ່ໄປນີ້ຈະຄິດໄລ່ພະລັງງານ Hartree-Fock ຂອງນ້ໍາ.
% emacs ຄວນໃຊ້ -*- ຄີວາລ -*- ໂໝດ
% ສະເພາະໂມເລກຸນ
ໂມເລກຸນໂມເລກຸນ>: (
symmetry = C2V
ໜ່ວຍ = angstrom
{ ເລຂາຄະນິດອະຕອມ } = {
O [ 0.00000000 0.00000000 0.37000000 ]
H [ 0.78000000 0.00000000 -0.18000000 ]
H [ -0.78000000 0.00000000 -0.18000000 ]
}
)
% ພື້ນຖານທີ່ກໍານົດໄວ້ສະເພາະ
ພື້ນຖານGaussianBasisSet>: (
ຊື່ = 'STO-3G'
ໂມເລກຸນ = $:ໂມເລກຸນ
)
mpqc: (
ດ່ານ = ບໍ່
savestate = ບໍ່
% ວິທີການຄິດໄລ່ພະລັງງານຂອງໂມເລກຸນ
moleCLHF>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ພື້ນຖານ = $: ພື້ນຖານ
ຄວາມຈຳ = 16000000
)
)
MP2 ພະລັງງານ
ວັດສະດຸປ້ອນຕໍ່ໄປນີ້ຈະຄຳນວນພະລັງງານ MP2 ຂອງນ້ຳ.
% emacs ຄວນໃຊ້ -*- ຄີວາລ -*- ໂໝດ
% ສະເພາະໂມເລກຸນ
ໂມເລກຸນໂມເລກຸນ>: (
symmetry = C2V
ໜ່ວຍ = angstrom
{ ເລຂາຄະນິດອະຕອມ } = {
O [ 0.00000000 0.00000000 0.37000000 ]
H [ 0.78000000 0.00000000 -0.18000000 ]
H [ -0.78000000 0.00000000 -0.18000000 ]
}
)
% ພື້ນຖານທີ່ກໍານົດໄວ້ສະເພາະ
ພື້ນຖານGaussianBasisSet>: (
ຊື່ = 'STO-3G'
ໂມເລກຸນ = $:ໂມເລກຸນ
)
mpqc: (
ດ່ານ = ບໍ່
savestate = ບໍ່
% ວິທີການຄິດໄລ່ພະລັງງານຂອງໂມເລກຸນ
moleMBPT2>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ພື້ນຖານ = $: ພື້ນຖານ
ຄວາມຈຳ = 16000000
% ການອ້າງອິງ wavefunction
ອ້າງອິງCLHF>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ພື້ນຖານ = $: ພື້ນຖານ
ຄວາມຈຳ = 16000000
)
)
)
Hartree-Fock ທີ່ດີທີ່ສຸດ
ການປ້ອນຂໍ້ມູນຕໍ່ໄປນີ້ຈະເພີ່ມປະສິດທິພາບເລຂາຄະນິດຂອງນ້ໍາໂດຍໃຊ້ວິທີ quasi-Newton.
% emacs ຄວນໃຊ້ -*- ຄີວາລ -*- ໂໝດ
% ສະເພາະໂມເລກຸນ
ໂມເລກຸນໂມເລກຸນ>: (
symmetry = C2V
ໜ່ວຍ = angstrom
{ ເລຂາຄະນິດອະຕອມ } = {
O [ 0.00000000 0.00000000 0.37000000 ]
H [ 0.78000000 0.00000000 -0.18000000 ]
H [ -0.78000000 0.00000000 -0.18000000 ]
}
)
% ພື້ນຖານທີ່ກໍານົດໄວ້ສະເພາະ
ພື້ນຖານGaussianBasisSet>: (
ຊື່ = '6-31G*'
ໂມເລກຸນ = $:ໂມເລກຸນ
)
mpqc: (
ດ່ານ = ບໍ່
savestate = ບໍ່
% ການປະສານງານໂມເລກຸນສໍາລັບການເພີ່ມປະສິດທິພາບ
ຮ່ວມມືSymmMolecularCoor>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ເຄື່ອງປັ່ນໄຟIntCoorGen>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
)
)
% ວິທີການຄິດໄລ່ພະລັງງານຂອງໂມເລກຸນ
moleCLHF>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ພື້ນຖານ = $: ພື້ນຖານ
coor = $..:coor
ຄວາມຈຳ = 16000000
)
% ວັດຖຸ optimizer ສໍາລັບເລຂາຄະນິດໂມເລກຸນ
ເລືອກQNewtonOpt>: (
function = $..:mole
ອັບເດດBFGSUpdate>: ()
ການໂຮມ : (
cartesian = ແມ່ນ
ພະລັງງານ = $..:..:mole
)
)
)
ທີ່ດີທີ່ສຸດ ກັບ a ຄຳ ນວນແລ້ວ Guess ເຮສຊຽນ
ການປ້ອນຂໍ້ມູນຕໍ່ໄປນີ້ຈະເພີ່ມປະສິດທິພາບເລຂາຄະນິດຂອງນ້ໍາໂດຍໃຊ້ວິທີ quasi-Newton. ໄດ້
ຄາດເດົາວ່າ Hessian ຈະຖືກຄິດໄລ່ໃນລະດັບຕ່ໍາຂອງທິດສະດີ.
% emacs ຄວນໃຊ້ -*- ຄີວາລ -*- ໂໝດ
% ສະເພາະໂມເລກຸນ
ໂມເລກຸນໂມເລກຸນ>: (
symmetry = C2V
ໜ່ວຍ = angstrom
{ ເລຂາຄະນິດອະຕອມ } = {
O [ 0.00000000 0.00000000 0.37000000 ]
H [ 0.78000000 0.00000000 -0.18000000 ]
H [ -0.78000000 0.00000000 -0.18000000 ]
}
)
% ພື້ນຖານທີ່ກໍານົດໄວ້ສະເພາະ
ພື້ນຖານGaussianBasisSet>: (
ຊື່ = '6-31G*'
ໂມເລກຸນ = $:ໂມເລກຸນ
)
mpqc: (
ດ່ານ = ບໍ່
savestate = ບໍ່
% ການປະສານງານໂມເລກຸນສໍາລັບການເພີ່ມປະສິດທິພາບ
ຮ່ວມມືSymmMolecularCoor>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ເຄື່ອງປັ່ນໄຟIntCoorGen>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
)
)
% ວິທີການຄິດໄລ່ພະລັງງານຂອງໂມເລກຸນ
moleCLHF>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ພື້ນຖານ = $: ພື້ນຖານ
coor = $..:coor
ຄວາມຈຳ = 16000000
guess_hessianFinDispMolecularHessian>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
only_totally_symmetric = ແມ່ນແລ້ວ
eliminate_cubic_terms = ບໍ່
ດ່ານ = ບໍ່
ພະລັງງານCLHF>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ຄວາມຈຳ = 16000000
ພື້ນຖານGaussianBasisSet>: (
ຊື່ = '3-21G'
ໂມເລກຸນ = $:ໂມເລກຸນ
)
)
)
)
% ວັດຖຸ optimizer ສໍາລັບເລຂາຄະນິດໂມເລກຸນ
ເລືອກQNewtonOpt>: (
function = $..:mole
ອັບເດດBFGSUpdate>: ()
ການໂຮມ : (
cartesian = ແມ່ນ
ພະລັງງານ = $..:..:mole
)
)
)
ທີ່ດີທີ່ສຸດ ການນໍາໃຊ້ ນິວຕັນ ວິທີການ
ການປ້ອນຂໍ້ມູນຕໍ່ໄປນີ້ຈະເພີ່ມປະສິດທິພາບເລຂາຄະນິດຂອງນ້ໍາໂດຍໃຊ້ວິທີການຂອງນິວຕັນ. ໄດ້
Hessian ຈະຖືກຄິດໄລ່ໃນແຕ່ລະຂັ້ນຕອນໃນການເພີ່ມປະສິດທິພາບ. ຢ່າງໃດກໍຕາມ, Hessian recomputation
ປົກກະຕິແລ້ວບໍ່ຄຸ້ມຄ່າ; ລອງໃຊ້ Hessian ທີ່ຄິດໄລ່ແລ້ວເປັນການຄາດເດົາ Hessian ສໍາລັບ a
ວິທີການ quasi-Newton ກ່ອນທີ່ຈະໃຊ້ການເພີ່ມປະສິດທິພາບ Newton.
% Emacs ຄວນໃຊ້ -*- ຄີວາລ -*- ໂໝດ
% ສະເພາະໂມເລກຸນ
ໂມເລກຸນໂມເລກຸນ>: (
symmetry = c2v
ໜ່ວຍ = angstrom
{ ເລຂາຄະນິດອະຕອມ } = {
O [ 0.00000000 0.00000000 0.36937294 ]
H [ 0.78397590 0.00000000 -0.18468647 ]
H [ -0.78397590 0.00000000 -0.18468647 ]
}
)
% ພື້ນຖານທີ່ກໍານົດໄວ້ສະເພາະ
ພື້ນຖານGaussianBasisSet>: (
ຊື່ = '3-21G'
ໂມເລກຸນ = $:ໂມເລກຸນ
)
mpqc: (
ດ່ານ = ບໍ່
savestate = ບໍ່
restart = ບໍ່
% ການປະສານງານໂມເລກຸນສໍາລັບການເພີ່ມປະສິດທິພາບ
ຮ່ວມມືSymmMolecularCoor>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ເຄື່ອງປັ່ນໄຟIntCoorGen>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
)
)
do_energy = ບໍ່
do_gradient = ບໍ່
% ວິທີການຄິດໄລ່ພະລັງງານຂອງໂມເລກຸນ
moleCLHF>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ພື້ນຖານ = $: ພື້ນຖານ
ຄວາມຈຳ = 16000000
coor = $..:coor
guess_wavefunctionCLHF>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
Total_charge = 0
ພື້ນຖານGaussianBasisSet>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ຊື່ = 'STO-3G'
)
ຄວາມຈຳ = 16000000
)
ເຮສຊຽນFinDispMolecularHessian>: (
only_totally_symmetric = ແມ່ນແລ້ວ
eliminate_cubic_terms = ບໍ່
ດ່ານ = ບໍ່
)
)
optimize = ແມ່ນ
% ວັດຖຸ optimizer ສໍາລັບເລຂາຄະນິດໂມເລກຸນ
ເລືອກ : (
print_hessian = ແມ່ນ
max_iterations = 20
function = $..:mole
ການໂຮມ : (
cartesian = ແມ່ນ
ພະລັງງານ = $..:..:mole
)
)
)
Hartree-Fock ຄວາມຖີ່
ການປ້ອນຂໍ້ມູນຕໍ່ໄປນີ້ຈະຄຳນວນຄວາມຖີ່ຂອງ Hartree-Fock ໂດຍການຍ້າຍທີ່ຈຳກັດ. ກ
ການວິເຄາະອຸນຫະພູມຈະໄດ້ຮັບການປະຕິບັດ. ຖ້າມີການປ້ອນຂໍ້ມູນການເພີ່ມປະສິດທິພາບໃຫ້,
ຫຼັງຈາກນັ້ນ, ການເພີ່ມປະສິດທິພາບຈະຖືກດໍາເນີນການທໍາອິດ, ຫຼັງຈາກນັ້ນຄວາມຖີ່.
% emacs ຄວນໃຊ້ -*- ຄີວາລ -*- ໂໝດ
% ສະເພາະໂມເລກຸນ
ໂມເລກຸນໂມເລກຸນ>: (
symmetry = C1
{ ເລຂາຄະນິດອະຕອມ } = {
O [ 0.0000000000 0.0000000000 0.8072934188 ]
H [ 1.4325589285 0.0000000000 -0.3941980761 ]
H [ -1.4325589285 0.0000000000 -0.3941980761 ]
}
)
% ພື້ນຖານທີ່ກໍານົດໄວ້ສະເພາະ
ພື້ນຖານGaussianBasisSet>: (
ຊື່ = 'STO-3G'
ໂມເລກຸນ = $:ໂມເລກຸນ
)
mpqc: (
ດ່ານ = ບໍ່
savestate = ບໍ່
% ວິທີການຄິດໄລ່ພະລັງງານຂອງໂມເລກຸນ
moleCLHF>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ພື້ນຖານ = $: ພື້ນຖານ
ຄວາມຈຳ = 16000000
)
% ການປ້ອນຂໍ້ມູນຄວາມຖີ່ຂອງການສັ່ນສະເທືອນ
ຄວາມຖີ່MolecularFrequencies>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
)
)
ໃຫ້ Coordinates ແລະ a Guess ເຮສຊຽນ
ຕົວຢ່າງຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນລັກສະນະຫຼາຍຢ່າງທີ່ເປັນເອກະລາດແທ້ໆ. ຕົວແປ
ພິກັດແມ່ນໃຫ້ຢ່າງຊັດເຈນ, ແທນທີ່ຈະສ້າງອັດຕະໂນມັດ. ນີ້ແມ່ນໂດຍສະເພາະແມ່ນ
ເປັນປະໂຫຍດໃນເວລາທີ່ການຄາດເດົາ Hessian ຈະຖືກສະຫນອງໃຫ້, ຍ້ອນວ່າມັນຢູ່ທີ່ນີ້. Hessian ນີ້, ຕາມທີ່ໃຫ້ໂດຍ
ຜູ້ໃຊ້, ບໍ່ແມ່ນສໍາເລັດສົມບູນແລະ QNewtonOpt ວັດຖຸຈະຕື່ມຂໍ້ມູນໃສ່ໃນມູນຄ່າທີ່ຂາດຫາຍໄປໂດຍໃຊ້
ການຄາດເດົາຂອງ Hessian ສະຫນອງໃຫ້ໂດຍ ພະລັງງານໂມເລກຸນ ວັດຖຸ. ນອກຈາກນີ້, ການປະສານງານຄົງແມ່ນ
ລະບຸໄວ້ໃນຕົວຢ່າງນີ້.
% emacs ຄວນໃຊ້ -*- ຄີວາລ -*- ໂໝດ
% ສະເພາະໂມເລກຸນ
ໂມເລກຸນໂມເລກຸນ>: (
symmetry = C1
{ ເລຂາຄະນິດອະຕອມ } = {
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 ]
}
)
% ພື້ນຖານທີ່ກໍານົດໄວ້ສະເພາະ
ພື້ນຖານGaussianBasisSet>: (
ຊື່ = 'STO-3G'
ໂມເລກຸນ = $:ໂມເລກຸນ
)
mpqc: (
ດ່ານ = ບໍ່
savestate = ບໍ່
% ວິທີການຄິດໄລ່ພະລັງງານຂອງໂມເລກຸນ
moleCLHF>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ພື້ນຖານ = $: ພື້ນຖານ
coor = $..:coor
ຄວາມຈຳ = 16000000
)
% ການປະສານງານໂມເລກຸນສໍາລັບການເພີ່ມປະສິດທິພາບ
ຮ່ວມມືSymmMolecularCoor>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ເຄື່ອງປັ່ນໄຟIntCoorGen>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
extra_bonds = [ 2 5 ]
)
% ໃຊ້ສິ່ງເຫຼົ່ານີ້ແທນການປະສານງານທີ່ສ້າງຂຶ້ນ
ຕົວແປSetIntCoor>: [
<StreSimpleCo>:( ອະຕອມ = [ 2 5 ] )
<BendSimpleCo>:( ອະຕອມ = [ 2 5 4 ] )
: ( ອະຕອມ = [ 5 2 1 3 ] )
<sumIntCoor>: (
ຮ່ວມ: [
<StreSimpleCo>:( ອະຕອມ = [ 1 2 ] )
<StreSimpleCo>:( ອະຕອມ = [ 2 3 ] )
]
coef = [ 1.0 1.0 ]
)
<sumIntCoor>: (
ຮ່ວມ: [
<StreSimpleCo>:( ອະຕອມ = [ 4 5 ] )
<StreSimpleCo>:( ອະຕອມ = [ 4 6 ] )
]
coef = [ 1.0 1.0 ]
)
<BendSimpleCo>:( ອະຕອມ = [ 1 2 3 ] )
<BendSimpleCo>:( ອະຕອມ = [ 5 4 6 ] )
]
% ເຫຼົ່ານີ້ແມ່ນໄດ້ຮັບການສ້ອມແປງໂດຍ symmetry ແນວໃດກໍຕາມ,
ຄົງທີ່SetIntCoor>: [
<sumIntCoor>: (
ຮ່ວມ: [
<StreSimpleCo>:( ອະຕອມ = [ 1 2 ] )
<StreSimpleCo>:( ອະຕອມ = [ 2 3 ] )
]
coef = [ 1.0 - 1.0 ]
)
<sumIntCoor>: (
ຮ່ວມ: [
<StreSimpleCo>:( ອະຕອມ = [ 4 5 ] )
<StreSimpleCo>:( ອະຕອມ = [ 4 6 ] )
]
coef = [ 1.0 - 1.0 ]
)
<TorsSimpleCo>:( ອະຕອມ = [ 2 5 4 6 ] )
:( ອະຕອມ = [ 3 2 6 4 ] )
:( ອະຕອມ = [ 1 2 6 4 ] )
]
)
% ວັດຖຸ optimizer ສໍາລັບເລຂາຄະນິດໂມເລກຸນ
ເລືອກQNewtonOpt>: (
function = $..:mole
ອັບເດດBFGSUpdate>: ()
ການໂຮມ : (
cartesian = ແມ່ນ
ພະລັງງານ = $..:..:mole
)
% ໃຫ້ການຄາດເດົາບາງສ່ວນໃນພິກັດພາຍໃນ
% ອົງປະກອບທີ່ຂາດຫາຍໄປຈະຖືກຕື່ມໃສ່ໂດຍອັດຕະໂນມັດ
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]
]
)
)
ທີ່ດີທີ່ສຸດ ກັບ a ໄຮໂດເຈນ ພັນທະບັດ
ເຄື່ອງກໍາເນີດປະສານງານພາຍໃນອັດຕະໂນມັດຈະລົ້ມເຫລວຖ້າຫາກວ່າມັນບໍ່ສາມາດຊອກຫາຊ້ໍາຊ້ອນພຽງພໍ
ປະສານງານພາຍໃນ. ໃນກໍລະນີນີ້, ເຄື່ອງກໍາເນີດປະສານງານພາຍໃນຕ້ອງມີຄວາມຊັດເຈນ
ສ້າງຢູ່ໃນວັດສະດຸປ້ອນແລະໃຫ້ຂໍ້ມູນການເຊື່ອມຕໍ່ພິເສດ, ດັ່ງທີ່ສະແດງຢູ່ຂ້າງລຸ່ມນີ້.
% emacs ຄວນໃຊ້ -*- ຄີວາລ -*- ໂໝດ
% ສະເພາະໂມເລກຸນ
ໂມເລກຸນໂມເລກຸນ>: (
symmetry = C1
{ ເລຂາຄະນິດອະຕອມ } = {
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 ]
}
)
% ພື້ນຖານທີ່ກໍານົດໄວ້ສະເພາະ
ພື້ນຖານGaussianBasisSet>: (
ຊື່ = 'STO-3G'
ໂມເລກຸນ = $:ໂມເລກຸນ
)
mpqc: (
ດ່ານ = ບໍ່
savestate = ບໍ່
% ວິທີການຄິດໄລ່ພະລັງງານຂອງໂມເລກຸນ
moleCLHF>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ພື້ນຖານ = $: ພື້ນຖານ
coor = $..:coor
ຄວາມຈຳ = 16000000
)
% ການປະສານງານໂມເລກຸນສໍາລັບການເພີ່ມປະສິດທິພາບ
ຮ່ວມມືSymmMolecularCoor>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
% ໃຫ້ເຄື່ອງກໍາເນີດປະສານງານພາຍໃນທີ່ຮູ້ກ່ຽວກັບການ
% ພັນທະບັດໄຮໂດເຈນລະຫວ່າງອະຕອມ 2 ແລະ 5
ເຄື່ອງປັ່ນໄຟIntCoorGen>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
extra_bonds = [ 2 5 ]
)
)
% ວັດຖຸ optimizer ສໍາລັບເລຂາຄະນິດໂມເລກຸນ
ເລືອກQNewtonOpt>: (
function = $..:mole
ອັບເດດBFGSUpdate>: ()
ການໂຮມ : (
cartesian = ແມ່ນ
ພະລັງງານ = $..:..:mole
)
)
)
Fixed ປະສານງານ ທີ່ດີທີ່ສຸດ
ຕົວຢ່າງນີ້ສະແດງໃຫ້ເຫັນວິທີການເລືອກການແກ້ໄຂປະສານງານພາຍໃນໃນການເພີ່ມປະສິດທິພາບ. ໃດ
ຈໍານວນຂອງຈຸດປະສານງານເອກະລາດ linearly ສາມາດໃຫ້. ຈຸດປະສານງານເຫຼົ່ານີ້ຕ້ອງຍັງຄົງຢູ່
linearly ເປັນເອກະລາດຕະຫຼອດການເພີ່ມປະສິດທິພາບ, ເງື່ອນໄຂທີ່ອາດຈະບໍ່ຖືນັບຕັ້ງແຕ່
ພິກັດສາມາດເປັນ nonlinear.
ໂດຍຄ່າເລີ່ມຕົ້ນ, ຄ່າຂອງພິກັດຄົງທີ່ເບື້ອງຕົ້ນແມ່ນເອົາມາຈາກເລຂາຄະນິດ cartesian
ໄດ້ຮັບໂດຍ ໂມເລກຸນ ວັດຖຸ; ແນວໃດກໍ່ຕາມ, ໂມເລກຸນຈະຖືກຍ້າຍໄປຢູ່ພາຍໃນ
ຄ່າປະສານງານທີ່ໃຫ້ກັບຈຸດປະສານງານພາຍໃນຄົງທີ່ຖ້າມີຄໍາສໍາຄັນ have_fixed_values
ຖືກຕັ້ງເປັນຖືກຕ້ອງ, ດັ່ງທີ່ສະແດງຢູ່ໃນຕົວຢ່າງນີ້. ໃນກໍລະນີນີ້, ເລຂາຄະນິດ Cartesian ເບື້ອງຕົ້ນ
ຄວນມີເຫດຜົນໃກ້ຄຽງກັບເລຂາຄະນິດເບື້ອງຕົ້ນທີ່ຕ້ອງການ ແລະຕົວແປທັງໝົດ
ພິກັດຈະຖືກແຊ່ແຂງໃຫ້ກັບຄ່າເດີມຂອງພວກມັນໃນລະຫວ່າງການເຄື່ອນຍ້າຍເບື້ອງຕົ້ນ.
% emacs ຄວນໃຊ້ -*- ຄີວາລ -*- ໂໝດ
% ສະເພາະໂມເລກຸນ
ໂມເລກຸນໂມເລກຸນ>: (
symmetry = CS
{ ເລຂາຄະນິດອະຕອມ } = {
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 ]
}
)
% ພື້ນຖານທີ່ກໍານົດໄວ້ສະເພາະ
ພື້ນຖານGaussianBasisSet>: (
ຊື່ = '4-31G*'
ໂມເລກຸນ = $:ໂມເລກຸນ
)
mpqc: (
ດ່ານ = ບໍ່
savestate = ບໍ່
% ການປະສານງານໂມເລກຸນສໍາລັບການເພີ່ມປະສິດທິພາບ
ຮ່ວມມືSymmMolecularCoor>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ເຄື່ອງປັ່ນໄຟIntCoorGen>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
)
have_fixed_values = ແມ່ນແລ້ວ
ຄົງທີ່SetIntCoor>: [
:( ຄ່າ = -0.1
label = 'N-inversion'
ອະຕອມ = [4 3 2 1])
]
)
% ວິທີການຄິດໄລ່ພະລັງງານຂອງໂມເລກຸນ
moleCLHF>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ພື້ນຖານ = $: ພື້ນຖານ
coor = $..:coor
ຄວາມຈຳ = 16000000
)
% ວັດຖຸ optimizer ສໍາລັບເລຂາຄະນິດໂມເລກຸນ
ເລືອກQNewtonOpt>: (
max_iterations = 20
function = $..:mole
ອັບເດດBFGSUpdate>: ()
ການໂຮມ : (
cartesian = ແມ່ນ
ພະລັງງານ = $..:..:mole
)
)
)
ການປ່ຽນແປງ State ທີ່ດີທີ່ສຸດ
ຕົວຢ່າງນີ້ສະແດງໃຫ້ເຫັນການເພີ່ມປະສິດທິພາບຂອງສະຖານະການປ່ຽນແປງຂອງ N-inversion ໃນໂຫມດການນໍາໃຊ້
ຕິດຕາມ. ເລຂາຄະນິດເບື້ອງຕົ້ນໄດ້ຮັບໂດຍການເຮັດການເພີ່ມປະສິດທິພາບການປະສານງານຄົງທີ່ຈໍານວນຫນ້ອຍ
ຕາມການປະສານງານ inversion.
% emacs ຄວນໃຊ້ -*- ຄີວາລ -*- ໂໝດ
% ສະເພາະໂມເລກຸນ
ໂມເລກຸນໂມເລກຸນ>: (
symmetry = CS
{ ເລຂາຄະນິດອະຕອມ } = {
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 ]
}
)
% ພື້ນຖານທີ່ກໍານົດໄວ້ສະເພາະ
ພື້ນຖານGaussianBasisSet>: (
ຊື່ = '4-31G*'
ໂມເລກຸນ = $:ໂມເລກຸນ
)
mpqc: (
ດ່ານ = ບໍ່
savestate = ບໍ່
% ການປະສານງານໂມເລກຸນສໍາລັບການເພີ່ມປະສິດທິພາບ
ຮ່ວມມືSymmMolecularCoor>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ເຄື່ອງປັ່ນໄຟIntCoorGen>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
)
ຕິດຕາມ = [ 'N-inversion' 4 3 2 1 ]
)
% ວິທີການຄິດໄລ່ພະລັງງານຂອງໂມເລກຸນ
moleCLHF>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ພື້ນຖານ = $: ພື້ນຖານ
coor = $..:coor
ຄວາມຈຳ = 16000000
)
% ວັດຖຸ optimizer ສໍາລັບເລຂາຄະນິດໂມເລກຸນ
ເລືອກEFCOpt>: (
transition_state = ແມ່ນແລ້ວ
mode_following = ແມ່ນແລ້ວ
max_iterations = 20
function = $..:mole
ອັບເດດPowellUpdate>: ()
ການໂຮມ : (
cartesian = ແມ່ນ
ພະລັງງານ = $..:..:mole
)
)
)
ການປ່ຽນແປງ State ທີ່ດີທີ່ສຸດ ກັບ a ຄຳ ນວນແລ້ວ Guess ເຮສຊຽນ
ຕົວຢ່າງນີ້ສະແດງໃຫ້ເຫັນການເພີ່ມປະສິດທິພາບຂອງສະຖານະການປ່ຽນແປງຂອງ N-inversion ໃນໂຫມດການນໍາໃຊ້
ຕິດຕາມ. ເລຂາຄະນິດເບື້ອງຕົ້ນໄດ້ຮັບໂດຍການເຮັດການເພີ່ມປະສິດທິພາບການປະສານງານຄົງທີ່ຈໍານວນຫນ້ອຍ
ຕາມການປະສານງານ inversion. ການຄາດເດົາໂດຍປະມານ Hessian ຈະຖືກຄິດໄລ່, ເຊິ່ງເຮັດໃຫ້
ການເພີ່ມປະສິດທິພາບ converge ຫຼາຍໄວໃນກໍລະນີນີ້.
% emacs ຄວນໃຊ້ -*- ຄີວາລ -*- ໂໝດ
% ສະເພາະໂມເລກຸນ
ໂມເລກຸນໂມເລກຸນ>: (
symmetry = CS
{ ເລຂາຄະນິດອະຕອມ } = {
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 ]
}
)
% ພື້ນຖານທີ່ກໍານົດໄວ້ສະເພາະ
ພື້ນຖານGaussianBasisSet>: (
ຊື່ = '4-31G*'
ໂມເລກຸນ = $:ໂມເລກຸນ
)
mpqc: (
ດ່ານ = ບໍ່
savestate = ບໍ່
% ການປະສານງານໂມເລກຸນສໍາລັບການເພີ່ມປະສິດທິພາບ
ຮ່ວມມືSymmMolecularCoor>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ເຄື່ອງປັ່ນໄຟIntCoorGen>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
)
ຕິດຕາມ = [ 'N-inversion' 4 3 2 1 ]
)
% ວິທີການຄິດໄລ່ພະລັງງານຂອງໂມເລກຸນ
moleCLHF>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ພື້ນຖານ = $: ພື້ນຖານ
coor = $..:coor
ຄວາມຈຳ = 16000000
guess_hessianFinDispMolecularHessian>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
only_totally_symmetric = ແມ່ນແລ້ວ
eliminate_cubic_terms = ບໍ່
ດ່ານ = ບໍ່
ພະລັງງານCLHF>: (
ໂມເລກຸນ = $:ໂມເລກຸນ
ຄວາມຈຳ = 16000000
ພື້ນຖານGaussianBasisSet>: (
ຊື່ = '3-21G'
ໂມເລກຸນ = $:ໂມເລກຸນ
)
)
)
)
% ວັດຖຸ optimizer ສໍາລັບເລຂາຄະນິດໂມເລກຸນ
ເລືອກEFCOpt>: (
transition_state = ແມ່ນແລ້ວ
mode_following = ແມ່ນແລ້ວ
max_iterations = 20
function = $..:mole
ອັບເດດPowellUpdate>: ()
ການໂຮມ : (
cartesian = ແມ່ນ
ພະລັງງານ = $..:..:mole
)
)
)
ໃຊ້ mpqc ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net