Ada: Molcas

Introduction

Molcas is an ab initio quantum chemistry software developed by Lund University. It was designed to treat electronic structure problems in a very precise way for both fundamental and excited states thanks to a multiconfigurational approach. Molcas contains Complete Active Space (CASSCF) and RASSCF codes, the Multi-reference Configuration Interaction (MRCI) code and codes founded on the second-order perturbation theory (CASPT2). Molcas also contains codes for the study of molecular properties, the modeling of solvent effects, the transition dipole moments in spectroscopy, electron transfers, and so on.

Availability

The following versions are available:

  • 7.8 patch 079 (default version)
  • 8.0

The parallel MPI version is installed. The interactive mode is henceforth not recommended because of the parallelisation of the Molcas chain.

To know which different versions are installed, type the following on Ada:

module avail molcas

Launching script

Here is an example of a launching script for a calculation executed in the WORKDIR :

job.ll
# @ job_name         = Molcas
# @ wall_clock_limit = 1:00:00
# @ job_type         = parallel
# @ total_tasks      = 16
# @ output           = $(job_name).$(jobid)
# @ error            = $(job_name).$(jobid)
# @ queue
 
### Module initialisation ###
module load molcas
 
### Command echoes ###
set -x
 
### Definition of variables ###
export Project=water
 
### Run the calculation ###
molcas $Project.seward.input
molcas $Project.scf.input
molcas $Project.rasscf.input
molcas $Project.caspt2.input

Here is an example of a launching script for a calculation executed in the TMPDIR :

job.ll
# @ job_name         = Molcas
# @ wall_clock_limit = 1:00:00
# @ job_type         = parallel
# @ total_tasks      = 16
# @ output           = $(job_name).$(jobid)
# @ error            = $(job_name).$(jobid)
# @ queue
 
### Module initialisation ###
module load molcas
 
### Command echoes ###
set -x
 
### Definition of variables ###
export Project=water
 
### Copy to the TMPDIR ###
cp ./* $TMPDIR
 
### Run the calculation ###
cd $TMPDIR
molcas $Project.seward.input
molcas $Project.scf.input
molcas $Project.rasscf.input
molcas $Project.caspt2.input
 
### Copy to the submission folder ###
cd -
cp -r $TMPDIR/* .

In these examples, for historical reasons, the calculation is divided into 4 steps but you may group them together by creating only one adequate input file (which calls the GATEWAY module first). Consult the Molcas manual for further information.

Important note: Contrary to all the other parallel softwares (chemistry or other), you must NOT use the poe command to launch Molcas. In fact, this command is already included in the programme.

For more information about the batch submission system and, more generally, about the usage modalities of the IDRIS compute machines, consult the following page: ''Ada, IBM cluster''.

Specific software parameters

General environment variables

Two general environment variables are used by Molcas:

  1. The $MOLCASMEM variable: Molcas manages the dynamic memory allocation. Little by little, according to its needs, Molcas allocates memory to itself from memory blocks but it does this until reaching a certain limit defined by this variable:
    • By default, this value is 2048 megaoctets per MPI process.
    • You can define more memory per process by indicating the desired value for each process in megaoctets.
      Note : The memory limits in batch and in interactive are indicated by typing news class. For example, if a calculation needs 3072 megaoctets in memory, you only need to put in your script:

      export MOLCASMEM=3072
  2. The $MOLCASDISK variable: Certain files written by Molcas can reach a fairly large size. If you wish to split these large files into smaller pieces, you can define the size limit (expressed in megaoctets) by this variable. By default, the value is worth 0. In other words, Molcas will consider that the size limit of a file is 200 gigaoctets and will split the largest files into pieces. If nevertheless you wish to split the files into even smaller pieces, you may indicate the splitting up value in megaoctets (for example, 20 gigaoctets):

    export MOLCASDISK=20000

Environment variables proper to a calculation

$Project : This variable must imperatively be positioned. It defines the project name (a chain of characters identifying the file names of the calculation being run) for which the value is left to your own choice. The submission script examples show the position of this value.

The variables of the tree hierarchy ($WorkDir, $CurrDir, etc.) are not recommended for the launching scripts examples shown above and could lead to incoherences if they are not mastered ($WORKDIR instead of $WorkDir, for example).

Documentation

Documentation is available on the Molcas Official Website, notably in the complete Molcas 7.8 Manual (User's Guide + Tutorial and Examples + Installation).