Commit d48d2815 authored by Chen-Kai Qiao's avatar Chen-Kai Qiao

Replace plot_xiaoqu.py

parent d3042997
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
## ##
## 这个文件对 AMSS-NCKU 数值相对论的结果进行画图 ## 这个文件对 AMSS-NCKU 数值相对论的结果进行画图
## 小曲 ## 小曲
## 2024/10/01 --- 2024/12/06 ## 2024/10/01 --- 2025/02/20
## ##
################################################# #################################################
...@@ -33,9 +33,9 @@ def generate_binary_data_plot(binary_outdir, figure_outdir): ...@@ -33,9 +33,9 @@ def generate_binary_data_plot(binary_outdir, figure_outdir):
contour_plot_outdir = os.path.join(figure_outdir, "contour plot") contour_plot_outdir = os.path.join(figure_outdir, "contour plot")
os.mkdir(contour_plot_outdir) os.mkdir(contour_plot_outdir)
print() print( )
print(" 读取 AMSS-NCKU 程序的二进制数据 ") print( " 读取 AMSS-NCKU 程序的二进制数据 " )
print() print( )
print(" 二进制数据列表 ") print(" 二进制数据列表 ")
...@@ -51,9 +51,9 @@ def generate_binary_data_plot(binary_outdir, figure_outdir): ...@@ -51,9 +51,9 @@ def generate_binary_data_plot(binary_outdir, figure_outdir):
print(filename) print(filename)
plot_binary_data.plot_binary_data(filename, binary_outdir, figure_outdir) plot_binary_data.plot_binary_data(filename, binary_outdir, figure_outdir)
print() print( )
print(" 二进制数据画图已完成 ") print( " 二进制数据画图已完成 " )
print() print( )
return return
...@@ -67,32 +67,44 @@ def generate_binary_data_plot(binary_outdir, figure_outdir): ...@@ -67,32 +67,44 @@ def generate_binary_data_plot(binary_outdir, figure_outdir):
def generate_puncture_orbit_plot(outdir, figure_outdir): def generate_puncture_orbit_plot(outdir, figure_outdir):
print() print( )
print(" 对黑洞轨迹进行画图 ") print( " 对黑洞轨迹进行画图 " )
print() print( )
# 打开文件路径 # 打开文件路径
file0 = os.path.join(outdir, "bssn_BH.dat") file0 = os.path.join(outdir, "bssn_BH.dat")
print(" 对应数据文件为 ", file0) print( f" 对应数据文件为 { file0 } " )
# 读取整个文件数据,假设数据是以空格分隔的浮点数 # 读取整个文件数据,假设数据是以空格分隔的浮点数
data = numpy.loadtxt(file0) data = numpy.loadtxt(file0)
# print(data[:,0]) # print(data[:,0])
# print(data[:,2]) # print(data[:,2])
# 初始化黑洞坐标的最大值和最小值
BH_Xmin = numpy.zeros(input_data.puncture_number)
BH_Xmax = numpy.zeros(input_data.puncture_number)
BH_Ymin = numpy.zeros(input_data.puncture_number)
BH_Ymax = numpy.zeros(input_data.puncture_number)
BH_Zmin = numpy.zeros(input_data.puncture_number)
BH_Zmax = numpy.zeros(input_data.puncture_number)
# -------------------------- # --------------------------
# 画出黑洞位移的轨迹图(XY图) # 画出黑洞位移的轨迹图(XY图)
plt.figure( figsize=(8,8) ) ## 这里 figsize 可以设定图形的大小 plt.figure( figsize=(8,8) ) ## 这里 figsize 可以设定图形的大小
plt.title( " Black Hole Trajectry ", fontsize=18 ) ## 这里 fontsize 可以设定文字大小 plt.title( " Black Hole Trajectry ", fontsize=18 ) ## 这里 fontsize 可以设定文字大小
for i in range(input_data.puncture_number): for i in range(input_data.puncture_number):
BH_x = data[:, 3*i+1] BH_x = data[:, 3*i+1]
BH_y = data[:, 3*i+2] BH_y = data[:, 3*i+2]
BH_z = data[:, 3*i+3] BH_z = data[:, 3*i+3]
BH_Xmin[i] = min(BH_x)
BH_Xmax[i] = max(BH_x)
BH_Ymin[i] = min(BH_y)
BH_Ymax[i] = max(BH_y)
if i==0: if i==0:
plt.plot( BH_x, BH_y, color='red', label="BH"+str(i+1), linewidth=2 ) plt.plot( BH_x, BH_y, color='red', label="BH"+str(i+1), linewidth=2 )
elif i==1: elif i==1:
...@@ -105,21 +117,38 @@ def generate_puncture_orbit_plot(outdir, figure_outdir): ...@@ -105,21 +117,38 @@ def generate_puncture_orbit_plot(outdir, figure_outdir):
plt.xlabel( "X [M]", fontsize=16 ) plt.xlabel( "X [M]", fontsize=16 )
plt.ylabel( "Y [M]", fontsize=16 ) plt.ylabel( "Y [M]", fontsize=16 )
plt.legend( loc='upper right' ) plt.legend( loc='upper right' )
# plt.show()
# 设置坐标轴的范围
Xmin0 = min(BH_Xmin)
Xmax0 = max(BH_Xmax)
Ymin0 = min(BH_Ymin)
Ymax0 = max(BH_Ymax)
Xmin = min(Xmin0-2.0, -5.0)
Xmax = max(Xmax0+2.0, +5.0)
Ymin = min(Ymin0-2.0, -5.0)
Ymax = max(Ymax0+2.0, +5.0)
plt.xlim(Xmin, Xmax) # x 轴范围从 Xmin 到 Xmax
plt.ylim(Ymin, Ymax) # y 轴范围从 Ymin 到 Ymax
# plt.show( )
plt.savefig( os.path.join(figure_outdir, "BH_Trajectary_XY.pdf") ) plt.savefig( os.path.join(figure_outdir, "BH_Trajectary_XY.pdf") )
plt.close() plt.close( )
# -------------------------- # --------------------------
# 画出黑洞位移的轨迹图(XZ图) # 画出黑洞位移的轨迹图(XZ图)
plt.figure( figsize=(8,8) ) ## 这里 figsize 可以设定图形的大小 plt.figure( figsize=(8,8) ) ## 这里 figsize 可以设定图形的大小
plt.title( " Black Hole Trajectry ", fontsize=18 ) ## 这里 fontsize 可以设定文字大小 plt.title( " Black Hole Trajectry ", fontsize=18 ) ## 这里 fontsize 可以设定文字大小
for i in range(input_data.puncture_number): for i in range(input_data.puncture_number):
BH_x = data[:, 3*i+1] BH_x = data[:, 3*i+1]
BH_y = data[:, 3*i+2] BH_y = data[:, 3*i+2]
BH_z = data[:, 3*i+3] BH_z = data[:, 3*i+3]
BH_Xmin[i] = min(BH_x)
BH_Xmax[i] = max(BH_x)
BH_Zmin[i] = min(BH_z)
BH_Zmax[i] = max(BH_z)
if i==0: if i==0:
plt.plot( BH_x, BH_z, color='red', label="BH"+str(i+1), linewidth=2 ) plt.plot( BH_x, BH_z, color='red', label="BH"+str(i+1), linewidth=2 )
elif i==1: elif i==1:
...@@ -132,21 +161,38 @@ def generate_puncture_orbit_plot(outdir, figure_outdir): ...@@ -132,21 +161,38 @@ def generate_puncture_orbit_plot(outdir, figure_outdir):
plt.xlabel( "X [M]", fontsize=16 ) plt.xlabel( "X [M]", fontsize=16 )
plt.ylabel( "Z [M]", fontsize=16 ) plt.ylabel( "Z [M]", fontsize=16 )
plt.legend( loc='upper right' ) plt.legend( loc='upper right' )
# plt.show()
# 设置坐标轴的范围
Xmin0 = min(BH_Xmin)
Xmax0 = max(BH_Xmax)
Zmin0 = min(BH_Zmin)
Zmax0 = max(BH_Zmax)
Xmin = min(Xmin0-2.0, -5.0)
Xmax = max(Xmax0+2.0, +5.0)
Zmin = min(Zmin0-2.0, -5.0)
Zmax = max(Zmax0+2.0, +5.0)
plt.xlim(Xmin, Xmax) # x 轴范围从 Xmin 到 Xmax
plt.ylim(Zmin, Zmax) # y 轴范围从 Zmin 到 Zmax
# plt.show( )
plt.savefig( os.path.join(figure_outdir, "BH_Trajectary_XZ.pdf") ) plt.savefig( os.path.join(figure_outdir, "BH_Trajectary_XZ.pdf") )
plt.close() plt.close( )
# -------------------------- # --------------------------
# 画出黑洞位移的轨迹图(YZ图) # 画出黑洞位移的轨迹图(YZ图)
plt.figure( figsize=(8,8) ) ## 这里 figsize 可以设定图形的大小 plt.figure( figsize=(8,8) ) ## 这里 figsize 可以设定图形的大小
plt.title( " Black Hole Trajectry ", fontsize=18 ) ## 这里 fontsize 可以设定文字大小 plt.title( " Black Hole Trajectry ", fontsize=18 ) ## 这里 fontsize 可以设定文字大小
for i in range(input_data.puncture_number): for i in range(input_data.puncture_number):
BH_x = data[:, 3*i+1] BH_x = data[:, 3*i+1]
BH_y = data[:, 3*i+2] BH_y = data[:, 3*i+2]
BH_z = data[:, 3*i+3] BH_z = data[:, 3*i+3]
BH_Ymin[i] = min(BH_y)
BH_Ymax[i] = max(BH_y)
BH_Zmin[i] = min(BH_z)
BH_Zmax[i] = max(BH_z)
if i==0: if i==0:
plt.plot( BH_y, BH_z, color='red', label="BH"+str(i+1), linewidth=2 ) plt.plot( BH_y, BH_z, color='red', label="BH"+str(i+1), linewidth=2 )
elif i==1: elif i==1:
...@@ -159,9 +205,22 @@ def generate_puncture_orbit_plot(outdir, figure_outdir): ...@@ -159,9 +205,22 @@ def generate_puncture_orbit_plot(outdir, figure_outdir):
plt.xlabel( "Y [M]", fontsize=16 ) plt.xlabel( "Y [M]", fontsize=16 )
plt.ylabel( "Z [M]", fontsize=16 ) plt.ylabel( "Z [M]", fontsize=16 )
plt.legend( loc='upper right' ) plt.legend( loc='upper right' )
# plt.show()
# 设置坐标轴的范围
Ymin0 = min(BH_Ymin)
Ymax0 = max(BH_Ymax)
Zmin0 = min(BH_Zmin)
Zmax0 = max(BH_Zmax)
Ymin = min(Ymin0-2.0, -5.0)
Ymax = max(Ymax0+2.0, +5.0)
Zmin = min(Zmin0-2.0, -5.0)
Zmax = max(Zmax0+2.0, +5.0)
plt.xlim(Ymin, Ymax) # x 轴范围从 Ymin 到 Ymax
plt.ylim(Zmin, Zmax) # y 轴范围从 Zmin 到 Zmax
# plt.show( )
plt.savefig( os.path.join(figure_outdir, "BH_Trajectary_YZ.pdf") ) plt.savefig( os.path.join(figure_outdir, "BH_Trajectary_YZ.pdf") )
plt.close() plt.close( )
# -------------------------- # --------------------------
...@@ -177,40 +236,79 @@ def generate_puncture_orbit_plot(outdir, figure_outdir): ...@@ -177,40 +236,79 @@ def generate_puncture_orbit_plot(outdir, figure_outdir):
# 画出黑洞位移的轨迹图(X2-X1 Y2-Y1) # 画出黑洞位移的轨迹图(X2-X1 Y2-Y1)
plt.figure( figsize=(8,8) ) plt.figure( figsize=(8,8) )
plt.title( " Black Hole Trajectry ", fontsize=18 ) plt.title( " Black Hole Trajectry ", fontsize=18 )
plt.plot( (BH_x2-BH_x1), (BH_y2-BH_y1), color='blue', linewidth=2 ) plt.plot( (BH_x2-BH_x1), (BH_y2-BH_y1), color='blue', linewidth=2 )
plt.xlabel( " $X_{2}$ - $X_{1}$ [M] ", fontsize=16 ) plt.xlabel( " $X_{2}$ - $X_{1}$ [M] ", fontsize=16 )
plt.ylabel( " $Y_{2}$ - $Y_{1}$ [M] ", fontsize=16 ) plt.ylabel( " $Y_{2}$ - $Y_{1}$ [M] ", fontsize=16 )
plt.legend( loc='upper right' ) plt.legend( loc='upper right' )
# 设置坐标轴的范围
Xmin0 = min( (BH_x2 - BH_x1) )
Xmax0 = max( (BH_x2 - BH_x1) )
Ymin0 = min( (BH_y2 - BH_y1) )
Ymax0 = max( (BH_y2 - BH_y1) )
Xmin = min(Xmin0-2.0, -5.0)
Xmax = max(Xmax0+2.0, +5.0)
Ymin = min(Ymin0-2.0, -5.0)
Ymax = max(Ymax0+2.0, +5.0)
plt.xlim(Xmin, Xmax) # x 轴范围从 Xmin 到 Xmax
plt.ylim(Ymin, Ymax) # y 轴范围从 Ymin 到 Ymax
plt.savefig( os.path.join(figure_outdir, "BH_Trajectary_21_XY.pdf") ) plt.savefig( os.path.join(figure_outdir, "BH_Trajectary_21_XY.pdf") )
plt.close() plt.close( )
# -------------------------- # --------------------------
# 画出黑洞位移的轨迹图(X2-X1 Z2-Z1) # 画出黑洞位移的轨迹图(X2-X1 Z2-Z1)
plt.figure( figsize=(8,8) ) plt.figure( figsize=(8,8) )
plt.title( " Black Hole Trajectry ", fontsize=18 ) plt.title( " Black Hole Trajectry ", fontsize=18 )
plt.plot( (BH_x2-BH_x1), (BH_z2-BH_z1), color='blue', linewidth=2 ) plt.plot( (BH_x2-BH_x1), (BH_z2-BH_z1), color='blue', linewidth=2 )
plt.xlabel( " $X_{2}$ - $X_{1}$ [M] ", fontsize=16 ) plt.xlabel( " $X_{2}$ - $X_{1}$ [M] ", fontsize=16 )
plt.ylabel( " $Z_{2}$ - $Z_{1}$ [M] ", fontsize=16 ) plt.ylabel( " $Z_{2}$ - $Z_{1}$ [M] ", fontsize=16 )
plt.legend( loc='upper right' ) plt.legend( loc='upper right' )
# 设置坐标轴的范围
Xmin0 = min( (BH_x2 - BH_x1) )
Xmax0 = max( (BH_x2 - BH_x1) )
Zmin0 = min( (BH_z2 - BH_z1) )
Zmax0 = max( (BH_z2 - BH_z1) )
Xmin = min(Xmin0-2.0, -5.0)
Xmax = max(Xmax0+2.0, +5.0)
Zmin = min(Zmin0-2.0, -5.0)
Zmax = max(Zmax0+2.0, +5.0)
plt.xlim(Xmin, Xmax) # x 轴范围从 Xmin 到 Xmax
plt.ylim(Zmin, Zmax) # y 轴范围从 Zmin 到 Zmax
plt.savefig( os.path.join(figure_outdir, "BH_Trajectary_21_XZ.pdf") ) plt.savefig( os.path.join(figure_outdir, "BH_Trajectary_21_XZ.pdf") )
plt.close() plt.close( )
# -------------------------- # --------------------------
# 画出黑洞位移的轨迹图(Y2-Y1 Z2-Z1) # 画出黑洞位移的轨迹图(Y2-Y1 Z2-Z1)
plt.figure( figsize=(8,8) ) plt.figure( figsize=(8,8) )
plt.title( " Black Hole Trajectry ", fontsize=18 ) plt.title( " Black Hole Trajectry ", fontsize=18 )
plt.plot( (BH_y2-BH_y1), (BH_z2-BH_z1), color='blue', linewidth=2 ) plt.plot( (BH_y2-BH_y1), (BH_z2-BH_z1), color='blue', linewidth=2 )
plt.xlabel( " $Y_{2}$ - $Y_{1}$ [M] ", fontsize=16 ) plt.xlabel( " $Y_{2}$ - $Y_{1}$ [M] ", fontsize=16 )
plt.ylabel( " $Z_{2}$ - $Z_{1}$ [M] ", fontsize=16 ) plt.ylabel( " $Z_{2}$ - $Z_{1}$ [M] ", fontsize=16 )
plt.legend( loc='upper right' ) plt.legend( loc='upper right' )
# 设置坐标轴的范围
Ymin0 = min( (BH_y2 - BH_y1) )
Ymax0 = max( (BH_y2 - BH_y1) )
Zmin0 = min( (BH_z2 - BH_z1) )
Zmax0 = max( (BH_z2 - BH_z1) )
Ymin = min(Ymin0-2.0, -5.0)
Ymax = max(Ymax0+2.0, +5.0)
Zmin = min(Zmin0-2.0, -5.0)
Zmax = max(Zmax0+2.0, +5.0)
plt.xlim(Ymin, Ymax) # x 轴范围从 Ymin 到 Ymax
plt.ylim(Zmin, Zmax) # y 轴范围从 Zmin 到 Zmax
plt.savefig( os.path.join(figure_outdir, "BH_Trajectary_21_YZ.pdf") ) plt.savefig( os.path.join(figure_outdir, "BH_Trajectary_21_YZ.pdf") )
plt.close() plt.close( )
# -------------------------- # --------------------------
...@@ -218,9 +316,9 @@ def generate_puncture_orbit_plot(outdir, figure_outdir): ...@@ -218,9 +316,9 @@ def generate_puncture_orbit_plot(outdir, figure_outdir):
# 这里 file0 只是个文件名,不涉及 file.open 操作 # 这里 file0 只是个文件名,不涉及 file.open 操作
# file0.close() # file0.close()
print() print( )
print(" 对黑洞轨迹画图完成 ") print( " 对黑洞轨迹画图完成 " )
print() print( )
return return
...@@ -234,9 +332,9 @@ def generate_puncture_orbit_plot(outdir, figure_outdir): ...@@ -234,9 +332,9 @@ def generate_puncture_orbit_plot(outdir, figure_outdir):
def generate_puncture_orbit_plot3D(outdir, figure_outdir): def generate_puncture_orbit_plot3D(outdir, figure_outdir):
print() print( )
print(" 对黑洞轨迹进行画 3 维图 ") print( " 对黑洞轨迹进行画 3 维图 " )
print() print( )
# 打开文件路径 # 打开文件路径
file0 = os.path.join(outdir, "bssn_BH.dat") file0 = os.path.join(outdir, "bssn_BH.dat")
...@@ -245,6 +343,14 @@ def generate_puncture_orbit_plot3D(outdir, figure_outdir): ...@@ -245,6 +343,14 @@ def generate_puncture_orbit_plot3D(outdir, figure_outdir):
# 读取整个文件数据,假设数据是以空格分隔的浮点数 # 读取整个文件数据,假设数据是以空格分隔的浮点数
data = numpy.loadtxt(file0) data = numpy.loadtxt(file0)
# 初始化黑洞坐标的最大值和最小值
BH_Xmin = numpy.zeros(input_data.puncture_number)
BH_Xmax = numpy.zeros(input_data.puncture_number)
BH_Ymin = numpy.zeros(input_data.puncture_number)
BH_Ymax = numpy.zeros(input_data.puncture_number)
BH_Zmin = numpy.zeros(input_data.puncture_number)
BH_Zmax = numpy.zeros(input_data.puncture_number)
# 创建一个新的图 # 创建一个新的图
fig = plt.figure( figsize=(8,8) ) fig = plt.figure( figsize=(8,8) )
...@@ -258,6 +364,12 @@ def generate_puncture_orbit_plot3D(outdir, figure_outdir): ...@@ -258,6 +364,12 @@ def generate_puncture_orbit_plot3D(outdir, figure_outdir):
BH_x = data[:, 3*i+1] BH_x = data[:, 3*i+1]
BH_y = data[:, 3*i+2] BH_y = data[:, 3*i+2]
BH_z = data[:, 3*i+3] BH_z = data[:, 3*i+3]
BH_Xmin[i] = min(BH_x)
BH_Xmax[i] = max(BH_x)
BH_Ymin[i] = min(BH_y)
BH_Ymax[i] = max(BH_y)
BH_Zmin[i] = min(BH_z)
BH_Zmax[i] = max(BH_z)
if i==0: if i==0:
ax.plot( BH_x, BH_y, BH_z, color='red', label="BH"+str(i+1), linewidth=2 ) ax.plot( BH_x, BH_y, BH_z, color='red', label="BH"+str(i+1), linewidth=2 )
elif i==1: elif i==1:
...@@ -266,15 +378,32 @@ def generate_puncture_orbit_plot3D(outdir, figure_outdir): ...@@ -266,15 +378,32 @@ def generate_puncture_orbit_plot3D(outdir, figure_outdir):
ax.plot( BH_x, BH_y, BH_z, color='blue', label="BH"+str(i+1), linewidth=2 ) ax.plot( BH_x, BH_y, BH_z, color='blue', label="BH"+str(i+1), linewidth=2 )
elif i==3: elif i==3:
ax.plot( BH_x, BH_y, BH_z, color='gray', label="BH"+str(i+1), linewidth=2 ) ax.plot( BH_x, BH_y, BH_z, color='gray', label="BH"+str(i+1), linewidth=2 )
# 设置坐标轴标签 # 设置坐标轴标签
ax.set_xlabel( "X [M]", fontsize=16 ) ax.set_xlabel( "X [M]", fontsize=16 )
ax.set_ylabel( "Y [M]", fontsize=16 ) ax.set_ylabel( "Y [M]", fontsize=16 )
ax.set_zlabel( "Z [M]", fontsize=16 ) ax.set_zlabel( "Z [M]", fontsize=16 )
plt.legend( loc='upper right' ) plt.legend( loc='upper right' )
# plt.show()
# 设置坐标轴的范围
Xmin0 = min(BH_Xmin)
Xmax0 = max(BH_Xmax)
Ymin0 = min(BH_Ymin)
Ymax0 = max(BH_Ymax)
Zmin0 = min(BH_Zmin)
Zmax0 = max(BH_Zmax)
Xmin = min(Xmin0-2.0, -5.0)
Xmax = max(Xmax0+2.0, +5.0)
Ymin = min(Ymin0-2.0, -5.0)
Ymax = max(Ymax0+2.0, +5.0)
Zmin = min(Zmin0-2.0, -5.0)
Zmax = max(Zmax0+2.0, +5.0)
ax.set_xlim( [Xmin, Xmax] ) # y 轴范围从 Ymin 到 Ymax
ax.set_ylim( [Ymin, Ymax] ) # y 轴范围从 Ymin 到 Ymax
ax.set_zlim( [Zmin, Zmax] ) # z 轴范围从 Zmin 到 Zmax
plt.savefig( os.path.join(figure_outdir, "BH_Trajectary_3D.pdf") ) plt.savefig( os.path.join(figure_outdir, "BH_Trajectary_3D.pdf") )
plt.close() plt.close( )
return return
...@@ -317,15 +446,15 @@ def generate_puncture_orbit_plot3D(outdir, figure_outdir): ...@@ -317,15 +446,15 @@ def generate_puncture_orbit_plot3D(outdir, figure_outdir):
def generate_gravitational_waveform_plot(outdir, figure_outdir, detector_number_i): def generate_gravitational_waveform_plot(outdir, figure_outdir, detector_number_i):
print() print( )
print(" 对引力波波形 Psi4 进行画图 ") print( " 对引力波波形 Psi4 进行画图 " )
print(" 对第 ", detector_number_i, " 个探测器半径数据进行画图 ") print( " 对第 ", detector_number_i, " 个探测器半径数据进行画图 " )
print() print( )
# 打开文件路径 # 打开文件路径
file0 = os.path.join(outdir, "bssn_psi4.dat") file0 = os.path.join(outdir, "bssn_psi4.dat")
print(" 对应数据文件为 ", file0) print( f" 对应数据文件为 { file0 }" )
# 读取整个文件数据,假设数据是以空格分隔的浮点数 # 读取整个文件数据,假设数据是以空格分隔的浮点数
data = numpy.loadtxt(file0) data = numpy.loadtxt(file0)
...@@ -400,10 +529,10 @@ def generate_gravitational_waveform_plot(outdir, figure_outdir, detector_number_ ...@@ -400,10 +529,10 @@ def generate_gravitational_waveform_plot(outdir, figure_outdir, detector_number_
plt.legend( loc='upper right' ) plt.legend( loc='upper right' )
plt.savefig( os.path.join(figure_outdir, "Gravitational_Psi4_Detector_" + str(detector_number_i) + ".pdf") ) plt.savefig( os.path.join(figure_outdir, "Gravitational_Psi4_Detector_" + str(detector_number_i) + ".pdf") )
print() print( )
print(" 第 ", detector_number_i, " 个探测器半径数据画图完成 ") print( " 第 ", detector_number_i, " 个探测器半径数据画图完成 " )
print(" 对引力波波形 Psi4 的画图完成 ") print( " 对引力波波形 Psi4 的画图完成 " )
print() print( )
return return
...@@ -417,15 +546,15 @@ def generate_gravitational_waveform_plot(outdir, figure_outdir, detector_number_ ...@@ -417,15 +546,15 @@ def generate_gravitational_waveform_plot(outdir, figure_outdir, detector_number_
def generate_ADMmass_plot(outdir, figure_outdir, detector_number_i): def generate_ADMmass_plot(outdir, figure_outdir, detector_number_i):
print() print( )
print(" 对时空 ADM 质量进行画图 ") print( " 对时空 ADM 质量进行画图 " )
print(" 对第 ", detector_number_i, " 个探测器半径数据进行画图 ") print( " 对第 ", detector_number_i, " 个探测器半径数据进行画图 " )
print() print( )
# 打开文件路径 # 打开文件路径
file0 = os.path.join(outdir, "bssn_ADMQs.dat") file0 = os.path.join(outdir, "bssn_ADMQs.dat")
print(" 对应数据文件为 ", file0) print( f" 对应数据文件为 { file0 }" )
# 读取整个文件数据,假设数据是以空格分隔的浮点数 # 读取整个文件数据,假设数据是以空格分隔的浮点数
data = numpy.loadtxt(file0) data = numpy.loadtxt(file0)
...@@ -493,10 +622,10 @@ def generate_ADMmass_plot(outdir, figure_outdir, detector_number_i): ...@@ -493,10 +622,10 @@ def generate_ADMmass_plot(outdir, figure_outdir, detector_number_i):
plt.legend( loc='upper right' ) plt.legend( loc='upper right' )
plt.savefig( os.path.join(figure_outdir, "ADM_Mass_Dector_" + str(detector_number_i) + ".pdf") ) plt.savefig( os.path.join(figure_outdir, "ADM_Mass_Dector_" + str(detector_number_i) + ".pdf") )
print() print( )
print(" 第 ", detector_number_i, " 个探测器半径数据画图完成 ") print( " 第 ", detector_number_i, " 个探测器半径数据画图完成 " )
print(" 对时空 ADM 质量的画图完成 ") print( " 对时空 ADM 质量的画图完成 " )
print() print( )
return return
...@@ -510,15 +639,15 @@ def generate_ADMmass_plot(outdir, figure_outdir, detector_number_i): ...@@ -510,15 +639,15 @@ def generate_ADMmass_plot(outdir, figure_outdir, detector_number_i):
def generate_constraint_check_plot(outdir, figure_outdir, input_level_number): def generate_constraint_check_plot(outdir, figure_outdir, input_level_number):
print() print( )
print(" 对哈密顿约束违反性况进行画图 ") print( " 对哈密顿约束违反性况进行画图 " )
print(" 对第 ", input_level_number, " 层网格数据进行画图 ") print( " 对第 ", input_level_number, " 层网格数据进行画图 " )
print() print( )
# 打开文件路径 # 打开文件路径
file0 = os.path.join(outdir, "bssn_constraint.dat") file0 = os.path.join(outdir, "bssn_constraint.dat")
print(" 对应数据文件为 ", file0) print( f" 对应数据文件为 { file0 }" )
# 读取整个文件数据,假设数据是以空格分隔的浮点数 # 读取整个文件数据,假设数据是以空格分隔的浮点数
data = numpy.loadtxt(file0) data = numpy.loadtxt(file0)
...@@ -581,10 +710,10 @@ def generate_constraint_check_plot(outdir, figure_outdir, input_level_number): ...@@ -581,10 +710,10 @@ def generate_constraint_check_plot(outdir, figure_outdir, input_level_number):
plt.legend( loc='upper right' ) plt.legend( loc='upper right' )
plt.savefig( os.path.join(figure_outdir, "ADM_Constraint_Grid_Level_" + str(input_level_number) + ".pdf") ) plt.savefig( os.path.join(figure_outdir, "ADM_Constraint_Grid_Level_" + str(input_level_number) + ".pdf") )
print() print( )
print(" 对哈密顿约束违反性况的画图完成 ") print( " 对哈密顿约束违反性况的画图完成 " )
print(" 第 ", input_level_number, " 层网格数据画图完成 ") print( " 第 ", input_level_number, " 层网格数据画图完成 " )
print() print( )
return return
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment