Skip to content

Molecular Orbital Symmetries

Molecular orbital symmetry files specify the point group symmetry classification of each molecular orbital according to irreducible representations. This information is crucial for orbital optimization, as it constrains orbital rotations to maintain symmetry and prevents symmetry-breaking during wavefunction optimization.

Overview

Molecular symmetry provides powerful constraints in quantum chemistry calculations:

  • Reduces computational cost: Orbitals of different symmetries don't mix
  • Maintains physical correctness: Prevents artificial symmetry breaking
  • Improves optimization: Constrains search space to physically meaningful rotations
  • Enables selection rules: Determines allowed transitions and interactions

Key Concepts

  • Point group: Set of symmetry operations (rotations, reflections, inversions) that leave the molecule unchanged
  • Irreducible representation (irrep): Fundamental symmetry type under the point group
  • Symmetry label: Character string identifying the irrep (e.g., A₁, B₂, E)
  • Orbital transformation: How orbitals transform under symmetry operations

File Format

Symmetry files are stored in the pool/ directory and are automatically generated by the trex2champ converter when symmetry information is present in the TREXIO file.

File Structure

sym_labels 4 226
 1 AG 2 AU 3 BG 4 BU
1 4 4 1 1 4 1 4 1 2 3 2 3 4 1 4 1 4 4 1 1 4 4 1 4 1 3 1 4 1 2 4 1 2 4 1 3 2 4 3 2 1 4 4 3 1 1 4 4 4 2 1 3 1 4 1 1 4 1 4 3 1 4 2 2 3 1 4 1 4 1 1 4 2 3 4 1 4 2 1 3 1 4 1 4 2 4 4 1 3 4 1 3 4 2 1 2 3 4 1 2 4 1 3 4 2 3 1 1 4 4 1 2 1 3 1 4 1 4 2 3 4 1 4 2 1 4 3 1 4 2 3 2 3 4 1 2 3 1 2 4 2 3 4 1 4 3 2 1 1 3 4 4 1 4 1 2 4 1 3 1 2 4 4 4 3 1 1 3 1 1 2 2 4 4 2 1 4 3 1 1 4 3 4 2 1 1 2 4 3 4 3 2 1 3 4 1 3 1 4 4 2 1 4 1 4 1 1 4 4 4 1 1 1 4 1 4 4 1 4 1 4 1 4 1 4
end

Format Specification

Header line: Number of irreps and orbitals

sym_labels 4 226

Format: sym_labels nirrep norbitals

  • nirrep = 4: Number of irreducible representations in the point group
  • norbitals = 226: Total number of molecular orbitals

Irrep definition line: Symmetry labels

 1 AG 2 AU 3 BG 4 BU

Format: index1 label1 index2 label2 ... indexN labelN

  • Each irrep has a numeric index and a character label
  • Index numbers used to classify orbitals (1 to nirrep)
  • Labels follow standard group theory notation

Orbital classification line: Symmetry assignment for each orbital

1 4 4 1 1 4 1 4 1 2 3 2 3 4 1 4 ... (226 indices)

  • One index per molecular orbital
  • Index refers to irrep number from definition line
  • Order matches molecular orbital ordering in .lcao file
  • Length equals norb

Example interpretation:

Orbital 1: symmetry 1 (AG)
Orbital 2: symmetry 4 (BU)
Orbital 3: symmetry 4 (BU)
Orbital 4: symmetry 1 (AG)
...

Final line:

end

Examples

Example 1: Water (C₂ᵥ Symmetry)

System: H₂O with 13 molecular orbitals

Symmetry file (water.sym):

sym_labels 4 13
 1 A1 2 A2 3 B1 4 B2
1 1 4 1 3 1 4 3 1 4 3 1 4
end

Explanation:

  • C₂ᵥ point group with 4 irreps
  • 13 molecular orbitals classified
  • Orbital 1: A₁ (totally symmetric, σ bonding)
  • Orbital 2: A₁ (σ type)
  • Orbital 3: B₂ (oxygen lone pair)
  • Orbitals 4-5: A₁, B₁ (oxygen p orbitals)
  • Higher orbitals: virtual orbitals with various symmetries

Loading Symmetry Files in CHAMP

TREXIO contains symmetry information

Note that TREXIO file might contain orbital symmetry information, so you don't need to provide a symmetry file. If it does not, you can use the trex2champ tool to generate a symmetry file.

Specify the symmetry file in the CHAMP input:

%module general
    title  'VMC with symmetry constraints'
    pool   './pool/'
%endmodule

load trexio      $pool/molecule.hdf5
load symmetry    $pool/molecule.sym
load jastrow     $pool/jastrow.jas

%module optwf
    ioptwf        1 
    ioptci        0 
    ioptjas       0 
    ioptorb       1 
    method        'sr_n'
    multiple_adiag 0
    ncore         0
    nextorb       250 
    nblk_max      4000 
    no_active     0
    nopt_iter     5 
    sr_tau        0.05
    sr_eps        0.001
    sr_adiag      0.01
    isample_cmat  0
    energy_tol    0.0
%endmodule

Effect:

  • Orbitals within same irrep can mix
  • Orbitals of different irreps remain orthogonal
  • Maintains molecular symmetry throughout optimization

Generate Symmetry File

You can generate a symmetry file using the trex2champ tool:

#!/bin/bash
python trex2champ.py    \
            --trex molecule.hdf5 \
            --motype "RHF" \
            --backend "HDF5" \
            --basis_prefix "cc-VDZ" \
            --lcao \
            --geom \
            --basis \
            --ecp \
            --sym       # Flag to generate symmetry file

Getting Help

  • Always use trex2champ for reliable symmetry file generation
  • Verify point group assignment with molecular visualization tools
  • Check irrep labels against standard character tables
  • Ensure orbital count matches molecular orbital file
  • Test optimization with and without symmetry to verify correctness
  • Consult group theory references for complex point groups
  • See Troubleshooting Guide for symmetry-related errors

Optional but Recommended

Symmetry files are optional in CHAMP. However, for molecules with non-trivial symmetry and especially during orbital optimization, using symmetry constraints significantly improves efficiency and ensures physically correct results.

Automatic Generation

The easiest and most reliable way to generate symmetry files is using trex2champ on TREXIO files that contain symmetry information from quantum chemistry calculations. Manual construction should only be used when automatic generation is not available.

Consistency Required

The symmetry file must exactly match the molecular orbital file in terms of number of orbitals and their ordering. Always regenerate both from the same TREXIO source to ensure consistency.