semvec/pypi-packages huggingface dataset:
pypostb 0.3.0
A Python package for tight-binding model calculations from POSCAR files
License: MIT
Requires Python: >=3.7
Keywords: tight-binding, band-structure, pythtb, poscar, vasp, condensed-matter

# PyPOSTB

从 POSCAR 文件直接计算紧束缚模型能带结构的 Python 包。

## 快速开始

### 1. 准备 POSCAR 文件

POSCAR 文件第一行需要包含参数：

```vasp
dimr=3 dimk=3 hopping_decay=1.0
   1.00000000000000
     5.8896136042106519    0.0000000000000000    0.0000000000000000
     0.0000000000000000    7.7193960717810146    0.0000000000000000
     0.0000000000000000    0.0000000000000000    5.5735571936146364
   Mn   La   O
     4     4    12
Direct
  0.0000000000000000  0.0000000000000000  0.5000000000000000     1
  0.5000000000000000  0.5000000000000000  0.0000000000000000    -1
  ...
```

**说明**:
- 第1行：`dimr=3 dimk=3 hopping_decay=1.0` 或 `3 3 1`（dimk dimr hopping_decay）
- 第4列（可选）：磁矩值

### 2. 准备 k 路径文件

创建 `KPATH.in` 或 `KPOINTS` 文件（**必需**，否则程序会报错）：

```
K-Path Generated by VASPKIT.
   20
Line-Mode
Reciprocal
   0.0000000000   0.0000000000   0.0000000000     GAMMA
   0.5000000000   0.0000000000   0.0000000000     M
 ...
```

### 3. 运行计算

```bash
pypostb --poscar POSCAR --output band_structure
```

## 主要特性

- ✅ **无需配置文件**：所有参数从 POSCAR 文件读取
- ✅ **自动计算最大距离**：最大跃迁距离 = 最大晶格常数
- ✅ **磁矩支持**：从 POSCAR 坐标行读取磁矩
- ✅ **k 路径必需**：从 KPATH.in 或 KPOINTS 读取（无则报错）

## 固定参数

- `min_distance`: 0.1 埃
- `max_R_range`: 2
- `max_distance`: 自动设置为最大晶格常数

## 依赖

- `pythtb`
- `numpy`
- `matplotlib`

## 更多信息

详细文档请参考 `pyamtb.md`。