Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
vibe-qc documentation
Light Logo Dark Logo

Getting started

  • Installation
  • Quickstart, your first 30 minutes
  • Using Claude to drive vibe-qc
  • Running vibe-qc
  • Good practices
  • Troubleshooting
  • Updating vibe-qc
  • Building and running vibe-qc on a uni cluster
  • Tour of the vibe-qc API

QVF and vibe-view

  • QVF and vibe-view
    • The QVF file format, end to end
    • Running a calculation as a QVF container
    • QVF job containers: one file, whole lifecycle
    • QVF consumer reference: reading a .qvf file in Python
    • Getting started with vibe-view alone
    • vibe-view: an end-to-end walkthrough
    • vibe-view: interactive viewer
    • Reading a .qvf in the terminal, over SSH
    • Terminal mode
    • Working with vibe-view
    • vibe-view command reference
    • Biomolecules: cartoon rendering, chains and residues
    • vibe-view desktop app (macOS, Windows, Linux)
    • vq Job Manager
    • Live reload (auto-reload on file change)
    • Adopting QVF: how to implement a writer in your own code
    • The QVF format toolkit
      • QVF format specification (v1)
      • Integrating QVF into your quantum-chemistry code
      • QVF writer library guide
      • Integrating a QVF writer into ORCA
      • QVF conformance suite
      • QVF governance
    • Viewing geometries, orbitals, and vibrations with MolTUI

Tutorial

  • Tutorial
    • Introduction: a course in computational quantum chemistry
    • Molecular Hartree-Fock
    • Molecular DFT (RKS)
    • Open-shell systems (Unrestricted, Restricted-Open-Shell)
    • Initial guesses: a hands-on walkthrough
    • Post-SCF properties: charges, bonds, dipole
    • Orbital and density visualization
    • Geometry optimization
    • Vibrational frequencies
    • Thermodynamics at temperature
    • Molecular dynamics (NVE, NVT, NPT)
    • Nudged elastic band: reaction paths and transition states
    • Relaxed potential-energy surface scans
    • Solvation in water (CPCM)
    • Basis-set convergence
    • Pt cluster with LANL2DZ: heavy-element ECPs
    • DFT functional comparison
    • Dispersion corrections (D3-BJ)
    • Double hybrid: B2PLYP step by step
    • Range-separated hybrids: ωB97X and the HOMO ≈ −IP property
    • Modern functionals: VV10 and the ωB97X-V / ωB97M-V wave
    • RIJCOSX SCF and analytic gradients on glycine
    • Stiff molecular SCF: rescuing oscillation with EDIIS+DIIS
    • Letting DIIS choose its own depth: R-CDIIS and AD-CDIIS
    • Second-order SCF: Newton, SOSCF, and TRAH
    • Excited states with TDDFT
    • Natural orbitals and the idempotency diagnostic
    • Verifying an RI-MP2 auxiliary basis
    • Canonical CCSD(T): the gold-standard reference
    • Local correlation with DLPNO
    • Non-mean-field solvers: Selected-CI, DMRG, v2RDM, and transcorrelated methods
    • Multireference: CASSCF, CASPT2, NEVPT2
    • MSINDO: semiempirical INDO
    • Semiempirical DFTB: fast preoptimization
    • More semiempirical methods: PM6 and GFN2-xTB
    • Periodic semiempirical methods and cross-method validation
    • Machine-learning interatomic potentials with MACE
    • Periodic HF on a 1D H chain
    • Periodic KS-DFT
    • Madelung constants via Ewald summation
    • k-points, the Brillouin zone, and Bloch phase
    • The cyclic cluster model (CCM)
    • AICCM quickstart
    • Γ-CCM / aiccm2026dev-a: step by step
    • χ-CCM / aiccm2026dev-b: 3D backends and dimensional guards
    • Experimental χ-CCM occupied localization
    • H-chain BvK equivalence: vibe-qc’s CCM ancestor
    • The equidistant H chain: a 1D metal on a cyclic ring
    • Choosing a periodic method: GDF, BIPOLE, and GPW / GAPW
    • Periodic SCF on a grid: the GPW route
    • All-electron plane waves: the GAPW route
    • Band structure and density of states
    • LiH at multiple k-points: KRHF vs Peintinger 2013
    • Projected density of states (PDOS)
    • Smearing for metals: Fermi-Dirac, Methfessel-Paxton, and cold smearing
    • The Gilat-Raubenheimer net: metallic Brillouin-zone integration
    • DFT+U for correlated transition-metal oxides
    • Why solid-state calculations use pob-TZVP
    • Solid-state walkthrough: LiH rocksalt with pob-TZVP
    • A gallery of real crystal structures
    • Periodic geometry optimization
    • MgO from the Materials Project: vqfetch end-to-end
    • Slabs and adsorption: the ab-initio surface workflow
    • Open-shell Green’s-function surface embedding
    • Peierls dimerisation of a 1D H-chain
    • Open-shell Mg⁺• in a periodic box: UHF GDF with Makov-Payne
    • Periodic orbital cubes and XSF files
    • Tight-cell DFT with the periodic Becke partition
    • Periodic SCF convergence: damping, DIIS, and level shifts
    • Symmetry-aware storage of lattice integrals (SYM3a)
    • XSF and BXSF: periodic volumetric visualisation
    • Running in parallel
    • Submitting a job to a remote machine with vq
    • Fetching external data with vqfetch
    • Reproducing an example output
    • Auto-citations: from .out to manuscript bibliography
    • Cross-validating against ORCA, Psi4, and PySCF

User guide

  • User guide
    • Molecules
    • Basis sets
    • Molecular basis-set optimisation
    • Cohesive energies and the energy-engine abstraction
    • Molecular naming
    • Functionals
    • ROHF and ROKS (restricted open-shell SCF)
    • MP2 and double hybrids
    • CC2, CC3, CCSD, CCSDT, QCISD, and perturbative triples
    • DLPNO methods (MP2, CCSD, CCSD(T))
    • Non-mean-field solvers (vibeqc.solvers)
    • Composite “3c” methods
    • Machine-learning interatomic potentials (MACE)
    • Semiempirical Methods
    • Semiempirical and MACE method comparison
    • MSINDO (semiempirical INDO)
    • DFT+U (Hubbard correction)
    • Effective core potentials (ECPs)
    • Periodic systems
    • Crystal lattices
    • Slabs and adsorbates
    • Green’s-function surface embedding
    • k-point meshes
    • Multi-k periodic SCF
    • Ewald summation in periodic systems
    • BIPOLE: Ewald-J-split periodic HF and DFT
    • Plane-wave Hartree-J via GPW / GAPW
    • Periodic-SCF methods: BIPOLE, GDF, GPW / GAPW
    • Periodic JK routes, method-family parity policy
    • The cyclic cluster model (CCM)
    • χ-CCM / aiccm2026dev-b (experimental)
    • AICCM - Γ-CCM, the aiccm2026dev-a line (experimental)
    • χ-CCM / aiccm2026dev-b: an independent finite-torus derivation
    • χ-CCM / aiccm2026dev-b decisions and open questions
    • COOP/COHP: bonding analysis for periodic systems
    • SCF convergence
    • SCF Fock-build modes
    • Eigensolver & SCF Solver Framework
    • Initial guesses
    • Smearing (fractional occupations for periodic SCF)
    • Metallic BZ integration: the Gilat-Raubenheimer net
    • Linear dependence and screening in periodic SCF
    • Density fitting (RIJ / RIJK / RIJCOSX)
    • Implicit solvation (CPCM / COSMO)
    • Settings introspection
    • Memory budget
    • Relaxed coordinate scans
    • Nudged Elastic Band (NEB)
    • Molecular dynamics
    • Post-SCF properties
    • Bond analysis: Wiberg, NBO, EDA, and orbital entanglement
    • Band structure and density of states
    • Volumetric data: cube, XSF, and BXSF files
    • The data_library/ parameter-storage standard
    • Experimental reference data (vqfetch reference)
    • QTAIM: topological analysis of the electron density
    • ASE integration
    • External QC codes (ORCA / Psi4 / others)
    • External structures (vqfetch)
    • Moving from PySCF
    • Moving from CRYSTAL
    • Moving from ORCA
    • Moving from Gaussian
    • Input scripts and output files
    • The output logger (vibeqc.output)
    • Automatic citations
    • BLAS + LAPACK backend
    • The vq calculation queue
    • Running vibe-qc from Jupyter Lab
    • Keyword index
    • Basis-set toolkit

Design documents -- architecture overviews

  • Design - QVF container format for visualization data
  • Design, vibeqc.output (unified output, logging, and citation surface)
  • Integrals first: the public integral primitives and their backends
  • MPI Parallelization Strategy
  • vibe-qc GPW/GAPW vs GPAW Program – Architectural Comparison

Design documents -- subsystem implementation notes

  • QVF-Basis – Architecture Review & Design Decision
  • Design, native vibe-qc GDF (Method 1 of the periodic JK roadmap)
  • Design, RSGDF 3-centre long-range half (rsgdf_lr_3c_tensor)
  • Design, basis.ao section for basis-function visualization
  • Design, periodic GAPW / GPW (and a path to PAW + ACE)
  • Design: Mixed Density Fitting (MDF) for all-electron µHa periodic GDF
  • Design, periodic smearing as a shared backend-agnostic utility
  • χ-CCM / aiccm2026dev-b: an independent finite-torus derivation
  • QVF-Basis – Developer README
  • QVF-Basis – Conversion Fidelity Matrix

Reference

  • Python API reference
    • vibeqc.Atom
    • vibeqc.Molecule
    • vibeqc.BasisSet
    • vibeqc.ShellInfo
    • vibeqc.from_xyz
    • vibeqc.RHFOptions
    • vibeqc.RHFResult
    • vibeqc.run_rhf
    • vibeqc.UHFOptions
    • vibeqc.UHFResult
    • vibeqc.run_uhf
    • vibeqc.RKSOptions
    • vibeqc.RKSResult
    • vibeqc.run_rks
    • vibeqc.UKSOptions
    • vibeqc.UKSResult
    • vibeqc.run_uks
    • vibeqc.MP2Result
    • vibeqc.run_mp2
    • vibeqc.UMP2Result
    • vibeqc.run_ump2
    • vibeqc.CCSDOptions
    • vibeqc.CCSDResult
    • vibeqc.CCSDIteration
    • vibeqc.run_ccsd
    • vibeqc.chemical_core_orbital_count
    • vibeqc.CC3Options
    • vibeqc.CC3Result
    • vibeqc.CC3Iteration
    • vibeqc.cc3
    • vibeqc.run_job
    • vibeqc.write_molden
    • vibeqc.write_orca_hess
    • vibeqc.write_xyz_trajectory
    • vibeqc.write_opt_trajectory
    • vibeqc.normal_mode_trajectory
    • vibeqc.format_scf_trace
    • vibeqc.log_scf_trace
    • vibeqc.compute_overlap
    • vibeqc.compute_kinetic
    • vibeqc.compute_nuclear
    • vibeqc.compute_eri
    • vibeqc.compute_gradient
    • vibeqc.compute_gradient_uhf
    • vibeqc.compute_gradient_rks
    • vibeqc.compute_gradient_uks
    • vibeqc.Functional
    • vibeqc.XCKind
    • vibeqc.build_grid
    • vibeqc.Grid
    • vibeqc.GridOptions
    • vibeqc.evaluate_ao
    • vibeqc.evaluate_ao_with_gradient
    • vibeqc.PeriodicSystem
    • vibeqc.LatticeCell
    • vibeqc.LatticeMatrixSet
    • vibeqc.LatticeSumOptions
    • vibeqc.CoulombMethod
    • vibeqc.BlochKMesh
    • vibeqc.BandDiag
    • vibeqc.direct_lattice_cells
    • vibeqc.bloch_sum
    • vibeqc.monkhorst_pack
    • vibeqc.diagonalize_bloch
    • vibeqc.compute_overlap_lattice
    • vibeqc.compute_kinetic_lattice
    • vibeqc.compute_nuclear_lattice
    • vibeqc.nuclear_repulsion_per_cell
    • vibeqc.compute_nuclear_erfc_lattice
    • vibeqc.EwaldOptions
    • vibeqc.ewald_point_charge_energy
    • vibeqc.ewald_nuclear_repulsion
    • vibeqc.build_jk_gamma_molecular_limit
    • vibeqc.build_fock_2e_real_space
    • vibeqc.build_xc_periodic
    • vibeqc.real_space_density_from_kpoints
    • vibeqc.PeriodicRHFOptions
    • vibeqc.PeriodicRHFResult
    • vibeqc.run_rhf_periodic_gamma
    • vibeqc.PeriodicSCFOptions
    • vibeqc.run_rhf_periodic
    • vibeqc.PeriodicKSOptions
    • vibeqc.PeriodicKSResult
    • vibeqc.run_rks_periodic
    • vibeqc.AtomicRadialGrid
    • vibeqc.default_alpha_for_element
    • vibeqc.lebedev_supported_orders
    • vibeqc.Crystal
    • vibeqc.SpaceGroup
    • vibeqc.SymmetryOp
    • vibeqc.IrreducibleKMesh
    • vibeqc.SymmetriseReport
    • vibeqc.SymmetriseResult
    • vibeqc.SymmetrisedOrbitIntegralResult
    • vibeqc.analyze_symmetry
    • vibeqc.attach_symmetry
    • vibeqc.detect_spacegroup
    • vibeqc.symmetrise
    • vibeqc.to_primitive
    • vibeqc.irreducible_kpoints
    • vibeqc.compute_overlap_lattice_symmetrised_with_orbits
    • vibeqc.compute_kinetic_lattice_symmetrised_with_orbits
    • vibeqc.compute_nuclear_lattice_symmetrised_with_orbits
    • vibeqc.read_cif
    • vibeqc.read_poscar
    • vibeqc.write_poscar
    • vibeqc.spglib_version
    • vibeqc.mulliken_charges
    • vibeqc.loewdin_charges
    • vibeqc.mayer_bond_orders
    • vibeqc.dipole_moment
    • vibeqc.DipoleMoment
    • vibeqc.center_of_mass
    • vibeqc.compute_dipole
    • vibeqc.DipoleIntegrals
    • vibeqc.ProgressLogger
    • vibeqc.resolve_progress
    • vibeqc.system_info
    • vibeqc.write_system_manifest
    • vibeqc.PerfTracker
    • vibeqc.PerfScope
    • vibeqc.perf_log
    • vibeqc.active_tracker
    • vibeqc.format_perf_report
    • vibeqc.StructuredLog
    • vibeqc.structured_log
    • vibeqc.active_structured_log
    • vibeqc.run_fingerprint
    • vibeqc.dump_on_failure
    • vibeqc.load_dump
    • vibeqc.classify_failure
    • vibeqc.crash_dump_context
    • vibeqc.MemoryEstimate
    • vibeqc.InsufficientMemoryError
    • vibeqc.estimate_memory
    • vibeqc.check_memory
    • vibeqc.available_memory_bytes
    • vibeqc.format_memory_report
    • vibeqc.VIBEQC_VERSION
    • vibeqc.banner
    • vibeqc.print_banner
    • vibeqc.library_versions
    • vibeqc.build_info
    • vibeqc.codename_for_version
    • vibeqc.enforce_runtime_pin_from_env
    • vibeqc.libint_version
    • vibeqc.libxc_version
    • vibeqc.spglib_version
    • vibeqc.basis_crystal
    • vibeqc.KPath
    • vibeqc.BandStructure
    • vibeqc.DensityOfStates
    • vibeqc.kpath_from_segments
    • vibeqc.band_structure
    • vibeqc.band_structure_hcore
    • vibeqc.density_of_states
    • vibeqc.density_of_states_hcore
    • vibeqc.plot.band_structure_figure
    • vibeqc.plot.dos_figure
    • vibeqc.plot.bands_dos_figure
    • vibeqc.CubeGrid
    • vibeqc.make_uniform_grid
    • vibeqc.write_cube_density
    • vibeqc.write_cube_mo
    • vibeqc.write_cube_mos
    • vibeqc.write_xsf_structure
    • vibeqc.write_xsf_volume
    • vibeqc.write_bxsf
    • vibeqc.SCFAccelerator
    • vibeqc.InitialGuess
    • vibeqc.ADIIS
    • vibeqc.EDIIS
    • vibeqc.SCFMode
    • vibeqc.NewtonOptions
    • vibeqc.SOSCFOptions
    • vibeqc.SmearingOptions
    • vibeqc.Hamiltonian
    • vibeqc.solve_selected_ci
    • vibeqc.SelectedCIOptions
    • vibeqc.solve_dmrg
    • vibeqc.DMRGOptions
    • vibeqc.solve_v2rdm
    • vibeqc.V2RDMOptions
    • vibeqc.build_transcorrelated_hamiltonian
    • vibeqc.TranscorrelatedOptions
    • vibeqc.SolverResult
    • vibeqc.CISDOptions
    • vibeqc.CISDResult
    • vibeqc.cisd
    • vibeqc.solvers.generate_determinants
    • vibeqc.solvers.build_hamiltonian_matrix_unrestricted
    • vibeqc.solvers.diagonal_matrix_element_unrestricted
    • vibeqc.get_hf_orbital_provider
    • vibeqc.build_hamiltonian_mo
    • vibeqc.solvers.transform_hamiltonian
    • vibeqc.run_double_hybrid
    • vibeqc.DoubleHybridResult
    • vibeqc.run_wb97x_d
    • vibeqc.WB97XDResult
    • vibeqc.ShortRangeCorrection
    • vibeqc.MP2Options
    • vibeqc.compute_d3bj
    • vibeqc.compute_d4
    • vibeqc.compute_chg_dispersion
    • vibeqc.compute_gcp
    • vibeqc.eeq_charges
    • vibeqc.DispersionResult
    • vibeqc.D4Result
    • vibeqc.GCPResult
    • vibeqc.EEQResult
    • vibeqc.EEQOptions
    • vibeqc.PeriodicDispersionResult
    • vibeqc.CPCMResult
    • vibeqc.SolventResult
    • vibeqc.optimize_molecule
    • vibeqc.MolecularOptimizeResult
    • vibeqc.OptimizeResult
    • vibeqc.HessianFDOptions
    • vibeqc.HessianResult
    • vibeqc.CPHFOptions
    • vibeqc.NEBResult
    • vibeqc.ScanResult
    • vibeqc.run_rhf_periodic_gamma_gdf
    • vibeqc.run_krhf_periodic_gdf
    • vibeqc.run_krks_periodic_gdf
    • vibeqc.run_aiccm2026dev_b_rhf
    • vibeqc.run_aiccm2026dev_b_rks
    • vibeqc.run_aiccm2026dev_b_uhf
    • vibeqc.run_aiccm2026dev_b_uks
    • vibeqc.run_aiccm2026dev_b_mp2
    • vibeqc.run_aiccm2026dev_b_ccsd
    • vibeqc.run_aiccm2026dev_b_ccsd_t
    • vibeqc.run_aiccm2026dev_b_ump2
    • vibeqc.run_aiccm2026dev_b_uccsd
    • vibeqc.run_aiccm2026dev_b_uccsd_t
    • vibeqc.run_aiccm2026dev_b_dlpno_mp2
    • vibeqc.run_aiccm2026dev_b_dlpno_ccsd
    • vibeqc.run_aiccm2026dev_b_dlpno_ccsd_t
    • vibeqc.run_aiccm2026dev_b_dlpno_ump2
    • vibeqc.run_aiccm2026dev_b_dlpno_uccsd
    • vibeqc.run_aiccm2026dev_b_dlpno_uccsd_t
    • vibeqc.derive_aiccm2026dev_b_scf_properties
    • vibeqc.aiccm2026dev_b_mayer_bond_orders
    • vibeqc.aiccm2026dev_b_band_structure
    • vibeqc.localize_aiccm2026dev_b_occupied
    • vibeqc.localize_aiccm2026dev_b_unrestricted_occupied
    • vibeqc.AICCM2026DevBLocalizationResult
    • vibeqc.AICCM2026DevBLocalizationMethod
    • vibeqc.projected_atomic_orbitals
    • vibeqc.build_pair_natural_orbitals
    • vibeqc.enumerate_pair_orbits
    • vibeqc.AICCM2026DevBLocalCorrelationSpace
    • vibeqc.build_aiccm2026dev_b_symmetry_plan
    • vibeqc.shell_pair_orbits
    • vibeqc.shell_quartet_orbits
    • vibeqc.AICCM2026DevBSymmetryPlan
    • vibeqc.AICCM2026DevBBackend
    • vibeqc.AICCM2026DevBFiniteTorusConvention
    • vibeqc.AICCM2026DevBExactExchangeAssembly
    • vibeqc.AICCM2026DevBMP2Result
    • vibeqc.AICCM2026DevBDLPNOMP2Result
    • vibeqc.AICCM2026DevBDLPNOCCSDResult
    • vibeqc.cyclic_gamma_mesh
    • vibeqc.wigner_seitz_representatives
    • vibeqc.pair_wigner_seitz_representatives
    • vibeqc.inverse_bloch_transform
    • vibeqc.AICCM2026DevBDiagnostics
    • vibeqc.run_rhf_periodic_gamma_ewald2d
    • vibeqc.run_rhf_periodic_gamma_ewald3d
    • vibeqc.run_rks_periodic_gamma_ewald3d
    • vibeqc.run_uhf_periodic_gamma_ewald3d
    • vibeqc.run_uks_periodic_gamma_ewald3d
    • vibeqc.run_rhf_periodic_multi_k_ewald3d
    • vibeqc.run_rks_periodic_multi_k_ewald3d
    • vibeqc.run_uhf_periodic_multi_k_ewald3d
    • vibeqc.run_pbc_bipole_rhf
    • vibeqc.run_pbc_bipole_uhf
    • vibeqc.run_pbc_bipole_rks
    • vibeqc.run_pbc_bipole_uks
    • vibeqc.run_periodic_job
    • vibeqc.PeriodicRHFGDFResult
    • vibeqc.PeriodicRHFEwaldResult
    • vibeqc.PeriodicRHFMultiKEwaldResult
    • vibeqc.PeriodicRKSEwaldResult
    • vibeqc.PeriodicRKSMultiKEwaldResult
    • vibeqc.PeriodicUHFEwaldResult
    • vibeqc.PeriodicUHFMultiKEwaldResult
    • vibeqc.PeriodicUKSEwaldResult
    • vibeqc.PeriodicUKSMultiKEwaldResult
    • vibeqc.PeriodicKRHFGDFResult
    • vibeqc.PeriodicKRKSGDFResult
    • vibeqc.PBCBipoleRHFResult
    • vibeqc.PBCBipoleUHFResult
    • vibeqc.PBCBipoleRKSResult
    • vibeqc.PBCBipoleUKSResult
    • vibeqc.PBCGDFResult
    • vibeqc.compute_gradient_periodic_rhf_gamma
    • vibeqc.compute_gradient_periodic_rks_gamma
    • vibeqc.compute_stress_tensor
    • vibeqc.hirshfeld_charges
    • vibeqc.HirshfeldResult
    • vibeqc.ECPCenter
    • vibeqc.auto_ecp_centers
    • vibeqc.compute_ecp_matrix
    • vibeqc.output.formats.qvf.write_qvf
    • vibeqc.output.formats.qvf.validate_qvf
    • vibeqc.output.formats.qvf.qvf_density_data
    • vibeqc.output.formats.qvf.qvf_mo_data
    • vibeqc.ThermoResult
  • Feature matrix
  • Validation and cross-code parity
  • Roadmap

vq

  • The vq calculation queue

Experimental

  • Experimental
    • Experimental features
      • χ-CCM PAO and PNO pipeline
      • χ-CCM finite-torus space-group symmetry
      • Diamond Γ-CCM / χ-CCM bond and band comparison
      • Open-shell AICCM
      • Comparing Γ-CCM and χ-CCM
      • Basis sets for AICCM
      • AICCM visualization
      • AICCM troubleshooting and diagnostics
    • Basis set development
      • Optimising a basis set with vibe-qc (molecular)
      • Design proposal, analytic SCF-energy gradient w.r.t. basis parameters
      • Periodic (k-point) analytic basis-parameter gradient: design / scoping
      • basissetdev, long-running plan
      • Goal 4, Basis-set optimisation engine
      • Goal 8, mpei-TZVP: a Hartree-Fock-optimized basis set
      • Stage 0 Implementation Plan, vibe-basis
      • pob-* basis-set verification report
      • Basis Sets in Quantum Chemistry: A Practical Survey for vibe-qc
      • Periodic-method requirements from basissetdev
      • Generating and reviewing the bundled basis library
      • Basis-set library roadmap
    • AICCM - Γ-CCM, the aiccm2026dev-a line (experimental)
    • AICCM aiccm2026dev-a follow-on - derivation document
    • χ-CCM / aiccm2026dev-b (experimental)
    • χ-CCM / aiccm2026dev-b: an independent finite-torus derivation
    • χ-CCM / aiccm2026dev-b decisions and open questions
    • The cyclic cluster model (CCM)
    • AICCM quickstart
    • Γ-CCM / aiccm2026dev-a: step by step
    • χ-CCM / aiccm2026dev-b: 3D backends and dimensional guards
    • Experimental χ-CCM occupied localization
    • H-chain BvK equivalence: vibe-qc’s CCM ancestor
    • The equidistant H chain: a 1D metal on a cyclic ring
    • χ-CCM PAO and PNO pipeline
    • χ-CCM finite-torus space-group symmetry
    • Diamond Γ-CCM / χ-CCM bond and band comparison
    • Open-shell AICCM
    • Comparing Γ-CCM and χ-CCM
    • Basis sets for AICCM
    • AICCM visualization
    • AICCM troubleshooting and diagnostics

Project

  • Unreleased
  • [v0.15.88] - 2026-07-29 - Neese’s Cheetah
  • [v0.15.87] - 2026-07-29 - Neese’s Cheetah
  • [v0.15.86] - 2026-07-29 - Neese’s Cheetah
  • [v0.15.85] - 2026-07-29 - Neese’s Cheetah
  • [v0.15.84] - 2026-07-29 - Neese’s Cheetah
  • [v0.15.83] - 2026-07-28 - Neese’s Cheetah
  • [v0.15.82] - 2026-07-28 - Neese’s Cheetah
  • [v0.15.81] - 2026-07-28 - Neese’s Cheetah
  • [v0.15.80] - 2026-07-28 - Neese’s Cheetah
  • [v0.15.79] - 2026-07-28 - Neese’s Cheetah
  • [v0.15.78] - 2026-07-28 - Neese’s Cheetah
  • [v0.15.77] - 2026-07-28 - Neese’s Cheetah
  • [v0.15.76] - 2026-07-28 - Neese’s Cheetah
  • [v0.15.75] - 2026-07-28 - Neese’s Cheetah
  • [v0.15.74] - 2026-07-28 - Neese’s Cheetah
  • [v0.15.73] - 2026-07-28 - Neese’s Cheetah
  • [v0.15.72] - 2026-07-28 - Neese’s Cheetah
  • [v0.15.71] - 2026-07-27 - Neese’s Cheetah
  • [v0.15.70] - 2026-07-27 - Neese’s Cheetah
  • [v0.15.69] - 2026-07-27 - Neese’s Cheetah
  • [v0.15.68] - 2026-07-27 - Neese’s Cheetah
  • [v0.15.67] - 2026-07-27 - Neese’s Cheetah
  • [v0.15.66] - 2026-07-26 - Neese’s Cheetah
  • [v0.15.65] - 2026-07-26 - Neese’s Cheetah
  • [v0.15.64] - 2026-07-26 - Neese’s Cheetah
  • [v0.15.63] - 2026-07-26 - Neese’s Cheetah
  • [v0.15.62] - 2026-07-26 - Neese’s Cheetah
  • [v0.15.61] - 2026-07-26 - Neese’s Cheetah
  • [v0.15.60] - 2026-07-25 - Neese’s Cheetah
  • [v0.15.59] - 2026-07-25 - Neese’s Cheetah
  • [v0.15.58] - 2026-07-24 - Neese’s Cheetah
  • [v0.15.57] - 2026-07-24 - Neese’s Cheetah
  • [v0.15.56] - 2026-07-23 - Neese’s Cheetah
  • [v0.15.55] - 2026-07-23 - Neese’s Cheetah
  • [v0.15.54] - 2026-07-23 - Neese’s Cheetah
  • [v0.15.53] - 2026-07-23 - Neese’s Cheetah
  • [v0.15.52] - 2026-07-23 - Neese’s Cheetah
  • [v0.15.51] - 2026-07-22 - Neese’s Cheetah
  • [v0.15.50] - 2026-07-20 - Neese’s Cheetah
  • [v0.15.49] - 2026-07-20 - Neese’s Cheetah
  • [v0.15.48] - 2026-07-20 - Neese’s Cheetah
  • [v0.15.47] - 2026-07-19
  • [v0.15.46] - 2026-07-19
  • [v0.15.45] - 2026-07-18 - Neese’s Cheetah
  • [v0.15.44] - 2026-07-17 - Neese’s Cheetah
  • [v0.15.43] - 2026-07-17 - Neese’s Cheetah
  • [v0.15.42] - 2026-07-17 - Neese’s Cheetah
  • [v0.15.41] - 2026-07-16 - Neese’s Cheetah
  • [v0.15.40] - 2026-07-15 - Neese’s Cheetah
  • [v0.15.39] - 2026-07-14 - Neese’s Cheetah
  • [v0.15.38] - 2026-07-13 - Neese’s Cheetah
  • [v0.15.37] - 2026-07-12 - Neese’s Cheetah
  • [v0.15.36] - 2026-07-12 - Neese’s Cheetah
  • [v0.15.35] - 2026-07-11 - Neese’s Cheetah
  • [v0.15.34] - 2026-07-11 - Neese’s Cheetah
  • [v0.15.33] - 2026-07-10 - Neese’s Cheetah
  • [v0.15.32] - 2026-07-10 - Neese’s Cheetah
  • [v0.15.31] - 2026-07-10 - Neese’s Cheetah
  • [v0.15.30] - 2026-07-07 - Neese’s Cheetah
  • [v0.15.29] - 2026-07-07 - Neese’s Cheetah
  • [v0.15.28] - 2026-07-05 - Neese’s Cheetah
  • [v0.15.27] - 2026-07-05 - Neese’s Cheetah
  • [v0.15.26] - 2026-07-05 - Neese’s Cheetah
  • [v0.15.25] - 2026-07-04 - Neese’s Cheetah
  • [v0.15.24] - 2026-07-04 - Neese’s Cheetah
  • [v0.15.23] - 2026-07-04 - Neese’s Cheetah
  • [v0.15.22] - 2026-07-04 - Neese’s Cheetah
  • [v0.15.21] - 2026-07-03 - Neese’s Cheetah
  • [v0.15.20] - 2026-07-03 - Neese’s Cheetah
  • [v0.15.19] - 2026-07-03 - Neese’s Cheetah
  • [v0.15.18] - 2026-07-02 - Neese’s Cheetah
  • [v0.15.17] - 2026-07-02 - Neese’s Cheetah
  • [v0.15.16] - 2026-07-02 - Neese’s Cheetah
  • [v0.15.15] - 2026-07-02 - Neese’s Cheetah
  • [v0.15.14] - 2026-07-02 - Neese’s Cheetah
  • [v0.15.13] - 2026-07-01 - Neese’s Cheetah
  • [v0.15.12] - 2026-07-01 - Neese’s Cheetah
  • v2.0.0 - 2026-07-01 - Pauling’s Panther
  • [v0.15.11] - 2026-07-01 - Neese’s Cheetah
  • [v0.15.10] - 2026-07-01 - Neese’s Cheetah
  • [v0.15.9] - 2026-07-01 - Neese’s Cheetah
  • [v0.15.8] - 2026-06-30 - Neese’s Cheetah
  • [v0.15.7] - 2026-06-30 - Neese’s Cheetah
  • [v0.15.6] - 2026-06-29 - Neese’s Cheetah
  • [v0.15.5] - 2026-06-29 - Neese’s Cheetah
  • [v0.15.4] - 2026-06-29 - Neese’s Cheetah
  • [v0.15.3] - 2026-06-29 - Neese’s Cheetah
  • [v0.15.2] — 2026-06-28 — Neese’s Cheetah
  • [v0.15.1] — 2026-06-26 — Neese’s Cheetah
  • [v0.15.0] — 2026-06-26 — Neese’s Cheetah
  • [v0.14.1] — 2026-06-24 — Bartlett’s Goose
  • [v0.14.0] — 2026-06-22 — Bartlett’s Goose
  • [v0.13.1] — 2026-06-17
  • [v0.13.0] — 2026-06-17 — Wisesa’s Fox
  • [v0.12.2] — 2026-06-12
  • [v0.12.1] — 2026-06-12
  • [v0.12.0] — 2026-06-12 — Knuth’s Beaver
  • [v0.11.4] — 2026-06-05
  • [v0.11.3] — 2026-06-04
  • [v0.11.2] — 2026-06-04
  • [v0.11.1] — 2026-06-03
  • [v0.11.0] — 2026-06-03 — Sun’s Stingray
  • [v0.10.5] — 2026-06-01
  • [v0.10.4] — 2026-06-01
  • [v0.10.3] — 2026-05-30
  • [v0.10.2] — 2026-05-29
  • [v0.10.1] — 2026-05-29
  • [v0.10.0] — 2026-05-27 — Pisani’s Penguin
  • [v0.9.1] — 2026-05-22
  • [v0.9.0] — 2026-05-22 — Knowles’s Kingfisher
  • Historical Codename Artwork (pre-v0.9.0)
  • Release process
  • Contributing to vibe-qc
  • Contributor setup, fresh-clone bootstrap and rebuild discipline
  • Developer Test Lanes
  • Support vibe-qc
  • Sponsors
  • How to cite vibe-qc
  • License + bundled-data inventory
  • Example scripts and generated outputs
