Currently the system supports ground + singly excited electronic states (N+1 states for N molecules). Double excitations (two molecules excited simultaneously) are needed for nonlinear spectroscopy (2D spectra, pump-probe).
What needs to be implemented
- Extended electronic state space — from
molCount+1 to molCount+1 + molCount*(molCount-1)/2 states (ground + single + double excitations)
- Double-excitation Hamiltonian blocks — couplings between single and double excitation manifolds
- Extended aggregate construction — update
AggregateCore, AggregateTools, AggregateOperators to handle the larger basis
- Updated tracing —
trace_bath and related functions must handle the new block structure
Impact
Architectural change affecting aggregate construction, Hamiltonians, and tracing. The electronicIndices function and indicesMap need extension. Consider a flag: Aggregate(...; max_excitations=1) defaulting to current behavior.
Proposed files
- Modifications to
src/aggregateCore.jl, src/aggregateTools.jl, src/aggregateOperators.jl
test/test_double_excitation.jl — tests
Currently the system supports ground + singly excited electronic states (N+1 states for N molecules). Double excitations (two molecules excited simultaneously) are needed for nonlinear spectroscopy (2D spectra, pump-probe).
What needs to be implemented
molCount+1tomolCount+1 + molCount*(molCount-1)/2states (ground + single + double excitations)AggregateCore,AggregateTools,AggregateOperatorsto handle the larger basistrace_bathand related functions must handle the new block structureImpact
Architectural change affecting aggregate construction, Hamiltonians, and tracing. The
electronicIndicesfunction andindicesMapneed extension. Consider a flag:Aggregate(...; max_excitations=1)defaulting to current behavior.Proposed files
src/aggregateCore.jl,src/aggregateTools.jl,src/aggregateOperators.jltest/test_double_excitation.jl— tests