שְׁאֵלָה:
מחשוב אינטגרלים של שני אלקטרונים עם סט בסיס STO-3G
user23061
2015-11-19 03:45:22 UTC
view on stackexchange narkive permalink

אני מנסה ליישם חישוב מוגבל של Hartree-Fock באמצעות מערך בסיס STO-3G, בכיף. הצלחתי לבצע את החישוב הזה רק כאשר קיימים מסלולים $ \ mathrm {1s} $ ($ \ ce {H2} $ ו- $ \ ce {HeH +} $) כמוסבר בספרם של זאבו ואוסטלונד. בספר זה מחברים נותנים נוסחאות מפורשות לאינטגרלים חופפים, קינטיים, גרעיניים-אלקטרונים ואלקטרונים-אלקטרונים עבור מסלולי $ \ mathrm {1s} $ והם פועלים כראוי.

על מנת להכליל את החישוב שלי ל מערכות המכילות $ \ mathrm {2s} $ ו- $ \ mathrm {2p} $ אורביטלים (עבור $ \ ce {H2O} $ ו- $ \ ce {N2} $), השתמשתי בנוסחאות הכלליות שמצאתי בספר של קוק לאלקטרון -אינטגרלים גרעיניים ואלקטרונים-אלקטרונים. במקרה זה, אני משיג תוצאות שונות מעט מספרו של Szabo:

$$ E_ \ text {tot} (\ ce {H2O}) = -74.4442002765 \ text {au} $$

במקום

$$ E_ \ text {tot} ^ \ text {Szabo} (\ ce {H2O}) = -74.963 \ text {au} $$

ברור שזה בעייתי מכיוון שאנרגיות מסלוליות סובלות מאותה שגיאה וזה מוביל לפוטנציאל יינון שגוי (0.49289045 au במקום 0.391 au, הבדל של כ 63 kcal $ \ cdot $ mol $ ^ {- 1} $).

מכיוון שבדקתי את הקוד שלי מספר פעמים וכתבתי את קוד חישוב שני האלקטרונים מאפס פעמיים, תהיתי אם יש שגיאת הקלדה בספרו של קוק. האם יש התייחסות טובה שבה אוכל למצוא את הנוסחה (הנכונה) לחישוב אינטגרלים דו-אלקטרוניים של פונקציות גאוסיות (בקואורדינטות קרטזיות) עם מומנטה זוויתית שרירותית? כרגע אני לא מחפש אלגוריתם יעיל (רקורסיבי) לביצוע משימה זו, אני זקוק רק לנוסחה מדויקת כמו זו המוצעת בספרו של קוק.

מקורות:

[1] Szabo and Ostlund, Modern Quantum Chemistry, Dover, 1989.

[2] קוק, מדריך לכימיה חישובית, הוצאת אוניברסיטת אוקספורד, 1998.

אתה יכול לשים את הקוד שלך ב- github? קשה לענות על השאלה בלי לראות את הנוסחאות שלך. התוצאה שלך יכולה להיות בגלל שגיאה בנקודה צפה ... מצאתי את זה בעת שכפול החישובים של מדענים אחרים.
@user1945827 חשבתי על אותו הדבר, אך חישובים רבים (ראה תשובתו של ג'וף) נותנים ערך של -74.96 (...). הקוד שלי כבר נמצא ב- GitHub (https://github.com/RMeli/Hartree-Fock) אבל לא נתתי את הקישור כי לא רציתי יותר מדי עזרה! ;) המחשוב השגרתי של האינטגרלים הוא ה- ELECTRONIC ב- INTEGRALS.PY (התוכנית נמצאת בפייתון מכיוון שאני יכול לקודד במהירות, אבל אני אעביר אותה ל- fortran כשהיא עובדת בסדר).
שקול https://scholar.google.ru/scholar?q=computing+gaussian+function+integrals&btnG=&hl=iw&as_sdt=0%2C5
@permeakra ביליתי זמן רב בשימוש בגוגל וב- Google Scholar. עם זאת, תוצאות של Google Scholar עוסקות בדרך כלל באלגוריתמים יעילים מאוד לחישוב אינטגרלים דו-אלקטרוניים. מה שהייתי רוצה ליישם בהתחלה הוא נוסחה מדויקת (כמו זו המוצעת בספרו של קוק או בספרו של סאבו למסלולי 1s).
@R.M. מאמר זה נמצא בעמוד הראשון של הקישור של המלומד של גוגל מלמעלה .... אני לא יודע, נראה בחשדנות כמו מה שאתה רוצה. http://rspa.royalsocietypublishing.org/content/royprsa/258/1294/412.full.pdf
שְׁלוֹשָׁה תשובות:
g.smith
2015-11-26 03:42:49 UTC
view on stackexchange narkive permalink

למעשה יש טעות בביטוי האנטלי בספרו של קוק. בדף האינטרנט שלו יש לו קובץ PDF עם האימות המתוקן

http://spider.shef.ac.uk/

אולי זה פותר את הבעיה שלך אבל הייתי ממליץ גם ליישם את תוכנית אובארה-סייקה או את rys-Quadrature מכיוון שהם באמת הרבה יותר יעילים. אם אתה מתכנת בפייתון, ייתכן שתסתכל על פרויקט PyQuante, שמיישם את כל הדברים האלה. בקשר לאובארה-סייקה תוכלו לקרוא גם על תוכנית ראש-גורדון פופל. בעיקרון מדובר בגרסה מותאמת של אובארה-סייקה שמפחיתה את ספירת ה- FLOP.

זה לפתור את הבעיה שלי !!! תודה!!! אני בהחלט אסתכל על אובארה-סייקה או על תוכניות יעילות אחרות, אך לפי שעה המטרה היא להטמיע BO-MD ולא לקבל קוד יעיל! ; )
Eric Brown
2015-11-25 04:57:38 UTC
view on stackexchange narkive permalink

