عن المشروع

jaxphys هو محرك فيزياء تفاضلي مسرَّع بواسطة GPU ومبني على JAX. يستهدف سدّ فجوة بين أكواد بحثية ثقيلة (FEniCS وOpenFOAM وCOMSOL) يصعب تثبيتها وليست تفاضلية، ومكتبات تعليمية تعمل على CPU فقط وبمستوى لعبي. كل شيء مكتوب بـ JAX خالص، لذا تعمل المحاكاات تحت jax.jit وjax.vmap وjax.grad. المجالات والحلّالات المغطاة: - الميكانيكا الكلاسيكية: أنظمة لاغرانج وهاميلتون، أويلر السمبلكتيكي، leapfrog (Störmer-Verlet)، Yoshida-4، RK4، أويلر، N-body بطريقة velocity-Verlet، الأجسام الصلبة، مُخطِّي RK45 التكيفي. - الكم: حلّالات شرودنغر بطريقة split-operator في 1D و2D، الحالات الذاتية بالفروق المنتهية، بنى النطاقات tight-binding، سلاسل سبين هايزنبرغ عبر القطرنة التامة، معادلة ليندبلاد الرئيسية. - الكهرومغناطيسية: FDTD (2D TM و3D) مع PML بحقل منقسم، FDFD (2D TM) مع PML بإحداثيات ممتدة، شحنات مدفوعة بـ Boris، أنماط الدليل الموجي المستطيل. - الموائع: SPH ضعيفة الانضغاط، أويلر الانضغاطي (1D MUSCL-HLLC)، Lattice Boltzmann D2Q9، Navier-Stokes بصيغة vorticity-streamfunction. - الميكانيكا الإحصائية: Ising Metropolis (checkerboard) وWolff cluster Monte Carlo، إحصاء بولتزمان (أخذ العينات مونت كارلو نفسه ليس تفاضلياً). - البصريات: تتبع الأشعة ABCD، انعراج فراونهوفر. سير عمل أساسي هو تعريف لاغرانجيان وترك التفاضل التلقائي في JAX يولّد معادلات الحركة، ثم التحسين عبر مسارات كاملة. توفّر وحدة optimize تحسيناً قائماً على التدرج، وتحليل حساسية، ومسحاً شبكياً للمعاملات، وتنقيحاً لأفضل نقاط المسح. المكاملات موثّقة بالرتبة وخصائصها السمبلكتيكية؛ تفترض المكاملات السمبلكتيكية معادلات هاميلتون قابلة للفصل، لذا يقبل LagrangianSystem.simulate فقط euler وrk4، بينما يُستخدم HamiltonianSystem للتكامل السمبلكتيكي. يذكر README قياسات أداء على CPU فقط مقابل خطوط أساس NumPy متجهة (مثلاً N-body 16.3x، FDTD 3D 8.4x، شرودنغر 2D 1.7x، SPH 0.6x حيث يفوز خط أساس SciPy cKDTree على CPU)، مع التحذير بأن القياسات من حاوية سحابية مشتركة بأربعة أنوية ولم تُقس أي أرقام على GPU. تتحقق مجموعة تحقق من الحلّالات مقابل نتائج تحليلية أو مستقلة: خطأ طاقة كبلر محدود لـ leapfrog وYoshida-4 بينما ينحرف RK4، رتب تقارب مقيسة، درجة حرارة Ising الحرجة من تقاطعات Binder-cumulant، أنماط تجويف FDTD مقابل علاقة تشتت Yee، حفظ معيار شرودنغر ودقة الحزمة الحرة، تلاشي قناة LBM ومقطع Poiseuille، خطأ L1 لأنبوب صدم Sod، FDFD مقابل دالة Green من نوع Hankel، وتدرجات jax.grad مقارنة بالفروق المنتهية المركزية. التثبيت عبر pip install jaxphys؛ تغطي الأمثلة بندولاً مزدوجاً، وتحسين مقذوف، ونفقاً كمومياً، وانعراج FDTD وإشعاع ثنائي قطب 3D، وانتقال طور Ising، وشارع دوامات Kármán، واستهداف مسار مركبة فضائية، وسكربت قياس أداء. يستخدم التطوير pytest وruff وmypy، مع عرض توضيحي دون اتصال قابل للتشغيل عبر uv. المشروع مرخّص بـ MIT ويستشهد بمراجع فيزيائية ومراجع تكامل عددي قياسية.