FMO questions and answers
Why did the results change from version 3.1 to 3.2?
A number of default options were changed. The old results can be got
with the explicit setting of the applicable options. The only exception
is the DFT gradient. Starting from 3.2, in the projection of the translation
and rotation degrees of freedom unit masses are used instead of real
masses in 3.1. As it is believed that the old way is wrong, there is no option
to get the old results for the FMO-DFT gradient exactly.
The changed defaults are as follows:
FMO 3.1 -> FMO 3.2
RESPPC: 2.0 -> 2.5 (FMO3 only, else 2.0)
RESDIM: 2.0 -> 3.25 (FMO3 only, else 2.0)
RCORSD: 2.0 -> 3.25 (FMO3 only, else 2.0)
RITRIM: 2.0,2.0,2.0,2.0 -> 1.25,-1,2,2 (FMO3 only)
MODESP: 1 -> 0 (FMO2 only, else 1)
MODGRD: 0 -> 10 (FMO2 only, else 0)
MTHALL: 2 -> 4 (FMO/PCM only)
DFT grid: spherical -> Lebedev (FMO-DFT only)
Why do I get FMO2 energies in FMO3 different from those in FMO2 runs?
This is related to the above question. Some default options for FMO2
and FMO3 are different, these are: RESPPC, RESDIM, RCORSD, MODESP and MODGRD.
By setting them in the input explicitly, one can get the FMO2 results agree.
The reason for the default difference is the need to better balance terms in
FMO3. The default options for either FMO2 or FMO3 are set to get the best
practical accuracy for each method.
Why is FMO in GAMESS not fast enough in comparison to no fragmentation
with some other programs?
In addition to the obvious difference in the computational algorithms,
the default accuracy (integral, SCF convergence etc) are set differently.
To get a fair comparison, one should match all necessary thresholds, which
can have a large impact upon timings. GAMESS has a high accuracy standard, and
that even higher, to get reliable and reproducible results for the huge total
energies which large molecules have. Other programs may have a different
opinion about the accuracy.
Why was " $fmo nfg=1" not recognised?
GAMESS searches for the "fmo" string with three spaces after fmo (or a new line).
Therefore, the above line should be " $fmo nfg=1". Note that
starting around FMO 4.0, this problem has been removed. Now you can use "$fmo nfg=1".
Why do I get this memory request? I am confused about MEMORY(MWORDS) and NINTIC
(what is that?)?
***** ERROR: MEMORY REQUEST EXCEEDS AVAILABLE MEMORY
PROCESS NO. 0 WORDS REQUIRED= 232646216 AVAILABLE= 220000000
Thankfully, you did not ask about MEMDDI for MP2 or even worse CC.
If you have NINTIC set in the input file (possibly, without your knowledge by Facio
or FMOutil), that defines a memory buffer which is allocated in the beginning of GAMESS
exclusively (well, almost) for storing two-electron integrals. Thus the rest of GAMESS
only has MEMORY-NINTIC words left, and that may be insufficient. Decrease the value of NINTIC
by the amount needed: e.g., above 232646216-220000000=12646216 (better round up to 15000000).
Usually, NINTIC is given with a minus sign, so you would take it off, subtract 15 mln and put it back.
Of course, that is not the only reason to get a "MEMORY REQUEST EXCEEDS...", but it is
the confusing one more or less specific to FMO. You can run out of memory without setting NINTIC.
My MP2 runs stops for no reason. The following is present at the end of the output file.
TOTAL DISK REQUIRED (ALL PROCESSORS)= 121041 MBYTES
DISK SPACE PER CORE= 60520 MBYTES, USING P= 2
Check the log file. If it contains the following (or the like if you use a different FORTRAN compiler):
forrtl: No space left on device
forrtl: severe (38): error during write, unit 20, file
Then this means you ran out of disk. One solution is to increase the
number of nodes per group (for example, by making ngrfmo smaller for the step
where this happened), because this file is distributed over nodes within each group.
Another is to define smaller fragments. One more solution is to buy a larger disk
or switch to RI-MP2...