HPC/Applications/comsol
Introduction
The COMSOL Multiphysics product is available for Mac, Windows, and Linux.
Access
COMSOL Multiphysics
CNM's license for COMSOL Multiphysics (the main graphical user interface application with batch computing capabilities) is available upon request to Argonne employees in the following roles:
- CNM Facility Users, under an active proposal with COMSOL in scope, or
- NST staff (including PostDocs, joint appointments, and students), under intra-divisional discretionary access.
To request access, submit a support request.
- Of the available features, we have licensed a subset, shown at right.
- To have a native desktop version installed, please contact CNM support. Make sure to review Product Updates.
COMSOL Server Application
The complementary COMSOL Server product offers an alternative but more narrow means of access.
All users, including Non-Argonne persons may be able to run, over a web interface in their browser, frozen-code simulations that were made with the COMSOL Application Builder (Requires Windows). Please contact CNM support to discuss using server applications. We will review possible purchase paths for COMSOL Server, and the considerable effort likely required by users and the CNM to develop and deploy a COMSOL application.
Support
- For questions on how to run or start COMSOL:
- Submit an IT support request
- For questions related to most COMSOL data or scripts, contact COMSOL support at:
- Exception: If your support question might contain data that is subject to US Export Control regulations, contact instead:
The modes to run COMSOL
There are several ways of running COMSOL.
Running the desktop application
To edit models and analyze results, use the COMSOL graphical user interface (GUI). You can run it in several ways, each explained in more detail in the following sections.
- Run on Carbon, display on your desktop using the X Window system (X11).
- Requires an X11 Server application running on your client machine, and SSH X11 forwarding.
- The X11 protocol can be slow over LAN.
- Run on Carbon within a virtual desktop environment (VNC).
- Requires a VNC client on your machine.
- It can be confusing where VNC and the app runs.
- The virtual desktop presents a (deliberatly) sparse windowing environment – Copy&Paste can be difficult to use.
- Run on your own computer, remotely checking out Carbon's license.
- Requires a full installation of COMSOL on your desktoo or laptop computer.
- You will require access to the COMSOL license server running on Carbon, either through VPN (fairly easy) or SSH tunneling (can be intimidating for first-time users). See below for details.
Running a batch calculation
When the computational stage of models takes longer than a few minutes to complete, it will be beneficial to submit save the model file and run it in parallel on Carbon. See the section below.
Use with X11
For casual use, and with X11 tunneling to Carbon 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.
Use with VNC
See general instructions on using VNC, and the COMSOL example therein.
Running native desktop version
To get the fastest response from the COMSOL GUI, run a native COMSOL version on your desktop machine or laptop, called client machine below.
For client machines inside the CNM, follow the next section. For a client machine outside of CNM networks, configure it to check out a license from the Comsol license server running on Carbon, using one of two ways. Choose one that you are more comfortable with.
Enter license details either in the COMSOL Setup configuration dialog or later in COMSOL's license file at <COMSOLDIR>/license/license.dat
, where <COMSOLDIR>
is located by default at:
- Windows: C:\Program files\COMSOL\COMSOL5xx
- Linux: /usr/local/comsol5xx
- Mac: /Applications/COMSOL5xx
("5xx" will be your installed version)
Inside CNM or over VPN from outside
- On your client machine, use the following entries for the COMSOL license file, or enter the respective host names and ports into the COMSOL Setup license configuration dialog:
SERVER clicense1 ANY 1718
SERVER clicense2 ANY 1718
SERVER clicense3 ANY 1718
USE_SERVER
- Note: Use short host names as given here. (Technical Reason: The license must be usable in both Carbon's internal network as well as networks outside of Carbon).
- Make sure "cnm.anl.gov" is one of the DNS Search Domains for your current network profile.
- If the client machine is directly in CNM networks, this should be the default.
- If the client machine is connected over VPN, edit the respective network profile.
- On a Mac, find the VPN configuration details under System Preferences, Network, Advanced… . You may need to unlock the Network panel first before you can make changes under "Advanced…". It appears that those changes are being saved and will be activated automatically the next time that this VPN session gets started.
-
- On Windows or Linux machines, take analogous steps, using the platform's own configuration tools.
- Start COMSOL.
Network Troubleshooting
When using the license access model descibed here (as opposed to tunneled over SSH), ensure the following:
- Verify that short host names can be resolved to IP addresses. Either one of the following commands should produce sensible output:
host clicense1
- or:
ping -c 3 clicense1
- Verify that both license ports on the same server can be reached from your client machine:
telnet clicense1 1718 telnet clicense1 1719
- or:
telnet clicense2 1718 telnet clicense2 1719
- A successful connection looks like:
Trying 146.139.x.y... Connected to clicense1.cnm.anl.gov. Escape character is '^]'.
- Do not enter any data. Instead, close each connection by hitting
Ctrl
]
(closing square bracket), followed byCtrl
D
.
- Do not enter any data. Instead, close each connection by hitting
- A failed connection gives one of these errors:
telnet: connect to address 146.139.x.y: Operation timed out
- or:
telnet: connect to address 146.139.x.y: Connection refused
- In these cases, ask that your IP firewall configuration be reviewed and changed.
Outside CNM, using SSH Tunneling
If you're comfortable with ssh and tunneling, do the following on your client machine:
- Enter into the COMSOL license file:
SERVER 127.0.0.1 ANY 1718
USE_SERVER
- Note: Do not use "localhost", as this will be directly (and incorrectly) interpreted by COMSOL to mean that the current machine actually is a license server.
Connect to mega or a Carbon login node with one of the following ssh commands:
- First, set up a tunnel to the primary license server:
ssh -L 1718:clicense1:1718 -L 1719:clicense1:1719 mega
- Start COMSOL.
- If you get an error that the number of licenses is exhausted, that is at least confirmation that you correctly reached the license server.
If the above attempt takes a long time or hangs entirely, it may be because the license service currently runs on the secondary server.
- Connect to the alternate license server:
ssh -L 1718:clicense2:1718 -L 1719:clicense2:1719 mega
- Start COMSOL.
- Note: With SSH tunneling, an automatich selection of an active license server from a redundant set cannot be done. Instead, the user must try one server first, then the other.
License Troubleshooting
The following are typical error messages.
Could not obtain license for COMSOL Multiphysics GUI
- Error details:
License error: -4. Licensed number of users already reached. Feature: COMSOLGUI License path: /Users/stern/Applications/COMSOL52a/license/license.dat: FlexNet Licensing error:-4,132
- Reason: The connection to the license server succeeded, but the license token(s) you requested are in use.
- Solution: Wait a bit, or identify who's using COMSOL and politely ask the user when they might be finished with their work.
License server machine is down or not responding
- Error details:
License error: -96. See the system administrator about starting the license server system, or make sure you're referring to the right host (see LM_LICENSE_FILE). Feature: SERIAL Hostname: clicense3 License path: /Users/stern/Applications/COMSOL52a/license/license.dat: FlexNet Licensing error:-96,7
- Reason: The license servers cannot be reached at all. The
ping
orhost
tests mentioned above fail. - Solution: Review the client license file and DNS lookup domains.
License file does not support this version
- Error details:
Feature: SERIAL Application version > License version: 5.21 > 3.5 License path: /Users/stern/Applications/COMSOL52a/license/license.dat: FlexNet Licensing error:-21,126
- Reason: Only the first of two steps for connecting to the license servers succeeds, which may happen when the redundant license service runs on the alternate server instead of the one you're connected to.
- Solution: When using SSH, try
clicense2
instead ofclicense1
, or vice versa. Revisit your~/.ssh/config
file or use the alternate command line as shown in the SSH section above.
Multiple CPU cores
Ways to start multi-core (from http://www.comsol.com/support/knowledgebase/1096/)
comsol -np 8
export COMSOL_NUM_THREADS=8 # automatically provided on Carbon comsol
- COMSOL does not benefit from hyperthreading (oversubscribing the physical core count).
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
See:
$COMSOL_HOME/sample.job