import numpy as np
from numpy.linalg import norm

def coordinate(l):
    ls=l.split()[1:]
    return np.array([float(x) for x in ls])

def energy(simbolo):
    match=" Total Energy              = "
    with open(simbolo+'.out', 'r') as f:
        for line in f:
            if match in line:
                en_He=float(line.split()[3])
    return en_He

def energy_2(simbolo):
    match=" Total Energy              = "
    en2=[]
    with open(simbolo+'2.out', 'r') as f:
        for line in f:
            if match in line:
                en2.append(float(line.split()[3]))
    return en2
    
def distanze(sym):
    coords=[]
    with open(sym+'2.out', 'r') as f:
        for line in f:
            #if we are on the line with the first Ne
            if sym.upper() in line.split():
                q2=coordinate(line)
                coords.append(q2)
    return [norm(x-y) for x,y in zip(coords[0::2], coords[1::2])]
