107 lines
2.0 KiB
Python
107 lines
2.0 KiB
Python
def opa(file,indt=0,indr=0):
|
|
|
|
import matplotlib.pyplot as plt
|
|
import numpy as np
|
|
import sys
|
|
|
|
try:
|
|
f = open(file)
|
|
lines = f.readlines()
|
|
except:
|
|
print('Error: Could not open %s' % modfile)
|
|
return()
|
|
|
|
ntrow = 6
|
|
i = 40
|
|
x=lines[i]
|
|
nfre = int(x.split()[0])
|
|
ntem = int(x.split()[1])
|
|
nrho = int(x.split()[2])
|
|
|
|
print(nfre,ntem,nrho)
|
|
i = i+2
|
|
|
|
nreat = ntem//ntrow
|
|
if ntem % ntrow != 0:
|
|
nreat = nreat + 1
|
|
temp = []
|
|
j = 0
|
|
while j < nreat:
|
|
x = lines[i]
|
|
val = x.split()
|
|
k = 0
|
|
while k < ntrow:
|
|
if (j*ntrow + k) < ntem:
|
|
temp.append(float(val[k]))
|
|
k+= 1
|
|
j+= 1
|
|
i+= 1
|
|
|
|
print(np.exp(temp))
|
|
|
|
i+= 1
|
|
|
|
nrear = nrho//ntrow
|
|
if nrho % ntrow != 0:
|
|
nrear = nrear + 1
|
|
dens = []
|
|
j = 0
|
|
while j < nrear:
|
|
x = lines[i]
|
|
val = x.split()
|
|
k = 0
|
|
while k < ntrow:
|
|
if (j*ntrow + k) < nrho:
|
|
dens.append(float(val[k]))
|
|
k+= 1
|
|
j+= 1
|
|
i+= 1
|
|
|
|
i+= 1
|
|
|
|
print(np.exp(dens))
|
|
|
|
nl = ntem*nrho
|
|
nrel = nl//ntrow
|
|
if nl % ntrow != 0:
|
|
nrel = nrel + 1
|
|
|
|
i=i+nrel
|
|
|
|
lamb=[]
|
|
abso=[]
|
|
ilam = 0
|
|
while ilam < nfre:
|
|
i+= 1
|
|
x = lines[i]
|
|
val = x.split()
|
|
lamb.append(float(val[5]))
|
|
i = i+2
|
|
it = 0
|
|
ir = 0
|
|
while ir < nrho:
|
|
j = 0
|
|
abt=[]
|
|
while j < nreat:
|
|
x = lines[i]
|
|
val = x.split()
|
|
k = 0
|
|
while k < ntrow:
|
|
if(j*ntrow + k) < ntem:
|
|
abt.append(float(val[k]))
|
|
k+=1
|
|
j+=1
|
|
i+=1
|
|
|
|
if ir == indr:
|
|
abso.append(abt[indt])
|
|
|
|
ir+=1
|
|
|
|
ilam += 1
|
|
|
|
lamb = np.array(lamb)
|
|
abso = np.array(abso)
|
|
print(ilam)
|
|
return(lamb,abso)
|