This free version of Molcas is primarily used to perform excited state electronic structure computations with multiconfigurational CASSCF/RASSCF and CASPT2/RASPT2 methods, but it also features a number of DFT functionals and other correlation methods, continuum solvation approaches, geometry optimizations and molecular dynamics. It contains a large part of the original Molcas codebase that has been released as free and open-source software. Further documentation can be found at https://molcas.gitlab.io/OpenMolcas/sphinx/
The version installed on hilbert can be run in parallel mode, the RASPT2 routines are, however, not heavily parallelized. The module is invoked with:
module load openmolcas/22.6
OpenMolcas uses a number of internal variables to define computational ressources such as memory, diskspace and location of input and output files. An examble submit script for parallel runs is shown below.
#!/bin/bash #PBS -S /bin/bash #PBS -A "YOURPROJECT" #PBS -l select=1:ncpus=4:mem=12500mb:arch=skylake #PBS -l walltime=10:00:00 cd $PBS_O_WORKDIR module load openmolcas/22.6 #Adapat to your needs export MOLCAS_NPROCS=4 export INPUT=your_input_file export MOLCAS_MEM=2000 #Molcas internal variables (leave unchanged) export PROG=pymolcas export Project=$INPUT export WORKDIR=/gpfs/scratch/$USER/$PBS_JOBID export MOLCAS_OUTPUT=$WORKDIR export INPUTDIR=$PBS_O_WORKDIR export OUTPUT=$INPUT.out mkdir -p $WORKDIR cp -r $INPUTDIR/* $WORKDIR cd $WORKDIR ln -s $MOLCAS/pymolcas pymolcas # execute openmolcas python3 $PROG -np $MOLCAS_NPROCS $WORKDIR/$INPUT 1> $WORKDIR/$OUTPUT 2>$WORKDIR/$INPUT.err # copy back and clean up cp -r $WORKDIR/* $INPUTDIR rm -r $WORKDIR
MOLCAS_MEM is specified in megabytes and per cpu, but OpenMolcas does not always perfectly stick to this number. It is thus wise to add another ~30% of memory for allocation in PBS to prevent the job from being cancelled. For serial runs set MOLCAS_NPROCS=1.