🔧 自定义命令
GPUMDkit 支持从 ~/.gpumdkit.in 加载自定义命令。你可以把常用脚本或工作流封装成 custom_ 开头的 Bash 函数,然后通过 gpumdkit.sh -命令名 调用。
设置
编辑配置文件:
自定义函数需要使用 custom_ 前缀。
示例
简单问候
在 ~/.gpumdkit.in 中写入:
custom_hello() {
echo "Hello, GPUMDkit user! This is a custom command."
echo "Current GPUMDkit path: ${GPUMDkit_path}"
}
然后运行:
你会看到类似输出:
Hello, GPUMDkit user! This is a custom command.
Current GPUMDkit path: /home/yanzihan/software/GPUMDkit
带必需参数的命令
运行:
输出:
传递参数时,可以用 "$@" 安全地转发所有参数;如果需要从第一个参数开始引用,也可以使用 ${@:1}。
调用外部脚本
如果希望像调用 GPUMDkit 内置命令一样调用自己的脚本:
运行:
进阶示例
批处理绘图
对多个目录批量绘图:
custom_batch_plot() {
for dir in "$@"; do
cd "$dir"
gpumdkit.sh -plt thermo save
gpumdkit.sh -plt msd save
cd ..
done
}
用法:
训练集分析流程
把多个分析命令组合成一个入口:
custom_analyze_training() {
xyz_file=$1
echo "Analyzing $xyz_file..."
gpumdkit.sh -range "$xyz_file" force
gpumdkit.sh -min_dist_pbc "$xyz_file"
gpumdkit.sh -analyze_comp "$xyz_file"
echo "Analysis complete!"
}
用法:
自定义数据准备流程
custom_prep_training() {
echo "Preparing training data..."
gpumdkit.sh -out2xyz ./
gpumdkit.sh -filter_value train.xyz force 30
gpumdkit.sh -range filtered_force.xyz energy
echo "Training data ready!"
}
用法:
使用建议
- 命令名尽量清楚,例如
custom_analyze_training比custom_at更容易维护。 - 对需要参数的命令,建议在参数为空时打印用法提示。
- 调用外部脚本时,尽量用
"$@"保留参数中的空格和特殊字符。 - 批处理目录时,注意使用
cd "$dir",避免路径中有空格时出错。
感谢你使用 GPUMDkit!如有任何问题或需要进一步帮助,欢迎在我们的 GitHub 仓库提 issue 或联系 Zihan YAN (yanzihan@westlake.edu.cn)。