Learn how to ask questions correctly

Alex Granovsky

gran@classic.chem.msu.su

Dear Pasha,

sorry for delayed reply.

XMCQDPT is one of the possible approaches to the Multi-State

Multi-Reference Perturbation Theory (MS-MR-PT); as such,

it is by no way the black-box method.

I'll try to provide some details on the general, most reliable and

successful procedure here. This procedure itself is based on our

experience and expertise in MS-MR-PT calculations over last decade

or so.

Assume you are interested in three electronic transitions from

the ground state. This means you need to achieve high-quality,

uniform description of four lowest-lying electronic states within

MS-MR-PT procedure.

The first step here is to use state-averaged CASSCF withing reasonably

chosen active space with averaging over four states, preferably with

equal weights. As described in the manual, the weights for SA-CASSCF

are specified in either $det (ALDET code) or $gugdm2 (GUGA code)

groups using wstate array.

The second step is to perform XMCQDPT2 calculations. The good idea

would be to include some additional states in the model space and

effective Hamiltonian, e.g., say 10 states as you did (using either

NSTATE keyword or KSTATE array). The XMCQDPT2 procedure itself

requires two additional arrays specifying weights of states in

computing state-averaged density matrices at various stages of

computations, namely, the wstate and avecoe arrays. The program's

defaults are to set both wstate and avecoe to all 1.0 for each

state entering effective Hamiltonian. However, this is **nota very reasonable approach**, at least for effective Hamiltonians

of large dimension. Indeed, averaging of densities over too large

number of CASCI/CASSCF states tends to kill the individuality

of each particular state. Due to this, I'd rather recommend you

to set wstate and avecoe to 1,1,1,1,0,0,0... as you need very

accurate description of only four lowest-lying states,

while it is quite permissible to describe other states less

accurately.

Note you need to explicitly specify each element of wstate and avecoe

arrays, so for ten states you need to input all ten elements:

$xmcqdpt wstate(1)=1,1,1,1,0,0,0,0,0,0 avecoe(1)=1,1,1,1,0,0,0,0,0,0 $end

However, there is useful "minus zero" trick you can use. Namely,

the following input:

wstate(1)=1,1,1,1,-0

sets all elements of wstate array to zero starting from its fifth

element. This trick is the general feature of Firefly that can be

used inputting any array data.

The third, most important step, is to examine the results of XMCQDPT2

calculations. There are two things you must look at - the energies

of low-lying states and the corresponding eigenvectors of effective

Hamiltonian. The latter give expansion coefficients for projection

of XMCQDPT2 excited states onto model space in the terms of the

original CASCI/CASSCF states. If there exist any additional

low-lying XMCQDPT2 states which are close to the fourth state

(i.e, to the original number of states of interest), you may need to

consider performing additional calculations in order to clarify

the true ordering of states (remember, the initial setup likely do

not provide very accurate, uniform description of all states). The

second, even more important thing to do, is to examine eigenvectors

of the effective Hamiltonian corresponding to the states of interest

and states that are close to them. The point is that the order of

states in MS-MR-PT calculations is typically not the same as in the

underlying CASSCF calculations. Moreover, higher CASSCF roots quite

often significantly contribute to the XMCQDPT2 states of interest.

On the other hand, exactly as any other perturbation theory, XMCQDPT2

relies on the correct, reasonable description of zero-order states

(ie., CASSCF states) already at CASSCF level.

Let us assume that in your particular calculations fourth XMCQDPT2

state is primary formed by the fifth CASSCF state, while the fourth

one corresponds to the high-energy state. In this situation, you have

two alternatives to explore. The first one is to perform SA-CASSCF

with averaging over five states, and then repeat XMCQDPT2 calculations

once again, including all important CASSCF states in state averaging

procedure (ie., wstate and avecoe arrays). The second one is to try

obtaining the solution of SA-CASSCF procedure with the correct

ordering of zero-order states. Indeed, SA-CASSCF typically has lots

of different solutions corresponding to different order of CASCI

states. As to initial MOs, you can use already converged SA-CASSCF

MOs. However, you need to specify different wstate array in $det

group, i.e., wstate(1)=1,1,1,0,1 You also need to to activate

state tracking in $mcscf group:

$mcscf ntrack=5 $end

