আমি একজন পদার্থবিজ্ঞানী যিনি একটি সুপারকন্ডাক্টর-সুপারকন্ডাক্টর জংশনের বর্তমান-ভোল্টেজ বৈশিষ্ট্যগুলি মডেল করার চেষ্টা করছেন।
সমীকরণ এই মডেল জন্য হল:
প্রদত্ত ভোল্টেজের ( , বা কোডে) জন্য এই অবিচ্ছেদ্য মূল্যায়ন করে বর্তমান ( বা কোডে) মানগুলি গণনা করা হয় ।I
v
আমি পাইথনে এটি চেষ্টা করেছি। কোড নীচে প্রদর্শিত হয়।
from scipy import integrate
from numpy import *
import pylab as pl
import math
ec = 1.6021764*10**(-19)
r = 2500
gap = 200*10**(-6)*ec
g = (gap)**2
t = 0.04
k = 1.3806503*10**(-23)
kt = k*t
v_values = arange(0,0.001,0.00001)
I=[]
for v in v_values:
result, error = integrate.quad (lambda E:(abs(E)/sqrt((E**2-g)))*(abs(E+ec*v)/(sqrt(((E+ec*v)**2-g))))*(math.exp(-E/kt)*(math.exp(-ec*v/kt)-1)),(-inf),(-gap*0.9-ec*v))
I.append(result)
I = array(I)
I2=[]
for v in v_values:
result2 = integrate.quad(lambda E:(abs(E)/sqrt((E**2-g)))*(abs(E+ec*v)/(sqrt(((E+ec*v)**2-g))))*(math.exp(-E/kt)*(math.exp(-ec*v/kt)-1)),(gap*0.9),(inf))
I2.append(result2)
I2 = array(I2)
pl.plot(v_values,I,'-b',v_values,I2,'-r')
pl.xlabel(r'Voltage ($V$)')
pl.ylabel(r'Current ($A$)')
pl.title('Theoretical I(V) curve')
pl.grid(True)
pl.savefig('IVcurve.png')
pl.show()
তবে, আমি গ্রহণ OverflowError: math range error
। এটি কীভাবে কাটিয়ে উঠতে পারে তার কারও কি ধারণা আছে? 10**n
দীর্ঘতর ইন্টিগ্রালের জন্য ক্ষমা প্রার্থনা করছি । এক্সপেনশিয়ালগুলি মুছে ফেলা হলে কোডটি চালিত হয় (0 রিটার্ন করে) এবং এর মধ্যেই সমস্যাটি রয়েছে।
পাইথন বা অন্য কোনও ভাষায় এটিকে কীভাবে মডেল করা যায়?