Skip to content

COMSOL

COMSOL

COMSOL Multiphysics is a cross-platform finite element analysis, solver and multiphysics simulation software. It allows conventional physics-based user interfaces and coupled systems of partial differential equations (PDEs). COMSOL provides an IDE and unified workflow for electrical, mechanical, fluid, acoustics, and chemical applications.

Licensing

COMSOL is available only to users who already have an existing COMSOL license. If you need to use COMSOL, please, send your license information to support-hpc@dipc.org.

Once we confirm the validity of the license we grant you access to COMSOL binaries.

Usage

COMSOL module

COMSOL has to be loaded using Lmod prior to running it.

$ module load COMSOL

Once the module has been loaded you will need to set some enviroment variables:

You can also list all available versions using Lmod's spider command:

$ module spider COMSOL
------------------------------------------------------------
  COMSOL: COMSOL/5.5
------------------------------------------------------------
    Description:
      COMSOL Multiphysics is a cross-platform finite element analysis, 
      solver and multiphysics simulation software. It allows conventional physics-based user interfaces and
      coupled systems of partial differential equations (PDEs). 
      COMSOL provides an IDE and unified workflow for electrical, mechanical, fluid, acoustics, and chemical
      applications. .


    This module can be loaded directly: module load COMSOL/5.5

    Help:

      Description
      ===========
      COMSOL Multiphysics is a cross-platform finite element analysis, solver and multiphysics simulation software. 
      It allows conventional physics-based user interfaces and coupled systems of partial differential equations (PDEs). 
      COMSOL provides an IDE and unified workflow for electrical, mechanical, fluid, acoustics, and chemical applications. 

      More information
      ================
       - Homepage: http://www.comsol.com

How to run COMSOL

Submission scripts should contain the following lines to run COMSOL:

Batch script for a parallel execution of COMSOL
#!/bin/bash
#SBATCH --qos=regular
#SBATCH --job-name=COMSOL_JOB
#SBATCH --mem=200gb
#SBATCH --cpus-per-task=1
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=48
#SBATCH --output=%x-%j.out
#SBATCH --error=%x-%j.err

module load COMSOL/6.0

comsol batch -nn ${SLURM_NTASKS} \
             -nnhost ${SLURM_JOB_NUM_NODES} \
             -np ${SLURM_CPUS_PER_TASK} \
             -mpibootstrap ssh -alivetime 15 -recover \
             -inputfile "mymodel.mph" \
             -outputfile "mymodel.mph.out" \
             -batchlog  "mymodel.mph.log"

Where:

  • -nn: number of MPI tasks.
  • -nnhosts: number of nodes.
  • -np: number of threads per MPI task.

Note

COMSOL typically uses the /tmp folder as a temporary work folder by default. However, this folder is often quite small for the task and may lead to an error message like No space left on device if it is used. To change the temporary work folder for COMSOL, you can use the option -tmpdir $TMPDIR, where $TMPDIR points to a directory under your scratch directory that has sufficient capacity and access permissions. Any other path with these characteristics can also be used as the temporary work folder.