يتطلب اشتراك JoVE لعرض هذا المحتوى. تسجيل الدخول أو ابدأ نسخة تجريبية مجانية

مقالة منهجية

دمج سير عمل المحاكاة الآلية مع التصور ثلاثي الأبعاد للتجارب الافتراضية في الميتافيرس

523 مشاهدة

DOI:

10.3791/71833

يوليو 21, 2026

في هذه المقالة

ملخص

يتم تقديم طريقة عامة ومتوافقة مع معايير FAIR للباحثين الخبراء في المجال الذين يسعون لدمج أدوات المحاكاة ومعالجة البيانات في سير عمل آلي للتجارب الافتراضية ثلاثية الأبعاد. مثال على النيوترونيكس يوضح إعداد نسخة محلية من Galaxy، وتغليف OpenMC وأدوات تحويل الملفات، وتشغيل سير العمل من Omniverse، وتصور المخرجات المحولة ثلاثية الأبعاد.

الملخص

في العديد من التجارب الافتراضية، تستخدم عدة حزم برمجية مع أنواع محاكاة متنوعة، وأدوات للمعالجة قبل وبعد المعالجة، وأدوات لتصور نتائج التجارب — غالبا ما تكون مزيجا من جميع الأنواع المختلفة. الطريقة النموذجية لدمج هذه الأنظمة هي يدوية، حيث يتم إنشاء حلول مخصصة لكل مجال تطبيق، مما يؤدي إلى تدرج ضعيف ويعيق المشاركة وقابلية التكرار.

يوضح هذا البروتوكول نشر واستخدام نظام سير عمل محلي في الحاويات. بعد ذلك، سيقوم المستخدمون بتشغيل نسخة محلية من Galaxy باستخدام Docker، وينشئ ويشغل سير عمل محاكاة نيوترونيكس OpenMC، ويمررون المخرجات عبر سلسلة من أدوات تحويل التنسيق، ويحملون النتائج إلى كل من ParaView وNVIDIA Omniverse للتصور. يعزز النشر المحوي في الحاويات قابلية التكرار وقابلية النقل على أي جهاز يلبي متطلبات الأجهزة الموضحة في القسم 1.

بمجرد تشغيل النظام، يمكن إعادة تشغيل سير العمل مقابل مدخلات جديدة دون إعادة تكوين يدوية، ويمكن تغليف رموز المحاكاة الإضافية كأدوات جديدة بجهد متواضع، ويمكن استخدام الأدوات في عدة سير عمل ومجالات تطبيق. يدعم هذا النهج مبادئ البيانات القابلة للعثور عليها والوصول إليها والتشغيل البيني وإعادة الاستخدام (FAIR): حيث تلتقط سجلات التشغيل بيانات وصفية كاملة المصدر، وتعد سير العمل قابلة للتصدير كملفات محمولة ويمكن مشاركتها مباشرة بين نسخ Galaxy، كما يتم تغليف الأدوات في حاويات يتم التحكم بها في الإصدارات ويمكن نشرها في مستودع عام. القابلية للتوسع إلى الحوسبة عالية الأداء (HPC) أو الموارد السحابية عبر نظام Pulsear من جالاكسي هي امتداد طبيعي للبنية الموضحة هنا.

يتم إثبات هذه الطريقة من خلال دراسة حالة لنيوترونيات الاندماج. يستخدم OpenMC لمحاكاة نقل النيوترونات في هندسة التصميم الحاسوبي (CAD) الهندسة المتسارعة المباشرة لمونت كارلو (DAGMC)، مما ينتج نتيجة نسبة تكاثر التريتيوم (TBR) ومجموعة بيانات تتبع النيوترونات. ثم يتم ربط سير عمل المحاكاة ب NVIDIA Omniverse كمنصة الميتافيرس للاستدعاء والتصور.

المقدمة

يجمع الميتافيرس الصناعي بين العوالم الرقمية والمادية لدعم التصميم والمحاكاة والتصوير ثلاثي الأبعاد التعاوني للأنظمة الهندسية. عادة ما يتكون من العديد من التوائم الرقمية المترابطة من المكونات لإعطاء رؤية شاملة للنظام. المؤسسات الكبرى مثل بوينغ، بي إم دبليو، أمازون، والعديد غيرها تتبع عدة طرق لإنشاء الميتافيرس1. تم تطوير أنظمة تسمح بسلاسل متعددة من أدوات المحاكاة والمعالجة ويتم استخدامها حتى الآن. ومع ذلك، عادة ما تكون هذه الأمثلة مخصصة لمنطقة التطبيق2 أو خيارات تجارية 3,4 مع بعض التثبيت على أنظمة ملكية. تم استخدام بعض البدائل مفتوحة المصدر لبناء التوائم الرقمية لإنشاء بعض الأنظمة، مثل Python Flask، مع إمكانيات محاكاة مدمجة. ومع ذلك، يتم تكوين هذه القطع كقطع شيفرة مخصصة لتنفيذ مهام محددة تتعلق بالنموذج5 المحدد. في سياق هذا البروتوكول، تعمل منصة الميتافيرس (NVIDIA Omniverse) كواجهة أمامية للتصور ثلاثي الأبعاد وتفاعل سير العمل: حيث يتم تحميل مخرجات المحاكاة في مشهد مشترك بعد انتهاء سير العمل، ويمكن تفعيل عمليات تشغيل جديدة من نفس البيئة. يختلف هذا عن أنظمة التوأم الرقمي المباشر التي تحدث فيها تغذيات المستشعرات في الوقت الحقيقي النموذج باستمرار؛ الطريقة المعروضة هنا تدعم تنفيذ سير العمل الدفعي والاستكشاف بعد التشغيل للنتائج. ومع ذلك، يتم ذلك بطريقة تدعم العمل المستقبلي لدمج المزيد من الأنظمة في منصة الميتافيرس لتمكين إنشاء توأم رقمي مع محركات سير العمل كخلفية حسابية.

يمكن تعريف سير العمل بأنها سلاسل من أدوات البرمجيات التي تحدد بشكل صريح تدفق البيانات بينها. تسمح بتغليف رموز المحاكاة الموجودة، وسكريبتات المعالجة، وخطوات أخرى في خط أنابيب تحليل نموذجي، دون تغيير وظيفة هذه الأدوات، بل تسمح بدلا من ذلك بتكوينها وإعادة تكوينها باستخدام مدخلات ومخرجات موحدة لا تعتمد على الأدوات. تسمح سير العمل بتكرار النتائج بسهولة عبر مشاركة الأدوات، كما توفر بيانات وصفية ومصادر حول إصدارات الأدوات المستخدمة، والترتيب، وأي المدخلات. يمكن إعادة استخدام الأدوات نفسها في العديد من خطوط المحاكاة، مما يسمح للباحثين بقضاء وقت أقل في إعداد المحاكاة ووقت أكثر في تصميم التجارب واستكشاف النتائج. أنظمة سير العمل قابلة للتوسع، مع طرق للاتصال بموارد الحوسبة المحلية والسحابية وHPC المختلفة، مما يتيح تشغيل العديد من سير العمل واسع النطاق على أجهزة محددة بطريقة آلية.

