import math
#initialisation of variables
Nd=3*10**14
Na=0.5*10**14 #all in atom/cm**3
ni=1.5*10**10
#Calculations
print("resultant densities of free electrons and hole")
ne=(-(Na-Nd)+(math.sqrt(((Na-Nd)**2)+4*ni**2)))/2
print("Electron densities = %.1f x 10^14 electron/cm**3" %(ne/(10**14))) #electron densities in electron/cm**3
Nd>Na
n=Nd-Na
print(n)
p=(ni**2)/n
#Results
print("densities of hole is =%.1f X 10^6 dhole/cm3" %(p/(10**6)))
import math
#initialisation of variables
l=1*10**-3
E=10
#Calculations
un=1500*10**-4
up=500*10-4
Vn=-(un*E)/l
#Results
print("drift current is =%.2dm/s\n" %Vn)
print("drift current of hole")
Vp=(up*E)/l
print("drift current is =%.f dm/s\n" %(Vp/10**5))
import math
#initialisation of variables
l=1*10**-3
a=0.1*10**-4
ni=1.5*10**10
p=1.5*10**10
un=1500
up=500 #in cm3/V.s
q=1.6*10**-19
#Calculations
m=q*((ni*un)+(p*up))*10**6
print( "mobility is =%.1fmicro/ohmcm" %m)
R=l/(m*a)
print(" resistance is =%.1fMohm" %R)
#for doped material
n=8*10**13
p=(ni**2)/n
m=q*((n*un)+(p*up))
#Results
print("mobility is =%3.4f/ohmcm" %m)
R=l/(m*a)
print(" resistance is %.2f Kohm" %(R/1000))
import math
#initialisation of variables
T1=25.0
T2=35.0
T3=45.0
I0=30.0 # nA
print("I0(35)=I0*2**(T2-T1)/10")
#on solving
I035=I0*2**((T2-T1)/10)
print("Current at 35c is =%.2f nA\n" %I035)
print("I0(45)=I0*2**(T3-T1)/10")
#on solving
I045=30*2**2
print("current at 45c is =%.2f nA\n" %I045)
I_CS=100.0
V_CC=200.0
t_on=40*10**-6
import math
#initialisation of variables
I0=30
Vd=0.7
n=2
#Calculations
Vt=26.0*10**-3
k=Vd/(n*Vt)
Id=I0*((2.7**k)-1)*10**-6 #Junction current
print(" a) Forward bais current is =%.2f mA\n" %Id)
Vd=-10 #reverse bais
k=Vd/(n*Vt)
Id=I0*((2.7**k)-1)
#Results
print(" b) Forward bais current is =%.2f nA" %Id)
import math
#initialisation of variables
Id=.1*10**-3
n=2
vt=26*10**-3
I0=30*10**-9
#Calculations
Vd=(n*Vt)*math.log(Id/I0)*10**3
print(" a) Forward bais current is =%.2f mV\n" %Vd)
Id=10*10**-3
Vd=(n*Vt)*math.log(Id/I0)*10**3
#Results
print("b) forward bais current is %dmV\n" %Vd)