HPC/Applications/comsol
Introduction
The COMSOL Multiphysics product is available for Mac, Windows, and Linux. You can run either the native version on your desktop or use the Linux version from Carbon, displaying on your desktop via X11.
- Contact me (stern) for a DVD of the software.
- Get Product Updates from Comsol.
Running comsol requires a license. Of the available features we have licensed a subset, shown at right.
Usage on Carbon
For casual use, and with X11 tunneling to Carbon already set up, simply add to your ~/.bashrc
file on Carbon:
module load comsol
Then, from the command line on a Carbon login node, start the COMSOL GUI:
comsol &
Comsol will use a number of cores to run calculations multithreaded by default. (On Carbon, COMSOL_NUM_THREADS is set.)
Quit the application as soon as you are done. Only one user can use Comsol at a time.
Native desktop version with license forwarding
You can use a native Comsol version on your desktop but need a connection to the Comsol license server running on Carbon. The license is served by one of two license servers. Unfortunately, the automatic server selection only works on Carbon, and fails when using a native desktop version. Use these steps to set up the connection.
Configure port forwarding
- On your desktop machine, set up SSH tunneling. This step is only needed once.
- Windows: Configure PuTTY
- Linux/Mac/Cygwin: edit the file
~/.ssh/config
and add to theHost clogin
section:
Host clogin
…
# COMSOL licensing
# Initial ("negotiation") ports of FlexLM's lmgrd; may be forwarded to different port numbers.
LocalForward 33318 mgmt03:1718
LocalForward 33418 mgmt04:1718
# Secondary ("payload") ports of the COMSOL vendor daemon; must be forwarded to the *same* port numbers.
LocalForward 1719 mgmt03:1719
LocalForward 1720 mgmt04:1720
- Connect to clogin. This will start the port forwarding configured in the previous step.
ssh -v clogin
Configure COMSOL
- Start the Comsol installer on your machine. When asked for licensing use the following type:
- License type: networked server
- For License hosts use one of the following entries. If the first failed, use the second.
- localhost, port 33318
- localhost, port 33418
- Complete the installer.
- Locate and start the COMSOL Multiphysics application.
Run COMSOL
- Make sure you have an SSH connection to clogin active.
- Then start the COMSOL application normally.
Point to an alternate license server
The COMSOL application determines the license server to contact by the file COMSOLDIR/license/license.dat
. The file should look as follows:
SERVER localhost ANY 33318 SERVER localhost ANY 33418 USE_SERVER
Most of the time, the first license server is active and will respond locally on port 33318. If that port does not respond, COMSOL fails with an error. Ideally, COMSOL should contact the alternate server port as given by the second SERVER line, but in COMSOL43a that line is ignored.
To temporarily use the alternate server, comment out the first SERVER line from the license.dat
file:
#SERVER localhost ANY 33318 SERVER localhost ANY 33319 USE_SERVER
Then restart COMSOL. You do not need to change the SSH configuration or re-open the connection to clogin.
Multiple CPU cores
Ways to start multi-core (from http://www.comsol.com/support/knowledgebase/1096/)
comsol -np 2
export COMSOL_NUM_THREADS=8 # automatically provided on Carbon comsol
- COMSOL does not benefit from hyperthreading.
Batch jobs
- http://www.comsol.com/support/knowledgebase/1001/ .
- Media:HPC 2012-05-16 Comsol parallel usage.pdf (Modified from http://www.comsol.com/support/knowledgebase/1001/files/4027/cluster_install_linux_42a.pptx – Appendix slide, PBS)
- Note: MPD is not supported on Carbon (I patched the main comsol script), and no longer necessary at all in Comsol-4.3.
Sample Job file
#!/bin/bash
#PBS -l nodes=2:ppn=8
#PBS -l walltime=2:00:00
#PBS -N jobname
#PBS -l software=comsol
#PBS -o job.out
#PBS -e job.err
#PBS -m ae
#PBS -V
cd $PBS_O_WORKDIR
comsol -clustersimple batch \
-tmpdir $TMPDIR \
-inputfile inp.mph \
-outputfile out.mph