Skip to content

Installazione Comsol in linux su share di rete

Note iniziali

Per ottenere comsol scarica l’offline installer dal sito di comsol: https://www.comsol.it/product-download

La licenza ti viene inviata via mail ogni anno.

Se cambi license-server devi chiedere un nuovo license.dat

Versione con cui è stata scritta questa guida: comsol52 (rispecchia il nome delle cartelle di installazione)

Parametri per LDSS:

  • Share di rete: /mnt/Linux/ montata sulle macchine in /usr/LDSS
  • Cartella del license-server: /usr/local/Comsol_lic

 

Installazione

Scompatta il DVD in qualche dove e individua il file setupconfig.ini e adegualo alle tue esigenze ( leggi bene che è spiegato abbastanza bene)

Estartoo del file setupconfig.ini con in grassetto i parametri da impostare:

# 
# COMSOL unattended installation answer file. 
 
# ============================================================================ 
# GLOBAL OPTIONS 
# ============================================================================

[.......omissis]

installdir = /mnt/Linux/COMSOL/COMSOL52/Multiphysics 
 
uninstall = 0 

 
# ---------------------------------------------------------------------------- 
# User interaction 
#

[.......omissis]

showgui = 0 
autofinish = 0 
quiet = 0 
language = en_US 
 
 
# ============================================================================ 
# INSTALLATION OPTIONS 
# ============================================================================

[.......omissis]

agree = 1 
license = /root/License.dat # file di licenza ricevuto via mail
name = Edulab 
company = Unitn 
lictype = mph 
licno = 

# ----------------------------------------------------------------------------

[.......omissis]

 
matlabdir = /usr/local/MATLAB/ 
proedir = 
creopdir = 
llexcelallusers = 0 
 
doc = selected 
applications = selected 
cad = 0 
licmanager = 1 
 
# ---------------------------------------------------------------------------- 
# Options 
# 
#   startmenushortcuts: 
#     Use '1' if you want setup to create shortcuts on the Windows start menu. 
#     Use '0' if you do not want the shortcuts. 
# 
#   desktopshortcuts: 
#     Use '1' if you want setup to create shortcuts on the Windows desktop. 
#     Use '0' if you do not want the shortcuts. 
# 
#   firewall: 
#     Use '1' if you want setup to create Windows Firewall rules to allow 
#     incoming network traffic for COMSOL server programs. 
#     Use '0' if you do not want firewall rules to be created. 
# 
#   linuxlauncher: 
#     Use '1' if you want setup to create a COMSOL launcher. 
#     Use '0' if you do not want the launcher. 
# 
#   symlinks: 
#     Use '1' if you want setup to create symbolic links to COMSOL in 
#     /usr/local/bin on Linux (requires administrative privileges). 
#     Use '0' if you do not want the symbolic links. 
# 
#   fileassoc: 
#     Use '1' if you want setup to associate the .mph and .fl file types with 
#     this installation. Use '0' if you do not want the file association. 
# 
#   checkupdate: 
#     Use '1' if you want comsol to automatically check for updates 
# 
# ---------------------------------------------------------------------------- 
startmenushortcuts = 1 
desktopshortcuts = 1 
linuxlauncher = 1 
symlinks = 1 
fileassoc = 1 
checkupdate = 0 
firewall = 1 



[.......omissis]

setsecuritypolicy = 0 
security.comsol.allowbatch = 1 
security.comsol.allowexternalprocess = 0 
security.comsol.allowmethods = 1 
security.comsol.allowapplications = 1 
security.external.enable = 1 
security.external.propertypermission = 0 
security.external.runtimepermission = 0 
security.external.filepermission = limited 
security.external.socketpermission = 0 
security.external.netpermission = 0 
security.external.reflectpermission = 0 
security.external.securitypermission = 0 
 
# ---------------------------------------------------------------------------- 
# COMSOL Server configuration options

[.......omissis]

# 
# ---------------------------------------------------------------------------- 
server.port = 2036 
 
server.service = 0 
server.service.account = default 
server.service.password = 
server.service.start = auto 
 
server.createadmin = 0 
server.admin = localadmin 
server.admin.password = changeit 
 
server.multiple = 0 
server.primary = 1 
server.multiple.prefsdir = 
server.multiple.primaryhost = auto 
server.multiple.primaryport = auto 
server.multiple.primaryuser = auto 
 
server.windowsauthentication = 0 
server.windowsauthentication.adminrole = BUILTIN\Administrators 
server.windowsauthentication.poweruserrole = BUILTIN\Power Users 
server.windowsauthentication.userrole = BUILTIN\Users 
server.windowsauthentication.guestrole = BUILTIN\Guests

NB: Collegati al server con ssh -X perché l’installazione usa la grafica

Esegui l’installazione con il comando:

./setup -s setupconfig.ini

Configurazione

Se hai gia il license server in funzione fermalo:

service lm_comsol stop

Installa il pacchetto lsb-core altrimenti da errore nell’esecuzione del server delle licenze:

apt-get install lsb-core

Copia i file del license-server nella cartella opportuna:

cp -r /mnt/Linux/COMSOL/COMSOL52/Multiphysics/license/glnxa64 /usr/local/Comsol_lic/

