Commit 15356f88 authored by Chen-Kai Qiao's avatar Chen-Kai Qiao

Replace AMSS_NCKU_Program.py

parent 54136ac1
##################################################################
##
## AMSS-NCKU 数值相对论启动程序
## 小曲
## 2024/03/19
## 2025/01/21 修改
##
##################################################################
##################################################################
## 输出本程序的说明
import print_information
print_information.print_program_introduction()
##################################################################
## 程序开始运行前的提示
print( )
print( " 计算即将开始,请确认在 NR_xiaoqu_input.py 中设置了正确的参数,按回车继续!!! " )
print( " 如果输入参数没有设置好,Ctrl+C 退出,调整 NR_xiaoqu_input.py 中的输入参数!!! " )
## 设定一个输入(回车),以便程序下一步运行
inputvalue = input()
print()
##################################################################
## 导入参数文件
import AMSS_NCKU_Input as input_data
##################################################################
## 生成文件目录,用来程序运行的数据
import os
import shutil
# 根据输入文件来设置文件目录
File_directionary = os.path.join(input_data.File_directionary)
# 如果文件目录已经存在,则去除它
# Courtesy https://stackoverflow.com/questions/303200/how-do-i-remove-delete-a-folder-that-is-not-empty
shutil.rmtree(File_directionary, ignore_errors=True)
## 创建文件夹
os.mkdir(File_directionary)
## 复制 python 输入文件到程序运行目录
shutil.copy("AMSS_NCKU_Input.py", File_directionary)
# 生成文件目录,用来存放各类输出文件
output_directionary = os.path.join(File_directionary, "AMSS_NCKU_output")
os.mkdir(output_directionary)
binary_results_directionary = os.path.join(output_directionary, input_data.Output_directionary)
os.mkdir(binary_results_directionary)
figure_directionary = os.path.join(File_directionary, "figure")
os.mkdir(figure_directionary)
print( )
print( " 生成文件目录完成 " )
print( )
##################################################################
## 输出相关的参数信息
import setup
## 输出相关的参数信息
setup.print_input_data( File_directionary )
setup.generate_AMSSNCKU_input()
print( )
print( " 检查网格大小和分辨率是否满足要求 " )
print( " 如果网格大小和分辨率不合适,Ctrl+C 退出,调整网格层数和每层网格格点数目!!! " )
print( " 如果网格大小和分辨率设定无误,按回车继续!!! " )
inputvalue = input() ## 设定一个输入(回车),以便程序下一步运行
print()
setup.print_puncture_information()
##################################################################
## 根据设定的参数生成 AMSS-NCKU 程序的输入文件
print( )
print( " 正在生成 AMSS-NCKU 程序的输入文件 " )
print( )
## 根据格点信息生成 cgh 的相关输入
import numerical_grid
numerical_grid.append_AMSSNCKU_cgh_input()
print( )
print( " 完成 AMSS-NCKU 程序的输入文件 " )
print( " 但是 AMSS-NCKU ABE 中 TwoPuncture 相关的输入要后几步运行后追加 " )
print( )
##################################################################
## 画出初始的格点设置
print( )
print( " 正在画出初始格点的图像 " )
print( )
numerical_grid.plot_initial_grid()
##################################################################
## 根据算法和参数生成 AMSS-NCKU 的宏文件
print( )
print( " 根据算法和参数生成 AMSS-NCKU 的宏文件 " )
print( )
import generate_macrodef
generate_macrodef.generate_macrodef_h()
print(" AMSS-NCKU 程序的宏文件 macrodef.h 已生成 ")
generate_macrodef.generate_macrodef_fh()
print(" AMSS-NCKU 程序的宏文件 macrodef.fh 已生成 ")
##################################################################
## 根据用户的要求编译 AMSS-NCKU 程序
print( )
print( " 准备根据要求编译并运行 AMSS-NCKU 程序,按回车继续!!! " )
inputvalue = input()
print()
AMSS_NCKU_source_path = "AMSS_NCKU_source"
AMSS_NCKU_source_copy = os.path.join(File_directionary, "AMSS_NCKU_source_copy")
###############################
## 如果 AMSS-NCKU 的源文件夹不存在,则创建它
# if not os.path.exists(destination_folder):
# os.makedirs(destination_folder)
if not os.path.exists(AMSS_NCKU_source_path):
os.makedirs(AMSS_NCKU_source_path)
print( " 缺少 AMSS-NCKU 源文件,请将代码文件复制到 AMSS_NCKU_source 文件夹,按回车继续!!! " )
## 设定一个输入(回车),以便程序下一步运行
inputvalue = input()
###############################
# 拷贝 AMSS-NCKU 的源文件,准备编译
shutil.copytree(AMSS_NCKU_source_path, AMSS_NCKU_source_copy)
# 将整个src文件夹复制到dst位置
# shutil.copytree(src, dst)
# 将生成的宏文件拷贝进 AMSS-NCKU 的代码文件夹
macrodef_h_path = os.path.join(File_directionary, "macrodef.h")
macrodef_fh_path = os.path.join(File_directionary, "macrodef.fh")
shutil.copy2(macrodef_h_path, AMSS_NCKU_source_copy)
shutil.copy2(macrodef_fh_path, AMSS_NCKU_source_copy)
# 复制文件到目标位置
# shutil.copy2(source_file_path, target_location)
# shutil.copy2保留文件的元数据,如修改时间。如果你只想复制文件内容,不保留元数据,可以使用shutil.copy。
###############################
# 编译相关程序
import makefile_and_run
## 先切换到目标文件夹
os.chdir(AMSS_NCKU_source_copy)
## 编译 AMSS-NCKU 的主程序 ABE/ABEGPU
makefile_and_run.makefile_ABE()
## 如果初值方法选为 TwoPuncture,编译可执行文件 TwoPunctureABE
if (input_data.Initial_Data_Method == "Ansorg-TwoPuncture" ):
makefile_and_run.makefile_TwoPunctureABE()
###########################
## 改变当前工作目录到上一级目录
os.chdir('..')
os.chdir('..')
print()
##################################################################
## 将 AMSS-NCKU 程序可执行文件 ABE 复制到程序运行的文件夹
if (input_data.GPU_Calculation == "no"):
ABE_file = os.path.join(AMSS_NCKU_source_copy, "ABE")
elif (input_data.GPU_Calculation == "yes"):
ABE_file = os.path.join(AMSS_NCKU_source_copy, "ABEGPU")
if not os.path.exists( ABE_file ):
print( )
print( " 缺少 AMSS-NCKU 可执行文件 ABE/ABEGPU,请将 AMSS_NCKU_source 编译,编译完成后按回车继续!!! " )
## 设定一个输入(回车),以便程序下一步运行
inputvalue = input()
## 复制可执行文件 ABE 到程序运行目录
shutil.copy2(ABE_file, output_directionary)
###########################
## 如果初值方法选为 TwoPuncture,将 AMSS-NCKU 程序可执行文件 TwoPunctureABE 复制到程序运行的文件夹
TwoPuncture_file = os.path.join(AMSS_NCKU_source_copy, "TwoPunctureABE")
if (input_data.Initial_Data_Method == "Ansorg-TwoPuncture" ):
if not os.path.exists( TwoPuncture_file ):
print( )
print( " 缺少 AMSS-NCKU 可执行文件 TwoPunctureABE,请将 AMSS_NCKU_source 中的 TwoPunctureABE 编译,编译完成后按回车继续!!! " )
inputvalue = input()
## 复制可执行文件 TwoPunctureABE 到程序运行目录
shutil.copy2(TwoPuncture_file, output_directionary)
###########################
##################################################################
## 如果初值方法选为 TwoPuncture,生成 TwoPuncture 的输入文件
if (input_data.Initial_Data_Method == "Ansorg-TwoPuncture" ):
print( )
print( " 初始值类型选取为 Ansorg-Twopuncture" )
print( )
print( )
print( " 正在生成 AMSS-NCKU TwoPuncture 程序的输入文件 " )
print( )
import generate_TwoPuncture_input
generate_TwoPuncture_input.generate_AMSSNCKU_TwoPuncture_input()
print( )
print( " 完成 AMSS-NCKU TwoPuncture 程序的输入文件 " )
print( )
## 生成的 AMSS-NCKU 输入文件名
AMSS_NCKU_TwoPuncture_inputfile = 'AMSS-NCKU-TwoPuncture.input'
AMSS_NCKU_TwoPuncture_inputfile_path = os.path.join(File_directionary, AMSS_NCKU_TwoPuncture_inputfile)
## 复制并重命名文件
shutil.copy2( AMSS_NCKU_TwoPuncture_inputfile_path, os.path.join(output_directionary, 'TwoPunctureinput.par') )
###########################
## 运行 TwoPuncture 来生成初值文件
print()
## print( " 准备启动 AMSS-NCKU TwoPuncture 程序 ,按回车继续!!! " )
## inputvalue = input()
print()
## 先切换到目标文件夹
os.chdir(output_directionary)
## 运行 TwoPuncture 程序
makefile_and_run.run_TwoPunctureABE()
###########################
## 改变当前工作目录到上两级目录
os.chdir('..')
os.chdir('..')
##################################################################
## 根据 TwoPuncture 的运行结果来更新 puncture data
import renew_puncture_parameter
renew_puncture_parameter.append_AMSSNCKU_BSSN_input(File_directionary, output_directionary)
## 生成的 AMSS-NCKU 输入文件名
AMSS_NCKU_inputfile = 'AMSS-NCKU.input'
AMSS_NCKU_inputfile_path = os.path.join(File_directionary, AMSS_NCKU_inputfile)
## 复制并重命名文件
shutil.copy2( AMSS_NCKU_inputfile_path, os.path.join(output_directionary, 'input.par') )
print( )
print( " 成功将生成的 AMSS-NCKU 程序输入文件复制到运行目录 " )
print( )
##################################################################
## 启动 AMSS-NCKU 程序
print()
## print(" 准备启动 AMSS-NCKU 程序,按回车继续!!! ")
## inputvalue = input()
print()
## 先切换到目标文件夹
os.chdir(output_directionary)
makefile_and_run.run_ABE()
## 改变当前工作目录到上两级目录
os.chdir('..')
os.chdir('..')
##################################################################
## 将一些基本输入拷贝出来,方便进行 debug
## 用于输出计算所用参数的文件地址
AMSS_NCKU_error_file_path = os.path.join(binary_results_directionary, "setting.par")
## 复制并重命名文件
shutil.copy( AMSS_NCKU_error_file_path, os.path.join(output_directionary, "AMSSNCKU_setting_parameter") )
## 用于报错的文件地址
AMSS_NCKU_error_file_path = os.path.join(binary_results_directionary, "Error.log")
## 复制并重命名文件
shutil.copy( AMSS_NCKU_error_file_path, os.path.join(output_directionary, "Error.log") )
## 程序基本输出
AMSS_NCKU_BH_data = os.path.join(binary_results_directionary, "bssn_BH.dat" )
AMSS_NCKU_ADM_data = os.path.join(binary_results_directionary, "bssn_ADMQs.dat" )
AMSS_NCKU_psi4_data = os.path.join(binary_results_directionary, "bssn_psi4.dat" )
AMSS_NCKU_constraint_data = os.path.join(binary_results_directionary, "bssn_constraint.dat")
## 复制并重命名文件
shutil.copy( AMSS_NCKU_BH_data, os.path.join(output_directionary, "bssn_BH.dat" ) )
shutil.copy( AMSS_NCKU_ADM_data, os.path.join(output_directionary, "bssn_ADMQs.dat" ) )
shutil.copy( AMSS_NCKU_psi4_data, os.path.join(output_directionary, "bssn_psi4.dat" ) )
shutil.copy( AMSS_NCKU_constraint_data, os.path.join(output_directionary, "bssn_constraint.dat") )
##################################################################
## 对 AMSS-NCKU 程序运行结果进行画图
print( )
print( " 准备对 AMSS-NCKU 程序运行结果进行画图 " )
print( )
import plot_xiaoqu
## 画出黑洞轨迹图
plot_xiaoqu.generate_puncture_orbit_plot( binary_results_directionary, figure_directionary )
plot_xiaoqu.generate_puncture_orbit_plot3D( binary_results_directionary, figure_directionary )
## 画出引力波波形图
for i in range(input_data.Detector_Number):
plot_xiaoqu.generate_gravitational_waveform_plot( binary_results_directionary, figure_directionary, i )
## 画出时空 ADM 质量的变化图
for i in range(input_data.Detector_Number):
plot_xiaoqu.generate_ADMmass_plot( binary_results_directionary, figure_directionary, i )
## 画出哈密顿约束违反性况的变化图
for i in range(input_data.grid_level):
plot_xiaoqu.generate_constraint_check_plot( binary_results_directionary, figure_directionary, i )
## 对储存的二进制数据画出图像
plot_xiaoqu.generate_binary_data_plot( binary_results_directionary, figure_directionary )
##################################################################
print( )
print( " 程序顺利结束,谢谢您的使用 " )
print( )
##################################################################
##################################################################
##
## AMSS-NCKU 数值相对论启动程序
## 小曲
## 2024/03/19
## 2025/01/21 修改
##
##################################################################
##################################################################
## 输出本程序的说明
import print_information
print_information.print_program_introduction()
##################################################################
## 程序开始运行前的提示
print( )
print( " 计算即将开始,请确认在 AMSS_NCKU_Input.py 中设置了正确的参数,按回车继续!!! " )
print( " 如果输入参数没有设置好,Ctrl+C 退出,调整 AMSS_NCKU_Input.py 中的输入参数!!! " )
## 设定一个输入(回车),以便程序下一步运行
inputvalue = input()
print()
##################################################################
## 导入参数文件
import AMSS_NCKU_Input as input_data
##################################################################
## 生成文件目录,用来程序运行的数据
import os
import shutil
# 根据输入文件来设置文件目录
File_directionary = os.path.join(input_data.File_directionary)
# 如果文件目录已经存在,则去除它
shutil.rmtree(File_directionary, ignore_errors=True)
## 创建文件夹
os.mkdir(File_directionary)
## 复制 python 输入文件到程序运行目录
shutil.copy("AMSS_NCKU_Input.py", File_directionary)
# 生成文件目录,用来存放各类输出文件
output_directionary = os.path.join(File_directionary, "AMSS_NCKU_output")
os.mkdir(output_directionary)
binary_results_directionary = os.path.join(output_directionary, input_data.Output_directionary)
os.mkdir(binary_results_directionary)
figure_directionary = os.path.join(File_directionary, "figure")
os.mkdir(figure_directionary)
print( )
print( " 生成文件目录完成 " )
print( )
##################################################################
## 输出相关的参数信息
import setup
## 输出相关的参数信息
setup.print_input_data( File_directionary )
setup.generate_AMSSNCKU_input()
print( )
print( " 检查网格大小和分辨率是否满足要求 " )
print( " 如果网格大小和分辨率不合适,Ctrl+C 退出,调整网格层数和每层网格格点数目!!! " )
print( " 如果网格大小和分辨率设定无误,按回车继续!!! " )
inputvalue = input() ## 设定一个输入(回车),以便程序下一步运行
print()
setup.print_puncture_information()
##################################################################
## 根据设定的参数生成 AMSS-NCKU 程序的输入文件
print( )
print( " 正在生成 AMSS-NCKU 程序的输入文件 " )
print( )
## 根据格点信息生成 cgh 的相关输入
import numerical_grid
numerical_grid.append_AMSSNCKU_cgh_input()
print( )
print( " 完成 AMSS-NCKU 程序的输入文件 " )
print( " 但是 AMSS-NCKU ABE 中 TwoPuncture 相关的输入要后几步运行后追加 " )
print( )
##################################################################
## 画出初始的格点设置
print( )
print( " 正在画出初始格点的图像 " )
print( )
numerical_grid.plot_initial_grid()
##################################################################
## 根据算法和参数生成 AMSS-NCKU 的宏文件
print( )
print( " 根据算法和参数生成 AMSS-NCKU 的宏文件 " )
print( )
import generate_macrodef
generate_macrodef.generate_macrodef_h()
print(" AMSS-NCKU 程序的宏文件 macrodef.h 已生成 ")
generate_macrodef.generate_macrodef_fh()
print(" AMSS-NCKU 程序的宏文件 macrodef.fh 已生成 ")
##################################################################
## 根据用户的要求编译 AMSS-NCKU 程序
print( )
print( " 准备根据要求编译并运行 AMSS-NCKU 程序,按回车继续!!! " )
inputvalue = input()
print()
AMSS_NCKU_source_path = "AMSS_NCKU_source"
AMSS_NCKU_source_copy = os.path.join(File_directionary, "AMSS_NCKU_source_copy")
###############################
## 如果 AMSS-NCKU 的源文件夹不存在,则创建它
# if not os.path.exists(destination_folder):
# os.makedirs(destination_folder)
if not os.path.exists(AMSS_NCKU_source_path):
os.makedirs(AMSS_NCKU_source_path)
print( " 缺少 AMSS-NCKU 源文件,请将代码文件复制到 AMSS_NCKU_source 文件夹,按回车继续!!! " )
## 设定一个输入(回车),以便程序下一步运行
inputvalue = input()
###############################
# 拷贝 AMSS-NCKU 的源文件,准备编译
shutil.copytree(AMSS_NCKU_source_path, AMSS_NCKU_source_copy)
# 将整个src文件夹复制到dst位置
# shutil.copytree(src, dst)
# 将生成的宏文件拷贝进 AMSS-NCKU 的代码文件夹
macrodef_h_path = os.path.join(File_directionary, "macrodef.h")
macrodef_fh_path = os.path.join(File_directionary, "macrodef.fh")
shutil.copy2(macrodef_h_path, AMSS_NCKU_source_copy)
shutil.copy2(macrodef_fh_path, AMSS_NCKU_source_copy)
# 复制文件到目标位置
# shutil.copy2(source_file_path, target_location)
# shutil.copy2保留文件的元数据,如修改时间。如果你只想复制文件内容,不保留元数据,可以使用shutil.copy。
###############################
# 编译相关程序
import makefile_and_run
## 先切换到目标文件夹
os.chdir(AMSS_NCKU_source_copy)
## 编译 AMSS-NCKU 的主程序 ABE/ABEGPU
makefile_and_run.makefile_ABE()
## 如果初值方法选为 TwoPuncture,编译可执行文件 TwoPunctureABE
if (input_data.Initial_Data_Method == "Ansorg-TwoPuncture" ):
makefile_and_run.makefile_TwoPunctureABE()
###########################
## 改变当前工作目录到上一级目录
os.chdir('..')
os.chdir('..')
print()
##################################################################
## 将 AMSS-NCKU 程序可执行文件 ABE 复制到程序运行的文件夹
if (input_data.GPU_Calculation == "no"):
ABE_file = os.path.join(AMSS_NCKU_source_copy, "ABE")
elif (input_data.GPU_Calculation == "yes"):
ABE_file = os.path.join(AMSS_NCKU_source_copy, "ABEGPU")
if not os.path.exists( ABE_file ):
print( )
print( " 缺少 AMSS-NCKU 可执行文件 ABE/ABEGPU,请将 AMSS_NCKU_source 编译,编译完成后按回车继续!!! " )
## 设定一个输入(回车),以便程序下一步运行
inputvalue = input()
## 复制可执行文件 ABE 到程序运行目录
shutil.copy2(ABE_file, output_directionary)
###########################
## 如果初值方法选为 TwoPuncture,将 AMSS-NCKU 程序可执行文件 TwoPunctureABE 复制到程序运行的文件夹
TwoPuncture_file = os.path.join(AMSS_NCKU_source_copy, "TwoPunctureABE")
if (input_data.Initial_Data_Method == "Ansorg-TwoPuncture" ):
if not os.path.exists( TwoPuncture_file ):
print( )
print( " 缺少 AMSS-NCKU 可执行文件 TwoPunctureABE,请将 AMSS_NCKU_source 中的 TwoPunctureABE 编译,编译完成后按回车继续!!! " )
inputvalue = input()
## 复制可执行文件 TwoPunctureABE 到程序运行目录
shutil.copy2(TwoPuncture_file, output_directionary)
###########################
##################################################################
## 如果初值方法选为 TwoPuncture,生成 TwoPuncture 的输入文件
if (input_data.Initial_Data_Method == "Ansorg-TwoPuncture" ):
print( )
print( " 初始值类型选取为 Ansorg-Twopuncture" )
print( )
print( )
print( " 正在生成 AMSS-NCKU TwoPuncture 程序的输入文件 " )
print( )
import generate_TwoPuncture_input
generate_TwoPuncture_input.generate_AMSSNCKU_TwoPuncture_input()
print( )
print( " 完成 AMSS-NCKU TwoPuncture 程序的输入文件 " )
print( )
## 生成的 AMSS-NCKU 输入文件名
AMSS_NCKU_TwoPuncture_inputfile = 'AMSS-NCKU-TwoPuncture.input'
AMSS_NCKU_TwoPuncture_inputfile_path = os.path.join(File_directionary, AMSS_NCKU_TwoPuncture_inputfile)
## 复制并重命名文件
shutil.copy2( AMSS_NCKU_TwoPuncture_inputfile_path, os.path.join(output_directionary, 'TwoPunctureinput.par') )
###########################
## 运行 TwoPuncture 来生成初值文件
print()
## print( " 准备启动 AMSS-NCKU TwoPuncture 程序 ,按回车继续!!! " )
## inputvalue = input()
print()
## 先切换到目标文件夹
os.chdir(output_directionary)
## 运行 TwoPuncture 程序
makefile_and_run.run_TwoPunctureABE()
###########################
## 改变当前工作目录到上两级目录
os.chdir('..')
os.chdir('..')
##################################################################
## 根据 TwoPuncture 的运行结果来更新 puncture data
import renew_puncture_parameter
renew_puncture_parameter.append_AMSSNCKU_BSSN_input(File_directionary, output_directionary)
## 生成的 AMSS-NCKU 输入文件名
AMSS_NCKU_inputfile = 'AMSS-NCKU.input'
AMSS_NCKU_inputfile_path = os.path.join(File_directionary, AMSS_NCKU_inputfile)
## 复制并重命名文件
shutil.copy2( AMSS_NCKU_inputfile_path, os.path.join(output_directionary, 'input.par') )
print( )
print( " 成功将生成的 AMSS-NCKU 程序输入文件复制到运行目录 " )
print( )
##################################################################
## 启动 AMSS-NCKU 程序
print()
## print(" 准备启动 AMSS-NCKU 程序,按回车继续!!! ")
## inputvalue = input()
print()
## 先切换到目标文件夹
os.chdir(output_directionary)
makefile_and_run.run_ABE()
## 改变当前工作目录到上两级目录
os.chdir('..')
os.chdir('..')
##################################################################
## 将一些基本输入拷贝出来,方便进行 debug
## 用于输出计算所用参数的文件地址
AMSS_NCKU_error_file_path = os.path.join(binary_results_directionary, "setting.par")
## 复制并重命名文件
shutil.copy( AMSS_NCKU_error_file_path, os.path.join(output_directionary, "AMSSNCKU_setting_parameter") )
## 用于报错的文件地址
AMSS_NCKU_error_file_path = os.path.join(binary_results_directionary, "Error.log")
## 复制并重命名文件
shutil.copy( AMSS_NCKU_error_file_path, os.path.join(output_directionary, "Error.log") )
## 程序基本输出
AMSS_NCKU_BH_data = os.path.join(binary_results_directionary, "bssn_BH.dat" )
AMSS_NCKU_ADM_data = os.path.join(binary_results_directionary, "bssn_ADMQs.dat" )
AMSS_NCKU_psi4_data = os.path.join(binary_results_directionary, "bssn_psi4.dat" )
AMSS_NCKU_constraint_data = os.path.join(binary_results_directionary, "bssn_constraint.dat")
## 复制并重命名文件
shutil.copy( AMSS_NCKU_BH_data, os.path.join(output_directionary, "bssn_BH.dat" ) )
shutil.copy( AMSS_NCKU_ADM_data, os.path.join(output_directionary, "bssn_ADMQs.dat" ) )
shutil.copy( AMSS_NCKU_psi4_data, os.path.join(output_directionary, "bssn_psi4.dat" ) )
shutil.copy( AMSS_NCKU_constraint_data, os.path.join(output_directionary, "bssn_constraint.dat") )
##################################################################
## 对 AMSS-NCKU 程序运行结果进行画图
print( )
print( " 准备对 AMSS-NCKU 程序运行结果进行画图 " )
print( )
import plot_xiaoqu
## 画出黑洞轨迹图
plot_xiaoqu.generate_puncture_orbit_plot( binary_results_directionary, figure_directionary )
plot_xiaoqu.generate_puncture_orbit_plot3D( binary_results_directionary, figure_directionary )
## 画出引力波波形图
for i in range(input_data.Detector_Number):
plot_xiaoqu.generate_gravitational_waveform_plot( binary_results_directionary, figure_directionary, i )
## 画出时空 ADM 质量的变化图
for i in range(input_data.Detector_Number):
plot_xiaoqu.generate_ADMmass_plot( binary_results_directionary, figure_directionary, i )
## 画出哈密顿约束违反性况的变化图
for i in range(input_data.grid_level):
plot_xiaoqu.generate_constraint_check_plot( binary_results_directionary, figure_directionary, i )
## 对储存的二进制数据画出图像
plot_xiaoqu.generate_binary_data_plot( binary_results_directionary, figure_directionary )
##################################################################
print( )
print( " 程序顺利结束,谢谢您的使用 " )
print( )
##################################################################
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