SebWouters / CheMPS2

CheMPS2: a spin-adapted implementation of DMRG for ab initio quantum chemistry
GNU General Public License v2.0
70 stars 34 forks source link

anything wrong in the input file? #75

Closed 1234zou closed 4 years ago

1234zou commented 4 years ago

I was trying to run a DMRGSCF(8,8) calculation for C2 molecule, to see if the results will be equal to CASSCF(8,8). My input file is (I want no symmetry used)

`FCIDUMP = C2_cc-pVQZ_6D10F_2.0.FCIDUMP GROUP = 0

MULTIPLICITY = 1 NELECTRONS = 12 IRREP = 0 EXCITATION = 0

SWEEP_STATES = 32, 64 SWEEP_ENERGY_CONV = 1e-10, 1e-10 SWEEP_MAX_SWEEPS = 3, 10 SWEEP_NOISE_PREFAC = 0.1, 0.0 SWEEP_DVDSON_RTOL = 1e-5, 1e-10

NOCC = 2 NACT = 8 NVIR = 130

SCF_STATE_AVG = FALSE SCF_DIIS_THR = 1e-2 SCF_GRAD_THR = 1e-7 SCF_MAX_ITER = 50 SCF_ACTIVE_SPACE = I

CASPT2_CALC = TRUE CASPT2_ORBS = A CASPT2_IPEA = 0.0 CASPT2_IMAG = 0.0 CASPT2_CHECKPT = TRUE

PRINT_CORR = FALSE TMP_FOLDER = /scratch/jxzou`

The Shell command line arguments were chemps2 --file=C2_cc-pVQZ_6D10F_2.0.input >& C2_cc-pVQZ_6D10F_2.0.out &

However, I got a memory error immediately: Error in `chemps2': malloc(): memory corruption

Is there anything wrong in the input file? Many thanks. C2_cc-pVQZ_6D10F_2.0_CAS88.zip

1234zou commented 4 years ago

Oh, the possible reason is that the FCIDUMP file I used contains only integrals of CAS(8,8). If I provide a FCIDUMP file which contains integrals of Full CI, the calculation goes smoothly.

I used a cc-pVDZ basis set FCIDUMP file to find this possible reason. For cc-pVQZ, the FCIDUMP file would be huge and I killed the job.

Is it necessary to provide a FCIDUMP file that contains Full CI (not CASCI) integrals? The file will be huge for a large basis set.

Again, thanks for any suggestion

SebWouters commented 4 years ago

Hello,

Good that you found the reason.

While the DMRG routine in CheMPS2 is highly optimized, the CASSCF code is just for testing purposes. For large basis sets, it's best to use an interface (OpenMolcas, PySCF) which provides density fitting or Cholesky decomposition, and use CheMPS2 to replace the FCI solver in the CASSCF routine. Do you have a quantum chemistry package of preference?

Best regards, Sebastian

1234zou commented 4 years ago

Hello,

Good that you found the reason.

While the DMRG routine in CheMPS2 is highly optimized, the CASSCF code is just for testing purposes. For large basis sets, it's best to use an interface (OpenMolcas, PySCF) which provides density fitting or Cholesky decomposition, and use CheMPS2 to replace the FCI solver in the CASSCF routine. Do you have a quantum chemistry package of preference?

Best regards, Sebastian

Thanks for your quick response. I've tried using PySCF and successfully performed CASSCF calculations using CheMPS2 as the CI solver. It runs fast and is very convenient.

By the way, is it possible that only the FCIDUMP file containing CASCI integrals provided, if I just want to perform DMRG-CASCI or DMRG-CASPT2? (i.e. without SCF)

SebWouters commented 4 years ago

Hi,

By the way, is it possible that only the FCIDUMP file containing CASCI integrals provided, if I just want to perform DMRG-CASCI or DMRG-CASPT2? (i.e. without SCF)

Yes, the PySCF and OpenMOLCAS interfaces provide the effective hamiltonian for the active space orbitals only (effective = coulomb and exchange contributions from the doubly occupied orbitals are included).