Table des matières

COMSOL

Logiciel élément finis alliant généricité (mécaniques des fluides, électromagnétisme, mécaniques des structures, thermique) et puissance de calcul, permettant d'étudier un nombre illimité d'interactions entre différentes physiques (fluide caloporteur par exemple).

Utilisation

Sélection de la version

Pour sélectionner la version voulue : utiliser les modules

Par exemple :

module load comsol/3.5

Soumission de batch - Version 3.5

Pour soumettre des calculs COMSOL en mode batch, vous devez utilisez des fichiers (scripts) de commande COMSOL

Le script :
  • doit être placé dans un fichier se terminant par “.m”, par exemple tpoisson.m
  • ne doit pas contenir de signe -
tpoisson.m
% Example demonstrating batch operation of a script driven 
% COMSOL Multiphysics model. Place this file
% in your working directory and give the command comsol batch myscript
 
% Solve the Poisson equation on the unit circle union with unit
% rectangle, using second order lagrange elements
     clear fem
 
     fem.geom = circ2+rect2;
     fem.mesh = meshinit(fem);
     fem.shape = 2; 
     fem.equ.c = 1;
     fem.equ.f = 1; 
     fem.bnd.h = 1;
     fem.xmesh = meshextend(fem);
     fem.sol = femlin(fem);
 
%Save the result in a binary file. Use flsave for COMSOL fem-structures
%and save for all other data. 
flsave pois fem
 
 
%A simple linear algebra operation
a=rand(4);
b=a'*a;
 
%Save the b matrix.
save bmatrex b;

Nous créons ensuite le fichier pour slurm, en exécutant COMSOL en parallèle (ici sur 16 processeurs, paramètre -np sur la ligne de commande).

Notez que COMSOL fonctionne en mémoire partagée et pas en mémoire distribuée. Donc au maximum vous pourrez paralléliser sur 16 CPUs.

Fichier comsol.sbatch

#!/bin/bash
#
#SLURM --partition=24h
#SLURM --qos=24h
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=16
#SBATCH --mem=512
#SBATCH --time 00:04:00

comsol batch -np $SLURM_CPUS_PER_TASK tpoisson

Nous soumettons le travail :

sbatch comsol.sbatch

La sortie de Comsol sera dans le fichier d'output classique (ici slurm-NNNNN.out)

Ensuite vous pourrez visualiser votre calcul via l'interface graphique de Comsol (fichier pois.mph dans l'exemple).