Metadata-Version: 2.4
Name: pypostb
Version: 0.3.0
Summary: A Python package for tight-binding model calculations from POSCAR files
Author: Dinghui Wang
License: MIT
Project-URL: Homepage, https://github.com/yourusername/pypostb
Project-URL: Documentation, https://github.com/yourusername/pypostb#readme
Project-URL: Repository, https://github.com/yourusername/pypostb
Project-URL: Issues, https://github.com/yourusername/pypostb/issues
Project-URL: Bug Tracker, https://github.com/yourusername/pypostb/issues
Keywords: tight-binding,band-structure,pythtb,poscar,vasp,condensed-matter
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: pythtb==1.8.0
Requires-Dist: numpy>=1.19.0
Requires-Dist: matplotlib>=3.3.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov>=3.0; extra == "dev"
Requires-Dist: black>=22.0; extra == "dev"
Requires-Dist: flake8>=4.0; extra == "dev"
Requires-Dist: mypy>=0.950; extra == "dev"

# 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`。