copia nella cartella /usr/local/Comsol_lic il file di licenze prendendolo dalla cartella di installazione:

cp /mnt/Linux/COMSOL/COMSOL52/Multiphysics/license/license.dat /usr/local/Comsol_lic/license.dat

copia il file lm_comsol dalla cartella di installazione a /etc/init.d per far partire il server come servizio (o modifica i parametri necessaria nell’esistente)

cp /mnt/Linux/COMSOL/COMSOL52/Multiphysics/license/glnxa64/lm_comsol /etc/init.d/lm_comsol

modifica i necessari parametri ( in grassetto)

#!/bin/sh
# Copyright (c) 1994-2015 by COMSOL AB

# on Debian Linux run the command below to start this script automatically
# update-rc.d lm_comsol start 99 2 3 4 5 . stop 1 0 1 6 .

# Replace 'dir' with the FULL path to the glnxa64 directory.
# Example: FP=/usr/local/comsol51/license/glnxa64

FP=/usr/local/Comsol_lic/glnxa64

# Replace 'username' with an actual username. 
# Important: Do not use 'root' - this is a potential security risk. 
# Instead, use the account used to install COMSOL, or the 'nobody' account, 
# or another account with access to both the 'FP' directory and the log 
# file location below.

MYUSER=root

case "$1" in
 start)
 if [ -x $FP/lmgrd ]; then
 ulimit -n 65000
 su $MYUSER -c "umask 022; $FP/lmgrd -c $FP/../license.dat -L /var/log/comsol52.log"
 fi
 ;;
 stop)
 if [ -x $FP/lmdown ]; then
 $FP/lmdown -c $FP/../license.dat -q
 fi
 ;;
 *)
 echo "Usage: $0 {start|stop}"
# exit 1
 ;;
esac

#exit 0

Se è una nuova installazione, come detto nello script, esegui

update-rc.d lm_comsol start 99 2 3 4 5 . stop 1 0 1 6

oppure riavvia il servizio

service lm_comsol start

Sistema gli script (/mnt/Linux/bin) per far funzionare le cose comodamente in lab ( in grassetto le modifiche)

License.dat

Modifica il file license.dat in /mnt/Linux/COMSOL/COMSOL52/Multiphysics/license in modo che contenga solo le seguenti righe:

# SN=13074135
SERVER 192.168.121.3 ANY 1718
USE_SERVER

 

Comsol.m

Per prima cosa crea il file Comsol.m (script di matlab) nella nuova cartella di installazione /mnt/Linux/COMSOL/COMSOL52/Comsol.m

if ispc
 disp ('Comsol runs only Linux') 
else
 disp('Set matlab to use COMSOL server. Please Wait')
 addpath /usr/LDSS/COMSOL/COMSOL52/Multiphysics/mli
 !xterm comsol52server &
 !sleep 5
 mphstart
 mphversion
end

comsol

Copia il vecchio script da comsol in comsol[vers precedente] (es comsol -> comsol51) e modifica le righe in grassetto

#!/bin/bash
clear
ciclo=0
while [ $ciclo -eq 0 ] ; do
echo "------------------------------"
echo " COMSOL Multiphisics option: "
echo "------------------------------"
echo -n
echo "[1] Comsol Multhiphysics "
echo "[2] Matlab + Comsol server "
echo "[3] Comsol Server"
echo "[q] quit"
echo -n

read ONE
#read -p "[1] Comsol Multhiphysics [2] Matlab + Comsol server [3] Comsol Server [q] quit : " ONE
case "$ONE" in
"q")
exit
;;
"1" )
echo "------------------------------"
echo "RUN Comsol Multhiphysics "
echo "------------------------------"
echo -n
/usr/LDSS/COMSOL/COMSOL52/Multiphysics/bin/glnxa64/comsol
clear
#ciclo=1
;;
"2" )
echo "------------------------------"
echo "RUN Matlab + Comsol server"
echo "------------------------------"
echo -n
cd /usr/LDSS/COMSOL/COMSOL52/
matlab -r Comsol
clear
#ciclo=1
;;

"3" )
echo "------------------------------"
echo "RUN Comsol Server"
echo "------------------------------"
echo -n
/usr/LDSS/COMSOL/COMSOL52/Multiphysics/bin/glnxa64/comsol server
clear
#ciclo=1
;;


* )
 echo .
 echo "#### Pirla lezi ben" 
 echo .
 echo .
 echo .
 echo .
 echo .

;;
esac
done

comsolXXserver

crea un nuovo file per lanciare il nuovo comsol in modalità server:

#!/bin/bash
/usr/LDSS/COMSOL/COMSOL52/Multiphysics/bin/glnxa64/comsol server

 

Nota birbona

Se sposti il license server da una VM ad un’altra ricordati di copiarti il Mac della scheda di ret che hai dato a Comsol per la registrazione. Se non ti ricordi il mac che hai dato leggi il file di log  alla riga:

SERVER line says xxxxxxxxxxxxx, hostid is "[MAC]"

e modifica di conseguenza

 


Last updated: 4 Agosto 2021 by Pierluigi Minati