TBTrans计算键电流的输入参数及.TBT.nc文件过大问题咨询
TBTrans轨道电流文件体积疑问及优化方案
文件体积是否正常?
对于含304个C、H原子的带切口石墨烯体系,开启TBT.Current.Orb True后生成400GB的.TBT.nc文件属于轨道电流存储的典型情况,但仍有优化空间。轨道电流需要存储每一对原子轨道间的电流贡献,轨道总数随原子数线性增长,轨道对数量是轨道数的平方级(304个原子对应约900个价轨道,轨道对数量接近80万),再叠加每个能量点的数据存储,数据量会急剧膨胀。400GB的规模说明当前设置下存在冗余数据可精简。
保留键电流所需信息的前提下减小文件体积的方法
- 缩小能量计算范围/减少点数:如果仅需要特定能量区间(比如费米能级附近0.1eV)的键电流,用
TBT.Energy.Range指定区间(例:TBT.Energy.Range -0.1 0.1),或通过TBT.Energy.N减少能量点数量,避免存储全能量范围的冗余数据。 - 关闭非必要的轨道输出项:键电流仅依赖
TBT.Current.Orb True生成的轨道电流数据,若不需要轨道投影的透射率结果,直接关闭TBT.T.Orbital True,这会砍掉大量额外的轨道透射率存储数据。 - 启用体系对称性:如果你的带切口石墨烯片有镜像、旋转等对称性,开启
TBT.Symmetry True,让TBTrans只存储对称等价的轨道对数据,后续sisl读取时会自动利用对称性恢复完整数据,能大幅压缩文件体积。 - 事后裁剪冗余数据:如果已经生成了大文件,可使用NetCDF工具(如
ncks)或sisl的NetCDF操作接口,删除不需要的变量(比如多余的能量点、无关的轨道透射率变量),将有用数据导出为新的小文件。 - 确认精度设置:你已经用了单精度(
TBT.CDF.Current.Precission Single),这是TBTrans支持的最低存储精度,无法再通过降低精度压缩。
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

