पिघलता है और तरल पदार्थ प्राकृतिक प्रणालियों में बड़े पैमाने पर परिवहन के सर्वव्यापी वैक्टर हैं। हमने ऐसी प्रणालियों के एब इनिशियो आणविक-गतिशीलता सिमुलेशन का विश्लेषण करने के लिए एक ओपन-सोर्स पैकेज विकसित किया है। हम संरचनात्मक (बंधन, क्लस्टराइजेशन, रासायनिक विलक्षणता), परिवहन (प्रसार, चिपचिपाहट) और थर्मोडायनामिक गुणों (कंपन स्पेक्ट्रम) की गणना करते हैं।
हमने तरल पदार्थों के एब इनिशियो आणविक-गतिशीलता सिमुलेशन से उत्पन्न परिणामों का विश्लेषण करने के लिए एक पायथन-आधारित ओपन-सोर्स पैकेज विकसित किया है। पैकेज प्राकृतिक प्रणालियों पर अनुप्रयोगों के लिए सबसे उपयुक्त है, जैसे सिलिकेट और ऑक्साइड पिघलता है, पानी आधारित तरल पदार्थ, और विभिन्न सुपरक्रिटिकल तरल पदार्थ। पैकेज पायथन स्क्रिप्ट का एक संग्रह है जिसमें फ़ाइल प्रारूपों और क्रिस्टलोग्राफी के साथ काम करने वाले दो प्रमुख पुस्तकालय शामिल हैं। सभी स्क्रिप्ट कमांड लाइन पर चलाए जाते हैं। हम सिमुलेशन के परमाणु प्रक्षेपवक्र और प्रासंगिक थर्मोडायनामिक जानकारी को संग्रहीत करने के लिए एक सरलीकृत प्रारूप का प्रस्ताव करते हैं, जो यूएमडी फ़ाइलों में सहेजा जाता है, जो यूनिवर्सल आणविक गतिशीलता के लिए खड़ा है। UMD पैकेज संरचनात्मक, परिवहन और थर्मोडायनामिक गुणों की एक श्रृंखला की गणना की अनुमति देता है। युग्म-वितरण फ़ंक्शन के साथ शुरू करके यह बांड की लंबाई को परिभाषित करता है, एक अंतर-परमाणु कनेक्टिविटी मैट्रिक्स बनाता है, और अंततः रासायनिक प्रजाति को निर्धारित करता है। रासायनिक प्रजातियों के जीवनकाल का निर्धारण एक पूर्ण सांख्यिकीय विश्लेषण चलाने की अनुमति देता है। फिर समर्पित लिपियों परमाणुओं के साथ-साथ रासायनिक प्रजातियों के लिए माध्य-वर्ग विस्थापन की गणना करते हैं। परमाणु वेगों के कार्यान्वित स्व-सहसंबंध विश्लेषण से प्रसार गुणांक और कंपन स्पेक्ट्रम प्राप्त होता है। तनाव पर लागू एक ही विश्लेषण चिपचिपाहट उपज. पैकेज GitHub वेबसाइट के माध्यम से और मुक्त पहुँच पैकेज के रूप में ERC IMPACT परियोजना के अपने स्वयं के समर्पित पृष्ठ के माध्यम से उपलब्ध है।
तरल पदार्थ और पिघलना प्राकृतिक वातावरण में सक्रिय रासायनिक और भौतिक परिवहन वैक्टर हैं। परमाणु प्रसार की ऊंची दरें रासायनिक आदान-प्रदान और प्रतिक्रियाओं का पक्ष लेती हैं, कम चिपचिपाहट अलग-अलग उछाल के साथ मिलकर बड़े पैमाने पर स्थानांतरण का पक्ष लेती है, और क्रिस्टल-पिघल घनत्व संबंध ग्रहों के निकायों के अंदर लेयरिंग के पक्ष में हैं। एक आवधिक जाली की अनुपस्थिति, पिघली हुई स्थिति तक पहुंचने के लिए आवश्यक विशिष्ट उच्च तापमान, और शमन के लिए कठिनाई स्पष्ट गुणों की एक श्रृंखला के प्रयोगात्मक निर्धारण को बनाती है, जैसे घनत्व, प्रसार और चिपचिपाहट, बेहद चुनौतीपूर्ण। ये कठिनाइयां वैकल्पिक कम्प्यूटेशनल विधियों को सामग्री के इस वर्ग की जांच के लिए मजबूत और उपयोगी उपकरण बनाती हैं।
कंप्यूटिंग शक्ति के आगमन और सुपर कंप्यूटर की उपलब्धता के साथ, दो प्रमुख संख्यात्मक परमाणु सिमुलेशन तकनीकों को वर्तमान में एक गैर-क्रिस्टलीय परमाणुवादी प्रणाली, मोंटे कार्लो 1 और आणविक गतिशीलता (एमडी) 1,2 की गतिशील स्थिति का अध्ययन करने के लिए नियोजित किया जाता है। मोंटे कार्लो सिमुलेशन में कॉन्फ़िगरेशनल स्पेस को बेतरतीब ढंग से नमूना दिया जाता है; मोंटे कार्लो विधियां समानांतरीकरण में रैखिक स्केलिंग दिखाती हैं यदि सभी नमूना अवलोकन एक-दूसरे से स्वतंत्र हैं। परिणामों की गुणवत्ता यादृच्छिक संख्या जनरेटर की गुणवत्ता और नमूने की प्रतिनिधिता पर निर्भर करती है। मोंटे कार्लो विधियां समानांतरीकरण में रैखिक स्केलिंग दिखाती हैं यदि नमूनाकरण एक दूसरे से स्वतंत्र है। आणविक गतिशीलता (एमडी) में विन्यास स्थान का नमूना समय-निर्भर परमाणु प्रक्षेपवक्रों द्वारा लिया जाता है। किसी दिए गए कॉन्फ़िगरेशन से शुरू करते हुए, परमाणु प्रक्षेपवक्रों की गणना गति के न्यूटोनियन समीकरणों को एकीकृत करके की जाती है। अंतर-परमाणु बलों की गणना मॉडल इंटरएटोमिक पोटेंशियल (शास्त्रीय एमडी में) का उपयोग करके या प्रथम-सिद्धांतों के तरीकों (एब इनिशियो, या प्रथम-सिद्धांतों, एमडी) का उपयोग करके की जा सकती है। परिणामों की गुणवत्ता प्रक्षेपवक्र की लंबाई और स्थानीय मिनीमा के लिए आकर्षित नहीं होने की इसकी क्षमता पर निर्भर करती है।
आणविक गतिशीलता सिमुलेशन में जानकारी की अधिकता होती है, जो सभी सिस्टम के गतिशील व्यवहार से संबंधित होती है। थर्मोडायनामिक औसत गुण, जैसे आंतरिक ऊर्जा, तापमान और दबाव, गणना करने के लिए बल्कि मानक हैं। उन्हें सिमुलेशन के आउटपुट फ़ाइल (ओं) से निकाला जा सकता है और औसत किया जा सकता है, जबकि परमाणुओं के आंदोलन के साथ-साथ उनके पारस्परिक संबंध से सीधे संबंधित मात्राओं को परमाणु पदों और वेगों के निष्कर्षण के बाद गणना करने की आवश्यकता होती है।
नतीजतन, परिणामों को विज़ुअलाइज़ करने के लिए बहुत सारे प्रयास किए गए हैं, और विभिन्न पैकेज आज विभिन्न प्लेटफार्मों पर उपलब्ध हैं, खुले स्रोत या नहीं [ओविटो 3, वीएमडी 4, वेस्टा 5, ट्रैविस 6, आदि]। ये सभी विज़ुअलाइज़ेशन टूल इंटरएटोमिक दूरी के साथ कुशलतासे सौदा करते हैं, और इस तरह, वे जोड़ी वितरण कार्यों और प्रसार गुणांक की कुशल गणना की अनुमति देते हैं। बड़े पैमाने पर आणविक गतिशीलता सिमुलेशन करने वाले विभिन्न समूहों के पास सिमुलेशन के परिणामस्वरूप विभिन्न अन्य गुणों का विश्लेषण करने के लिए मालिकाना सॉफ्टवेयर होता है, कभी-कभी शेयरवेयर या समुदाय तक सीमित पहुंच के अन्य रूपों में, और कभी-कभी दायरे में सीमित होता है और कुछ विशिष्ट पैकेजों के लिए उपयोग किया जाता है। अंतर-परमाणु बंधन, ज्यामितीय पैटर्न और थर्मोडायनामिक्स के बारे में जानकारी निकालने के लिए परिष्कृत एल्गोरिदम विकसित किए जाते हैं और इनमें से कुछ पैकेजों में लागू किए जाते हैं3,4,5,6,7, आदि।
यहां हम यूएमडी पैकेज का प्रस्ताव करते हैं – आणविक गतिशीलता सिमुलेशन के आउटपुट का विश्लेषण करने के लिए पायथन में लिखा गया एक ओपन-सोर्स पैकेज। UMD पैकेज संरचनात्मक, dynamical, और थर्मोडायनामिकल गुणों की एक विस्तृत श्रृंखला की गणना के लिए अनुमति देता है (चित्रा 1)। पैकेज GitHub वेबसाइट (https://github.com/rcaracas/UMD_package) के माध्यम से और एक खुले उपयोग पैकेज के रूप में ERC IMPACT परियोजना के एक समर्पित पृष्ठ (http://moonimpact.eu/umd-package/) के माध्यम से उपलब्ध है।
इसे सार्वभौमिक और संभालने में आसान बनाने के लिए, हमारा दृष्टिकोण पहले थर्मोडायनामिक राज्य से संबंधित सभी जानकारी और वास्तविक आणविक-गतिशीलता चलाने की आउटपुट फ़ाइल से परमाणु प्रक्षेपवक्र को निकालना है। यह जानकारी एक समर्पित फ़ाइल में संग्रहीत की जाती है, जिसका स्वरूप मूल एमडी पैकेज से स्वतंत्र होता है जहां सिमुलेशन चलाया गया था। हम इन फ़ाइलों को “umd” फ़ाइलों का नाम देते हैं, जो यूनिवर्सल मॉलिक्यूलर डायनेमिक्स के लिए खड़ा है। इस तरह, हमारे UMD पैकेज को आसानी से किसी भी सॉफ़्टवेयर के साथ किसी भी ab initio समूह द्वारा उपयोग किया जा सकता है, सभी अनुकूलन के न्यूनतम प्रयास के साथ। वर्तमान पैकेज का उपयोग करने की एकमात्र आवश्यकता विशेष एमडी सॉफ़्टवेयर के आउटपुट से उपयुक्त पार्सर को यूएमडी फ़ाइल प्रारूप में लिखना है, यदि यह अभी तक मौजूद नहीं है। कुछ समय के लिए, हम VASP8 और QBox9 पैकेज के लिए ऐसे पार्सर प्रदान करते हैं।
चित्र1: UMD लायब्रेरी का फ़्लोचार्ट.
भौतिक गुण नीले रंग में हैं, और प्रमुख पायथन स्क्रिप्ट और उनके विकल्प लाल रंग में हैं। कृपया इस आंकड़े का एक बड़ा संस्करण देखने के लिए यहाँ क्लिक करें.
umd फ़ाइलें ASCII फ़ाइलें हैं; विशिष्ट विस्तार “umd.dat” है, लेकिन अनिवार्य नहीं है। सभी विश्लेषण घटक वास्तविक नाम एक्सटेंशन की परवाह किए बिना, umd प्रारूप की ASCII फ़ाइलों को पढ़ सकते हैं। हालांकि, कई सिमुलेशन पर तेजी से बड़े पैमाने पर आंकड़े करने के लिए डिज़ाइन किए गए कुछ स्वचालित स्क्रिप्ट विशेष रूप से umd.dat एक्सटेंशन के साथ फ़ाइलों की तलाश करते हैं। प्रत्येक भौतिक संपत्ति को एक लाइन पर व्यक्त किया जाता है। हर लाइन एक कीवर्ड के साथ शुरू होती है। इस तरह से प्रारूप अत्यधिक अनुकूलनीय है और नए गुणों को यूएमडी फ़ाइल में जोड़ने की अनुमति देता है, जबकि सभी संस्करणों में इसकी पठनीयता को संरक्षित करते हैं। 4.6 GPa और 3000 K पर पाइरोलाइट के सिमुलेशन की umd फ़ाइल की पहली 30 लाइनें, चर्चा में नीचे उपयोग की गई हैं, चित्र 2 में दिखाई गई हैं।
चित्रा 2: umd फ़ाइल की शुरुआत 4.6 GPa और 3000 K पर तरल पाइरोलाइट के सिमुलेशन का वर्णन करती है।
शीर्ष लेख प्रत्येक स्नैपशॉट के विवरण के बाद है। प्रत्येक संपत्ति को एक पंक्ति पर लिखा जाता है, जिसमें भौतिक संपत्ति का नाम, मूल्य (ओं), और इकाइयां होती हैं, जो सभी रिक्त स्थान से अलग होती हैं। कृपया इस आंकड़े का एक बड़ा संस्करण देखने के लिए यहाँ क्लिक करें.
सभी umd फ़ाइलों में सिमुलेशन सेल की सामग्री का वर्णन करने वाला एक हेडर होता है: परमाणुओं, इलेक्ट्रॉनों और परमाणु प्रकारों की संख्या, साथ ही साथ प्रत्येक परमाणु के लिए विवरण, जैसे कि इसका प्रकार, रासायनिक प्रतीक, वैलेंस इलेक्ट्रॉनों की संख्या, और इसका द्रव्यमान। एक खाली रेखा शीर्ष लेख के अंत को चिह्नित करती है और इसे umd फ़ाइल के मुख्य भाग से अलग करती है।
फिर सिमुलेशन के प्रत्येक चरण को विस्तृत किया जाता है। सबसे पहले, तात्कालिक थर्मोडायनामिक पैरामीटर दिए गए हैं, प्रत्येक एक अलग लाइन पर, निर्दिष्ट करते हैं (i) पैरामीटर का नाम, जैसे ऊर्जा, तनाव, समकक्ष हाइड्रोस्टेटिक दबाव, घनत्व, आयतन, जाली पैरामीटर, आदि, (ii) इसका मूल्य (ओं), और (iii) इसकी इकाइयां। परमाणुओं का वर्णन करने वाली एक तालिका अगले आती है। एक हेडर लाइन विभिन्न उपायों को देती है, जैसे कार्टेशियन स्थितियां, वेग, शुल्क, आदि, और उनकी इकाइयां। फिर प्रत्येक परमाणु को एक पंक्ति पर विस्तृत किया जाता है। तीन के समूहों द्वारा, तीन एक्स, वाई, जेड अक्षों के अनुरूप, प्रविष्टियां हैं: कम स्थिति, सिमुलेशन सेल में मुड़ी हुई कार्टेशियन स्थिति, कार्टेशियन स्थिति (जो ठीक से इस तथ्य को ध्यान में रखते हैं कि परमाणु सिमुलेशन के दौरान कई इकाई कोशिकाओं को पार कर सकते हैं), परमाणु वेग, और परमाणु बल। अंतिम दो प्रविष्टियां स्केलर हैं: चार्ज और चुंबकीय क्षण।
दो प्रमुख पुस्तकालय पूरे पैकेज के उचित कामकाज को सुनिश्चित करते हैं। umd_process.py लाइब्रेरी umd फ़ाइलों से संबंधित है, जैसे पढ़ना और मुद्रण। crystallography.py पुस्तकालय वास्तविक परमाणु संरचना से संबंधित सभी जानकारी से संबंधित है। crystallography.py पुस्तकालय का अंतर्निहित दर्शन जाली को एक वेक्टरीय स्थान के रूप में इलाज करना है। इकाई सेल पैरामीटर उनके अभिविन्यास के साथ आधार वैक्टर का प्रतिनिधित्व करते हैं। “अंतरिक्ष” में अदिश विशेषताओं (विशिष्ट मात्रा, घनत्व, तापमान और परमाणुओं की विशिष्ट संख्या), थर्मोडायनामिक गुण (आंतरिक ऊर्जा, दबाव, गर्मी क्षमता, आदि) और टेंसरियल गुणों (तनाव और लोच) की एक श्रृंखला है। परमाणु इस स्थान को आबाद करते हैं। “जाली” वर्ग इस पहनावे को परिभाषित करता है, विभिन्न कुछ छोटी गणनाओं के साथ, जैसे विशिष्ट मात्रा, घनत्व, प्रत्यक्ष एक से पारस्परिक जाली प्राप्त करना, आदि। “परमाणु” वर्ग परमाणुओं को परिभाषित करता है। वे अदिश गुणों की एक श्रृंखला (नाम, प्रतीक, द्रव्यमान, इलेक्ट्रॉनों की संख्या, आदि) और वेक्टरियल गुणों की एक श्रृंखला (अंतरिक्ष में स्थिति, या तो जाली वर्ग में वर्णित वेक्टरीय आधार के सापेक्ष, या सार्वभौमिक कार्टेशियन निर्देशांक, वेग, बलों, आदि के सापेक्ष) की विशेषता है। इन दो वर्गों के अलावा, crystallography.py लाइब्रेरी में विभिन्न प्रकार के परीक्षणों और गणनाओं को करने के लिए कार्यों की एक श्रृंखला होती है, जैसे कि परमाणु दूरी, या सेल गुणा। तत्वों की आवर्त सारणी को भी एक शब्दकोश के रूप में शामिल किया गया है।
umd पैकेज के विभिन्न घटकों कई आउटपुट फ़ाइलें लिखते हैं। एक सामान्य नियम के रूप में, वे सभी ASCII फ़ाइलें हैं, उनकी सभी प्रविष्टियों को टैब द्वारा अलग किया जाता है, और उन्हें यथासंभव आत्म-व्याख्यात्मक बनाया जाता है। उदाहरण के लिए, वे हमेशा स्पष्ट रूप से भौतिक संपत्ति और इसकी इकाइयों को इंगित करते हैं। umd.dat फ़ाइलें पूरी तरह से इस नियम का पालन करती हैं.
यूएमडी पैकेज को एब इनिशियो सिमुलेशन के साथ बेहतर काम करने के लिए डिज़ाइन किया गया है, जहां स्नैपशॉट की संख्या आमतौर पर प्रति यूनिट सेल कुछ सौ परमाणुओं के साथ सैकड़ों हजारों स्नैपशॉट तक सीमित होती है। बड़े सिमुलेशन भी असभ्य होते हैं बशर्ते कि मशीन जिस पर पोस्ट-प्रोसेसिंग रन में पर्याप्त सक्रिय मेमोरी संसाधन हों। कोड खुद को गुणों की विविधता से अलग करता है जो यह गणना कर सकता है और इसके ओपन-सोर्स लाइसेंस द्वारा।
umd.dat फ़ाइलें ensembles है कि सिमुलेशन भर में अपरिवर्तित कणों की संख्या को संरक्षित करने के लिए उपयुक्त हैं। UMD पैकेज परिकलन से उपजी फ़ाइलों को पढ़ सकता है जहाँ सिमुलेशन बॉक्स का आकार और मात्रा भिन्न होती है. ये सबसे आम गणनाओं को कवर करते हैं, जैसे कि एनवीटी और एनपीटी, जहां कणों की संख्या, एन, तापमान टी, आयतन, वी, और / या दबाव, पी, को स्थिर रखा जाता है।
समय के लिए जोड़ी वितरण समारोह के साथ-साथ सभी लिपियों को अंतर-परमाणु दूरी का अनुमान लगाने की आवश्यकता होती है, जैसे कि प्रजाति स्क्रिप्ट, केवल ऑर्थोगोनल यूनिट कोशिकाओं के लिए काम करते हैं, जिसका अर्थ है क्यूबिक, टेट्रागोनल और ऑर्थोरोम्बिक कोशिकाओं के लिए, जहां अक्षों के बीच के कोण 90 ° हैं।
संस्करण 2.0 के लिए विकास की प्रमुख लाइनें दूरी के लिए ओर्थोगोनलिटी प्रतिबंध को हटाने और प्रजातियों की लिपियों के लिए अधिक विशेषताओं को जोड़ना हैं: व्यक्तिगत रासायनिक बांडों का विश्लेषण करने के लिए, अंतर-परमाणु कोणों का विश्लेषण करने के लिए, और दूसरे समन्वय क्षेत्र को लागू करने के लिए। बाहरी सहयोग से मदद के साथ, हम बड़े सिस्टम में तेजी से विश्लेषण के लिए एक GPU पर कोड पोर्टिंग पर काम कर रहे हैं।
The authors have nothing to disclose.
इस काम को यूरोपीय संघ क्षितिज 2020 अनुसंधान और नवाचार कार्यक्रम (अनुदान समझौते की संख्या 681818 आरसी के प्रभाव) के तहत यूरोपीय अनुसंधान परिषद (ईआरसी) द्वारा समर्थित किया गया था, डीप कार्बन वेधशाला के चरम भौतिकी और रसायन विज्ञान निदेशालय द्वारा, और नॉर्वे के अनुसंधान परिषद द्वारा उत्कृष्टता वित्तपोषण योजना के अपने केंद्रों के माध्यम से, परियोजना संख्या 223272। हम EDARI कंप्यूटिंग अनुदान की stl2816 श्रृंखला के माध्यम से GENCI सुपर कंप्यूटर तक पहुंच को स्वीकार करते हैं, PRACE RA4947 परियोजना के माध्यम से Irene AMD सुपर कंप्यूटर के लिए, और UNINETT Sigma2 NN9697K के माध्यम से फ्रैम सुपर कंप्यूटर। एफएस एक मैरी Skloodowska-क्यूरी परियोजना (अनुदान समझौते ABISSE No.750901) द्वारा समर्थित किया गया था।
getopt library | open-source | ||
glob library | open-source | ||
matplotlib library | open-source | ||
numpy library | open-source | ||
os library | open-source | ||
Python software | The Python Software Foundation | Version 2 and 3 | open-source |
random library | open-source | ||
re library | open-source | ||
scipy library | open-source | ||
subprocess library | open-source | ||
sys library | open-source |