From 6cbefe4044e3fa92fd183e5d36f00ee55832d73c Mon Sep 17 00:00:00 2001
From: Belugaaaa <1794077040@qq.com>
Date: Mon, 27 Jul 2026 16:15:30 +0800
Subject: [PATCH] =?UTF-8?q?=E3=80=90MIIT=20program=E3=80=91Add=20DeepH=20m?=
=?UTF-8?q?odel=20integration?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
electronic_structure/configs/deeph/README.md | 198 +++++++
.../configs/deeph/deeph_graphene.yaml | 401 +++++++++++++
electronic_structure/docs/deeph_fig2.png | Bin 0 -> 660004 bytes
ppmat/calculator/deeph.py | 385 ++++++++++++
ppmat/datasets/__init__.py | 4 +-
ppmat/datasets/deeph_dataset.py | 527 ++++++++++++++++
ppmat/datasets/deeph_graph.py | 561 ++++++++++++++++++
ppmat/losses/__init__.py | 2 +
ppmat/losses/mse_loss.py | 10 +
ppmat/models/__init__.py | 4 +
ppmat/models/deeph/__init__.py | 7 +
ppmat/models/deeph/deeph.py | 286 +++++++++
ppmat/models/deeph/deeph_graph_converter.py | 84 +++
ppmat/predictor/__init__.py | 2 +
ppmat/predictor/deeph.py | 261 ++++++++
ppmatSim/configs/Calculator/deeph_openmx.yaml | 10 +
.../configs/Task/deeph_dft_inference.yaml | 9 +
ppmatSim/configs/deeph_openmx.yaml | 22 +
ppmatSim/main.py | 17 +-
requirements.txt | 1 +
test/test_ase_dft.py | 133 +++++
test/test_deeph.py | 176 ++++++
22 files changed, 3095 insertions(+), 5 deletions(-)
create mode 100644 electronic_structure/configs/deeph/README.md
create mode 100644 electronic_structure/configs/deeph/deeph_graphene.yaml
create mode 100644 electronic_structure/docs/deeph_fig2.png
create mode 100644 ppmat/calculator/deeph.py
create mode 100644 ppmat/datasets/deeph_dataset.py
create mode 100644 ppmat/datasets/deeph_graph.py
create mode 100644 ppmat/models/deeph/__init__.py
create mode 100644 ppmat/models/deeph/deeph.py
create mode 100644 ppmat/models/deeph/deeph_graph_converter.py
create mode 100644 ppmat/predictor/deeph.py
create mode 100644 ppmatSim/configs/Calculator/deeph_openmx.yaml
create mode 100644 ppmatSim/configs/Task/deeph_dft_inference.yaml
create mode 100644 ppmatSim/configs/deeph_openmx.yaml
create mode 100644 test/test_ase_dft.py
create mode 100644 test/test_deeph.py
diff --git a/electronic_structure/configs/deeph/README.md b/electronic_structure/configs/deeph/README.md
new file mode 100644
index 00000000..1b3435d6
--- /dev/null
+++ b/electronic_structure/configs/deeph/README.md
@@ -0,0 +1,198 @@
+# DeepH
+
+[Deep-learning density functional theory Hamiltonian for efficient ab initio electronic-structure calculation](https://www.nature.com/articles/s43588-022-00265-6)
+
+## Introduction
+
+DeepH learns density functional theory (DFT) Hamiltonian matrix elements from
+crystal structures. By combining locality of electronic interactions with graph
+neural network message passing, the model predicts Hamiltonian blocks on
+periodic atom-pair edges and enables efficient downstream electronic-structure
+calculation without repeatedly running expensive self-consistent DFT.
+
+
+
+Figure source: [Nature Computational Science, Fig. 2](https://www.nature.com/articles/s43588-022-00265-6/figures/2).
+
+## Model
+
+DeepH represents a crystal as a periodic graph. Nodes are atoms, edges are atom
+pairs within a cutoff radius, and each edge corresponds to a Hamiltonian block
+$H_{ij}$ between local atomic orbitals. The PaddleMaterials integration reuses
+the suite graph converter to build the periodic crystal graph and keeps the
+DeepH-specific LCMP subgraph features for angular message passing.
+
+For an edge $(i, j)$, the target is the selected orbital entry or block of
+$H_{ij}$. Edge distances are expanded by Gaussian radial bases, angular
+features are generated from spherical harmonics in local frames, and stacked
+message-passing layers update atom/edge representations. A final edge decoder
+predicts Hamiltonian entries with a masked mean-squared-error objective:
+
+$$
+\mathcal{L} =
+\frac{\sum_{(i,j),k} M_{ij,k}(\hat{H}_{ij,k}-H_{ij,k})^2}
+{\sum_{(i,j),k} M_{ij,k}}.
+$$
+
+The training config validates the non-spin graphene Hamiltonian path with
+`interface=npz`, `target=hamiltonian`, and `if_lcmp_graph=True`. Both
+radius-based graphs (`create_from_DFT=False`) and DFT matrix sparsity graphs
+(`create_from_DFT=True`) are supported. Label-free inference uses
+`interface=npz_rc_only` with local coordinates generated from OpenMX overlap
+blocks.
+
+## Datasets
+
+The graphene example uses DeepH processed data. Each structure folder contains
+the crystal geometry and Hamiltonian labels:
+
+```text
+lat.dat
+site_positions.dat
+element.dat
+orbital_types.dat
+rh.npz
+rc.npz
+```
+
+The PaddleMaterials dataset adapter:
+
+- reads DeepH processed folders from `raw_dir`;
+- reconstructs canonical `pymatgen.Structure` objects with `BuildStructure`;
+- builds periodic crystal graphs with `FindPointsInSpheres`;
+- attaches DeepH Hamiltonian labels and LCMP subgraph metadata;
+- caches parsed graph samples under the configured `graph_dir`.
+
+The dataset was released with the
+[official DeepH-pack project](https://github.com/mzjb/DeepH-pack). Its processed
+format stores crystal geometry, local-coordinate matrices, and DFT Hamiltonian
+blocks for each structure. The train/validation/test split is generated with a
+fixed random seed from the ratios below.
+
+The baseline graphene split follows the original DeepH config ratios:
+
+| Dataset | Train | Val | Test | Seed |
+| --- | ---: | ---: | ---: | ---: |
+| graphene | 60% | 20% | 20% | 42 |
+
+Download the graphene dataset, pretrained checkpoint, and logs from
+[deeph_bce_handoff](https://pan.baidu.com/s/1dkXlzYV_3DLQugoQDKjsbA?pwd=vi6r)
+(password: `vi6r`).
+
+## Results
+
+
+
+
+ | Model Name |
+ Dataset |
+ Forward max diff |
+ Train align diff |
+ Test loss |
+ Compiler speedup |
+ Config |
+ Checkpoint | Log |
+
+
+
+
+ | deeph_graphene |
+ graphene |
+ 1.1444e-05 |
+ 4.0531e-06 |
+ 0.01072441 |
+ 88.9434% |
+ deeph_graphene |
+ deeph_bce_handoff (pwd: vi6r) |
+
+
+ | deeph_tbg_subset |
+ TBG_subset |
+ 1.3351e-05 |
+ 1.6809e-05 |
+ - |
+ - |
+ - |
+ alignment evidence |
+
+
+
+
+**Metric notes:** `Train align diff` reports the step-1 loss difference against
+the original DeepH reference implementation. The graphene supervised metric
+alignment has absolute `test_loss` difference `1.0801e-04`. Compiler speedup is
+measured by comparing Paddle dynamic evaluation latency (`21.6952 ms`) with
+`to_static`/CINN evaluation latency (`11.4824 ms`).
+
+## Command
+
+### Training
+
+```bash
+python electronic_structure/train.py \
+ -c electronic_structure/configs/deeph/deeph_graphene.yaml
+```
+
+### Validation
+
+```bash
+python electronic_structure/train.py \
+ -c electronic_structure/configs/deeph/deeph_graphene.yaml \
+ Global.do_train=False Global.do_eval=True Global.do_test=False \
+ Trainer.pretrained_model_path='data/deeph/graphene/best.pdparams'
+```
+
+### Testing
+
+```bash
+python electronic_structure/train.py \
+ -c electronic_structure/configs/deeph/deeph_graphene.yaml \
+ Global.do_train=False Global.do_eval=False Global.do_test=True \
+ Trainer.pretrained_model_path='data/deeph/graphene/best.pdparams'
+```
+
+### Dynamic-to-static / CINN evaluation
+
+```bash
+FLAGS_use_cinn=1 python electronic_structure/train.py \
+ -c electronic_structure/configs/deeph/deeph_graphene.yaml \
+ Global.do_train=False Global.do_eval=True Global.do_test=False \
+ Trainer.pretrained_model_path='data/deeph/graphene/best.pdparams'
+```
+
+### OpenMX DFT inference
+
+DeepH inference first runs the overlap-only OpenMX calculation through ASE,
+parses its sparse overlap blocks, constructs the LCMP graph, runs the Paddle
+checkpoint, and writes the predicted Hamiltonian. Configure the external DFT
+software before launching ppmatSim:
+
+```bash
+export OPENMX_DFT_DATA_PATH=/path/to/DFT_DATA19
+
+python ppmatSim/main.py --config-name deeph_openmx \
+ Model.config_path=electronic_structure/configs/deeph/deeph_graphene.yaml \
+ Model.checkpoint_path=data/deeph/graphene/best.pdparams \
+ Calculator.command='mpirun -np 4 /path/to/openmx_overlap' \
+ System.file_path=/path/to/inference_cifs
+```
+
+For each input structure, the workflow saves the raw OpenMX calculation,
+processed geometry, `overlaps.npz`, `rc.npz`, and the predicted `rh_pred.npz`
+under `deeph_dft_results//`. The supplied graphene model supports
+carbon structures with the OpenMX `C6.0-s2p2d1` basis.
+
+## Citation
+
+```bibtex
+@article{li2022deeph,
+ title={Deep-learning density functional theory Hamiltonian for efficient ab initio electronic-structure calculation},
+ author={Li, He and Wang, Zun and Zou, Nianlong and Ye, Meng and Xu, Runzhang and Gong, Xiaoxun and Duan, Wenhui and Xu, Yong},
+ journal={Nature Computational Science},
+ volume={2},
+ number={6},
+ pages={367--377},
+ year={2022},
+ publisher={Nature Publishing Group}
+}
+```
diff --git a/electronic_structure/configs/deeph/deeph_graphene.yaml b/electronic_structure/configs/deeph/deeph_graphene.yaml
new file mode 100644
index 00000000..91710680
--- /dev/null
+++ b/electronic_structure/configs/deeph/deeph_graphene.yaml
@@ -0,0 +1,401 @@
+Global:
+ do_train: true
+ do_eval: true
+ do_test: true
+Predict:
+ eval_with_no_grad: true
+Trainer:
+ max_epochs: 5
+ seed: 42
+ output_dir: ./output/deeph_graphene
+ save_freq: 1
+ log_freq: 1
+ start_eval_epoch: 0
+ eval_freq: 1
+ pretrained_model_path: null
+ pretrained_weight_name: null
+ resume_from_checkpoint: null
+ use_amp: false
+ amp_level: O1
+ eval_with_no_grad: true
+ gradient_accumulation_steps: 1
+ best_metric_indicator: eval_loss
+ name_for_best_metric: loss
+ greater_is_better: false
+ compute_metric_during_train: false
+ metric_strategy_during_eval: epoch
+ use_visualdl: false
+ use_wandb: false
+ use_tensorboard: false
+Model:
+ __class_name__: DeepHHamiltonian
+ __init_params__:
+ num_species: 1
+ in_atom_fea_len: 64
+ in_edge_fea_len: 128
+ num_orbital: 169
+ num_l: 5
+ gauss_stop: 6.0
+ if_exp: true
+ normalization: LayerNorm
+ target_name: label
+Optimizer:
+ __class_name__: Adam
+ __init_params__:
+ lr: 0.001
+ weight_decay: 0.0
+ beta1: 0.9
+ beta2: 0.999
+ epsilon: 1.0e-08
+ clip_norm_global: 4.2
+DeepH:
+ basic:
+ graph_dir: ./data/deeph/graphene/graph_data
+ save_dir: ./output/deeph_graphene
+ raw_dir: ./data/deeph/graphene/processed
+ dataset_name: graphene_local_gpu
+ only_get_graph: false
+ interface: npz
+ target: hamiltonian
+ disable_cuda: false
+ device: cpu
+ num_threads: 8
+ save_to_time_folder: false
+ save_csv: false
+ tb_writer: false
+ seed: 42
+ multiprocessing: 0
+ orbital:
+ - 6 6: [0, 0]
+ - 6 6: [0, 1]
+ - 6 6: [0, 2]
+ - 6 6: [0, 3]
+ - 6 6: [0, 4]
+ - 6 6: [0, 5]
+ - 6 6: [0, 6]
+ - 6 6: [0, 7]
+ - 6 6: [0, 8]
+ - 6 6: [0, 9]
+ - 6 6: [0, 10]
+ - 6 6: [0, 11]
+ - 6 6: [0, 12]
+ - 6 6: [1, 0]
+ - 6 6: [1, 1]
+ - 6 6: [1, 2]
+ - 6 6: [1, 3]
+ - 6 6: [1, 4]
+ - 6 6: [1, 5]
+ - 6 6: [1, 6]
+ - 6 6: [1, 7]
+ - 6 6: [1, 8]
+ - 6 6: [1, 9]
+ - 6 6: [1, 10]
+ - 6 6: [1, 11]
+ - 6 6: [1, 12]
+ - 6 6: [2, 0]
+ - 6 6: [2, 1]
+ - 6 6: [2, 2]
+ - 6 6: [2, 3]
+ - 6 6: [2, 4]
+ - 6 6: [2, 5]
+ - 6 6: [2, 6]
+ - 6 6: [2, 7]
+ - 6 6: [2, 8]
+ - 6 6: [2, 9]
+ - 6 6: [2, 10]
+ - 6 6: [2, 11]
+ - 6 6: [2, 12]
+ - 6 6: [3, 0]
+ - 6 6: [3, 1]
+ - 6 6: [3, 2]
+ - 6 6: [3, 3]
+ - 6 6: [3, 4]
+ - 6 6: [3, 5]
+ - 6 6: [3, 6]
+ - 6 6: [3, 7]
+ - 6 6: [3, 8]
+ - 6 6: [3, 9]
+ - 6 6: [3, 10]
+ - 6 6: [3, 11]
+ - 6 6: [3, 12]
+ - 6 6: [4, 0]
+ - 6 6: [4, 1]
+ - 6 6: [4, 2]
+ - 6 6: [4, 3]
+ - 6 6: [4, 4]
+ - 6 6: [4, 5]
+ - 6 6: [4, 6]
+ - 6 6: [4, 7]
+ - 6 6: [4, 8]
+ - 6 6: [4, 9]
+ - 6 6: [4, 10]
+ - 6 6: [4, 11]
+ - 6 6: [4, 12]
+ - 6 6: [5, 0]
+ - 6 6: [5, 1]
+ - 6 6: [5, 2]
+ - 6 6: [5, 3]
+ - 6 6: [5, 4]
+ - 6 6: [5, 5]
+ - 6 6: [5, 6]
+ - 6 6: [5, 7]
+ - 6 6: [5, 8]
+ - 6 6: [5, 9]
+ - 6 6: [5, 10]
+ - 6 6: [5, 11]
+ - 6 6: [5, 12]
+ - 6 6: [6, 0]
+ - 6 6: [6, 1]
+ - 6 6: [6, 2]
+ - 6 6: [6, 3]
+ - 6 6: [6, 4]
+ - 6 6: [6, 5]
+ - 6 6: [6, 6]
+ - 6 6: [6, 7]
+ - 6 6: [6, 8]
+ - 6 6: [6, 9]
+ - 6 6: [6, 10]
+ - 6 6: [6, 11]
+ - 6 6: [6, 12]
+ - 6 6: [7, 0]
+ - 6 6: [7, 1]
+ - 6 6: [7, 2]
+ - 6 6: [7, 3]
+ - 6 6: [7, 4]
+ - 6 6: [7, 5]
+ - 6 6: [7, 6]
+ - 6 6: [7, 7]
+ - 6 6: [7, 8]
+ - 6 6: [7, 9]
+ - 6 6: [7, 10]
+ - 6 6: [7, 11]
+ - 6 6: [7, 12]
+ - 6 6: [8, 0]
+ - 6 6: [8, 1]
+ - 6 6: [8, 2]
+ - 6 6: [8, 3]
+ - 6 6: [8, 4]
+ - 6 6: [8, 5]
+ - 6 6: [8, 6]
+ - 6 6: [8, 7]
+ - 6 6: [8, 8]
+ - 6 6: [8, 9]
+ - 6 6: [8, 10]
+ - 6 6: [8, 11]
+ - 6 6: [8, 12]
+ - 6 6: [9, 0]
+ - 6 6: [9, 1]
+ - 6 6: [9, 2]
+ - 6 6: [9, 3]
+ - 6 6: [9, 4]
+ - 6 6: [9, 5]
+ - 6 6: [9, 6]
+ - 6 6: [9, 7]
+ - 6 6: [9, 8]
+ - 6 6: [9, 9]
+ - 6 6: [9, 10]
+ - 6 6: [9, 11]
+ - 6 6: [9, 12]
+ - 6 6: [10, 0]
+ - 6 6: [10, 1]
+ - 6 6: [10, 2]
+ - 6 6: [10, 3]
+ - 6 6: [10, 4]
+ - 6 6: [10, 5]
+ - 6 6: [10, 6]
+ - 6 6: [10, 7]
+ - 6 6: [10, 8]
+ - 6 6: [10, 9]
+ - 6 6: [10, 10]
+ - 6 6: [10, 11]
+ - 6 6: [10, 12]
+ - 6 6: [11, 0]
+ - 6 6: [11, 1]
+ - 6 6: [11, 2]
+ - 6 6: [11, 3]
+ - 6 6: [11, 4]
+ - 6 6: [11, 5]
+ - 6 6: [11, 6]
+ - 6 6: [11, 7]
+ - 6 6: [11, 8]
+ - 6 6: [11, 9]
+ - 6 6: [11, 10]
+ - 6 6: [11, 11]
+ - 6 6: [11, 12]
+ - 6 6: [12, 0]
+ - 6 6: [12, 1]
+ - 6 6: [12, 2]
+ - 6 6: [12, 3]
+ - 6 6: [12, 4]
+ - 6 6: [12, 5]
+ - 6 6: [12, 6]
+ - 6 6: [12, 7]
+ - 6 6: [12, 8]
+ - 6 6: [12, 9]
+ - 6 6: [12, 10]
+ - 6 6: [12, 11]
+ - 6 6: [12, 12]
+ o_component: H
+ energy_component: summation
+ max_element: -1
+ statistics: false
+ normalizer: false
+ boxcox: false
+ graph:
+ radius: 6.0
+ max_num_nbr: 0
+ create_from_dft: false
+ if_lcmp_graph: true
+ separate_onsite: false
+ new_sp: false
+ train:
+ epochs: 5
+ pretrained: ''
+ resume: ''
+ train_ratio: 0.6
+ val_ratio: 0.2
+ test_ratio: 0.2
+ early_stopping_loss: 0.0
+ early_stopping_loss_epoch:
+ - 0.0
+ - 500
+ revert_then_decay: true
+ revert_threshold: 30
+ revert_decay_epoch:
+ - 800
+ - 2000
+ - 3000
+ - 4000
+ revert_decay_gamma:
+ - 0.4
+ - 0.5
+ - 0.5
+ - 0.4
+ clip_grad: true
+ clip_grad_value: 4.2
+ switch_sgd: false
+ switch_sgd_lr: 0.0001
+ switch_sgd_epoch: -1
+ hyperparameter:
+ batch_size: 4
+ dtype: float32
+ optimizer: adam
+ learning_rate: 0.001
+ lr_scheduler: ''
+ lr_milestones: []
+ momentum: 0.9
+ weight_decay: 0
+ criterion: MaskMSELoss
+ retain_edge_fea: true
+ lambda_eij: 0.0
+ lambda_ei: 0.1
+ lambda_etot: 0.0
+ network:
+ atom_fea_len: 64
+ edge_fea_len: 128
+ gauss_stop: 6.0
+ num_l: 5
+ aggr: add
+ distance_expansion: GaussianBasis
+ if_exp: true
+ if_multiplelinear: false
+ if_edge_update: true
+ if_lcmp: true
+ normalization: LayerNorm
+ atom_update_net: CGConv
+ trainable_gaussians: false
+ type_affine: false
+Dataset:
+ train:
+ dataset:
+ __class_name__: DeepHDataset
+ __init_params__:
+ split: train
+ split_seed: 42
+ build_structure_cfg:
+ format: array
+ primitive: false
+ niggli: false
+ canocial: true
+ build_graph_cfg:
+ __class_name__: FindPointsInSpheres
+ __init_params__:
+ cutoff: 6.0
+ pbc:
+ - 1
+ - 1
+ - 1
+ eps: 1.0e-08
+ config: ${DeepH}
+ sampler:
+ __class_name__: BatchSampler
+ __init_params__:
+ shuffle: true
+ drop_last: false
+ batch_size: 1
+ loader:
+ num_workers: 0
+ use_shared_memory: false
+ collate_fn: DefaultCollator
+ val:
+ dataset:
+ __class_name__: DeepHDataset
+ __init_params__:
+ split: val
+ split_seed: 42
+ build_structure_cfg:
+ format: array
+ primitive: false
+ niggli: false
+ canocial: true
+ build_graph_cfg:
+ __class_name__: FindPointsInSpheres
+ __init_params__:
+ cutoff: 6.0
+ pbc:
+ - 1
+ - 1
+ - 1
+ eps: 1.0e-08
+ config: ${DeepH}
+ sampler:
+ __class_name__: BatchSampler
+ __init_params__:
+ shuffle: false
+ drop_last: false
+ batch_size: 1
+ loader:
+ num_workers: 0
+ use_shared_memory: false
+ collate_fn: DefaultCollator
+ test:
+ dataset:
+ __class_name__: DeepHDataset
+ __init_params__:
+ split: test
+ split_seed: 42
+ build_structure_cfg:
+ format: array
+ primitive: false
+ niggli: false
+ canocial: true
+ build_graph_cfg:
+ __class_name__: FindPointsInSpheres
+ __init_params__:
+ cutoff: 6.0
+ pbc:
+ - 1
+ - 1
+ - 1
+ eps: 1.0e-08
+ config: ${DeepH}
+ sampler:
+ __class_name__: BatchSampler
+ __init_params__:
+ shuffle: false
+ drop_last: false
+ batch_size: 1
+ loader:
+ num_workers: 0
+ use_shared_memory: false
+ collate_fn: DefaultCollator
diff --git a/electronic_structure/docs/deeph_fig2.png b/electronic_structure/docs/deeph_fig2.png
new file mode 100644
index 0000000000000000000000000000000000000000..3d41da9cf76b5be1f2d25fe8517bf9bd97553908
GIT binary patch
literal 660004
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
z
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