Specifying calculations of multiple states#
Requesting multiple solutions of a given spin and symmetry#
Codes that support excited states take the additional option NROOT
,
which can be used to specify the number of solutions (roots) of the
charge, multiplicity, and symmetry specified by the user.
Assuming a \(C_{2v}\) molecular point group, the following example is for an input to compute three state of symmetry \(^{4}A_{2}\) for a neutral molecule:
set forte {
charge 0 # <-- neutral
multiplicity 4 # <-- quartet
root_sym 1 # <-- A_2
nroot 3 # <-- three solutions
}
Requesting multiple solutions of different spin and symmetry#
For certain types of multistate computations (e.g., state-averaged CASSCF), one may want to compute solutions of different spin and symmetry.
The simplest way to do so is by specifying the AVG_STATE
option to
define different sets of electronic states. This option is passed as a
list of triplets of numbers
[[irrep1, multi1, nstates1], [irrep2, multi2, nstates2], ...]
, where
irrep
, multi
, and nstates
specify the irrep, multiplicity,
and the number of states of each type requested.
For example, for a molecule with \(C_{2v}\) point group symmetry, the following input requests four \(^{3}B_{1}\) states and two \(^{5}B_{2}\) states:
set forte {
avg_state [[2,3,4],[3,5,2]] # <-- [(B1, triplet, 4 states), (B2,quintet,2 states)]
}
When AVG_STATE
is specified, each state is assigned a weight, which
by default is \(1/N\) where \(N\) is the total number of states
computed. The weights of all the states can also be indicated with the
AVG_WEIGHT
option. This option is a list of lists of numbers that
indicate the weight of each state in a triplet defined via
AVG_STATE
. This option takes the format
[[w1_1, w1_2, ..., w1_l], " [w2_1, w2_2, ..., w2_m], ...]
, where
each sublist specifies the weights of states defined by a triplet
[irrep, multi, nstates]
.
Suppose we want to do a computation on a singlet and two triplet \(A_{1}\) states, and assign a weight of 1/4 to the \(^1A_{1}\) state and weights of 1/2 and 1/4 to the \(^3A_{1}\) states. This computation can be specified by the input:
set forte {
avg_state [[0,1,1],[0,3,2]]
avg_weight [[0.25],[0.5,0.25]]
}
If the state weights do not add up to one, Forte will scale them, so the following input is an equivalent way to perform the same computation:
set forte {
avg_state [[0,1,1],[0,3,2]]
avg_weight [[1.],[2.,1.]]
}
Multistate GAS calculations#
Multistate computations using a GAS partitioning (see
:ref:Occupation numbers of GAS wave functions
) can be used to
generate even more nuanced electronic states. When the electronic states
are specified via the AVG_STATE
option, one can indicate states with
different GAS occupations by setting the GASNMIN
and GASNMAX
options. For multistate computations, these are lists that specify the
minimum and maximum occupation of each GAS space for each triplet that
defines an electronic state.
For example, the test case tests/methods/gasci-2
shows how to
compute two electronic states of the water molecule of \(^1A_1\)
symmetry. These two states use different occupation restrictions.
Specifically, the O 1s-like orbital (\(1a_1\)) has maximum
occupation of 2 and 1 in the two electronic states:
set forte {
gas1 [1,0,0,0]
gas2 [3,0,1,2]
gas1min [0,0]
gas1max [2,1] # The second set of states is constrained to have at most 1 electron in GAS1
avg_state [[0,1,1],[0,1,1]] # 2 states of singlet A_1 symmetry and different GAS
}
While the first state is representative of the ground state of water, the second state corresponds to a core-excited state.