As well as sampling the ground state, NECI can be used to estimate excited-state properties using an orthogonalisation procedure. Specifically, by performing FCIQMC simulations simultaneously, the lowest energy states can be sampled.
To do this, one must use the mneci compilation. Using dneci is not sufficient.
To specify how many states are to be sampled, one should use the
system-replicas
option in the System block of the input file.
Then, the orthogonalise-replicas
option should be included in the Calc
section of the input file. This will tell NECI to orthogonalise the
FCIQMC wave functions against each other. States representing
high-energy wave functions will be orthogonalised against those
representing low-energy wave functions. This prevents higher-energy
states being projected to the ground state, and instead allows excited
states to be converged upon.
Also, one must tell NECI how to initialise each FCIQMC wave function. It is a bad idea to start from single determinants, as many of these will be poor estimates to the desired excited states, and so convergence will be slow. Instead, one should start from trial estimates to the desired excited states. These trial states are generated by calculating the lowest-energy states within a subspace. Thus, one must simply tell NECI what subspace to use. The options available are the same as for semi-stochastic and trial spaces (see above).
For example, if one wants to initialise from the lowest-energy CISD
states, one should use the doubles-init
option in the Calc block. If
one wants to start from the lowest-energy states in a CAS
space, you should put cas-init 10 10
in the Calc block.
Also, single-determinant energy estimators can be give poor results for
excited states. Instead, trial wave function-based estimators should be
used. This should be done exactly as for the ground state – see above
for more details on this. For example, to use CISD wave functions in the
trial energy estimators, include both the trial-wavefunction
and
doubles-trial
options in the Calc block of the input file.
For some example excited-state calculations with NECI, see the test_suite/mneci/excited_state directory and the tests therein.