העצה שלי היא ליישם את נוסחאות ההישנות של אובארה-סייקה המתוארות ב"תורת המבנה האלקטרוני-מולקולרי "מאת הלגקר, et al. הייתי מקפיד על פונקציות קרטזיות, מכיוון שא) הן קלות יותר ובכל מקרה הרמוניות כדוריות לא משנה למולקולות.

עשיתי זאת לפני שנים (במתמטיקה) כשהייתי במקום דומה - לאחר שסיימתי את סזאבו ואוסטלונד ורציתי בקוד "מומנטום זוויתי" שרירותי.

הספר יעלה לך הון קטן, אבל אם אתה יכול לשאול אותו באמצעות הלוואה בינלאומית, זה טקסט פנומנלי.

אני בהחלט אסתכל בספר הזה, תודה!
למרבה הצער ההצעות שלך לתפקוד בנים אינן פותרות בעיה זו (כפי שקיוויתי). השגיאה צריכה להיות ישירות בחישוב אינטגרלים דו-אלקטרוניים. אני אסתכל על הישנות אוברה-סייג'ה.
בדוק נורמליזציות של פונקציות הבסיס שלך
מדוע אתה חושד בנורמליזציה?
האם Sij העריך ל -1?
כן, Sii = 1 (אני מדפיס 5 ספרות עשרוניות)
Geoff Hutchison
2015-11-19 05:09:45 UTC
view on stackexchange narkive permalink

ההצעה שלי תהיה להשתמש בקוד קיים אחר ולהפעיל את החישוב.

לדוגמה, אם אני מבצע חישוב HF / STO-3G במחיר $ \ ce {H2O} $, אני מקבל:

$$E_\mathrm{H_2O}=-74.9659011\:\mathrm{au}$$

אין לי ספר של קוק ביד, אז אני לא יכול לחפש את השגיאה, אך הייתי חושד בשגיאה כלשהי כמוך.

זה יעזור אם אכתוב במפורש את הנוסחאות של קוק? כבר בדקתי באינטרנט אם קיימות תוצאות אחרות של HF / STO-3G וכולן מתחילות ב- -74.96 (...) א.ו., זו הסיבה שאני מודאג.
@R.M. רק בגלל שטכניקות מודרניות יותר יעילות לא אומר שהם לא מדויקים. אל תהסס לפרסם את הנוסחאות, אבל הייתי מתאים שיטה אחרת.
@Goeff אני יודע שיש טכניקות טובות מאוד (ויעילות), אבל זה יהיה השלב הבא בפרויקט שלי. בהתחלה אני רק רוצה לקודד את האלגוריתם הפשוט ביותר האפשרי, גם אם הוא לא יעיל. הפיתרון האנליטי של קוק מרמז רק על סדרת לולאות, שקל מאוד ויישום ליישום (בנוסף, כך יישמתי את האינטגרלים האחרים). עם זאת, אם לא אמצא פיתרון אנליטי במהירות, בוודאי אקדיש זמן ליישום טכניקה קשה יותר.


שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 3.0 עליו הוא מופץ.
Loading...