Solntsev Pasha
solntsev@univ.kiev.ua
Thank you for you comments and advices. Just one more thing. If wstate and avecoe arrays are not valid in case of ifort(1)=-1,1,1 option how can i control states to be used in PT2 part? Thus for singlets in my input file i have
********** ROUTINE MQCACI **********************************************
##########################
### CAS-CI RESULTS ###
##########################
*** NUMBER OF FILE-READ ***
NREAD = 0
*** CAS-CI ENERGIES ***
ENERGY DIF-ENE DIF-VEC
1 -3030.745035999314 0.0000D+00 0.0000D+00
2 -3030.617768153483 0.0000D+00 0.0000D+00
3 -3030.617768153479 0.0000D+00 0.0000D+00
4 -3030.549508792010 0.0000D+00 0.0000D+00
5 -3030.549508792003 0.0000D+00 0.0000D+00
6 -3030.531361206609 0.0000D+00 0.0000D+00
7 -3030.530931035556 0.0000D+00 0.0000D+00
8 -3030.475220816080 0.0000D+00 0.0000D+00
9 -3030.470288336847 0.0000D+00 0.0000D+00
All this states are singlets. Bu i am interesting in first 5 singlets only. In my system i have four triplets and 5 singlets. My relevant part of the input file is:
$det group=c1 ncore=186 nact=4 nels=4 pures=.f. nstate=20 wstate(1)=1,1,1,1,1,1,1,0,1,1,-0 $end
$mcscf cistep=aldet soscf=.t. fors=.t. maxit=300 ntrack=12 engtol=1d-12 acurcy=1d-6 iforb=.t. $end
$xmcqdpt kstate(1)=1,1,1,1,1,1,1,0,1,1,-0 inorb=0 edshft=0.02 iforb(1)=-1,1,1 mult=1 $end
Initially i left kstate(1) to be the same as wstate array in $mcscf. However, since we have mult=1 only singlet state are considered withing QDPT part. H_ef = 9 (all singlets and triplets) but i am interesting only in first 5 singlet states. Should i use kstate(1) array to pick-up my states of interest such as kstate(1)=1,1,1,1,1,-0 for first 5 singlet states? Or, i another words, how can we use H_ef with dimension more then number of states in CAS-CI but not include some undesired high lying states in PT2 part?
Thank you so much for you time.
Pavel.
On Fri Oct 19 '12 2:04am, Alex Granovsky wrote
----------------------------------------------
>Dear Pavel,
>first, at present you cannot use a separate XMCQDPT2 run
>for this purpose within the computation scheme I have suggested.
>The reason is that with a separate runs, XMCQDPT2 code will
>construct and use spin-specific (i.e., specific to singlet
>or triplet sates) density matrices, canonical orbitals,
>and orbital energies to be used in subsequent PT. This is
>because XMCQDPT2 code works with CSFs, not determinants,
>and is not capable at present to produce results averaged
>over different multiplicities.
>With the united MCSCF + XMCQDPT2 runs, the necessary quantities
>will be computed by the deteerminant-based MCSCF code and will
>be averaged over both singlet and triplet states. They later will
>just be reused by the XMCQDPT2 code. The XMCQDPT2 code with
>
$xmcqdpt iforb(1)=-1,1,1 $end
>ignores the wstate and avecoe arrays thus effectively inheriting
>those of MCSCF. The effective state averaging for XMCQDPT2 will
>then be the same as for MCSCF.
>Hope this helps,
>Alex
>
>
>
>On Tue Oct 16 '12 5:48pm, Solntsev Pasha wrote
>----------------------------------------------
>>Sorry Alex, one more thing to ask.
>>I have SA-CASSCF over triplets and singlets and i want to do XMCQDPT as a separate run. As you mentioned, i should use mult=1 or 3 for XMCQDPT but i wondering do i need to select all CASSCF states of the same multiplicity as requested in XMCQDPT or i should use all states (singlets and triplets) for PT2.
>>Thank you.
>>Pavel.
>>
>>
>>
>>On Wed Oct 10 '12 10:12pm, Alex Granovsky wrote
>>-----------------------------------------------
>>>Dear Pavel,
>>>sorry for large delay on my side.
>>>>Q1. ok, it sounds very interesting. So, if an order of states from
>>>CAS-CI part is 1,1,1,0,1 we can setup kstate(1)=1,1,1,0,1 and
>>>basically remove "undesired" state from PT2 part.
>>>Exactly.
>>>> Does it make sense?
>>>There are some situations when this for sure makes (some) sense.
>>>For instance, assume one is dealing with diatomic molecule.
>>>The full symmetry group is either Cinfv or Dinfh
>>>which is a non-abelian symmetry group. The effective Hamiltonian
>>>is thus block-diagonal and (provided one is interested in states of
>>>some particular symmetry type) one can remove other states from PT treatment.
>>>> Is this equivalent to setting of the AVECOE and WSTATE (XMCQDPT)
>>>arrays to be AVECOE(1)=1,1,1,0,1 and WSTATE(1)=1,1,1,0,1. If not, what
>>>is the best strategy, to use kstate or avecoe/wstate? Or, maybe, we
>>>can just use nstate/wstate/avecoe combination and forget about kstate.
>>>No you in general cannot. Both avecoe and wstate applies to renumbered
>>>CI states i.e. to state numbers generated after renumbering procedure.
>>>In general, kstate and avecoe/wstate are more or less independent.
>>>As to NSTATE/kstate, kstate provides the finer control.
>>>
>>>
>>>>Q2. What if those additional eigenvectors contribute to some low
>>>lying states? Do we need repeat CASSCF part once again and include
>>>those extra states?
>>>The answer depends on the magnitude of contribution. If it is large
>>>the answer can be "yes, it would be better to do that". As far
>>>as I remember this self-consistent procedure of the selection of
>>>the states in state-averaging was once discussed a year ago or so
>>>on the forum, you may find my older comments on this.
>>>
>>>
>>>>>>Q3: Is it good idea to do SA-CASSCF/XMCQDPT via singlets and triplets
>>>>>simultaneously in case of high spin-orbit coupling. Actually, i am
>>>>>going to check singlets only and singlets-triplets, but maybe it make
>>>>>no sense.
>>>>>I'd suggest you to use to use SA-CASSCF averaged over both singlet
>>>>>and triplet states to generate the same set of MOs to be used in PT2
>>>>>computations. Firefly v. 8.0.0 has some new features specifically
>>>>>tailored for these types of jobs which I'll describe in my next post
>>>>>to this thread.
>>>>Yes, sure.
>>>The couple of advises are:
>>>1. Use aldet CASCI code with PURES=.f. to generate orbitals with SA-CASSCF.
>>>2. Use
>>>
$mcscf iforb=.t. $end $xmcqdpt iforb(1)=-1,1,1 $end
>>>3. Perform two sets of QDPT calculations, one for singlets:
>>>
$xmcqdpt mult=1 $end
>>>and second for triplets:
>>>
$xmcqdpt mult=3 $end
>>>All the best,
>>>Alex
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>