Back to top
View this page

A gallery of real crystal structures¶

You’ll learn: the one shared pattern behind vibe-qc’s real-crystal example set — nine structure types, each run at RHF, B3LYP, and PBE — so you can adapt any of them as a starting point for your own material.

This page is a map, not a derivation: for a full first-principles walkthrough of why periodic Gaussian-basis SCF needs pob-TZVP, IBZ k-mesh reduction, and how to read band structure/DOS/orbital cubes off the result, see Why solid-state calculations use pob-TZVP and the deep single-system walkthrough, Solid-state walkthrough: LiH rocksalt with pob-TZVP. This page instead surveys the other nine real structures in examples/periodic/, which have no tutorial coverage today, and shows the pattern once so you don’t have to read all ~27 nearly-identical scripts to find it.

The shared pattern¶

Every script in the gallery below follows the same shape: a lattice matrix and fractional-feeling Cartesian positions in Å, converted to bohr, built into a PeriodicSystem, and run at Γ through the native GDF route:

from pathlib import Path
import numpy as np
from vibeqc import Atom, BasisSet, PeriodicSystem, run_periodic_job

ANG2BOHR = 1.0 / 0.529177210903

CELL_ANG = [[3.567, 0.0, 0.0], [0.0, 3.567, 0.0], [0.0, 0.0, 3.567]]
ATOM_DATA = [('C', [0.0, 0.0, 0.0]), ('C', [2.67525, 0.89175, 1.7835]), ...]