النهج اليدوي النموذجي بطيء بطبيعته، معرض للأخطاء، وصعب الإنتاج، حيث يقوم الباحث بتشغيل كل أداة محاكاة أو معالجة لاحقة يدويا، وينقل الملفات الوسيطة بين البيئات، ويجب عليه توثيق المدخلات والمخرجات الفردية للتشغيل. على النقيض من ذلك، يقوم مدير سير العمل بصياغة تدفق البيانات مرة واحدة ويعيد تشغيله بشكل حتمي. وهذا يجلب العديد من الفوائد مقارنة بخطوط الأنابيب اليدوية: يمكن تنفيذ نفس سير العمل بنفس الطريقة على مدخلات مختلفة، مما يدعم دراسات المعلمات دون الحاجة إلى برمجة نصية مخصصة؛ كل تشغيل يلتقط تلقائيا البيانات الوصفية الكاملة للأصل، مما يعالج أي فجوة في قابلية التكرار؛ وبمجرد تغليف الأداة، تنخفض تكلفة إعادة استخدامها في سير العمل اللاحق إلى ما يقرب من الصفر، باستثناء وقت الحوسبة. تم قياس هذه الفوائد للمعلوماتية الحيوية بواسطة Wratten وآخرون 7 ، وفي علم البروتينيات/الأيض بواسطة Perez-Riverol و Moreno8 وVerhoeven وآخرون 9.

تاريخيا، تم استخدام سير العمل بشكل رئيسي في مجال المعلوماتية الحيوية 8,9 وحقق نجاحا كبيرا مع الحالات العامة الكبيرة مثل خادم Galaxy الأوروبي10,11، الذي استضاف بحلول عام 2022 أكثر من 50,000 مستخدم، و2500 أداة، ونفذ أكثر من 47 مليون وظيفة و260,000 تشغيل سير عمل. يدعم نفس مكدس محركات سير العمل التوسع إلى HPC وموارد السحابة عبر نظام تنفيذ المهام الموزع Pulsar 6,11، مع عمليات نشر تشغيلية تغطي 13 نقطة نهاية Pulsar عبر 10 دول أوروبية. من بين العديد من مديري سير العمل المتاحين، بما في ذلك محركات Snakemake وNextflow وToil وCWL، تم اختيار محرك سير العمل Galaxy11 لعدة أسباب. أحد الأسباب الرئيسية هو واجهته الناضجة القائمة على المتصفح، والتي تقلل من حاجز الدخول لخبراء المجال الذين لا يعملون أساسا على سطر الأوامر؛ يعرض واجهة برمجة تطبيقات كاملة لنقل الحالة التمثيلية (REST) (REST) (تستخدم في العمل الحالي للجسر إلى واجهة الميتافيرس الأمامية)؛ تاريخها ونموذج الوظائف يلتقط أصله بشكل سهل الكشف عنه للمتعاونين غير المتخصصين؛ ويدعم تفريغ HPC الشفاف عبر نظام Pulsar المذكور سابقا (على الرغم من أن هذا غير مناقش في قسم البروتوكول في هذه الورقة). ومع ذلك، فإن النهج الموضح في هذه الورقة محايد من حيث المبدأ لمحرك سير العمل: يمكن بناء تكاملات مكافئة فوق محركات بديلة. مساهمة هذا العمل ليست في مدير سير العمل نفسه، بل في ترجمة مدير سير عمل عام تم تطويره أصلا للمعلوماتية الحيوية إلى مجالات أخرى (مع المثال المحدد لنيوترونيات الاندماج هنا)، وتكامله مع منصة الميتافيرس الصناعية (NVIDIA Omniverse)، داخل مكدس محلي محوي بالكامل وقابل للنشر محليا، مطبق على تجارب افتراضية ثلاثية الأبعاد.

وأخيرا، تمكن الحاويات من مشاركة العديد من قطع البرمجيات من خلال تغليف الكود مع نظام التشغيل وجميع التبعيات التي يحتاجها لتشغيلها. تتجنب هذه البيئات مشاكل فقدان التبعيات وماعب تثبيت بعض رموز المحاكاة. تشبه الغرض الآلات الافتراضية لكنها أخف وزنا وأكثر قابلية للنقل. تزيد بشكل كبير من قابلية المشاركة وقابلية إعادة الإنتاج لحزم البرمجيات. في هذه الطريقة، يعمل مدير سير العمل والأدوات الفردية في حاويات Docker12 ، مما يزيد من التوافق مع أنظمة التشغيل المختلفة طالما يمكن للمستخدم تشغيل الحاويات.

