Sunteți pe pagina 1din 2

n =[0,0,0,0]

m=list(range(120))
cont=0
R=[0,1,2,3]
E = 0

for i in range(8):
for j in range(8):
for k in range(8):
for l in range(8):
if i+j+k+l==7:
n =[i,j,k,l]
m[cont]=[i,j,k,l]
cont+=1

print("\nLos Macroestados accesibles para N = 7, M =4 y E=12 son: \n")


z=0
macro=list(range(10))
for p in range(cont):
E = E + m[p][0]*R[0]+ m[p][1]*R[1]+ m[p][2]*R[2]+ m[p][3]*R[3]
if E ==12: # Si cumple E = 12 entonces es un macroestado accesible y una
soluci�n.
macro[z]=m[p]
print("macroestado",z+1,"=",macro[z])
z+=1
E =0
else: E=0
print("\tSe observa que hay",z,"macroestados accesibles")
print("\n\tDonde en la columna i-es�ma representa el n�mero de particulas para el
nivel energia E(i-1)=i-1")

from math import factorial


def f(n):
return factorial(n)

mic=list(range(z))
print("\n\tAhora calculamos los numeros de microestados por cada macroestado
accesible respectivamente\n")
for x in range(z):
mic[x] =f(7)/(f(macro[x][0])*f(macro[x][1])*f(macro[x][2])*f(macro[x][3]))
print("Para el
macroestado",x+1,"=",macro[x],"tenemos",int(mic[x]),"microestados")

def Sumalista(lista):
G=0
for i in lista:
G=G+i
return int(G)
total_mic=Sumalista(mic)
print("El n�mero total de microestados es:",total_mic)

import matplotlib.pyplot as plt


fig = plt.figure()
ax2 = fig.add_subplot(111)
datos=mic
x1=range(1,11)
ax2.bar(x1,datos,width=0.9,color=(0,0,0))

ax2.set_xticks(x1)
ax2.set_yticks(datos)
plt.xlabel('Macroestados\nEstos n�meros representan el macroestado 1,2,3.. y as�
sucesivamente')
plt.ylabel('N�mero de microestados')
plt.show()

print("\n\t\tLas gr�ficas de cada macroestado accesible:\n")

for v in range(z):
fig = plt.figure()
ax = fig.add_subplot(111)
datos=macro[v]
xx=range(4)
ax.bar(xx,datos,width=0.3,color=(0,1,0))
ax.set_xticks(xx)
ax.set_yticks(datos)
plt.xlabel('Niveles de energia')
plt.ylabel('N�mero de particulas')
print(" Grafica para el macroestado",v+1,"=",macro[v])
plt.show()
print("\n\n")
continue
H=0
for y in range(4):
t=0
for q in range(z):
t=t+macro[q][y]*mic[q]
H= H+macro[q][y]*mic[q]
print("El valor medio de particulas para el estado con nivel de energia
E(",y,")=",y,"es:",t/total_mic)#t/tatal_mic= valor medio.

print("Podemos comprobar que la suma de estos valores medios es igual


a:",H/total_mic,"Que deberia de ser igual a N = 7(n�mero de particulas)")

S-ar putea să vă placă și