Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Draw natural bond orbitals (NBO, NLMO, NHO) from NBO's own orbital files

Open
#313 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
18/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
c

Research direction

Start from the ORCA and Gaussian 16 Theory Details, where NBO is already requested, and check how the job's output is read back into the Builder's MO panel. The work is to add NBO's PLOT keyword, parse the AO basis and coefficient files, and map their AO order onto the existing MO surface code. Done means an NBO, NLMO or NHO orbital draws as a surface and its values match Multiwfn. Design decisions are still open, so raise them in the issue before writing code.

Written by the indexing model from the issue text.

Description

Aim: after an ORCA or Gaussian 16 job with NBO, show the natural orbitals in the Builder's MO panel and draw them as surfaces, like MOs.

How

  • ORCA and Gaussian 16 Theory Details already request NBO (NBO 6/7, the user's own licensed copy). Add NBO's PLOT keyword so NBO writes its orbital files next to the output (the AO basis and the NBO/NLMO/NHO coefficients in that basis, formats documented in the NBO manual).
  • Read them into orbital sets beside the MOs: NBOs, NLMOs, NHOs, each with NBO's label (BD, LP, BD*, CR, RY …, with the atoms) and occupancy.
  • Draw a selected orbital with the existing MO surface code (the coefficients are in the same AO basis; the AO order must be mapped as for the code's own MOs).

Checks

  • Multiwfn reads the same NBO files: orbital values at grid points and the occupancies must agree number for number.
  • NBOView may be used privately for a visual check; no published comparison.

Licence: ECCE does not ship or run NBO itself; it reads files produced by the user's own licensed NBO run, as the NBO manual's documented formats allow for other programs. Before release, the NBO authors are informed of what ECCE does (the manual asks for contact about interfaces).

Planned for 9.2.0.

Dominant language
C
Stars
10
Forks
8
Avg merge
21m
Merged PRs (30d)
1

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from FriendsofECCE/ECCE

All issues in FriendsofECCE/ECCE

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.