Tags: deepmodeling/DeePTB
Tags
Tutorial 2025 (#241) * feat(nnsk): add basisref support and onsite energy display Introduce a new `basisref` parameter in the `to_json` method to handle uniform_noref mode for onsite energies. This allows for referencing a uniform basis set when calculating onsite energies. Additionally, add a `show_onsites` function to display onsite energies for a given basis set, improving debugging and analysis capabilities. * docs: restructure installation instructions for clarity Reorganize the installation steps in the documentation to improve readability and logical flow. Separate the installation of `torch` and `torch-scatter` into distinct steps and ensure consistent formatting across both the quick start guide and README. * refactor(nnsk): simplify uniform basis reference handling The changes streamline the handling of uniform basis references by consolidating the logic into a single block. This reduces redundancy and improves code maintainability by ensuring consistent behavior across different parameter types (hopping, overlap, onsite, and SOC). * chore: add base polynomial model files for empirical sk baseline model Add base_poly2.pth and base_poly4.pth files to the emp_base directory to support empirical base modeling * chore: add base model files for DFTB polynomial models Add binary model files `base_poly2.pth` and `base_poly4.pth` to the DFTB neural network directory. These files are essential for initializing polynomial-based models in the DFTB framework. * feat(config): add model parameter to update input template dynamically Introduce a new `model` parameter in the `get_full_config` function to dynamically update the input template based on the provided model. This change allows for more flexible configuration management by leveraging the `gen_inputs` utility function. Additionally, simplify optimizer configurations and adjust the `eout_weight` default value for consistency. * feat(emp_sk): add command to generate empirical SK parameters Introduce a new command 'esk' to generate initial empirical SK parameters. This includes the addition of the `emp_sk.py` module, which handles the conversion of model parameters to empirical SK format. The command supports both 'poly2' and 'poly4' base models and saves the output in JSON format. Also, fix a minor bug in `gen_inputs.py` where `model_options` was incorrectly accessed as a method. * refactor: update argument types and add help text for clarity - Modify argument types in `argcheck.py` to include `None` for `r_max`, `oer_max`, and `er_max` - Add help text for `basemodel` in `main.py` to clarify its options - Adjust `eout_weight` in `config_skenv.py` for better training balance - Introduce `atomic_radius` argument in `nnsk` for model flexibility - Add `uniform_noref` option to `onsite` method for additional configuration - Update `rs` argument type in `hopping` to accept `dict` for more complex scenarios * fix(gen_inputs): handle device type and freeze overlap param in nnsk Ensure correct device type assignment by checking both string and torch.device instances. Additionally, freeze the overlap parameter in the nnsk model when overlap is detected to prevent unintended modifications. * refactor(utils): 修改vasp_kpath函数参数类型为list[str] 将vasp_kpath函数的pathstr参数类型从str改为list[str],以提高代码的灵活性和可读性 * feat(run): support band plot for given structure using empirical sk parameters and support generating band.json from structure files, add input validation and default Fermi energy setting" * fix(emp_sk): 修正基础设置错误信息的描述,确保更清晰的错误提示 fix(band): 添加日志以确认提供的费米能量与估计值匹配 fix(auto_band_config): 修正日志信息中的拼写错误 * fix(test): 修正测试用例中的参数传递,确保正确处理无效输入 * feat(pyproject): add optional seekpath group and its dependencies * fix(auto_band_config): using get_path_orig_cell to replace seekpath.get_path, since the get_path function will works on the standard primitive unit cell. * fix(run): correct spelling of 'poly2' and 'poly4' in init_model checks * fix(emp_sk): ensure output directory exists before saving JSON model * fix(run): streamline init_model handling for 'poly2' and 'poly4' cases * fix(band): improve Fermi energy handling and update ylabel for clarity * fix(band): update plotting behavior to close figure when not using GUI * self.r_map to device * rename examples/silicon examples/silicon/tutorial_v2.1 * Rename silicon example files for tutorial v2.1 * Remove unused model files and update usage notebook * example: add ABACUS and VASP raw data files for GaAs unit cell structure. * feat: add example configurations and structures for base model This commit introduces new JSON configuration files and VASP structure files for silicon, GaAs, and hBN materials. These files are essential for setting up and testing the base model with different materials and basis sets. * feat(example):add GaAs example 1. using dftio transfer raw data to deeptb format including vasp and abacus 2. using base model to train gaas model * add raw data for GaAs_io_sk example * docs: add configuration files for GaAs training example Add `gaas.json` and `band.json` files to the `examples/GaAs_io_sk/train` directory. These files define the basis set and band structure calculation parameters for the GaAs training example. * feat(train): add reference checkpoints and input config for GaAs_io_sk This commit introduces new reference checkpoints (nnsk_tr1.pth, nnsk_tr2.pth) and a training input configuration file (input.json) for the GaAs_io_sk example. These files are essential for setting up and running the training process with the specified model and data options. * feat: add tutorial_v2.2 configuration files for silicon Introduce new JSON configuration files for the silicon tutorial version 2.2. These files include input configurations, band structure settings, and training options to support the tutorial's execution and reproducibility. * fix: update file paths in band.json and band_2.json Correct the reference file paths in band.json and band_2.json to point to the correct data directory * chore: update data paths in tutorial JSON files Modify the "root" field in input JSON files to point to "../data/" instead of "./data/" to ensure correct data directory referencing * feat: enhance format_common_options documentation with basis definition examples * fix: add error handling for invalid basis in OrbitalMapper * feat: add testing for auto_band_config.py and build empirical sk model * fix: update test cases to handle missing seekpath and use predefined common options * fix: add seekpath dependency to pyproject.toml * fix: remove optional seekpath group from pyproject.toml
add a new fermi level calculation method in band.py and its example (#… …176) * add kmesh mode in band.py * add kmesh and run * add example for get_fermi * add abstract_process.py and update get_fermi.ipynb * add abstract_process in band.py * remove kmesh mode in band.py * update example for get_fermi * add get_eigs and get_fermi_level in abstract_process.py * update band.py with get_fermi * remove unnecessary packages * rename abstracprocess as elec_struc_cal.py * add docstring in elec_struc_cal.py * remove usegui and results_path in elec_struc_cal.py * use klist to calculate efermi in band.py * update get_fermi example * add unitest for get_fermi * add nnsk.best.pth * remove test * Refactor Band class to use torch.nn.Module for model parameter in __init__ * Refactor test_get_fermi to use meshgrid instead of kmesh --------- Co-authored-by: qqgu <guqq_phy@qq.com>
PreviousNext