SebWouters / CheMPS2

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

Compilation breaks #49

Closed chburger closed 7 years ago

chburger commented 7 years ago

Hello,

when I try to compile the mpi version (opensuse 12.3) I get:

/cfs/home/peterc/cps2new/chemps2/CheMPS2/executable.cpp(764):

error: name followed by "::" must be a class or namespace name MPIchemps2::broadcast_array_int( dmrg2ham, ham->getL(), MPI_CHEMPS2_MASTER ); ^ I am using openmpi 1.8.6 together with Intel (icc & icpc ver 16.03) for CC and CXX in the build process

SebWouters commented 7 years ago

PS: Don't forget to use the option "-DWITH_MPI=ON" when you compile with MPI.

chburger commented 7 years ago

Dear Dr. Wouters,

thanks so much for your solution & prompt reply! Is the hybrid OPENMP/MPI version alreay available? I noted three change files in github which I was referred to by the documentation, but then a tensora.h file seems to be not available.

Best regards

Peter Burger

Am 18.08.2016 um 14:24 schrieb Sebastian Wouters:

PS: Don't forget to use the option "-DWITH_MPI=ON" when you compile with MPI.

Univ.-Prof. Dr. Peter Burger Institut fuer Anorganische und Angewandte Chemie Universitaet Hamburg Martin-Luther-King-Platz 6 D-20146 Hamburg Tel.:+49 040 42838 3662 FAX 6097 email: burger@chemie.uni-hamburg.de http://www.chemie.uni-hamburg.de/ac/burger/index.html

SebWouters commented 7 years ago

Hi Peter,

The hybrid version is available. If you compiled with mpiicpc or mpic++(gcc), and with -DWITH_MPI=ON, it should work fine with specifying OMP_NUM_THREADS and mpirun -np NUM_PROCS.

I noted three change files in github which I was referred to by the

documentation, but then a tensora.h file seems to be not available.

I don't have any clue what you mean by this, so could you please be more specific?

Best wishes, Sebastian

chburger commented 7 years ago

Hi Sebastian,

thanks for the reply. I have one further short question. I was looking for a variable "number of roots" - is this not possible for a dmrgscf calculation with chemps2? Specifically I would like to do state averaging over three quintet states in C2v symmetry (5A2, 5B1 & 5 B2).

Many thanks in advance.

Best regards

Peter

Am 19.08.2016 um 01:16 schrieb Sebastian Wouters:

Hi Peter,

The hybrid version is available. If you compiled with mpiicpc or mpic++(gcc), and with -DWITH_MPI=ON, it should work fine with specifying OMP_NUM_THREADS and mpirun -np NUM_PROCS.

 I noted three change files in github which I was referred to by the

documentation, but then a tensora.h file seems to be not available.

I don't have any clue what you mean by this, so could you please be more specific?

Best wishes, Sebastian

Univ.-Prof. Dr. Peter Burger Institut fuer Anorganische und Angewandte Chemie Universitaet Hamburg Martin-Luther-King-Platz 6 D-20146 Hamburg Tel.:+49 040 42838 3662 FAX 6097 email: burger@chemie.uni-hamburg.de http://www.chemie.uni-hamburg.de/ac/burger/index.html

SebWouters commented 7 years ago

Hi Peter,

Inside chemps2, you can change the number of roots, but all within the same symmetry sector. So for example the 5A2 ground state and the 5A2 first excited state. You can do so by defining "EXCITATION = 1" in your input file, and putting "SCF_STATE_AVG = TRUE".

Currently, however, DMRG-CASPT2 inside chemps2 only works for state-specific DMRG-SCF. So you can currently use state-averaged DMRG-SCF to find a good orbital starting guess for state-specific DMRG-SCF + DMRG-CASPT2. The reason why DMRG-CASPT2 does not work yet with state-averaged DMRG-SCF is because I have explicitly assumed that the Fock operator occupied (core) - virtual (secondory) block vanishes. For state-specific DMRG-SCF calculations, this block is proportional to the energy gradient with respect to orbital rotations, so it indeed vanishes. I haven't looked into the literature yet how to implement PT2 for state-averaged calculations.

Recently, @quanp and I have made an interface between molcas and chemps2. Once molcas becomes open-source, that should be the go-to route to perform DMRG-CASPT2 calculations. New DMRG-CASPT2 features for chemps2 will most-likely become available through that route.

Best wishes, Sebastian