Electron density contour map in a plane (molecular plane or three atoms)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- c
- Ambito
- data-visualization
Direzione di ricerca
Start by reading ComputeMoCmd in src/viz and the MoDiagramCanvas pattern; the issue calls for a wx-free evaluator library, CLI, tests, a headless render tool and an MO-panel integration. Run the evaluator and rendering tests, then compare point values and plane plots against Multiwfn. Done means the specified density, plane, contour, canvas and export workflows pass the listed numerical and headless-render checks.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
A 2D contour map of the electron density (and spin density) in a chosen plane, the classic textbook figure. ECCE already computes the density from each calculation's MO coefficients, occupations and basis (ComputeMoCmd, MO panel "Density" / "Spin Density"), but only on an axis-aligned 3D grid for isosurfaces. The MO panel's "Contour" style draws a single isovalue on the 3D surface, not a map in a plane.
The new application icon (benzene in-plane density, log-spaced contours, viridis) shows this kind of figure. It is currently drawn from a model density; once this feature exists, the icon should be regenerated from ECCE's own output.
Design
Per the project rule, analysis goes in a wx-free library with a CLI and tests; the panel only gathers options and draws.
- Point evaluator. Move the density evaluation out of
ComputeMoCmd(src/viz) into a wx-free library: ρ(r) = Σ_μν P_μν φ_μ(r) φ_ν(r) from the stored MOs and occupations, at arbitrary points. The 3D grid command then calls the same code, so there is one implementation. - Plane. Default: the least-squares plane through all atoms, used when it fits (RMS deviation below a threshold, e.g. benzene, water). Otherwise the plane through three atoms the user selects. In-plane axes from the principal axes; a margin around the projected atoms.
- Contours. Marching squares on a plane grid (resolution about 0.05 Å, adjustable). Log-spaced levels by default (the density spans orders of magnitude), with a linear option, a level count, and limits. Contours of the core density are capped, so the nuclei do not turn into solid blots.
- Canvas. A header-only canvas in the
MoDiagramCanvaspattern: contour lines in viridis, atom positions and labels, a scale bar in Å, and a colour key giving the level values (e/bohr³). It must be paintable to a bitmap headlessly, with a render tool and a test. - Panel. In the MO panel, beside the isosurface controls: field (density, spin density, a selected MO with signed contours, dashed for negative), plane choice, levels. Export to PNG/SVG.
Verification
- Evaluator: the density integrated over a large 3D grid gives N electrons (e.g. 10 for water, 42 for benzene) to within grid error. Cusps sit at the nuclei.
- Against an independent oracle: Multiwfn's plane contour plots of the same Gaussian and ORCA outputs, and point values of ρ at chosen points compared numerically, not by eye.
- Headless renders for water, benzene and an open-shell case (spin density), reviewed as PNGs.
- A plane through three atoms of a non-planar molecule (e.g. through H–C–H of CH₄).
Estimate
2–3 days, most of it the evaluator extraction and the oracle comparison.
- Lingua principale
- C
- Stelle
- 10
- Fork
- 8
- Merge medio
- 21m
- PR unite (30g)
- 1
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di FriendsofECCE/ECCE
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
FriendsofECCE/ECCE#336 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
FriendsofECCE/ECCE#363 · 3 commenti ·
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
FriendsofECCE/ECCE#362 ·
-
Viewer under XWayland: MO Diagram window opens black; bottom strip blinks on property switchesAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 43/100
FriendsofECCE/ECCE#361 · 1 commento ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
FriendsofECCE/ECCE#359 ·
Tutte le issue di FriendsofECCE/ECCE
Issue simili
-
Weekly fuzz run failedAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
kubernetes-sigs/security-profiles-operator#3597 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
AFLplusplus/AFLplusplus#2903 ·
-
Clean up stale and inaccurate comments in the platform screen and input filesForse già presa @RichStephens l’ha presa oggi. Aperta
Difficoltà 2/5 Mezza giornata Idoneità per principianti 88/100
FujiNetWIFI/fujinet-config#289 ·
I maintainer di solito rispondono entro 1 giorno
-
[raylib] update to 6.2Apertacategory:port-update
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
nasa/cFS-GroundSystem#272 ·