cell_bohr = np.array(CELL_ANG, dtype=float) * ANG2BOHR
Z_BY_SYM = {"C": 6, ...}   # every script carries its own small lookup
atoms = [Atom(Z_BY_SYM[sym], [x * ANG2BOHR for x in pos])
         for sym, pos in ATOM_DATA]

system = PeriodicSystem(3, cell_bohr, atoms)
basis = BasisSet(system.unit_cell_molecule(), "pob-tzvp")

run_periodic_job(
    system, basis,
    method="RHF",                 # or method="RKS", functional="b3lyp" / "pbe"
    output=Path(__file__).with_suffix(""),
    use_diis=True,
    fmixing_percent=30.0,         # mirrors CRYSTAL's default FMIXING
    max_iter=80,
    conv_tol_energy=1e-7,
)

fmixing_percent=30.0 is there deliberately: it mirrors CRYSTAL’s default Fock/KS-matrix mixing, which is part of why these scripts’ comments describe cross-checking against CRYSTAL14/PySCF references. The route underneath is the native Γ-point GDF driver (run_rhf_periodic_gamma_gdf / its RKS sibling) — see Choosing a periodic method if you need a different route (multi-k, BIPOLE, GPW/GAPW).

The nine structures¶

Each has its own directory under examples/periodic/ with RHF, RKS-B3LYP, and RKS-PBE variants sharing the pattern above (lattice parameters below are the actual values each script’s CELL_ANG uses — verified by reading the scripts, not looked up separately):

