#Reading out mixing regions and data, and plotting independently kipp_args = mkipp.Kipp_Args() fig = plt.figure() axis = plt.gca() profile_paths = mesa_data.get_profile_paths(["LOGS"]) #if data is distributed among several history.data files, you can provide them history_paths = ["LOGS/history.data"] #read profile data #kipp_data.get_xyz_data returns an object containing # xyz_data.xlims : limits of data in x coordinate # xyz_data.X : 2D array of xaxis values of profile data # xyz_data.Y : 2D array of xaxis values of profile data # xyz_data.Z : 2D array of xaxis values of profile data # the last three can be used as inputs for matplotlib contour or contourf xyz_data = kipp_data.get_xyz_data(profile_paths, kipp_args) #read mixing regions #kipp_data.get_mixing_zones returns an object containing # mixing_zones.zones : matplotlib Path objects for each mixing zone. # These can be plotted using add_patch(...) # mixing_zones.mix_types : Integer array containing the type of each zone # mixing_zones.x_coords : x coordinates for points at the surface # mixing_zones.y_coords : y coordinates for points at the surface # mixing_zones.histories : mesa_data history files to access additional data # the last three can be used as inputs for matplotlib contour or contourf mixing_zones = kipp_data.get_mixing_zones(history_paths, kipp_args, xlims = xyz_data.xlims) # just plot convection, overshooting and semiconvection for i,zone in enumerate(mixing_zones.zones): color = "" #Convective mixing if mixing_zones.mix_types[i] == 1: #convection
#Reading out mixing regions and data, and plotting independently kipp_args = mkipp.Kipp_Args() fig = plt.figure() axis = plt.gca() profile_paths = mesa_data.get_profile_paths(["LOGS"]) #if data is distributed among several history.data files, you can provide them history_paths = ["LOGS/history.data"] #read profile data #kipp_data.get_xyz_data returns an object containing # xyz_data.xlims : limits of data in x coordinate # xyz_data.X : 2D array of xaxis values of profile data # xyz_data.Y : 2D array of xaxis values of profile data # xyz_data.Z : 2D array of xaxis values of profile data # the last three can be used as inputs for matplotlib contour or contourf xyz_data = kipp_data.get_xyz_data(profile_paths, kipp_args.xaxis_divide, kipp_args) #read mixing regions #kipp_data.get_mixing_zones returns an object containing # mixing_zones.zones : matplotlib Path objects for each mixing zone. # These can be plotted using add_patch(...) # mixing_zones.mix_types : Integer array containing the type of each zone # mixing_zones.x_coords : x coordinates for points at the surface # mixing_zones.y_coords : y coordinates for points at the surface # mixing_zones.histories : mesa_data history files to access additional data # the last three can be used as inputs for matplotlib contour or contourf mixing_zones = kipp_data.get_mixing_zones(history_paths, kipp_args.xaxis_divide, xyz_data.xlims, kipp_args) # just plot convection, overshooting and semiconvection for i,zone in enumerate(mixing_zones.zones): color = "" #Convective mixing if mixing_zones.mix_types[i] == 1: #convection
#Reading out mixing regions and data, and plotting independently kipp_args = mkipp.Kipp_Args() fig = plt.figure() axis = plt.gca() profile_paths = mesa_data.get_profile_paths(["LOGS"]) #if data is distributed among several history.data files, you can provide them history_paths = ["LOGS/history.data"] #read profile data #kipp_data.get_xyz_data returns an object containing # xyz_data.xlims : limits of data in x coordinate # xyz_data.X : 2D array of xaxis values of profile data # xyz_data.Y : 2D array of xaxis values of profile data # xyz_data.Z : 2D array of xaxis values of profile data # the last three can be used as inputs for matplotlib contour or contourf xyz_data = kipp_data.get_xyz_data(profile_paths, kipp_args.xaxis_divide, kipp_args) #read mixing regions #kipp_data.get_mixing_zones returns an object containing # mixing_zones.zones : matplotlib Path objects for each mixing zone. # These can be plotted using add_patch(...) # mixing_zones.mix_types : Integer array containing the type of each zone # mixing_zones.x_coords : x coordinates for points at the surface # mixing_zones.y_coords : y coordinates for points at the surface # mixing_zones.histories : mesa_data history files to access additional data # the last three can be used as inputs for matplotlib contour or contourf mixing_zones = kipp_data.get_mixing_zones(history_paths, kipp_args.xaxis_divide, xyz_data.xlims, kipp_args) # just plot convection, overshooting and semiconvection for i, zone in enumerate(mixing_zones.zones): color = ""
bar.set_label("Helium abundance") axis.set_xlabel("Time (Myr)") axis.set_ylabel("Mass (solar masses)") plt.savefig("Kippenhahn2.png") #Reading out mixing regions and data, and plotting independently kipp_args = mkipp.Kipp_Args() fig = plt.figure() axis = plt.gca() profile_names = ["LOGS/profile"+str(int(i))+".data" \ for i in np.loadtxt("LOGS/profiles.index", skiprows = 1, usecols = (2,))] #if data is distributed among several history.data files, you can provide them history_names = ["LOGS/history.data"] #read profile data min_x_coord, max_x_coord, X, Y, Z = \ kipp_data.get_xyz_data(profile_names, kipp_args.xaxis_divide, kipp_args) #read mixing regions zones, mix_types, x_coords, y_coords, histories = kipp_data.get_mixing_zones(\ history_names, kipp_args.xaxis_divide, min_x_coord, max_x_coord, kipp_args) # just plot convection, overshooting and semiconvection for i,zone in enumerate(zones): color = "" #Convective mixing if mix_types[i] == 1: #convection color = '#332288' #Overshooting elif mix_types[i] == 3: #overshooting color = '#117733' #Semiconvective mixing elif mix_types[i] == 4: #semiconvection color = '#CC6677'