[molpro-user] SURF - BATCH3D

Guntram Rauhut rauhut at theochem.uni-stuttgart.de
Mon Oct 23 13:18:08 CEST 2017

Dear Dennis,

the SURF program works the following way: let us consider the 3D 
surfaces as these are usually the surfaces where the trouble starts. The 
3D surface generation consists of 2 important steps, a) the point 
generation step and b) the convergence step. In the first iteration in 
a) 2^3 ab initio points (2 points per direction) will be computed for 
each individual 3D subsurface (mode-coupling term). Let us assume you 
have 100 of such surfaces, then 800 points will be computed within the 
first iteration. Once this task has been completed, the individual 
surfaces will be tested, if they are converged or not (this is step b). 
There are several criteria to be met. Let us now assume, 10 of the 100 
surfaces are already converged. In that case, these 10 surfaces will be 
dumped to disk, while for the other 90 surfaces (4^3-2^3) ab initio 
points will be added by going back to step a). Once that task has been 
finished, the program checks again on convergence. Again, some surfaces 
will be converged and these will be dumped to disk. As most surfaces 
will be converged after 3-5 iterations, this is the number of times, 
surfaces will be dumped to disk for restarting. I hope this answers your 
question I).

Now to question II). Let us assume you have a molecule with 12 atoms. In 
that case you have 30 degrees of freedom and thus 30*29*28/6=4060 3D 
terms (subsurfaces) in the multimode expansion. This is called the list 
of 3D terms and its has nothing to do with grid points. This list will 
be divided into batches. If you are running the job on just one core, 
each batch consists of 30 3D terms, i.e. 236 batches will be produced. 
As outline above, each batch again has about 3-5 restart points or 
iterations, Note, all this has nothing to do with grid points. Now let's 
have a look at your calculation. You mentioned, you are using 32 cores, 
which means that the first batch consists of 30*32=960 3D terms (or 
subsurfaces). If we assume that on average each 3D terms needs 216 grid 
points (6 points per dimension in C1 symmetry), the first batch, which 
will consist of 3-5 iterations, contains about 207360 grid points. 
Probably you should set BATCH3D to 1 or 2 (only integers are allowed).

I hope this sheds some light into the dark.


On 10/20/17 13:23, Dinu, Dennis Florian wrote:
> Dear Molpro Community,
> I am trying to calculate a quite large PES, by using a HPC with a 
> walltime of 10 days. That means, i have to control the SURF Program 
> somehow, to dump parts of the PES within this walltime. Now I need 
> some help in understanding the BATCH3D option of the SURF Program. It 
> says:
> ------------------------------------------------------------------------------------------
> After calculating a number of grid points within the iterative 
> interpolation
> scheme the convergence of the individual surfaces will be
> checked and, if provided by the keyword DUMP, dumped to disk.
> *This leads typically to 3-5 iterations and thus the same number of*
> *restart points within the calculation of the 1D, 2D, ... surfaces 
> (I)*. As
> the number of 3D and 4D terms can be very large this is not sufficient
> in these cases. *Therefore, the lists of 3D and 4D terms is cut*
> *into batches which will be processed subsequently (II).* BATCH3D and
> BATCH4D control the number of 3D and 4D surfaces within each
> batch. By default BATCH3D is set to 30 times the number of processors
> and BATCH4D to 10 times the number of processors. Accordingly
> the number of restart points is increased. Smaller values for
> BATCH3D and BATCH4D, e.g. BATCH3D=20, increase the number
> of restart points on cost of the efficiency of the parallelization.
> ------------------------------------------------------------------------------------------
> *(I)* Why does this lead to 3-5 Iterations?
> *(II) *What is a List? Is it a list of Grid-Points, or a list of full 
> 3D sub-potentials? Or something else?
> I am trying to figure out the correct BATCH3D settings for my needs.
> When I do
> grep "MODE" *log* | wc
> I get the number of Grid-points. In my case after 10 days calculation 
> on 32 processors -> 24494
> With the default BATCH3D=30, the DUMP should happen after 30*32=960 
> Grid-points. As this did not happen, my next quess is that the DUMP 
> happens after 960 3D sub-potentials.
> That means when one 3D sub-potential comprises 16*16*16 = 4096 
> grid-points (roughly spoken with NGRID=16 and ignoring symmetry and 
> prescreening), then i have just 6 3D sub-potentials within 10 days. 
> That means I would have to set BATCH3D=0.2, to have DUMP after 
> 0.2*32=6.4 3D sub-potentials. Does this make any sense to you?
> greets
> Dennis
> _______________________________________________
> Molpro-user mailing list
> Molpro-user at molpro.net
> http://www.molpro.net/mailman/listinfo/molpro-user


  Apl. Prof. Dr. Guntram Rauhut
  Institut f. Theoretische Chemie
  Universitaet Stuttgart
  Pfaffenwaldring 55
  D-70569 Stuttgart

  Tel. :   +49/(0)711/685-64405
  FAX :    +49/(0)711/685-64442
  E-Mail : rauhut at theochem.uni-stuttgart.de
  HTTP :   www.uni-stuttgart.de/theochem/rauhut/


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.molpro.net/pipermail/molpro-user/attachments/20171023/7b0eecf1/attachment.html>

More information about the Molpro-user mailing list