Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Vibrations table: ECCE assigns mode symmetry and describes each mode (IR/Raman teaching)

Offen
#367 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
25/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
c
Bereich
desktop, testing

Rechercherichtung

Start by reading NModePanel.C and tracing the existing symmetry code and normal mode data for the supported chemistry codes. The issue calls for a wx-free analysis library with a command-line test; begin by checking how those modes and point-group operations are represented. Done means symmetry and activity assignments plus internal-coordinate mode descriptions match the listed textbook examples and program output.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

For teaching, the vibration table should say what each IR/Raman peak is. Today it has Frequency, Sym, Infrared and Raman, and Sym is filled only by codes that print mode symmetry: Gaussian and MOPAC. ORCA, NWChem and ECCE-QM print none, so the column shows mode numbers. (The comment in NModePanel.C that says orca.desc extracts VIBSYM is wrong.)

1. Symmetry, for every code

  • Apply the molecule's point-group operations (existing symmetry code) to each mode's displacement vector and read the irrep from the characters.
  • Add IR active / Raman active from the character table, so a mode with no IR intensity is explained.
  • Where the code prints labels as well (Gaussian, MOPAC), the test compares ours with theirs.

2. A Mode column describing the motion

  • Project each normal mode onto internal coordinates (bond stretches, angle bends, out-of-plane bends, torsions) and show the dominant ones with their share, e.g. C=O stretch 86%, H–O–H bend.
  • Equivalent coordinates moving in phase are symmetric, out of phase antisymmetric (O–H stretch, sym. / antisym.).
  • Bond names follow the Builder's bond orders (C=O, C≡N).

Layout: the analysis goes in a wx-free library with a command-line test; the panel only shows the columns.

Checks: textbook assignments for H2O, CO2, NH3, CH4, HCHO and benzene, and the mode descriptions ORCA and NWChem print where they exist.

Codes: every code that gives normal modes (Gaussian 16, ORCA, NWChem, MOPAC, ECCE-QM).

Labels on the plotted peaks are not part of this.

Vorherrschende Sprache
C
Sterne
10
Forks
8
Ø Merge
21 Min.
Gemergte PRs (30 T.)
1

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus FriendsofECCE/ECCE

Alle Issues in FriendsofECCE/ECCE

Ähnliche Issues

Weitere Issues zu C

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.