الذوبان والسوائل هي ناقلات في كل مكان من النقل الجماعي في النظم الطبيعية. لقد قمنا بتطوير حزمة مفتوحة المصدر لتحليل محاكاة ab initio للديناميكيات الجزيئية لمثل هذه الأنظمة. نحن حساب الهيكلية (الترابط والتكتلات، والتكهنات الكيميائية)، والنقل (نشر، اللزوجة) والخصائص الحرارية (الطيف الاهتزازي).
لقد قمنا بتطوير حزمة مفتوحة المصدر تستند إلى Python لتحليل النتائج النابعة من محاكاة ab initio للديناميكيات الجزيئية للسوائل. الحزمة هي الأنسب للتطبيقات على النظم الطبيعية، مثل سيليكات وأكسيد يذوب، والسوائل القائمة على الماء، ومختلف السوائل فوق الحرجة. الحزمة هي مجموعة من البرامج النصية بيثون التي تشمل مكتبتين رئيسيتين تتعامل مع تنسيقات الملفات ومع علم البلورات. يتم تشغيل كافة البرامج النصية في سطر الأوامر. نقترح تنسيقا مبسطا لتخزين المسارات الذرية والمعلومات الديناميكية الحرارية ذات الصلة للمحاكاة ، والتي يتم حفظها في ملفات UMD ، لتقف على الديناميكيات الجزيئية العالمية. تسمح حزمة UMD بحساب سلسلة من الخصائص الهيكلية والنقل والديناميكية الحرارية. بدءا من وظيفة توزيع الزوج يحدد أطوال السندات، ويبني مصفوفة اتصال بين الذرية، ويحدد في نهاية المطاف الطيف الكيميائي. تحديد عمر الأنواع الكيميائية يسمح بإجراء تحليل إحصائي كامل. ثم تحسب النصوص المخصصة الإزاحات المتوسطة المربعة للذرات وكذلك للأنواع الكيميائية. 11 – ويسفر تحليل الارتباط الذاتي المنفذ للسرعات الذرية عن معاملات الانتشار والطيف الاهتزازي. نفس التحليل المطبق على الضغوط يعطي اللزوجة. تتوفر الحزمة عبر موقع GitHub وعبر صفحتها المخصصة لمشروع ERC IMPACT كحزمة وصول مفتوحة.
السوائل والذوبانات هي ناقلات نقل كيميائية وجسدية نشطة في البيئات الطبيعية. إن ارتفاع معدلات الانتشار الذري لصالح التبادلات والتفاعلات الكيميائية، واللزوجة المنخفضة إلى جانب الطفو المتفاوت لصالح النقل الجماعي الكبير، وعلاقات الكثافة الذائبة بالكريستال تفضل الطبقات داخل الأجسام الكوكبية. إن عدم وجود شعرية دورية ، ودرجات حرارة عالية نموذجية مطلوبة للوصول إلى الحالة المنصهرة ، وصعوبة إخمادها تجعل التحديد التجريبي لسلسلة من الخصائص الواضحة ، مثل الكثافة والنشر واللزوجة ، تحديا للغاية. هذه الصعوبات تجعل الطرق الحسابية البديلة أدوات قوية ومفيدة للتحقيق في هذه الفئة من المواد.
مع ظهور قوة الحوسبة وتوافر أجهزة الكمبيوتر العملاقة ، وتستخدم حاليا اثنين من تقنيات المحاكاة الذرية العددية الرئيسية لدراسة الحالة الديناميكية لنظام ذري غير بلوري ، مونتي كارلو1 والديناميات الجزيئية (MD)1،2. في محاكاة مونتي كارلو يتم أخذ عينات عشوائية من الفضاء التكويني؛ تظهر أساليب مونتي كارلو التحجيم الخطي في موازاة إذا كانت جميع عمليات رصد أخذ العينات مستقلة عن بعضها البعض. تعتمد جودة النتائج على جودة مولد الأرقام العشوائي وتمثيل العينة. تظهر أساليب مونتي كارلو التحجيم الخطي في موازاة إذا كانت العينة مستقلة عن بعضها البعض. في الديناميات الجزيئية (MD) يتم أخذ عينات من الفضاء التكويني من قبل مسارات ذرية تعتمد على الوقت. بدءا من تكوين معين، يتم حساب المسارات الذرية من خلال دمج المعادلات النيوتونية للحركة. يمكن حساب القوى بين الذرية باستخدام إمكانات نموذجية بين الذرية (في MD الكلاسيكية) أو باستخدام أساليب المبادئ الأولى (في ab initio ، أو المبادئ الأولى ، MD). تعتمد جودة النتائج على طول المسار وقدرته على عدم الانجذاب إلى المصغرة المحلية.
تحتوي محاكاة الديناميكيات الجزيئية على عدد كبير من المعلومات ، وكلها تتعلق بالسلوك الديناميكي للنظام. متوسط الخصائص الحرارية، مثل الطاقة الداخلية، ودرجة الحرارة، والضغط، هي معيار إلى حد ما لحساب. ويمكن استخراجها من ملف (ملفات) إخراج المحاكاة ومتوسطها، في حين أن الكميات المتعلقة مباشرة بحركة الذرات وكذلك علاقتها المتبادلة تحتاج إلى حساب بعد استخراج المواقع والسرعات الذرية.
وبالتالي، تم تكريس الكثير من الجهد لتصور النتائج، وحزم مختلفة متاحة اليوم، على منصات مختلفة، مفتوحة المصدر أم لا [Ovito3، VMD4، Vesta5، Travis6، الخ]. كل هذه الأدوات التصور التعامل بكفاءة مع المسافات بين الذرية، وعلى هذا النحو، فإنها تسمح الحساب الفعال لوظائف التوزيع الزوج ومعاملات الانتشار. مجموعات مختلفة أداء محاكاة الديناميات الجزيئية على نطاق واسع لديها برامج الملكية لتحليل مختلف الخصائص الأخرى الناجمة عن المحاكاة، وأحيانا في الأواني المشتركة أو أشكال أخرى من الوصول المحدود إلى المجتمع، ومحدودة في بعض الأحيان في نطاق واستخدام لبعض حزم محددة. يتم تطوير وتنفيذ خوارزميات متطورة لاستخراج معلومات حول الترابط بين الذرية، والأنماط الهندسية، والديناميكا الحرارية في بعض هذه الحزم3،4،5،6،7، الخ.
هنا نقترح حزمة UMD – حزمة مفتوحة المصدر مكتوبة في Python لتحليل إخراج محاكاة الديناميكيات الجزيئية. تسمح حزمة UMD بحساب مجموعة واسعة من الخصائص الهيكلية والديناميكية والدينامية الحرارية (الشكل 1). تتوفر الحزمة عبر موقع GitHub (https://github.com/rcaracas/UMD_package) وعبر صفحة مخصصة (http://moonimpact.eu/umd-package/) لمشروع ERC IMPACT كحزمة مفتوحة الوصول.
لجعله عالميا وأسهل للتعامل معها، نهجنا هو استخراج أولا جميع المعلومات المتعلقة الحالة الدينامية الحرارية والمسارات الذرية من ملف الإخراج من الديناميات الجزيئية الفعلية تشغيل. يتم تخزين هذه المعلومات في ملف مخصص، والذي يكون تنسيقه مستقلا عن حزمة MD الأصلية حيث تم تشغيل المحاكاة. نحن نسمي هذه الملفات “umd” الملفات ، والتي تقف على الديناميات الجزيئية العالمية. وبهذه الطريقة، يمكن استخدام حزمة UMD لدينا بسهولة من قبل أي مجموعة ab initio مع أي برنامج، كل ذلك بأقل جهد للتكيف. الشرط الوحيد لاستخدام الحزمة الحالية هو كتابة المحلل اللغوي المناسب من إخراج برنامج MD معين في تنسيق ملف umd ، إذا لم يكن موجودا بعد. في الوقت الحاضر، ونحن نقدم مثل هذه محللين لحزم VASP8 وQBox9.
الشكل 1: مخطط انسيابي لمكتبة UMD.
الخصائص الفيزيائية باللون الأزرق ، ونصوص Python الرئيسية وخياراتها باللون الأحمر. يرجى النقر هنا لعرض نسخة أكبر من هذا الرقم.
ملفات umd هي ASCII ملفات; التمديد النموذجي هو “umd.dat” ولكن ليس إلزاميا. يمكن قراءة كافة مكونات التحليل ASCII ملفات تنسيق umd بغض النظر عن ملحق الاسم الفعلي. ومع ذلك ، فإن بعض البرامج النصية التلقائية المصممة لأداء إحصاءات سريعة على نطاق واسع عبر العديد من المحاكاة تبحث خصيصا عن الملفات مع تمديد .dat umd. يتم التعبير عن كل خاصية فعلية على سطر واحد. يبدأ كل سطر بكلمة رئيسية. وبهذه الطريقة تنسيق قابل للتكيف للغاية ويسمح لخصائص جديدة تضاف إلى ملف umd، كل ذلك مع الحفاظ على قابليتها للقراءة في جميع أنحاء الإصدارات. وترد في الشكل 2 الخطوط ال 30 الأولى من ملف umd لمحاكاة البيرولايت في 4.6 GPa و K 3000 ، وتستخدم أدناه في المناقشة.
الشكل 2: بداية ملف umd تصف محاكاة البيروليت السائل في 4.6 GPa و 3000 K.
يتبع الرأس وصف كل لقطة. تتم كتابة كل خاصية على سطر واحد، تحتوي على اسم الخاصية الفعلية والقيمة (القيم) والوحدات، ويتم فصلها جميعا بمسافات. يرجى النقر هنا لعرض نسخة أكبر من هذا الرقم.
تحتوي جميع ملفات umd على رأس يصف محتوى خلية المحاكاة: عدد الذرات والإلكترونات والأنواع الذرية ، بالإضافة إلى تفاصيل لكل ذرة ، مثل نوعها ورمزها الكيميائي وعدد إلكترونات التكافؤ وكتلتها. خط فارغ يمثل نهاية الرأس ويفصله عن الجزء الرئيسي من ملف umd.
ثم يتم تفصيل كل خطوة من المحاكاة. أولا، يتم إعطاء المعلمات الحرارية الفورية، كل منها على خط مختلف، مع تحديد (1) اسم المعلمة، مثل الطاقة، والضغوط، والضغط الهيدروستاتيكي المكافئ، والكثافة، والحجم، ومعلمات شعرية، وما إلى ذلك، (2) قيمتها (ق)، و (3) وحداتها. جدول يصف الذرات يأتي بعد ذلك. خط رأس يعطي تدابير مختلفة، مثل المواقف الديكارتية، والسرعات، والتهم، وما إلى ذلك، ووحداتها. ثم يتم تفصيل كل ذرة على سطر واحد. بواسطة مجموعات من ثلاثة، المقابلة لثلاثة x، ص، ض محاور، وإدخالات هي: المواقف المخفضة، والمواقف الديكارتية مطوية في خلية المحاكاة، والمواقف الديكارتية (التي تأخذ في الاعتبار بشكل صحيح حقيقة أن الذرات يمكن أن تعبر عدة خلايا وحدة خلال المحاكاة)، والسرعات الذرية، والقوى الذرية. آخر إدخالين هما التحجيم: الشحن واللحظة المغناطيسية.
مكتبتان رئيسيتان تضمنان حسن سير العمل في المجموعة بأكملها. تتعامل مكتبة umd_process.py مع ملفات umd ، مثل القراءة والطباعة. وتتعامل مكتبة crystallography.py مع جميع المعلومات المتعلقة بالهيكل الذري الفعلي. الفلسفة الأساسية للمكتبة crystallography.py هي التعامل مع الشبكة كمساحة متجهة. تمثل معلمات الخلية الوحدة مع اتجاهها المتجهات الأساسية. يحتوي “الفضاء” على سلسلة من السمات التوسعية (حجم محدد وكثافة ودرجة حرارة وعدد محدد من الذرات) وخصائص ديناميكية حرارية (الطاقة الداخلية والضغط وسعة الحرارة وما إلى ذلك) وسلسلة من الخصائص الشدية (الإجهاد والمرونة). الذرات تملأ هذا الفضاء. تعرف فئة “شعرية” هذه المجموعة ، إلى جانب حسابات قصيرة قليلة مختلفة ، مثل حجم محدد وكثافة والحصول على شعرية متبادلة من الشبكة المباشرة ، إلخ. تعرف فئة “الذرات” الذرات. وهي تتميز بسلسلة من الخصائص التحجيمية (الاسم والرمز والكتلة وعدد الإلكترونات وما إلى ذلك) وسلسلة من الخصائص المتجهية (الموقع في الفضاء ، إما بالنسبة إلى الأساس المتجهي الموصوف في فئة شعرية ، أو بالنسبة للإحداثيات الديكارتية العالمية ، والسرعات ، والقوى ، وما إلى ذلك). وبصرف النظر عن هاتين الفئتين، تحتوي مكتبة crystallography.py على سلسلة من الوظائف لإجراء مجموعة متنوعة من الاختبارات والحسابات، مثل المسافات الذرية، أو ضرب الخلايا. كما يتم تضمين الجدول الدوري للعناصر كقاموس.
المكونات المختلفة لحزمة umd كتابة عدة ملفات الإخراج. كقاعدة عامة، يتم كافة ملفات ASCII، يتم فصل كافة الإدخالات الخاصة بهم بواسطة علامات التبويب، ويتم إجراؤها كما تفسيرية قدر الإمكان. على سبيل المثال، أنها تشير دائما بوضوح إلى الممتلكات المادية ووحداتها. تتوافق ملفات .dat umd تماما مع هذه القاعدة.
تم تصميم حزمة UMD للعمل بشكل أفضل مع محاكاة ab initio ، حيث يقتصر عدد اللقطات عادة على عشرات إلى مئات الآلاف من اللقطات ، مع بضع مئات من الذرات لكل خلية وحدة. كما يمكن أيضا إجراء عمليات محاكاة أكبر شريطة أن يكون لدى الجهاز الذي تعمل عليه المعالجة اللاحقة موارد ذاكرة نشطة كافية. يميز الرمز نفسه بواسطة مجموعة متنوعة من الخصائص التي يمكن حسابها و ترخيص مفتوح المصدر الخاص به.
ملفات .dat umd مناسبة للفرق التي تحافظ على عدد الجسيمات دون تغيير طوال المحاكاة. يمكن لحزمة UMD قراءة الملفات النابعة من الحسابات حيث يختلف شكل وحجم مربع المحاكاة. وتغطي هذه الحسابات الأكثر شيوعا، مثل NVT و NPT، حيث يتم الاحتفاظ بعدد الجسيمات، N، درجة الحرارة T، الحجم، V، و / أو الضغط، P، ثابتة.
في الوقت الذي تبدأ فيه وظيفة توزيع الزوج وكذلك جميع النصوص التي تحتاج إلى تقدير المسافات بين الذرية ، مثل نصوص الأطياف ، تعمل فقط لخلايا الوحدة المتعامدة ، وهذا يعني الخلايا المكعبة والتتراغونية والعظام ، حيث تكون الزوايا بين المحاور 90 درجة.
خطوط التنمية الرئيسية للإصدار 2.0 هي إزالة قيود تقويم الأضلاع للمسافات وإضافة المزيد من الميزات لنصوص المواصفات: لتحليل الروابط الكيميائية الفردية ، وتحليل الزوايا بين الذرية ، وتنفيذ مجال التنسيق الثاني. بمساعدة من التعاون الخارجي، ونحن نعمل على نقل رمز على وحدة معالجة الرسومات لتحليل أسرع في أنظمة أكبر.
The authors have nothing to disclose.
وقد دعم هذا العمل مجلس البحوث الأوروبي في إطار برنامج الاتحاد الأوروبي لأفق 2020 للبحث والابتكار (اتفاق المنح رقم 681818 IMPACT إلى RC)، ومديرية الفيزياء والكيمياء المتطرفة التابعة لمرصد الكربون العميق، ومجلس البحوث النرويجي من خلال خطة تمويل مراكز التميز، ورقم المشروع 223272. نحن نعترف بالوصول إلى أجهزة الكمبيوتر العملاقة GENCI من خلال سلسلة stl2816 من منح الحوسبة eDARI ، إلى الكمبيوتر العملاق Irene AMD من خلال مشروع PRACE RA4947 ، والحاسوب العملاق Fram من خلال UNINETT Sigma2 NN9697K. وقد تم دعم FS من قبل مشروع ماري Skłodowska-كوري (اتفاق منحة 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 |