इस प्रोजेक्ट के बारे में

jaxphys एक GPU-त्वरित अवकलनीय भौतिकी इंजन है जो JAX पर बना है। यह भारी-भरकम शोध कोड (FEniCS, OpenFOAM, COMSOL) जो इंस्टॉल करना कठिन है और अवकलनीय नहीं है, और शैक्षिक लाइब्रेरी जो केवल CPU-आधारित और खिलौना-स्तर की हैं, के बीच के अंतर को लक्षित करता है। सब कुछ शुद्ध JAX है, इसलिए सिमुलेशन jax.jit, jax.vmap और jax.grad के अंतर्गत चलते हैं। कवर किए गए क्षेत्र और सॉल्वर: - शास्त्रीय यांत्रिकी: लैग्रेंजियन और हैमिल्टनियन सिस्टम, सिम्प्लेक्टिक यूलर, लीपफ्रॉग (Störmer-Verlet), Yoshida-4, RK4, यूलर, वेलोसिटी-Verlet N-body, रिजिड बॉडी, अनुकूली RK45 स्टेपर। - क्वांटम: 1D और 2D में स्प्लिट-ऑपरेटर श्रोडिंगर सॉल्वर, परिमित-अंतर आइगेनस्टेट, टाइट-बाइंडिंग बैंड स्ट्रक्चर, सटीक विकर्णीकरण के माध्यम से हाइजेनबर्ग स्पिन चेन, लिंडब्लाड मास्टर समीकरण। - विद्युतचुंबकत्व: स्प्लिट-फील्ड PML के साथ FDTD (2D TM और 3D), स्ट्रेच्ड-कोऑर्डिनेट PML के साथ FDFD (2D TM), बोरिस-पुश्ड चार्ज, आयताकार वेवगाइड मोड। - तरल पदार्थ: कमजोर रूप से संपीड्य SPH, संपीड्य यूलर (1D MUSCL-HLLC), लैटिस बोल्ट्ज़मैन D2Q9, वोर्टिसिटी-स्ट्रीमफंक्शन नेवियर-स्टोक्स। - सांख्यिकीय यांत्रिकी: आइसिंग मेट्रोपोलिस (चेकरबोर्ड) और वोल्फ क्लस्टर मोंटे कार्लो, बोल्ट्ज़मैन सांख्यिकी (मोंटे कार्लो सैंपलिंग स्वयं अवकलनीय नहीं है)। - प्रकाशिकी: ABCD रे ट्रेसिंग, फ्राउनहोफर विवर्तन। एक प्रमुख कार्यप्रवाह लैग्रेंजियन को परिभाषित करना और JAX ऑटोडिफ को गति के समीकरण उत्पन्न करने देना है, फिर पूरे प्रक्षेपवक्र के माध्यम से अनुकूलन करना। optimize मॉड्यूल ग्रेडिएंट-आधारित अनुकूलन, संवेदनशीलता विश्लेषण, पैरामीटर ग्रिड स्वीप और सर्वोत्तम स्वीप बिंदुओं का परिष्करण प्रदान करता है। इंटीग्रेटर क्रम और सिम्प्लेक्टिक गुणों के साथ प्रलेखित हैं; सिम्प्लेक्टिक इंटीग्रेटर अलग-अलग हैमिल्टन समीकरण मानते हैं, इसलिए LagrangianSystem.simulate केवल euler और rk4 स्वीकार करता है, जबकि सिम्प्लेक्टिक एकीकरण के लिए HamiltonianSystem का उपयोग किया जाता है। README वेक्टराइज्ड NumPy बेसलाइन के विरुद्ध केवल-CPU बेंचमार्क रिपोर्ट करता है (उदाहरण के लिए N-body 16.3x, FDTD 3D 8.4x, श्रोडिंगर 2D 1.7x, SPH 0.6x जहां SciPy cKDTree बेसलाइन CPU पर जीतती है), इस चेतावनी के साथ कि माप एक साझा 4-कोर क्लाउड कंटेनर से आते हैं और कोई GPU संख्या नहीं मापी गई। एक सत्यापन सूट सॉल्वर को विश्लेषणात्मक या स्वतंत्र परिणामों के विरुद्ध जांचता है: लीपफ्रॉग और Yoshida-4 के लिए केप्लर ऊर्जा त्रुटि परिबद्ध जबकि RK4 ड्रिफ्ट करता है, मापा गया अभिसरण क्रम, बाइंडर-क्यूमुलेंट क्रॉसिंग से आइसिंग क्रिटिकल तापमान, Yee डिस्पर्शन संबंध के विरुद्ध FDTD कैविटी मोड, श्रोडिंगर नॉर्म संरक्षण और मुक्त-पैकेट सटीकता, LBM चैनल क्षय और पोइज़ुइल प्रोफाइल, Sod शॉक ट्यूब L1 त्रुटि, हांकेल ग्रीन फंक्शन के विरुद्ध FDFD, और केंद्रीय परिमित अंतरों के साथ तुलना किए गए jax.grad ग्रेडिएंट। इंस्टॉलेशन pip install jaxphys के माध्यम से है; उदाहरणों में डबल पेंडुलम, प्रक्षेप्य अनुकूलन, क्वांटम टनलिंग, FDTD विवर्तन और 3D द्विध्रुव विकिरण, आइसिंग चरण संक्रमण, कार्मन वोर्टेक्स स्ट्रीट, अंतरिक्ष यान प्रक्षेपवक्र लक्ष्यीकरण और एक बेंचमार्क स्क्रिप्ट शामिल हैं। विकास pytest, ruff और mypy का उपयोग करता है, uv के माध्यम से चलाने योग्य एक ऑफ़लाइन डेमो के साथ। परियोजना MIT लाइसेंस प्राप्त है और मानक भौतिकी और संख्यात्मक-एकीकरण संदर्भों का हवाला देती है।