Skip to content

Partial charges: read every scheme ORCA, Gaussian and NWChem provide, and show them like Mulliken #272

Open

Description

@ohlincha

Requested for research use (partial charges). Today ECCE reads Mulliken (NWChem, ORCA, Gaussian, MOPAC, ECCE-QM), ESP fits (NWChem esp, Gaussian MK/CHELPG) and ORCA CHELPG when requested. Everything else the codes provide is ignored.

Not read yet

Scheme ORCA Gaussian 16 NWChem
Löwdin printed by default — printed on request
Mayer (atomic charge, bond orders) printed by default "Do Mayer BO" offered, output not read —
Hirshfeld ! Hirshfeld Pop=Hirshfeld —
CM5 — with Pop=Hirshfeld —
MBIS ! MBIS (ORCA 5+) — —
NPA (NBO) with NBO Pop=NBO6 already offered, NPA not read via NBO's file
APT — printed with Freq —

Order (cheapest first):

  1. Read what is printed already: ORCA Löwdin and Mayer, Gaussian NPA (already requestable) and APT.
  2. Offer and read Hirshfeld (ORCA, Gaussian), CM5 (Gaussian), MBIS (ORCA) in the Calculation Editor.
  3. NWChem Löwdin; NBO for ORCA and NWChem if the NBO program is available.

Display: the general PartialCharges panel (table, colour scale, atoms coloured by charge; used for ESPCHARGE) can show each new property by declaring it in data/client/config/PropertyPanelDescriptor.xml (group Charges, class PartialCharges), as long as the parse scripts store the same per-atom table. On top of that:

  • one "Atomic charges" entry with a scheme choice, instead of one menu entry per scheme;
  • a comparison table (atoms × schemes), optionally a plot of charge per atom for each scheme;
  • the same, optionally fixed, colour scale across schemes so colours are comparable.

Verification: each scheme checked against a real output of that code (water, a small ion pair, a transition-metal complex), with sums matching the total charge, as in the teaching set.

Activity

  1. ohlincha commented on Oct 11, 2026

    @ohlincha
    CollaboratorAuthor

    d0e1888, 8bcfba9: ORCA Loewdin, Hirshfeld, MBIS, CHELPG, NPA (! NBO) and Gaussian 16 APT, ESP fit, Hirshfeld, CM5, NPA are read, each a property under Charges, shown with the Mulliken panel. NWChem's ecce_print trace carries only Mulliken charges. Values match the outputs and sum to the total charge. Open: ORCA CHELPG appears twice (old Partial Charges and new ESP-Fitted Charges); Gaussian prints the Hirshfeld/CM5 table only with Pop=Hirshfeld or Pop=CM5 on its own.

  2. ohlincha commented on Oct 11, 2026

    @ohlincha
    CollaboratorAuthor

    91ea799: ORCA CHELPG appears once, as ESP-Fitted Charges (orca.espcharge wrote both ESPCHARGE and ESPFIT); ORCA and G16 ESP surfaces now use the fitted charges instead of Mulliken. G16 Hirshfeld/CM5: g16 prints the table when exactly one of Hirshfeld or CM5 is named, beside any other Pop keywords (Pop=(Full,CM5,MK) prints it); naming both, e.g. Pop=(Full,Hirshfeld,CM5), prints nothing. The parser already reads the table wherever it appears; a real g16 output with Pop=(Full,CM5,MK) is now a parser test. ECCE's dialog does not request either keyword yet.

  3. ohlincha commented on Oct 12, 2026

    @ohlincha
    CollaboratorAuthor

    Gaussian AIM (Bader) charges are not read (checked 2026-10-12 on Linux). G16 C.01, CO, rPBE1PBE/6-31G* … AIM=(CP) Pop=(NBO6,savenbos,full) (Theory Details: "Do AIM CP" and NBO ticked). The Viewer's Partial Charges show Mulliken and NPA only. The output has the AIM charges in

     III. PROPERTIES OF ATTRACTORS
     Attr.        Number of electrons         Charge
                  total         spin
       1         5.109744     0.000000       0.890256
       2         8.891752     0.000000      -0.891752
    

    (attractor n = atom n here; the attractor table "I. ATTRACTORS" gives the nucleus each attractor belongs to, which should be used for the mapping). To do: read this table into an AIM charge set shown with the others.

    Also missing on the input side: Gaussian's Theory Details can request only NBO (and AIM); Hirshfeld/CM5 (Pop=Hirshfeld), CHelpG (Pop=CHelpG) and Merz–Kollman (Pop=MK) cannot be asked for, though the parser reads them. Proposed: tick boxes for these, combined into one Pop=(…) keyword with NBO.

  4. ohlincha commented on Oct 12, 2026

    @ohlincha
    CollaboratorAuthor

    In 9.0.0: charges can be requested and are read for ORCA (CHELPG, Hirshfeld, MBIS, NBO), Gaussian 16 (Hirshfeld/CM5, MK or CHelpG, NBO 6/7, AIM), ECCE-QM (Löwdin, CHELPG, Merz–Kollman; compared with ORCA and Gaussian), NWChem and MOPAC (ESP-fitted). Left: Hirshfeld and CM5 for ECCE-QM.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions