आंशिक अंतर समीकरण (PDE) विभिन्न भौतिक घटनाओं जैसे गर्मी हस्तांतरण, लहर प्रचार और द्रव गतिशीलता को मॉडल करने में मौलिक हैं। NumPy और SciPy जैसे पायथन पुस्तकालयों का उपयोग करके इन समीकरणों को संख्यात्मक रूप से हल करने की प्रक्रिया को सरल बना देता है। यह लेख इन उपकरणों के साथ PDEs को हल करने के लिए एक कदम दर कदम दृष्टिकोण प्रदान करता है।

समस्या की स्थापना

PDE और डोमेन को परिभाषित करके शुरू करें। उदाहरण के लिए, एक आयामी गर्मी समीकरण पर विचार करें:

waru/vat = α λ2u/walx2 ]

प्रारंभिक स्थितियों, सीमा की स्थिति और मापदंडों जैसे थर्मल diffusivity निर्दिष्ट करें α].

डोमेन को निर्दिष्ट करना

NumPy arrays का उपयोग करके विचारशील बिंदुओं में स्थानिक डोमेन को विभाजित करें। उदाहरण के लिए, बिंदुओं का एक ग्रिड बनाएं:

]]

x = np.linspace(0, 1, 100) ]

संख्यात्मक स्थिरता और सटीकता को नियंत्रित करने के लिए समय कदम और कुल सिमुलेशन समय निर्धारित करें।

न्यूमेरिकल विधि को कार्यान्वित करना

इसके अलावा, एक स्पष्ट योजना तापमान को प्रत्येक बिंदु पर अद्यतन करती है:

u new = u + r * (u[i+1] - 2 *u[i] + u[i-1])]]

जहाँ ]r] एक स्थिरता पैरामीटर है जिसे α * dt / dx2]]]] के रूप में गणना की जाती है।

सिमुलेशन चलाना

समय के साथ इटरेट करें, प्रत्येक पुनरावृत्ति पर समाधान सरणी को अद्यतन करें। दक्षता के लिए NumPy ऑपरेशन का उपयोग करें:

]]} n in line(steps):]

  u[1:-1] = u[1:-1] + r * (u[2:] - 2*u[1:-1] + u[:-2])

प्रत्येक अद्यतन के बाद समस्या को रोकने के लिए सीमा की स्थिति लागू करें।

दृश्य परिणाम

समय के साथ तापमान वितरण को देखने के लिए Matplotlib जैसे पुस्तकालयों का उपयोग करें। प्रसार प्रक्रिया का निरीक्षण करने के लिए प्रारंभिक और अंतिम राज्यों को प्लॉट करें।

उदाहरण कोड:

]imit matplotlib.pyplot plt]

plt.plot(x, u)]]