يطبق المأزق حلال التحسين للتحكم الكمي المثالي المفتوح والمغلق. يفتح نموذج الديناميات الكموميات الكامنة أو أنظمة الكم المغلقة ، باستخدام معادلة Schroedinger لمتجه الحالة (مغلق) ، أو معادلة Lindblad الرئيسية لمصفوفة الكثافة (مفتوحة). تهدف مشكلة التحكم إلى العثور على نبضات التحكم التي تدفع النظام إلى الهدف المطلوب ، مثل مشغل المحلول الوحدوي المستهدف أو إلى حالة مستهدفة محددة مسبقًا. يستهدف المأزق النشر على منصات الحوسبة عالية الأداء ، مما يوفر مستويات مختلفة للتوازي باستخدام نموذج تمرير الرسائل.
يُنصح بالنظر إلى دليل المستخدم في doc/ ، واصفا النماذج الرياضية الأساسية ، وتنفيذها واستخدامها في مأزق.
لا تتردد في الوصول إلى Stefanie Guenther [[email protected]] لأي سؤال قد تكون لديك.
يعتمد هذا المشروع على PetSC [https://petsc.org/release/] للتعامل مع الجبر الخطي (الموازي). اختياريا SLEPSC [https://slepc.upv.es] يمكن استخدامها لحل بعض مشاكل القيمة الذاتية إذا رغبت في ذلك (على سبيل المثال بالنسبة إلى Hessian ...)
مطلوب: تثبيت petsc:
تحقق من [https://petsc.org/release/] للحصول على أحدث دليل للتثبيت. على MacOS ، يمكنك أيضًا brew install petsc . كبداية سريعة ، يمكنك أيضًا تجربة ما يلي:
tar -xf petsc-<version>.tar.gzcd petsc-<version>./configure . يرجى التحقق [https://petsc.org/release/install/install_tutorial] للحصول على وسيط اختياري. على سبيل المثال ، ./configure --prefix=/YOUR/INSTALL/DIR --with-debugging=0 --with-fc=0 --with-cxx=mpicxx --with-cc=mpicc COPTFLAGS='-O3' CXXOPTFLAGS='-O3'./configure تقارير PETSC_ARCH كيفية تعيين متغيرات PETSC_DIRexport PETSC_DIR=/YOUR/INSTALL/DIRexport PETSC_ARCH=/YOUR/ARCH/PREFIXLD_LIBRARY_PATH :export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PETSC_DIR/$PETSC_ARCH/libاختياري: تثبيت SLEPSC
تم تثبيت PETC بالفعل على آلات LLNL LC ، انظر هنا [https://hpc.llnl.gov/software/mathematical-software/petsc]. يقع في '/usr/tce/packages/petsc/'. لاستخدامه ، قم بتصدير متغير "petsc_dir" للإشارة إلى مجلد PetSC ، وإضافة المجلد الفرعي "lib" إلى متغير "ld_library_path`:
export PETSC_DIR=/usr/tce/packages/petsc/<version> (تحقق من اسم المجلد لرقم الإصدار)export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PETSC_DIR/libليس هناك حاجة إلى متغير "petsc_arch" في هذه الحالة.
اعتمادًا على الإعداد الخاص بك ، قد تحتاج إلى تحميل بعض الوحدات الإضافية ، مثل OpenMPI ، على سبيل المثال:
module load openmpiقم بتكييف بداية "Makefile" لتعيين المسار على تثبيت PetSC (وربما SLEPSC ، و Python Path ، و FitPackpp) ، إن لم يتم تصديره. ثم،
make cleanup لتنظيف دليل البناء. (لاحظ ما يصل في التنظيف .)make quandary لبناء الكود (أو "جعل -j quandary" للبناء بشكل أسرع باستخدام مؤشرات ترابط متعددة) يُنصح بإضافة مأزق إلى PATH ، على سبيل المثال
export PATH=$PATH:/path/to/quandary/ اختياري: لتشغيل مأزق من داخل بيئة بيثون ، يجب أن يكون لديك مترجم بيثون يعمل مع تثبيت Numpy و Matplotlib. ثم ، إلحاق موقع Quandary إلى PYTHONPATH الخاص بك ، على سبيل المثال مع
export PYTHONPATH=$PYTHONPATH:/path/to/quandary/ ورفع نظرة على الأمثلة. رمز يبني في quandary القابل للتنفيذ. يستغرق واحدة من الوسيطة هي اسم ملف تكوين حالة الاختبار. الملف config_template.cfg ، يسرد جميع خيارات التكوين الممكنة. تم ملء ملف التكوين بالتعليقات التي يجب أن تساعد المستخدمين على إعداد حالة الاختبار الخاصة بهم ومطابقة الخيارات مع الوصف في دليل المستخدم. قارن أيضًا مجلد الأمثلة.
./quandary config_template.cfgmpirun -np 4 ./quandary config_template.cfg --quietQuandary هو مشروع مفتوح المصدر يخضع للتنمية الثقيلة. المساهمات في جميع النماذج موضع ترحيب للغاية ، ويمكن أن تكون أي شيء من الميزات الجديدة إلى الإثارات أو الوثائق أو حتى المناقشات. المساهمة سهلة ، والعمل على فرعك ، وإنشاء طلب سحب لإتقانه عندما تكون على ما يرام واختبارات الانحدار في "الاختبارات/".
يتم توزيع المأزق بموجب شروط ترخيص معهد ماساتشوستس للتكنولوجيا. يجب تقديم جميع المساهمات الجديدة بموجب هذا الترخيص. انظر الترخيص ، وإشعار ، للحصول على التفاصيل.
spdx-recense-idention: MIT