Structure

Type

Cell (Å)

Basis

C-diamond

Diamond cubic carbon

cubic a = 3.567

pob-TZVP

Si-diamond

Diamond cubic silicon

cubic a = 5.431

pob-TZVP

NaCl-rocksalt

Rocksalt (NaCl-type)

cubic a = 5.64

pob-TZVP

MgO-rocksalt

Rocksalt (NaCl-type)

cubic a = 4.21 (2-atom primitive)

pob-TZVP + a separate sto-3g Γ target

Ne-fcc

FCC solid neon

cubic a = 4.43

pob-TZVP

SiO2-alpha-quartz

α-quartz

trigonal, a = 4.9134, c = 5.4052

pob-TZVP

TiO2-rutile

Rutile

tetragonal, a = 4.5937, c = 2.9587

pob-TZVP

ZnO-wurtzite

Wurtzite

hexagonal, a = 3.2495, c = 5.2069

pob-TZVP

Al2O3-corundum

α-corundum, space group R-3c (#167)

hexagonal, a = 4.7589, c = 12.991

sto-3g (RHF only)

(LiH-rocksalt also lives in this directory with the same three-method pattern, but gets its own deep walkthrough — see Solid-state walkthrough: LiH rocksalt with pob-TZVP instead of repeating it here.)

Two structures don’t quite follow the plain pattern above:

  • MgO-rocksalt additionally ships a CRYSTAL14 side-by-side comparison: MgO-rocksalt-RHF-pobtzvp-mp8-gdf.py builds the same 2-atom FCC primitive cell CRYSTAL14 uses internally and runs it on an 8x8x8 k-mesh through the native multi-k GDF backend end to end, reporting the SCF energy, HOMO/LUMO gap, and IBZ-expansion metadata. A matching .d12 CRYSTAL14 input and a README-crystal14-parity.md sit in the same directory for the actual parity comparison.

  • Al2O3-corundum uses ASE’s ase.spacegroup.crystal to build the 12 Al + 18 O conventional cell from the space group and Wyckoff parameters directly (R-3c, a = 4.7589 Å, c = 12.991 Å, from Springer Materials entry sd_1400479) rather than hand-listing atom positions — worth a look if you want to build a structure from its space group instead of pasting fractional coordinates by hand. It also only has an RHF/sto-3g variant, no B3LYP/PBE siblings.

Adapting one for your own material¶

The fastest path to a new structure: copy the closest existing script (same structure type, if one matches), replace CELL_ANG and ATOM_DATA with your own lattice and basis, and keep everything else. If your basis isn’t pob-TZVP-covered for an element you need, see Why solid-state calculations use pob-TZVP for when a molecular basis is still safe to use instead.

Next¶

  • Why solid-state calculations use pob-TZVP for the basis theory these scripts all depend on.

  • Solid-state walkthrough: LiH rocksalt with pob-TZVP for the deep single-system version of this pattern: k-mesh convergence, band structure, DOS, and orbital cubes.

  • Choosing a periodic method for GDF vs. BIPOLE vs. GPW/GAPW, if Γ-point GDF isn’t the right route for your system.

Next
Periodic geometry optimization
Previous
Solid-state walkthrough: LiH rocksalt with pob-TZVP
Copyright © 2026, Michael F. Peintinger
Made with Sphinx and @pradyunsg's Furo
On this page
  • A gallery of real crystal structures
    • The shared pattern
    • The nine structures
    • Adapting one for your own material
    • Next