This will track five lowest CI roots. Naturally, you'll need

to request more states in CI diagonalization routine (at least

five states of the same multiplicity or more). There are good

chances that during orbital optimization inside MCSCF code,

the fifth CI root will become the fourth one - and this is

why the state tracking is important. However, it is always good

idea to look at CI expansion coefficients at the end of MCSCF

calculations to verify this. You even may want to perform

a separate CASCI energy calculation using natural orbitals

of newly converged CASSCF calculation as MOs (scftyp=none

cityp=aldet or guga, guess=moread).

For any of two alternatives above, you will need to perform XMCQDPT2

calculations again, using new CASSCF MOs (as well as updated wstate

and avecoe arrays for the first alternative).

The procedure above can be repeated several times upon kind of

convergence will be reached, i.e., all important zero-order states

will be included into SA-CASSCF averaging procedure, while all

important XMCQDPT2 states will be described in the terms of desired

CASCI roots, with only minor contributions (say 0.1 to 0.05 or less)

due to higher energy CASCI roots.

This looks really cumbersome and complicated; however, with some

experience it is typically enough to perform only one additional

iteration. Moreover, if you are lucky, there will not be the need

in additional iterations at all.

Hope this helps.

Best regards,

Alex Granovsky

On Tue Dec 7 '10 9:03am, Solntsev Pasha wrote

---------------------------------------------

>Dear, community.

>I have a problem with understanding of model for MC-XQDPT2 job.

>We have compound with 3 electronic transitions (exp). I performed MC-XQDPT2 job for 10 states (kstate(1)=1,1,1....).

>If i understand correctly, if we talk about 3 absorption bands, then we are talking about transitions from ground state (1st) to nth. Am i right?

>From MC-XQDPT2 i obtained following energies (wstate - default):

> *** MC-XQDPT2 ENERGIES ***

> -----------------------------------------------------------------------

> STATE 1ST ORDER 2ND ORDER

> 1 E(MCSCF)= -3822.2239751504 E(MP2)= -3827.2563203706

> 2 E(MCSCF)= -3821.8825924691 E(MP2)= -3827.1924662365

> 3 E(MCSCF)= -3821.8450314052 E(MP2)= -3827.1286886480

> 4 E(MCSCF)= -3821.8194541416 E(MP2)= -3827.1261214412

> 5 E(MCSCF)= -3821.7122169154 E(MP2)= -3827.1091669798

> 6 E(MCSCF)= -3821.7030745227 E(MP2)= -3827.0862871147

> 7 E(MCSCF)= -3821.6630404126 E(MP2)= -3827.0445571444

> 8 E(MCSCF)= -3821.6562098927 E(MP2)= -3826.9904944801

> 9 E(MCSCF)= -3821.6493290034 E(MP2)= -3826.9566496369

> 10 E(MCSCF)= -3821.6450170783 E(MP2)= -3826.9105089003

>It looks like 3th and 4th states located very closely one to another .

>And some another states too. I think i should use state-averaged MC-XQDPT2 . But i don't understand exactly, how should i setup wstate array: WSTATE(1)=1,0,1,1,0,0,0,0,0,0 or if i want to include 8th and 9th states too. Maybe it is not correct, but i think we need average over 3th and 4th, 8th and 9th states separately for every pair of states. Different arrays? How can we determine coefficients for weights?

>The default values for WSTATE are: 1,0,0,0,....

>But from output file i saw:

> *** WEIGHTS OF STATES IN COMPUTING AVERAGED DENSITY MATRIX (WSTATE)

> -----------------------------------------------------------------------

> 1 2 3 4 5

> 1 1.000000D+00 1.000000D+00 1.000000D+00 1.000000D+00 1.000000D+00

> -----------------------------------------------------------------------

> 6 7 8 9 10

> 1 1.000000D+00 1.000000D+00 1.000000D+00 1.000000D+00 1.000000D+00

> -----------------------------------------------------------------------

>From that i understand what weight of every state that i am looking for is 1. (But not 0 for states .ne. 1)

>Thank you everybody for you help.

>Best, PS.

>

*[ This message was edited on Sat Dec 11 '10 at 8:19pm by the author ]*

Sat Dec 11 '10 8:19pm

This message read