هذا البروتوكول مخصص للباحثين الخبراء في المجال، مثل مهندسي نيوترونيات الاندماج، أو محللي ديناميكا الموائع الحاسوبية، أو الممارسين في العناصر المحدودة، الذين يتقنون أدوات المحاكاة في مجالهم لكنهم لم يستخدموا سابقا مدير سير العمل أو نشر قائم على الحاويات. يفترض الإلمام برمز محاكاة واحد وتشغيل سطر أوامر أساسي؛ الإلمام بالمجرة أو الكون الأومني ليس كذلك. يجب على القراء الجدد في مجال الحاويات الاطلاع على وثائق دوكر الرسمية (https://docs.docker.com/) أو التدريب التمهيدي المتوفر في: https://uomresearchit.github.io/docker-introduction/ قبل اتباع القسم 1؛ جميع الأوامر الأساسية اللازمة لتشغيل البرنامج موجودة داخل البروتوكول.

سيغطي بقية هذا التقرير إعداد واستخدام النظام القابل للنشر محليا. ثم ستتبع خطوات لتطوير أدوات جديدة للنظام وطريقة لربط الحزم الخارجية الأخرى بمحرك سير العمل، مثل منصة الميتافيرس. طوال التقرير، تستخدم محاكاة النيوترونيات باستخدام OpenMC13 كدراسة حالة. تم اختيار OpenMC لأنه يوضح خط أنابيب التصميم الكامل من CAD إلى المحاكاة إلى التصور الناتج الذي يحفز بنية سير العمل. ملف الهندسة وملف التكوين يعملان كمدخلات منظمة؛ تنتج محاكاة نقل النيوترونات في مونتي كارلو مقياسا قياسيا (نسبة تكاثر التريتيوم، TBR) يمكن مقارنته بنطاق معروف من القيم، ومجموعة بيانات مسارات نيوترونية محلية يمكن معالجتها وعرضها بصيغة قابلة للتصور للعرض ثلاثي الأبعاد في تطبيق الميتافيرس.

الوصول مقيد. يرجى تسجيل الدخول أو بدء فترة تجريبية لعرض هذا المحتوى.

البروتوكول

ملاحظة: يتم عرض نظرة عامة على إعداد محرك سير العمل المحلي، وبناء سير العمل، وإطلاق سير العمل، ومخرجات التصور في الشكل 1، الشكل 2، الشكل 3، الشكل 4، الشكل 5، الشكل 6، الشكل 7، والشكل 8. ملفات المستودع المطلوبة لتشغيل البروتوكول متوفرة في الملف التكميلي 1.

1. الإعداد

  1. المتطلبات
    ملاحظة: تم اختبار هذه الطريقة على أحدث إصدار دعم طويل الأمد (LTS) من أوبونتو، 22.04.1 LTS. قد تعمل نسخ أخرى من أوبونتو وتوزيعات أخرى، لكنها لم تختبر هنا. كما يعمل على أنظمة ويندوز، مستخدما نظام ويندوز الفرعي للينكس (WSL) كخلفية لدوكر.
    1. مستخدمو ويندوز: قم بتحميل WSL وإعداده، لأنه مطلب أساسي لدوكر.
    2. قم بتحميل Docker ثم تحقق من ذلك عن طريق تشغيل:
      `دوكر يدير هيلو-وورلد
      والذي يجب أن يعرض رسالة ترحيب.
    3. قم بتحميل مشغل NVIDIA Omniverse وأحد تطبيقات Omniverse عبر المشغل.
      ملاحظة: يتطلب عرض NVIDIA Omniverse عبر تتبع الأشعة في الوقت الحقيقي وحدة معالجة رسومات من فئة RTX. لا يزال بإمكان المستخدمين الذين لا يملكون هذه الأجهزة تشغيل سير العمل الكامل عبر القسم 2 وفحص مخرجات .vtk / .vtp الوسيطة في ParaView (انظر النقاش). يمكن لهؤلاء المستخدمين تخطي القسم 3، حيث ينطبق فقط على منصة الميتافيرس؛ قد تكون الطرق المستخدمة لدمج محرك سير العمل هنا مفيدة إذا كنت تتصل بمنصات ميتافيرس أخرى.
      يستخدم هذا البروتوكول تطبيق Omniverse Code، لكن تطبيقات Omniverse الأخرى يجب أن تكون مشابهة إلى حد كبير. ورغم أنه ليس ضروريا، يمكن استخدام ParaView لعرض بعض الملفات الوسيطة التي تنتجها الأدوات في هذا البروتوكول.
  2. المستودع
    1. قم باستنساخ المستودع الذي يحتوي على جميع الملفات والسكريبتات اللازمة لنسخة محرك سير العمل المحلي والأدوات الموضحة في هذه الورقة ب:
      'نسخة مستنسخة https://github.com/williamjsmith15/galaxy-omniverse-example.git'
    2. أضف بريدا إلكترونيا للمسؤول إلى قائمة مستخدمي المسؤول.
      ملاحظة: هذا سيمنح صلاحيات المسؤول اللازمة لبعض ميزات محرك سير العمل ويمكن العثور عليه في قسم admin_users في ملف galaxy-config/galaxy.yml (انظر https://github.com/williamjsmith15/galaxy-omniverse-example/blob/master/galaxy-config/galaxy.yml).
    3. أعد تسمية ملف default.json.template إلى default.json. هذا الملف موجود في omni_exts/omni.galaxy.example/omni/galaxy/example/default.json.template.
      ملاحظة: هذا سيسمح بإمكانية قراءتها من خلال امتداد منصة الميتافيرس وإضافة الإعدادات الشخصية والحفاظ عليها بين عمليات التحميل—وسيتم إجراء المزيد من التغييرات بعد إعداد نسخة المجرة.
  3. إطلاق خادم محرك سير العمل المحلي
    1. قم بتشغيل نسخة محرك سير العمل عن طريق تشغيل ملف start-galaxy.sh في أعلى مستوى من المستودع:
      './start-galaxy.sh'
      إذا لم يعمل الملف هنا، فقد يحتاج إلى جعله تنفيذيا إذا تغيرت الأذونات في نسخة المستودع. يمكن تحقيق ذلك عن طريق التشغيل:
      'CHMOD A+X start-galaxy.sh'
      ملاحظة: يجب على مستخدمي ويندوز القيام بذلك من خلال محطة WSL الخاصة بهم. سيقوم هذا بتنزيل الملفات ذات الصلة وتشغيل نسخة محرك سير العمل، والتي يمكن عرضها على http://localhost:8080 في أي متصفح يعمل على نفس الجهاز. يجب أن تعرض هذه الصفحة الموضحة في الشكل 1؛ وإذا لم يكن كذلك، انتظر وحدث — قد يستغرق تشغيل محرك سير العمل بعض الوقت (خاصة في المرة الأولى).
      1. بشكل عام، لرؤية التغييرات التي أجريت في المستودع على نسخة محرك سير العمل، قم بتشغيل './restart-galaxy.sh' أو './stop-galaxy.sh'، ثم ابدأ السكربت من جديد.
  4. تكوين منصة الميتافيرس
    1. افتح التطبيق بعد تحميل المشغل والتطبيق (في هذا المثال، كود الكون الشامل).
    2. في أعلى يسار النافذة، انقر على تبويب الإضافات (في تطبيقات أخرى، سيكون هذا تحت نافذة | امتدادات).
    3. في نافذة الإضافات ، اضغط على زر الإعدادات الرمادي؛ سيظهر نافذة بها بعض الأدلة المملوءة بالفعل. أضف واحدة أخرى تشير إلى مجلد omni_exts بالنقر على زر الجمع الأخضر وأضف مسارا سيكون بصيغة '<جذر المستودع المستنسخ>/galaxy-omniverse-example/omni_exts'; انظر الشكل 2 لمزيد من التفاصيل.
    4. ابحث عن إدخال جديد يسمى 'مثال أومني جالاكسي' في العمود الأيسر تحت تبويب الطرف الثالث . قم بتشغيل شريط التمرير في هذا الامتداد وانتظر ظهور نافذة الامتداد.
    5. اختر مربع التحميل التلقائي لتحميل الإضافة تلقائيا في كل مرة يتم فيها تشغيل التطبيق.
      ملاحظة: يجب أن تبقى التغييرات التي تجرى في ملفات الامتداد تلقائيا عند حفظ الملف لأن Omniverse يسمح بإعادة تحميل الامتدادات بشكل ساخن
  5. إنشاء حساب في محرك سير العمل وربطه بالميتافيرس
    1. في نسخة محرك سير العمل، أنشئ حسابا بالنقر على زر تسجيل الدخول أو التسجيل في الشريط العلوي، ثم سجل هنا، ثم املأ التفاصيل باستخدام عنوان البريد الإلكتروني المضاف في الخطوة 1.2.2 لإنشاء حساب مع وصول المسؤول.
    2. قم بإنشاء مفتاح API للسماح لواجهة برمجة التطبيقات بالتواصل مع محرك سير العمل. اذهب إلى قائمة المستخدم المنسدلة في الشريط العلوي | التفضيلات | إدارة مفتاح واجهة برمجة التطبيقات (API). أنشئ مفتاحا وانسخه.
    3. بمجرد توليد المفتاح، أضف هذا إلى ملف default.json الذي تم إنشاؤه في الخطوة 1.2.3 تحت حقل 'galaxy_api_key' في علامات الاقتباس الفارغة.
      تحذير: سيحمل هذا الملف الآن مفتاح واجهة برمجة التطبيقات (API). يمكن استخدام مفتاح API هذا لتشغيل الوظائف والوصول إلى البيانات على الحساب المرتبط. لا ينبغي أن تكون مشكلة في نشر محلي لا يوجد فيه نطاق أو عنوان IP للعامة؛ يجب اعتبار هذا الملف سريا وبالتالي لا يشارك أو يخصص في مستودع عام (الملف مدرج افتراضيا في ملف .gitignore لمواجهة ذلك).
    4. أعد تشغيل تطبيق منصة الميتافيرس لتحديث التغييرات التي أجريت في الملف الافتراضي.
      ملاحظة: يمكن أيضا إضافة مفتاح API مباشرة إلى نافذة الامتداد ضمن قائمة إعدادات الخادم، رغم أن هذا لن يستمر بين الجلسات.

2. تشغيل المهام على محرك سير العمل

  1. الأدوات الفردية
    ملاحظة: تسمح الأدوات الفردية بتشغيل وفحص خطوات المعالجة أو المحاكاة الفردية بشكل منفصل، وهو أمر مفيد للتحقق من أن المدخلات منسقة بشكل صحيح وأن الأداة تعمل كما هو متوقع قبل دمجها في سير العمل. ملفات الاختبار المشار إليها أدناه، dagmc.h5m (هندسة DAGMC CAD) و openmc_config.json (تكوين المحاكاة)، موجودة في الدليل test_files للمستودع المستنسخ.
    1. قم بتحميل ملفات الإدخال المطلوبة بالنقر على رفع البيانات في العمود الأيسر واختر اختيار الملفات المحلية أو السحب والإفلات من مستكشف الملفات إلى هذه النافذة. قم بتحميل ملف dagmc.h5m (ملف CAD) وملف openmc_config.json (ملف التكوين)، ثم اضغط على زر Start لرفع الملفات إلى السجل الحالي. سيظهر كلا الملفين باللون الأخضر في لوحة التاريخ على اليمين عند اكتمال الرفع.
    2. اختر قائمة الأدوات المعقدة المنسدلة في العمود الأيسر من صفحة الهبوط ثم أداة محاكاة النيوترونيات في OpenMC .
    3. الآن في صفحة الأدوات الخاصة، اختر المدخلات من الملفات التي تم رفعها في Step 2.1.1 واختر ملف CAD كمجموعة بيانات dagmc.h5m وملف الإعدادات كمجموعة بيانات openmc_config.json .
    4. اضغط على زر التنفيذ . سيظهر ملفان جديدان (القراءة والمسارات) في لوحة التاريخ على يمين الشاشة. ستتحول إلى اللون البرتقالي عند التشغيل وإلى الأخضر عند الانتهاء والنجاح، والأحمر يشير إلى فشل الأداة. انظر القسم 4 لخطوات التصحيح.
    5. يمكن رؤية قيمة نسبة تربية التريتيوم (TBR) للتحقق من أن حالة الاختبار قد تم تشغيلها بنجاح. انقر على مخرج القراءة للتوسعة، ثم على أيقونة الرسم البياني، ثم على المحرر. هذا سيعرض نتيجة TBR، والتي يجب أن تكون حوالي 0.76 (هذه طريقة إحصائية، والتكوين هنا يستخدم عينة صغيرة لسرعة المحاكاة، لذا النتائج ستختلف).
      ملاحظة: قيمة القراءة عشوائية؛ قد تختلف قيمة 0.76 بمقدار ±0.01، وهذا يعكس عددا صغيرا متعمدا للجسيمات (5 دفعات من 1,000 جسيم) تم اختيارها لأمثلة سريعة على سير العمل. لتقليل نطاق القيم، قم بزيادة عدد الدفعات والجسيمات تحت حقل الإعدادات في ملف openmc_config.json قبل إعادة التشغيل. كدليل لهندسة بسيطة مثل الحالة المعروضة هنا، يجب أن تقلل 50 دفعة من 10,000 جسيم من تشتت قيم TBR في التشغيلات التالية على حساب وقت تشغيل أطول.
    6. يمكن تشغيل أدوات أخرى على مخرجات Tracks لسير العمل لمعالجة النتائج لاحقا. شغل أداة Tracks h5 إلى vtp على مخرج Tracks ثم أداة CAD h5m إلى vtk على ملف الإدخال dagmc.h5m . كلاهما سينتج مخرجا واحدا، tracks_0.vtp و dagmc.vtk، مما يحولهما إلى صيغة أكثر سهولة في التصور.
    7. يمكن تنزيل المخرجات المنتجة في الخطوة السابقة من النسخة (بالنقر على المخرج ثم أيقونة الحفظ) ثم يمكن تصورها في ParaView14 لرؤية مسارات النيوترونات المحاكاة.
    8. لعرض النتائج في ParaView، قم باستيراد مخرجات tracks_0.vtp و dagmc.vtk التي تم تنزيلها. ستظهر هذه على الجانب الأيسر من النافذة. إما أن تضغط على أيقونة العين بجانب الملفات المستوردة، أو على زر التطبيق أدناه في نافذة الخصائص لعرض المخرجات. يجب أن يكون هذا مشابها لما هو ظاهر في الشكل 7.
  2. سير العمل
    ملاحظة: يقوم سير العمل بترميز خط أنابيب معالجة كامل كرسم بياني موجه للأدوات مع المدخلات والمخرجات المعلنة. بمجرد تعريفه، يمكن إعادة تشغيل نفس سير العمل على أي مجموعة من ملفات الإدخال دون الحاجة لإعادة تكوين كل أداة يدويا، ويتم التقاط جميع بيانات تاريخ التشغيل والأصل تلقائيا.
    1. انقر على سير العمل في شريط التنقل العلوي، ثم إنشاء في أعلى اليمين. أدخل اسما ووصفا لسير العمل (أي شيء سيكون مناسبا)، ثم اضغط على إنشاء مرة أخرى.
    2. أضف ثلاث أدوات إلى سير العمل، وسع الأقسام ذات الصلة في قائمة الأدوات، وأضف الأدوات المستخدمة في القسم 2.1: محاكاة النيوترونيكس في OpenMC، CAD h5m إلى vtk والمسارات h5 إلى vtp.
    3. حدد تدفق البيانات بين الأدوات. قم بسحب الأدوات في مساحة العمل عن طريق النقر والسحب على الشريط العلوي الأزرق الداكن لكل منها. قم بتوصيل مخرج المسارات (h5) لأداة محاكاة النيوترونيات بمدخل tracks.h5 من أداة h5 إلى vtp. قم بذلك بالنقر والسحب من السهم على المخرج إلى السهم في المدخل.
    4. حدد مجموعات بيانات الإدخال على مستوى سير العمل. في قسم المدخلات في الأدوات، انقر مرتين على مجموعة بيانات الإدخال لإنشاء عقدتين إدخال. أعد تسمية أحدهما لملف التكوين والآخر لإدخال CAD عن طريق النقر على الخطوة ثم تغيير حقل التسمية في قائمة الخصائص اليمنى.
    5. اربط ملف التكوين وملف CAD بالمدخلات في أداة محاكاة النيوترونيكات، وملف CAD بأداة h5m إلى vtk، متبعا النمط في الشكل 3.
    6. احفظ سير العمل باستخدام أيقونة الحفظ في أعلى اليمين.
    7. لتشغيل سير العمل، انقر على تبويب سير العمل في الشريط العلوي كما كان من قبل، ثم انقر على أيقونة التشغيل في سير العمل الذي سيتم تشغيله. ثم اختر المدخلات كما في الخطوة 2.1.2، كما لو كنت تشغل أداة، ثم اضغط على تشغيل سير العمل.
    8. انتظر حتى يعمل سير العمل، ثم يمكن مقارنة المخرجات بالخطوات 2.1.5 و2.1.8؛ يجب أن تكون هذه الخطوات متشابهة جدا (مرة أخرى، لاحظ التفاوت الإحصائي بين هذه الخطوات). سير العمل يعمل بنجاح عندما تتحول جميع المخرجات في السجل إلى اللون الأخضر. يجب أن يكون هناك (مع مجموعات بيانات الإدخال) أربع مجموعات بيانات موجودة هنا: TBR وTracks وdagmc.vtk و tracks_0.vtp.
    9. مع تشغيل سير العمل، قد يرغب بعض المستخدمين في رؤية المصدر والبيانات الوصفية الملتقطة لاستدعاء سير العمل (تشغيله). يمكن تحقيق ذلك من خلال الانتقال إلى User في الشريط العلوي | استدعاءات سير العمل. ينتج عن ذلك قائمة بجميع سير العمل التي يديرها المستخدم، ثم النقر على السهم النزولي في سير العمل المعني، ثم يمكنك تحميل ملف JSON الخاص بالبيانات الوصفية بالنقر على زر تحميل كائن BioCompute Object. يحتوي هذا على مصادر حول الأدوات/سير العمل التي تم تشغيلها، والمدخلات المستخدمة، وما إلى ذلك.
      ملاحظة: يسجل محرك سير العمل أيضا سجل تشغيل كامل لكل تنفيذ سير عمل، بما في ذلك تدقيقات ملفات الإدخال، وإصدارات الأدوات، وقيم المعلمات. لتحميل سجل المصدر لجولة، افتح لوحة التاريخ ، انقر على القائمة (سهم للأسفل) في أعلى اليمين، واختر تصدير التاريخ إلى ملف. يحتوي الأرشيف المصدر على جميع مجموعات البيانات وسجل قابل للقراءة آليا للخطوات التي أنتجتها.
      يمكن أتمتة حفظ المصدر أو التاريخ الذي يولده محرك سير العمل عبر واجهة برمجة التطبيقات التي نوقشت في القسم 5.1؛ ومع ذلك، لن يتم تفصيله في هذا البروتوكول.
  3. سير عمل أكثر تعقيدا
    ملاحظة: يمتد هذا السير من القسم 2.2 بإضافة خطوات معالجة لاحقة تنتج ملفات وصف المشهد الشامل (USD) المطلوبة للتصور في منصة الميتافيرس. نظرا لعدم وجود أداة واحدة تحول مباشرة من DAGMC (.h5m) أو VTK (vtp) إلى USD، فإن خط الأنابيب يوجه البيانات عبر سلسلتين تحويل متعددة الخطوات: تتبع هندسة CAD خط أنابيب H5M، STL، OBJ، USD، وتتبع مسارات النيوترون H5، VTP، OBJ، USD.
    1. اتبع الخطوات لإعداد سير العمل، كما هو موضح في القسم 2.2، وفقا لسير العمل الموضح في الشكل 4.
    2. حدد المدخلين على مستوى سير العمل كما في الخطوة 2.2.4، واطلق عليهما CAD DAGMC وملف التكوين.
    3. أضف أداة OpenMC Neutronics Simulation وربط مدخلات CAD DAGMC وملف التكوين بالمدخلات المقابلة لها كما في الخطوة 2.2.3.
    4. أنشئ سلسلة تحويل النيوترونيكات. أضف المسارات h5 إلى vtp، vtp إلى obj، وobj إلى أدوات USD ثم ربط مخرجات كل منها بمدخلات المسار التالي، باتباع التخطيط في الفرع السفلي من الشكل 4.
    5. أنشئ سلسلة تحويل CAD. أضف h5m إلى STL، وSTL إلى OBJ، وOBJ إلى أدوات USD، ثم اربط مخرجات كل منها بمدخلات الأداة التالية، متبعا التخطيط في الفرع العلوي من الشكل 4.
    6. احفظ سير العمل، الذي أصبح الآن جاهزا للاستخدام في منصة الميتافيرس عبر الامتداد في القسم 3.
      ملاحظة: تظهر هذه الخطوات الإضافية للمستخدمين كيفية مشاركة سير العمل والأدوات، مما يتيح إمكانية تكرار البيانات والوصول إلى البيانات والأساليب المستخدمة لتوليد النتائج.
    7. قم بتصدير سير العمل كملف محمول عن طريق الانتقال إلى سير العمل في الشريط العلوي، والنقر على القائمة (سهم للأسفل)، واختيار تنزيل. يقوم مدير سير العمل بحفظ ملف JSON بنظام .ga ، والذي يمكن بعد ذلك مشاركته واستخدامه من قبل أي شخص يملك نفس الأدوات على نسخة محرك سير العمل الخاص به. يمكن استيراد ذلك عبر سير العمل في الشريط العلوي | الاستيراد.
    8. شارك الأدوات عن طريق التزام مجلد galaxy-tools/ مجلد المستودع المستنسخ إلى مضيف تحكم في الإصدارات العام. اطلب من المتعاونين استنساخ هذا للحصول على الوصول إلى جميع الأدوات المعبأة في الحاويات، وتشغيلها بنفس الطريقة التي تشغل بها على جهاز الناشر المحلي.
      ملاحظة: يمكن تكوين نسخ مدير سير العمل العام، مما يتجنب المشاركة اليدوية لملفات سير العمل والأدوات بين النشرات المحلية. في هذه الحالات، تكون الأدوات متاحة لجميع المستخدمين، ويمكن نشر سير العمل والتاريخ لجميع المستخدمين الآخرين. هذا خارج نطاق هذا البروتوكول، لكن يمكن العثور على مزيد من المعلومات في شبكة Galaxy Training الرسمية حول الحصول على نشر دائم: يمكن نشر https://training.galaxyproject.org/training-material/topics/admin/tutorials/ansible-galaxy/tutorial.html أو stack compose docker المقدم في المستودع كما هو على الخادم ثم توجيهه عبر بروكسي أو وسائل مشابهة لجعله متاحا للجمهور.

3. تشغيل سير عمل من منصة الميتافيرس

  1. إطلاق سير العمل
    1. في نافذة توسيع منصة الميتافيرس، انقر على الحصول على سير العمل (التعليق 2، الشكل 5). سيتم ملء قائمة منسدلة بجميع سير العمل المتاحة على حساب محرك سير العمل المرتبطة بمفتاح واجهة برمجة التطبيقات المخزن في default.json. إذا لم يكن هذا هو الحال، تحقق من حفظ مفتاح API بشكل صحيح في ملف JSON، وأعد تشغيل تطبيق منصة الميتافيرس للتأكد من أنه يلتقط المفتاح.
    2. اختر سير العمل المعقد للقائمة ثم اضغط على الحصول على المدخلات (التعليق 4، الشكل 5). ستظهر حقول الإدخال المعرفة في سير العمل (الخطوة 2.3.2) ويجب أن تحمل نفس الاسم.
    3. لكل إدخال قائم على الملفات، انقر على اختيار الملف واستخدم نافذة مستكشف الملفات المنبثقة لاختيار الملف المحلي المقابل: dagmc.h5m لمدخل DAGMC في CAD و openmc_config.json لإدخال ملف التهيئة (Config File ).
    4. انقر على تشغيل سير العمل (التعليق 6، الشكل 5). سيتم عرض رسالة تأكيد الإطلاق في قسم المعلومات (التعليق 7). بعد الانتهاء من سير العمل، ستؤكد رسائل إضافية أن ملفات الإخراج قد تم حفظها وأن السلسلة قد انتهت.
      ملاحظة: يمكن مراقبة تقدم عمل سير العمل على واجهة الويب الخاصة بمحرك سير العمل في http://localhost:8080 من خلال الانتقال إلى Admin | Jobs. يتطلب وصول المسؤول (انظر الخطوة 1.2.2).
  2. تصور النتائج
    ملاحظة: عند الانتهاء من كل سير عمل، يقوم النظام تلقائيا بتنزيل ملفات الإخراج من محرك سير العمل إلى مجلد إخراج محلي. يتم التحكم في مسار الحفظ بواسطة مفتاح output_dir في ملف default.json الخاص بالامتداد. يتم تخزين كل تشغيل في مجلد محدد زمنيا، لذا يمكن تمييز المخرجات حسب الامتداد. إذا كانت هناك مشاكل في التصور على منصة الميتافيرس، يمكن الوصول إلى الملفات في هذه المجلدات وعرضها يدويا لمعرفة ما إذا كانت المشكلة في محرك سير العمل.
    1. في منصة الميتافيرس، قم بتوسيع قسم مدير الملفات (التعليق 1، الشكل 6) وانقر على تحديث (التعليق 2). يقوم هذا باسترجاع قائمة عمليات العمل المكتملة المحفوظة في الدليل المحلي.
    2. في قائمة المجلدات المنسدلة (التعليق 3، الشكل 6)، اختر المجلد الخاص بسير العمل الحالي (تأكد من أن هذا هو الوحيد الموجود حاليا) واضغط على تحديث مرة أخرى لملء قائمة الملفات المنسدلة بالمخرجات من تلك المرحلة.
    3. اختر ملفا من قائمة الملفات المنسدلة (التعليق 4، الشكل 6؛ حاليا تدعم ملفات .usd، .txt، .json و.out فقط) ثم انقر على سحب الملف (التعليق 5). تعرض الملفات النصية في لوحة المعلومات، وتضاف ملفات USD إلى المشهد الحالي، ويجب عرضها في النافذة الرئيسية.
    4. لمحاذاة الهندسة المستوردة مع اتفاقية الإحداثيات في أومنيفيرس، افتح لوحة المسرح على الجانب الأيمن، واختر كلا كائني سير العمل المستوردين، وفي لوحة الخصائص أسفل هذا مباشرة، قم بتعيين تدوير X على −90°. هذا يصحح عدم التوافق بين اتفاقية z-up المستخدمة في أدوات تصدير الدولار الأمريكي واتفاقية y-up في Omniverse. طبق هذا التناوب على كل من الدولار الكندي وملف الدولار الأمريكي الخاص بالمسارات؛ الحالة المتوقعة بعد المحاذاة موضحة في الشكل 8.
    5. وأخيرا، للحصول على تباين أكبر بين الأجزاء، يمكن تخصيص مواد. يتم تحقيق ذلك عن طريق فتح تبويب المواد في أسفل التطبيق، واختيار مادة، ثم السحب والإفلات إلى الهندسة في عرض المسرح في العمود الأيمن. افعل ذلك لكلا الهندسين المستوردين لزيادة التباين بينهما.

4. إضافة أدوات جديدة

ملاحظة: يصف هذا القسم عملية المطور لإنشاء ونشر أدوات سير عمل جديدة. يتطلب الوصول إلى نظام الملفات في المستودع، ووصول المسؤول إلى محرك سير العمل للتصحيح. المستخدمون الذين يحتاجون فقط إلى تشغيل الأدوات وسير العمل الحالية، أو إنشاء سير العمل، لا يحتاجون إلى اتباع هذا القسم.

  1. العملية العامة
    1. قم بتطوير واختبار سكريبت المحاكاة أو المعالجة بشكل مستقل عن محرك سير العمل قبل تغليفه. يستدعي غلاف الأدوات سكريبت عمل موجود، ولا ينصح بتنفيذ منطق جديد أثناء تطوير الأداة.
    2. جهز بيئة التنفيذ للسكريبت عن طريق إنشاء صورة Docker تتضمن جميع تبعيات وقت التشغيل (مكتبات، ملفات ثنائية، ملفات بيانات، إلخ) التي يحتاجها السكريبت.
      ملاحظة: جميع أدوات الأمثلة في هذا البروتوكول تستخدم حاويات Docker كبيئة تنفيذ. تدعم بيئات كوندا أيضا من قبل محرك سير العمل لكنها غير موضحة هنا. يمكن العثور على مزيد من المعلومات عن دوكر من خلال الوثائق الرسمية، أو يمكن العثور على دورة تمهيدية جيدة هنا: https://uomresearchit.github.io/docker-introduction/ .
    3. أنشئ ملف تعريف أداة XML يعلن عن بيئة التنفيذ (Docker في هذه الحالة)، وأمر استدعاء السكريبت، ومدخلات ومخرجات وبيانات التعريف الخاصة بالأدوات لعرضها في واجهة محرك سير العمل.
    4. بمجرد إنشاء الغلاف، ضع XML وأي سكريبتات في مجلد جديد galaxy-tools// في المستودع. أضف مدخلا جديدا للأداة في galaxy-tools/tool_conf.xml تحت وسوم <قسم> المناسبة، مشيرا إلى مسار الملف النسبي لملف XML الذي تم إنشاؤه حديثا.
      ملاحظة: تأكد من نسخ اسم هذا الملف بدقة، لأن هذا خطأ شائع عند محاولة نشر أدوات جديدة. إذا احتوى مدخل tool_conf.xml على مسار غير صحيح أو كان لدى ملف XML خطأ في النحو، فإن نسخة محرك سير العمل ستفشل في البدء. لفحص سجلات حاويات سير العمل بحثا عن رسائل خطأ، قم بتشغيل ما يلي من جذر المستودع:
      'دوكر كومبوز لوجرز جالاكسي'
      تظهر أخطاء تحليل XML كأسطر في أداة تحميل الخطأ
    5. أعد نشر محرك سير العمل لتحميل الأداة الجديدة عن طريق تشغيل سكريبت إعادة التشغيل من جذر المستودع: ./restart-galaxy.sh.
    6. تأكد من تسجيل الأداة بشكل صحيح. انتقل إلى http://localhost:8080، وحدد الأداة في لوحة الأدوات وانقر على الأداة لضمان ظهور جميع المدخلات كما هو متوقع. إذا كانت الأداة غائبة، اتبع الملاحظة أعلاه للتصحيح، وإذا كانت هناك أخطاء، تحقق من صياغة XML للأداة نفسها لأن ذلك قد يسبب أخطاء في النشر.
    7. شغل الأداة الجديدة كما كان من قبل، لكن مع مدخلات تم اختبارها سابقا. يجب أن تتحول المخرجات إلى اللون الأخضر في لوحة التاريخ
    8. إذا تعطلت الأدوات، كمسؤول، اضغط على الإخراج الفاشل (الأحمر) واضغط على أيقونة المعلومات . تعرض صفحة إخراج مفصلة وتعرض تدفقات stdout و stderr. يمكن توسيع هذه النصائح لمزيد من المعلومات حول تصحيح الأداة.
  2. أدوات بسيطة
    ملاحظة: توضح الأدوات من 1 إلى 5 أنماط التغليف بشكل متزايد التعقيد. ملف XML وأي سكريبتات لكل أداة موجودة في الدليل الفرعي المصاحب لأدوات المجرة / البسيط / / في المستودع. نشر وتشغيل كل أداة باتباع الخطوات 4.1.4–4.1.5 والقسم 2.1.
    الأداة 1 – تشغيل أمر بسيط
    1. انظر إلى ملف galaxy-tools/simple/1/1.xml . عنصر المتطلبات يحدد بيئة تنفيذ لينكس. يحتوي عنصر الأوامر على أمر الصدى للتشغيل.
    2. شغل الأداة 1 من واجهة محرك سير العمل دون الحاجة إلى ملفات إدخال. وبما أنه لا توجد ملفات إخراج محددة، كمسؤول، انتقل إلى صفحة المسؤول والوظائف ثم انقر على أيقونة المعلومات لرؤية تدفقات stdout و stderr، وهي نفس النسخة في الخطوة 4.1.8. يجب أن يحتوي تدفق stdout فقط على سلسلة 'hello world' من الأمر في ملف XML.
      الأداة 2 – استخدام الإدخال النصي
    3. انظر إلى ملف galaxy-tools/simple/2/2.xml . هناك الآن إدخال في حقل الإدخال ، مع عنصر param type ="text" وقسم الأوامر يشير الآن إلى متغير الإدخال بواسطة علامة الاسم.
    4. شغل Tool 2 كما في السابق؛ هذه المرة، أعط الأداة مدخلا من سلسلة نصية. يمكن أن يكون هذا أي شيء يرغب به المستخدم. عرض الإخراج كما في الخطوة 4.2.2، ويجب أن يكون مخرج stdout هو السلسلة التي قدمها المستخدم في إدخال الأداة.
      الأداة 3 – استخدام مدخل قائم على الملفات
    5. مرة أخرى، انظر إلى ملف الأدوات؛ الآن، بدلا من إدخال نصيب، يستخدم معلمة الإدخال وسم type="data"، الذي يسمح باستخدام ملف. يتم الإشارة إلى ذلك في قسم الأوامر كمسار ملف، مرة أخرى باستخدام اسم معامل الإدخال.
    6. أنشئ ملفا .txt باستخدام محرر نصوص محلي، وإذا لم يكن كذلك يتم تشغيله:
      'إيكو "مرحبا بالعالم من ملف" > test_files/input.txt'
      من مجلد الجذر في المستودع لتوليد مدخل المثال.
    7. قم بتحميل ملف .txt الذي تم إنشاؤه كما في الخطوة 2.1.1 ثم شغل الأداة 3 كما في السابق، مع اختيار ملف .txt المرفوع كمدخل. مرة أخرى، شاهد الملف بنفس الطريقة، ويجب عرض محتوى ملف .txt هناك. إذا استخدمت الأمر أعلاه، يجب أن يكون الناتج "hello world من ملف".
      الأداة 4 – كتابة المخرجات إلى ملف
    8. افحص galaxy-tools/simple/4/4.xml. قسم الإخراج يعلن الآن ملف إخراج مسمى يمكن الرجوع إليه في قسم الأوامر .
    9. شغل الأداة كما كان من قبل باستخدام مدخل .txt ، ولكن الآن بدلا من عرض المخرج كمسؤول، يمكن للمستخدم العادي رؤية ذلك في لوحة التاريخ هذه، وعند تشغيل ناجح، سيتحول إلى اللون الأخضر ويصبح من الممكن تحميله أو مشاهدته في محرك سير العمل كما هو موضح في الأقسام السابقة.
      الأداة 5 – تشغيل السكريبتات في الأدوات
    10. افحص أداة galaxy-tools/simple/5/5.xml والسكريبت المصاحب في بايثون galaxy-tools/simple/5/5.py. في XML، يشير الأمر إلى سكريبت بايثون من مجلد الأدوات، وقسم المتطلبات الآن يشير إلى صورة بايثون لأن بايثون مطلوبة لتشغيل السكريبت.
    11. قم بنشر وتشغيل الأداة بنفس الطريقة، ويجب أن تتصرف بنفس طريقة الأداة 4 (الخطوة 4.2.9) لكن هذه المرة تشغل سكريبت بدلا من الأمر مباشرة.
  3. مثال على أداة معقدة
    ملاحظة: يوثق هذا القسم تطور أداة النيوترونيات كمثال عملي على النمط الموضح في القسم 4.1. الملفات ذات الصلة موجودة في galaxy-tools/complex/openmc/. نفس النمط يعمم على أي كود محاكاة أو معالجة.
    1. طور سكريبت التشغيل للمحاكاة. في هذا المثال، يقوم السكربت التشغيلي galaxy-tools/complex/openmc/openmc_run.py بتحليل ملف الإعدادات (openmc_config.json)، ويكتب ملف إعدادات النيوتروني، وينفذ المحاكاة. اختبر السكريبت مباشرة من سطر الأوامر قبل تغليفه في صورة Docker.
    2. ابن بيئة تنفيذ Docker باستخدام ملف Docker على galaxy-tools/complex/openmc/Dockerfile. هذا يوسع الصورة العامة ببعض الحزم الإضافية. قم ببناء ووضع علامات محلية أو الإشارة إليها من سجل الحاويات.
    3. أنشئ غلاف XML galaxy-tools/complex/openmc/openmc.xml، مع إعلان صورة Docker من الخطوة 4.3.2 في قسم المتطلبات . يجب أيضا تعريف أمر التشغيل مع ملفات الإدخال والإخراج (كما في المثال في القسم 4.2).
    4. نشر الأداة كما في الخطوات 4.1.4-4.1.7 ثم استخدم مدخلات الاختبار المستخدمة في القسم 2 للتأكد من أن الأداة تعمل بشكل صحيح.
      ملاحظة: الأدوات المتبقية في النسخة (المسارات من h5 إلى vtp، CAD h5m إلى vtk، h5m إلى stl، stl إلى obj، vtp إلى obj، obj إلى USD) هي محولات بتنسيق ملفات تتبع نفس نمط التطوير. ملفات XML الخاصة بهم موجودة في مجلد galaxy-tools/complex/ ويمكن أن تكون أمثلة مرجعية إضافية.

5. ربط سير العمل بالميتافيرس

ملاحظة: يوفر هذا القسم مواد مرجعية للمطورين تصف تكامل واجهة برمجة التطبيقات لمحرك سير العمل وبنية امتداد منصة الميتافيرس. يجب على المستخدمين الذين يحتاجون فقط لتشغيل سير العمل من منصة الميتافيرس اتباع القسم 3 ولا يحتاجون لقراءة هذا القسم. يجب على المطورين الراغبين في ربط تطبيق واجهة أمامية مختلف بمحرك سير العمل أن يبدأوا من القسم 5.1.

  1. واجهة برمجة تطبيقات محرك سير العمل
    ملاحظة: Galaxy تعرض واجهة برمجة تطبيقات RESTful. توفر مكتبة بايثون في Bioblend غلافا أعلى المستوى حول هذه الواجهة وهي أساس جميع سكريبتات المساعدة المستخدمة في هذا البروتوكول. يتم تثبيت Bioblend تلقائيا داخل بيئات تنفيذ Docker ذات الصلة المقدمة في المستودع.
    1. استيراد Bioblend وإنشاء اتصال بمحرك سير العمل الجاري عن طريق إنشاء كائن GalaxyInstance بعنوان الخادم ومفتاح API من Step 1.5.2. بلغة بايثون في بيئة تحتوي على Bioblend مثبت:
      `من bioblend.galaxy استيراد GalaxyInstance
      gi = GalaxyInstance(url='http://localhost:8080', key=)'
      ملاحظة: هذا سيعمل فقط في عمليات النشر المحلية، إذا تم نشر محرك سير العمل على جهاز بعيد، استبدل المضيف المحلي بعنوان ومنفذ النسخة المكونة.
    2. استخدم وظائف المساعدة في galaxy-api/helper_functs.py لأداء العمليات الشائعة: سرد سير العمل المتاح (get_workflows)، واسترجاع تعريفات إدخال سير العمل (get_inputs)، وتشغيل سير عمل مع ملفات إدخال محددة (launch_workflow). راجع سلاسل المستندات الداخلية في ذلك الملف للحصول على توقيعات الدوال وأنواع الإرجاع المتوقعة.
    3. قم بتوسيع helper_functs.py بوظائف أخرى حسب الطلب حسب التطبيق. يمكن العثور على واجهة برمجة التطبيقات المرجعية الكاملة على https://bioblend.readthedocs.io.
  2. ربط سير العمل بالميتافيرس
    ملاحظة: يصف هذا القسم فقط بنية امتداد منصة الميتافيرس حتى يتمكن المطورون من تكييفها لمخرجات سير عمل مختلفة، أو أنواع ملفات إضافية، أو منصات ميتافيرس بديلة.
    1. افتح نقطة الدخول الرئيسية للامتداد في omni_exts/omni.galaxy.example/. يستخدم هذا الامتداد امتداد Omniverse الأساسيرقم 15 كنقطة انطلاق. ثم تضيف جميع الوظائف من ملف API Python الخاص بدوال المساعدة الموضحة في الخطوة 5.1.2 وتوفر واجهة مستخدم رسومية للتفاعل مع سير العمل.
    2. عند إطلاق سير العمل، يتم تنزيل البيانات التي تنتجها تلقائيا من محرك سير العمل وتخزينها محليا، مما يسمح بعرضها على منصة الميتافيرس. وهذا يسمح أيضا بحفظ البيانات الوصفية التي تم إنشاؤها أثناء سير العمل وجعلها متاحة، مما يوفر مصدر بيانات المحاكاة.
    3. يستخدم هذا التطبيق مكتبة omni.ui الأصلية في Omniverse لبناء الواجهة. الامتداد الرئيسي موجود في مجلد الإضافة، والتنفيذ الأساسي للواجهة موجود في ملف omni_exts/omni.galaxy.example/omni/galaxy/example/window.py .

الوصول مقيد. يرجى تسجيل الدخول أو بدء فترة تجريبية لعرض هذا المحتوى.

النتائج

إذا تم تشغيل المحاكاة باستخدام المدخلات المقدمة في مستودع git، يجب الحصول على النتائج التالية:

عند إكمال Step 2.1.3 بنجاح، ستظهر كل من مجموعات بيانات مخرجات TBR وTracks في لوحة التاريخ باللون الأخضر، مما يشير إلى نجاح التشغيل. قيمة ممثلة لقراءة القراءة باستخدام ملف التكوين المرفق (5 دفعات من 1000 جسيم) تساوي تقريبا 0.76، مع اختلافات بين التشغيلات حوالي ±0.01. لذلك، يجب اعتبار أي قيمة يتم الحصول عليها لنسبة الق...

الوصول مقيد. يرجى تسجيل الدخول أو بدء فترة تجريبية لعرض هذا المحتوى.

المناقشة

هناك بعض الخطوات الأساسية ضمن البروتوكول. معظمها يتعلق بالإعداد الأولي لنسخة محرك سير العمل مثل: إضافة بريد المسؤول الإلكتروني (خطوة البروتوكول 1.2.2) لأن ذلك مطلوب للوصول إلى الأدوات ولوحات المهام؛ توليد مفتاح API بشكل صحيح لامتداد منصة الميتافيرس (خطوة البروتوكول 1.5.3) ولصقه بشكل صحيح في ملف القيم الافتراضية؛ وعند إضافة الأدوات، والتأكد من إضافتها إلى ملف إعدادات الأداة (خطوة البروتوكول 4.1.6) قبل إعادة التشغيل، حيث يتم تحميلها عند بدء التشغيل، قد لا تكون الأخطاء هنا واضحة أيضا من سجل...

الوصول مقيد. يرجى تسجيل الدخول أو بدء فترة تجريبية لعرض هذا المحتوى.

الإفصاحات

لا يوجد لدى المؤلفين تضارب مصالح للكشف عنها.

شكر وتقدير

وقد تم دعم هذا المشروع من قبل هيئة الطاقة الذرية البريطانية من خلال برنامج صناعة الاندماج. برنامج صناعة الاندماج يحفز نمو نظام الاندماج في المملكة المتحدة ويهيئه لسوق محطات الطاقة الاندماجي العالمي المستقبلي. يمكن العثور على مزيد من المعلومات حول برنامج صناعة الاندماج عبر الإنترنت: https://ccfe.ukaea.uk/programmes/fusion-industry-programme/

المستودع النموذجي المرافق لهذا البروتوكول متوفر على https://github.com/williamjsmith15/galaxy-omniverse-example (تفرع عام https://github.com/UoMResearchIT/omniverse-workflows-fusion).

الوصول مقيد. يرجى تسجيل الدخول أو بدء فترة تجريبية لعرض هذا المحتوى.

المواد

قائمة المواد المستخدمة في هذه المقالة
الاسمالشركةرقم فهرسيالتعليقات
Bioblendمشروع Galaxyv1.2+مكتبة Python توفر غلافًا عاليًا حول Galaxy REST API. يتم استخدامها في البرامج النصية المساعدة لامتداد Omniverse لسرد سير العمل، واسترجاع تعريفات الإدخال، وإطلاق المهام. يتم تثبيتها تلقائيًا داخل صور Docker ذات الصلة؛ لا يلزم تثبيت المضيف.
حاويات DockerDockerv24.0.5بيئة تشغيل التحويط المستخدمة لتغليف كل محاكاة وأداة ما بعد المعالجة مع جميع تبعياتها، مما يضمن إمكانية النقل والتكرار.
Galaxyمشروع Galaxyv22.05محرك سير عمل مفتوح المصدر يستخدم لتنظيم أدوات المحاكاة والمعالجة المتسلسلة وتعرضها عبر واجهة برمجة التطبيقات REST.
GitGit SCMv2+مطلوب لنسخ المستودع لمتابعة البروتوكول
NVIDIA RTX GPUNVIDIA-مطلوب للتقديم بتقنية التتبع الشعاعي في الوقت الحقيقي في Omniverse (القسم 3). يمكن للمستخدمين الذين ليس لديهم أجهزة RTX إكمال جميع الخطوات حتى القسم 2 واستخدام ParaView للعرض (انظر المناقشة).
OmniverseNVIDIAالإصدار 2022.3.3منصة 3D تعاونية من NVIDIA. يتم استخدامها كواجهة أمامية للتصور والتفاعل لمخرجات سير العمل عبر امتداد Kit مخصص.
ParaViewKitwarev5.11تطبيق تصور علمي مفتوح المصدر يستخدم كبديل غير RTX لفحص مخرجات .vtk/.vtp الوسيطة.
مستودع البروتوكولاتمخصصv1.0يحتوي على تكوين Galaxy إلى جانب جميع ملفات غلاف XML للأدوات، وسيناريوهات التشغيل، وملفات Dockerfile، والبيانات الاختبارية، وامتداد Omniverse. يتم نسخي في الخطوة 1.2.1. كما يتم توفير الملفات الرئيسية كملاحق مباشرة (انظر I.2).
PythonPythonv3.10+بيئة تشغيل مطلوبة لتشغيل سكريبت OpenMC وبرامج Omniverse النصية المساعدة. يتم تضمينها داخل صور Docker ذات الصلة أو مع تنزيل Omniverse؛ لا يلزم تثبيت منفصل للمضيف.
The OpenMC Monte Carlo CodeOpenMCv0.13.3كود نقل الجسيمات Monte Carlo مفتوح المصدر المستخدم هنا لمحاكاة نيوترونيات الاندماج. يوفر نسبة تكوين التريتيوم (TBR) ومخرجات مسارات النيوترون.
Windows Subsystem for Linux (WSL)Microsoftv2مطلوب لتشغيل Docker على مضيفي Windows (التثبيت عبر `wsl --install` في powershell). لا يحتاج مستخدمو Linux و Mac لهذا.

إعادة الطباعة والأذونات

الوسوم

233 233