The examples below discuss how to run Comsol interactively, or non-interactively in batch mode (without any GUI interface), and how to submit a Comsol job to the Odyssey job scheduler SLURM.
Obtain a FAS RC account by visiting:
Odyssey quick start guide:
Please consult the documentation available at the above link for connecting to FAS systems and familiarizing yourself with the SLURM queue management system. For any help on Odyssey, contact FAS RC:
You can now work conveniently via a browser on odyssey using the virtual desktop infrastructure (VDI) known as OnDemand on Odyssey. For more details, please visit:
The best option for working interactively on Odyssey is to use OnDemand VDI (see above). If you are authorized to use Comsol, the latest version should be available on OnDemand as an app. Otherwise, open a terminal on the OnDemand remote desktop and proceed as follows.
Comsol versions available via the new module system:
These are under the new module system. Once you determine a version to use, run it interactively as follows:
module load comsol/5.4-fasrc01 comsol
In order to run Comsol mph files in the batch mode (i.e. solving the model without using the GUI interface) you need an input file (usually with extension .mph) created with COMSOL GUI. Once you have an input file (we use, for eg. busbar.mph in the following example), prepare a batch submission script for COMSOL using the following template (called "runscript_comsol.sh"):
#!/bin/bash # #SBATCH -n 8 # Number of cores #SBATCH -N 1 # Number of nodes (all cores will be on this node) #SBATCH -t 0-1:00 # Runtime in D-HH:MM format #SBATCH -p general # Partition to submit to # # Memory per CPU for multinode/MPI work # use --mem= for single node work, and specify -N 1 #SBATCH --mem-per-cpu=500 #Memory per cpu in MB (see also --mem) module load comsol/5.3a-fasrc01 # To run with an older module (example): # source new-modules.sh # module load legacy #For an earlier version: #module load centos6 #source new-modules.sh #module load legacy # module load seas/comsol5.1 # The input file, for example, is assumed to be a COMSOL generated # file called 'busbar.mph'. INPUT_FILENAME=busbar.mph OUTPUT_FILENAME=busbar_out.mph OUTLOG=busbar_out.log SCRATCH_DIR=. # use $SLURM_NTASKS env set by #SBATCH -n value export COMSOL_NUM_THREADS=$SLURM_NTASKS comsol batch -np $COMSOL_NUM_THREADS -inputfile $INPUT_FILENAME -outputfile $OUTPUT_FILENAME -batchlog $OUTLOG # Report some useful info /bin/uname -a date exit
You can submit the script to SLURM with:
For further details on using Odyssey and SLURM (such as monitoring or canceling your jobs) please visit https://rc.fas.harvard.edu or the list of convenient SLURM commands at https://rc.fas.harvard.edu/resources/documentation/convenient-slurm-commands/.
Comsol documentation is generally found in the COMSOL installation directories. You can find out the installation directory for the particular module you are using with, eg.:
module display seas/comsol5.3a
The above command should display something like setenv("COMSOL_HOME","/n/sw/comsol53a") in addition to other locations. In this case, the documentation directory is:
You can view the pdf files in the directoried in the above directory with a pdf reader, such as evince:
Comsol documentation is usually found under html and pdf directories. You can open the pdf documentation with the following SLURM command:
(Please do not use evince directly on the login node.) Alternatively, you can copy the pdf files to your local desktop/laptop.
srun -p interact --mem 4000 --pty --x11=first -t 0-2:00 /bin/bash evince /n/sw/comsol53a/doc/pdf/COMSOL_Multiphysics/IntroductionToCOMSOLMultiphysics.pdf
As under Documentation, determine the installation directory for COMSOL. For example, for comsol5.3, it is:
comsol examples are in:
For example, the busbar example is in:
You need to copy all the files with busbar in them in order to run the example script:
cp /n/sw/comsol53/applications/COMSOL_Multiphysics/Multiphysics/ busbar* .
(Note the dot (.) at the end on the line above)