#castep #chemistry #cell #input-file #parser #file-format #comments

castep-cell-parser

Castep输入文件格式 castep 的解析器 .cell

1 个不稳定发布

0.1.0 2024年4月29日

2186解析实现

MIT 许可证

32KB
741

castep-cell-parser

Castep的.cell解析器。

开发

目前,该解析器可以查找并解析文件中两个必需的块条目,无论它们在文件中的出现顺序如何:晶格参数(LATTICE_CARTLATTICE_ABC)和离子位置(POSITIONS_FRACPOSITIONS_ABS)。如果启用功能 TS,则支持 POSITIONS_XXX_INTERMEDIATEPOSITIONS_XXX_PRODUCT

注释标记(#!)之后的内 容应被忽略。注释不应破坏数据的有效格式。如果注释切断了必要的数据,则解析器会失败,就像castep在接收此类输入 .cell 时会失败一样。

未来将支持更多的关键词和数据。

用法

使用 cargo 添加crate

cargo add castep-cell-parser

在您的代码中

use std::{fs, path::Path};
use castep_cell_parser::{CellParser, CellDocument};

let path = Path::new("SAC_GDY_V.cell");
let input = fs::read_to_string(path).unwrap();
let mut cell_parser = CellParser::from_str(&input);
let cell_doc: CellDocument = cell_parser.parse().unwrap();

依赖项

~3.5MB
~75K SLoC