How eipgen/deepatb works
DeePaTB is a machine-learning correction to the semi-empirical Amesp quantum-chemistry method. Its main workflow prepares molecular examples and Amesp baseline results, derives projected-density descriptors and energy/force correction labels, trains a DeePKS model, then combines model corrections with Amesp results for prediction. The repository also supports single-XYZ evaluation, frozen-density analytic forces, an experimental Amesp response path, and finite-difference force checks. The graph follows README workflows and sampled scripts; unsampled training internals and several preparation steps are represented only at their documented boundaries.
Main entry points: evaluate_xyz.py XYZ evaluation · amesp Amesp calculations · model_io.py Model loading · dataset.py Dataset validation
Components 21
Data preparation
- Prepare examples
job/01_prepare - Amesp calculations
Amesp/Bin/amesp - Descriptor generation
job/01_prepare/03_get_aTB_decriptor.py - Force labels
job/01_prepare/05_get_delta_force.py - Energy labels
job/01_prepare/04_get_delta_energy.py
Model learning
- Dataset validation
deepatb/dataset.py - DeePKS training
job/02_train - Trained model
job/02_train/model.pth
Prediction and forces
- Energy prediction
job/02_train/get_deepatb_ene.py - Dataset forces
job/02_train/get_deepatb_force.py - XYZ evaluation
job/03_force/evaluate_xyz.py - Finite-difference check
job/03_force/check_force_finite_difference.py
DeePaTB core
- Amesp parsers
deepatb/amesp.py - Projected descriptors
deepatb/descriptor.py - Model loading
deepatb/model_io.py - Force correction
deepatb/force.py - Amesp runner
deepatb/amesp_runner.py - Post-SCF response
deepatb/amesp_response.py - Correction potential
deepatb/self_consistent.py
Other components
- Researcher
- XYZ molecules
Connections 32
- Researcher → XYZ molecules: provides
- XYZ molecules → Prepare examples: supplies geometries
- Prepare examples → Amesp calculations: runs calculations
- Amesp calculations → Amesp parsers: writes output
- Amesp parsers → Descriptor generation: provides density
- Descriptor generation → Projected descriptors: computes
- Projected descriptors → Dataset validation: saves descriptors
- Amesp calculations → Force labels: supplies base forces
- Force labels → Dataset validation: saves force targets
- Energy labels → Dataset validation: saves energy targets
- Dataset validation → DeePKS training: provides training data
- DeePKS training → Trained model: trains
- Trained model → Model loading: loaded by
- Model loading → Energy prediction: loads model
- Energy prediction → Model loading: evaluates model
- Energy prediction → Amesp calculations: combines baseline energy
- Model loading → Dataset forces: loads model
- Dataset forces → Force correction: computes correction
- Dataset forces → Amesp calculations: combines base results
- Researcher → XYZ evaluation: requests evaluation
- XYZ molecules → XYZ evaluation: provides geometry
- XYZ evaluation → Amesp runner: runs Amesp
- Amesp runner → Amesp calculations: invokes
- Amesp runner → Amesp parsers: parses results
- XYZ evaluation → Projected descriptors: builds descriptor
- XYZ evaluation → Model loading: loads model
- XYZ evaluation → Force correction: computes frozen force
- XYZ evaluation → Post-SCF response: optionally requests response
- Post-SCF response → Amesp calculations: runs response jobs
- Force correction → Correction potential: provides correction potential
- Researcher → Finite-difference check: requests validation
- Finite-difference check → XYZ evaluation: evaluates displaced geometries