Calorine完整接口与实例索引
按当前安装版本列出57个模块与环境入口、16个Model成员,连接基础教程和新增实操。
阅读本篇目录
下载模型、真实数据、完整脚本与参考图片。相关教程:偶极与极化率 · 红外与拉曼谱 · NEP89微调 · 模型编辑 · GPUMD数据读写 · 完整接口索引
1 准备与运行#
先解压并重画已经完成的参考结果:
unzip calorine-response-workflows-wave266-*.zip
cd calorine-response-workflows-wave266
bash run.sh
六张参考图在figures,CSV在analysis。若要自己重新计算,在新解压目录以普通账号执行:
bash prepare.sh
bash calculate.sh
bash status.sh
calculate通过Slurm分配一张P100,自动完成本包所有计算;新结果在work,参考图与新算结果分开。已提交时继续查看status,不要删除记录重复提交。结束后:
cat work/COMPLETE.json
ls work/analysis
本例环境为Calorine 4.0、Python 3.11、GPUMD 5.9.1;GPUMD采用GCC 13.3/CUDA 12.9系列环境。可以用module show calorine/4.0和module show gpumd/5.9.1-p100查看当前模块。下面的Python片段在计算完成后的work目录执行;MD和训练由calculate提交。
2 如何使用这张表#
Calorine以Python接口为主,当前4.0没有独立的calorine命令。输入准备、模型查询与后处理可以直接用Python;涉及MD或原生训练的示例通过Slurm运行。官方在线文档可能随版本变化,先核对实际环境:
module load calorine/4.0
python -c "import calorine; print(calorine.__version__)"
python -c "from calorine import nep,tools,gpumd; print(nep.__all__); print(tools.__all__); print(gpumd.__all__)"
以下按当前安装列出56个模块导出、1个环境读取入口,另列16个Model成员。每项连接已有或新增的实际小例;这不表示所有模型类型、任意参数组合和所有体系都已经适用。
3 模块入口#
| 接口 | 操作参考 |
|---|---|
calorine.calculators.CPUNEP |
对应实操 |
calorine.calculators.GPUNEP |
对应实操 |
calorine.nep.read_loss |
对应实操 |
calorine.nep.read_nepfile |
对应实操 |
calorine.nep.read_model |
对应实操 |
calorine.nep.read_structures |
对应实操 |
calorine.nep.get_parity_data |
对应实操 |
calorine.nep.apply_energy_offsets |
对应实操 |
calorine.nep.determine_energy_offsets |
对应实操 |
calorine.nep.get_descriptors |
对应实操 |
calorine.nep.get_dipole |
对应实操 |
calorine.nep.get_dipole_gradient |
对应实操 |
calorine.nep.get_polarizability |
对应实操 |
calorine.nep.get_polarizability_gradient |
对应实操 |
calorine.nep.get_latent_space |
对应实操 |
calorine.nep.get_potential_forces_and_virials |
对应实操 |
calorine.nep.setup_training |
对应实操 |
calorine.nep.setup_fine_tuning_nep89 |
对应实操 |
calorine.nep.write_nepfile |
对应实操 |
calorine.nep.write_structures |
对应实操 |
calorine.tools.analyze_data |
对应实操 |
calorine.tools.apply_kramers_kronig |
对应实操 |
calorine.tools.apply_quantum_correction |
对应实操 |
calorine.tools.batch_predict_properties |
对应实操 |
calorine.tools.get_absorption_coefficient |
对应实操 |
calorine.tools.get_autocorrelation_function |
对应实操 |
calorine.tools.get_correlation_length |
对应实操 |
calorine.tools.get_dielectric_function |
对应实操 |
calorine.tools.get_dielectric_function_from_refractive_index |
对应实操 |
calorine.tools.get_entropy |
对应实操 |
calorine.tools.get_error_estimate |
对应实操 |
calorine.tools.get_elastic_stiffness_tensor |
对应实操 |
calorine.tools.get_force_constants |
对应实操 |
calorine.tools.get_ir_spectrum |
对应实操 |
calorine.tools.get_primitive_structure |
对应实操 |
calorine.tools.get_raman_spectrum |
对应实操 |
calorine.tools.get_refractive_index |
对应实操 |
calorine.tools.get_rtc_from_hac |
对应实操 |
calorine.tools.get_spacegroup |
对应实操 |
calorine.tools.get_wyckoff_sites |
对应实操 |
calorine.tools.relax_structure |
对应实操 |
calorine.gpumd.read_dipole |
对应实操 |
calorine.gpumd.read_dpdt |
对应实操 |
calorine.gpumd.read_hac |
对应实操 |
calorine.gpumd.read_kappa |
对应实操 |
calorine.gpumd.read_msd |
对应实操 |
calorine.gpumd.read_mcmd |
对应实操 |
calorine.gpumd.read_polarizability |
对应实操 |
calorine.gpumd.read_runfile |
对应实操 |
calorine.gpumd.read_sdc |
对应实操 |
calorine.gpumd.read_shc |
对应实操 |
calorine.gpumd.read_thermo |
对应实操 |
calorine.gpumd.read_viscosity |
对应实操 |
calorine.gpumd.read_xyz |
对应实操 |
calorine.gpumd.write_runfile |
对应实操 |
calorine.gpumd.write_xyz |
对应实操 |
calorine.env.calorine_getenv |
对应实操 |
4 Model成员#
| 成员 | 用法 |
|---|---|
calorine.nep.Model.training_parameters |
模型编辑、状态和写出实例 |
calorine.nep.Model.write_nepfile |
模型编辑、状态和写出实例 |
calorine.nep.Model.n_frozen_parameters |
模型编辑、状态和写出实例 |
calorine.nep.Model.n_unset_parameters |
模型编辑、状态和写出实例 |
calorine.nep.Model.parameter_counts |
模型编辑、状态和写出实例 |
calorine.nep.Model.remove_species |
模型编辑、状态和写出实例 |
calorine.nep.Model.keep_species |
模型编辑、状态和写出实例 |
calorine.nep.Model.reorder |
模型编辑、状态和写出实例 |
calorine.nep.Model.add_species |
模型编辑、状态和写出实例 |
calorine.nep.Model.write |
模型编辑、状态和写出实例 |
calorine.nep.Model.read_restart |
模型编辑、状态和写出实例 |
calorine.nep.Model.write_restart |
模型编辑、状态和写出实例 |
calorine.nep.Model.initialize_parameters |
模型编辑、状态和写出实例 |
calorine.nep.Model.set_restart_sigma |
模型编辑、状态和写出实例 |
calorine.nep.Model.augment |
模型编辑、状态和写出实例 |
calorine.nep.Model.prune |
模型编辑、状态和写出实例 |
5 常用的环境设置#
calorine_getenv读取CALORINE_GPUMD_COMMAND和CALORINE_NEP_COMMAND,默认分别为gpumd和nep。若要使用自己的包装器,先在当前进程设置环境,再调用接口;不要修改公共安装:
python - <<'CALORINE_ENV'
import os
from calorine.env import calorine_getenv
print(calorine_getenv('GPUMD_COMMAND'))
print(calorine_getenv('NEP_COMMAND'))
CALORINE_ENV
资料包中的nep_gradient_compat只处理旧梯度接口生成的mode参数和模型的角向基函数信息,原生模型与预测输出仍来自实际nep程序。其他软件版本应先核对自己的输入格式,不能把本例包装器当通用补丁。
6 从需求选择下一篇#
能量/力、优化、弹性和声子优先看基础计算器、结构优化及弹性声子教程;训练数据、能量参考和模型描述符看原有数据教程。偶极/极化率看响应梯度篇,时间序列转频谱看IR/Raman篇,NEP89微调和网络编辑分别单列。GPUMD原生输出先看读取篇,确认列名、归一化和单位后再画图。
完整脚本、五条轨迹和六张图在同一资料包,便于从输入跟到最终结果。全部命令均围绕小体系教学,不把短轨迹或一次微调当作完整材料精度结论。
7 对称性便捷接口#
结构优化前后可以用同一容差检查空间群和原胞。下面三个函数均作用于自己的小结构,不提交电子结构计算:
cd work
python - <<'CALORINE_SYMMETRY'
from ase.build import bulk
from calorine.tools import get_spacegroup, get_primitive_structure, get_wyckoff_sites
a = bulk('Si', 'diamond', a=5.431, cubic=True)
print(get_spacegroup(a))
print('primitive atoms:', len(get_primitive_structure(a)))
print(get_wyckoff_sites(a))
CALORINE_SYMMETRY
理想金刚石Si对应227号空间群、2原子原胞。扰动后的结构和数值容差会改变识别结果,因此先确认是在识别理想模型还是已经变形的计算结构。