Nou nou نشر 6 أبريل 2023 أرسل تقرير نشر 6 أبريل 2023 (معدل) كيفية كتابة معادلة شرودنجر في البايثون تم التعديل في 6 أبريل 2023 بواسطة Mustafa Suleiman تعديل عنوان السؤال 1 اقتباس
0 Mustafa Suleiman نشر 6 أبريل 2023 أرسل تقرير نشر 6 أبريل 2023 باستطاعتك كتابة معادلة شرودنجر في البايثون باستخدام مكتبة SciPy. وفيما يلي مثال على كيفية فعل ذلك: import numpy as np from scipy.integrate import odeint from scipy.constants import hbar # تحديد الثوابت m = 9.10938356e-31 # كتلة الالكترون L = 1e-9 # طول الصندوق N = 1000 # عدد النقاط dx = L / (N - 1) # تحديد مقدار الخطوة # تعريف الدالة الجذرية def psi(x, n): return np.sqrt(2 / L) * np.sin(n * np.pi * x / L) # تعريف الدالة الموجية def wavefunction(x, t, n): # تحديد الطاقة E = (n ** 2 * np.pi ** 2 * hbar ** 2) / (2 * m * L ** 2) # تحديد معامل الانحراف V = np.zeros(N) V[(x < L / 2) & (x > L / 4)] = 1e6 # حل معادلة شرودنجر باستخدام odeint dpsi_dt = np.zeros(N) dpsi_dt[1:-1] = (hbar / (2 * m * dx ** 2)) * (psi(x[2:], n) + psi(x[:-2], n) - 2 * psi(x[1:-1], n)) + (V[1:-1] - E) * psi(x[1:-1], n) / hbar return dpsi_dt # تحديد الزمن t = np.linspace(0, 1e-15, 100) # تحديد نسبة الاهتزاز n = 1 # حساب حالة الموجة للنسبة المحددة x = np.linspace(0, L, N) psi_0 = psi(x, n) psi_t = odeint(wavefunction, psi_0, t, args=(n,)) # رسم حالة الموجة في الزمن import matplotlib.pyplot as plt fig, ax = plt.subplots() ax.plot(x, np.abs(psi_t[0]) ** 2, label='t=0') ax.plot(x, np.abs(psi_t[50]) ** 2, label='t=0.5 fs') ax.plot(x, np.abs(psi_t[-1]) ** 2, label='t=1 fs') ax.set_xlabel('x (m)') ax.set_ylabel(r'$|\psi(x, t)|^2$') ax.legend() plt.show() الكود السابق يعمل على بحساب حالة الموجة لصندوق كمي مربع الشكل باستخدام معادلة شرودنجر. يتم تمثيل نتائج الحساب بواسطة رسم بياني يعرض حالة الموجة في الزمن، وحساب حالة الموجة في الزمن باستخدام دالة odeint الموجودة في مكتبة SciPy، ثمتحديد الثوابت مثل الكتلة وطول الصندوق وعدد النقاط ومقدار الخطوة. وتتمثل الفكرة الأساسية في تحديد الطاقة ومعامل الانحراف وحل معادلة شرودنجر باستخدام odeint، لتمثيل الحل بواسطة رسم بياني لحالة الموجة في الزمن. اقتباس
0 Nou nou نشر 6 أبريل 2023 الكاتب أرسل تقرير نشر 6 أبريل 2023 نكتب لي بعثتهولي في بيثون يخرجلي رسم البيان ولا نن اقتباس
السؤال
Nou nou
كيفية كتابة معادلة شرودنجر في البايثون
تم التعديل في بواسطة Mustafa Suleimanتعديل عنوان السؤال
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.