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 optimization 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. While this works efficient for SCF and RASSCF routines, RASPT2 is not heavily parallelized, so do not expect too much gain in performance here. Optimized versions are provided for arch=ivybridge and arch=skylake/icelake/zen2. 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 example 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 INPUT=your_input_file export MOLCAS_MEM=2000 #Molcas internal variables (leave unchanged) export MOLCAS_NPROCS=$NCPUS export PROG=pymolcas export Project=$INPUT export WORKDIR=/gpfs/scratch/$USER/$PBS_JOBID export WorkDir=$WORKDIR 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.