Skip to content

Improvents in NEB and pseudopotentials#1213

Open
dbidoggia wants to merge 14 commits intoaiidateam:mainfrom
dbidoggia:pbc-fix-pr
Open

Improvents in NEB and pseudopotentials#1213
dbidoggia wants to merge 14 commits intoaiidateam:mainfrom
dbidoggia:pbc-fix-pr

Conversation

@dbidoggia
Copy link
Contributor

in NEB:

  • added parallelization options
  • improved parsing, in particular for calculations stopping at early stages without a full NEB iteration completed

for pseudo:

  • add the possibility to provide pseudos without cutoffs

mbercx and others added 14 commits September 15, 2025 14:53
Significant refactoring of the `NebParser` that moves the XML parsing for each image
to a separate `parse_xml` method. The handling of exit codes is also expanded and
improved.

Co-authored-by: Davide Bidoggia <davide.bidoggia@units.it>
Co-authored-by: ionuorah <anyianyi89@gmail.com>
In order to provide more control over the path to the user, we adapt the inputs of the
`NebCalculation` to use a single `images` input with type `TrajectoryData` that
contains all the structures, instead of only the `first_structure` and `last_structure`.
The latter are deprecated and will be removed in the next major release.

We also add the `validate_inputs` top-level validator to make sure the required inputs
are provided and add a deprecation warning. Validation related to these inputs that was
previously checked in the `prepare_for_submission` method is also moved to this
validator so these issues are discovered before submission.

Co-authored-by: Davide Bidoggia <davide.bidoggia@units.it>
Co-authored-by: ionuorah <anyianyi89@gmail.com>
Add a `BaseRestartWorkChain` for the `NebCalculation` class, dealing with several
common errors when running `neb.x` calculations. The following handlers are specific for
`neb.x` runs:

* `handle_neb_interrupted_partial_trajectory`
* `handle_neb_cycle_exceeded_nstep`

And are basically clean shutdowns for which we can do a full restart.
The following are duplicated from the `PwBaseWorkChain`:

* `handle_diagonalization_errors`
* `handle_electronic_convergence_not_reached`

Co-authored-by: Davide Bidoggia <davide.bidoggia@units.it>
Co-authored-by: ionuorah <anyianyi89@gmail.com>
It expects that pbc are set in the `TrajectoryData` by: `trajectory.set_array('pbc', np.array([False, False, False]))`
…ined cutoff, if we manually provide the cutoffs in the overrides input
…n the calculation. In this way also pseudo families without z_valence can work in some cases
…nd improve robustness of NEB parser when calcualtion fails with image parallelization
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants