COMSOL

Revision as of 13:35, 13 June 2019 by Stubbsda (talk | contribs)
Other languages:

Introduction

COMSOL is a general-purpose platform software for modeling engineering applications. Compute Canada would like to thank COMSOL, Inc. for allowing its software to be hosted on Compute Canada clusters free of charge via a special agreement.

We recommend that Compute Canada users who wish to run COMSOL also consult the | extensive documentation for this software prior to attempting to use it on one of the clusters.

Licensing

Compute Canada is a hosting provider for COMSOL. This means that we have COMSOL software installed on our clusters, but we do not provide a generic license accessible to everyone. However, many institutions, faculties, and departments already have licenses that can be used on our clusters.

Once the legal aspects are worked out for licensing, there will be remaining technical aspects. The license server on your end will need to be reachable by our compute nodes. This will require our technical team to get in touch with the technical people managing your license software. In some cases, this has already been done. You should then be able to load the COMSOL modules, and it should find its license automatically. If this is not the case, please contact our Technical support, so that we can arrange this for you.

Configuring your own license file

Our module for COMSOL is designed to look for license information in a few places. One of those places is your home folder. If you have your own license server, you can write the information to access it in the following format:


File : comsol.lic

SERVER <server> ANY <port>
USE_SERVER


and put this file in the folder $HOME/.licenses/. Note that there will be firewall configuration that needs to be done on both our side and your side. Please get in touch with our Technical support to arrange this.

Running COMSOL software on a single node on Compute Canada servers

Below is a sample submission script for running a COMSOL job.


File : mysub.sh

#!/bin/bash
#SBATCH --time=01:00:00
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=X              # change this number
module load comsol/5.3a
NCORE=$((SLURM_NTASKS * SLURM_CPUS_PER_TASK))

comsol batch -np $NCORE -inputfile FILENAME.mph


Note that depending on the complexity of the simulation, COMSOL may or may not be able to efficiently use many cores. Please test the scaling of your specific simulation by varying X in the line #SBATCH --cpus-per-task=X, from 1 to the maximum number of cores on the node you are using. If you still get a good speed up at the maximum number of cores and think that you could benefit from using multiple nodes, contact Technical support so that we can help you figure out the proper way of using many nodes.