def set_fields(star): sout = Star(settings) sout = star f = open('./data/' + star.filename) offset = 0 for row in f: if offset == 0 and "FINAL MODEL" in row: offset = 1 continue if offset == 1: sout.luminosity = float( (row.split(','))[-1].replace('L:', '').replace('D', 'e')) offset = 2 continue if offset == 2: sout.Teff = float( (row.split(','))[0].replace('Teff:', '').replace('D', 'e')) offset = 3 continue if offset == 3: offset = 4 i = 1 continue if offset == 4: s = row.replace('D', 'e').split() sout.coordinate_field[i] = float(s[1]) sout.radius_field[i] = 10**float(s[2]) sout.pressure_field[i] = 10**float(s[3]) sout.temperature_field[i] = 10**float(s[4]) sout.density_field[i] = 10**float(s[5]) sout.luminosity_field[i] = 10**float(s[6]) i += 1 if s[0] == '200': break sout.coordinate_field[0] = sout.coordinate_field[1] sout.radius_field[0] = sout.radius_field[1] sout.pressure_field[0] = sout.pressure_field[1] sout.temperature_field[0] = sout.temperature_field[1] sout.density_field[0] = sout.density_field[1] sout.luminosity_field[0] = sout.luminosity_field[1] sout.coordinate_field[-1] = sout.coordinate_field[-2] sout.radius_field[-1] = sout.radius_field[-2] sout.pressure_field[-1] = sout.pressure_field[-2] sout.temperature_field[-1] = sout.temperature_field[-2] sout.density_field[-1] = sout.density_field[-2] sout.luminosity_field[-1] = sout.luminosity_field[-2] return sout