Browse Source

Comsol: ex1

Ph. Marion 1 year ago
parent
commit
c15d5fe871
3 changed files with 96 additions and 0 deletions
  1. 3 0
      Comsol/README.md
  2. BIN
      Comsol/heart_electrical.mph
  3. 93 0
      Comsol/launch_comsol1.oar

+ 3 - 0
Comsol/README.md

@@ -0,0 +1,3 @@
+### COMSOL
+
+le logiciel [Comsol](https://www.comsol.com/) a été acheté dans le cadre d'un projet par le LPCA (2019). Il n'y a qu'un seule jeton, il est réserver aux usagers de ce laboratoire.

BIN
Comsol/heart_electrical.mph


+ 93 - 0
Comsol/launch_comsol1.oar

@@ -0,0 +1,93 @@
+#!/bin/bash
+
+# sur orval 
+################################################################################
+# exemple de script oar de lancement de batch COMSOL
+# {PATH_COMSOL}/applications/COMSOL_Multiphysics/Equation_Based/heart_electrical.mph
+# description du problème:
+# {PATH_COMSOL}doc/help/wtpwebapps/ROOT/doc/com.comsol.help.models.mph.heart_electrical/models.mph.heart_electrical.pdf
+
+# Usage: oarsub -S ./launch_comsol1.oar
+#
+# Note: les directives OAR commencent par #OAR pour les mettre en commentaires
+# il faut utiliser un double #
+################################################################################
+
+
+#-----------------------------------------------------------
+# Les directives OAR
+#-----------------------------------------------------------
+# donner un nom au job
+#OAR -n comsol_ex1
+
+# les ressources
+
+#OAR -l /nodes=1/core=28,walltime=00:20
+
+# la file de soumission default
+##OAR -q default
+
+# ou bien : mode besteffort 
+#OAR -t besteffort
+
+# restart automatique
+##OAR -t idempotent
+
+
+# chargement du module comsol
+#-----------------------------------------------------------
+source /nfs/opt/env/env.sh
+module load comsol
+
+# notification par mail ou script
+##OAR --notify mail:prenom.nom@univ-littoral.fr
+##OAR --notify exec:/chemin/vers/mon/script arguments
+
+# affiner (éventuellement) la sélection des noeuds de calculs
+# -par exemple avec les noeuds acheter dans le cadre d'un projet/BQR- ;-)
+##OAR -p network_address = 'orvalX' or network_address = 'orvalY' or ...
+##OAR -p nodemodel = 'Dell_R820' and disktype = 'sas'
+## ... cf https://www-calculco.univ-littoral.fr/outils_visu/monika
+
+#OAR -O ex1-comsol-%jobid%.out
+#OAR -E ex1-comsol-%jobid%.err
+
+# IMPORTANT réserver le jeton : à mettre en place 
+##OAR -t token:comsol=1
+
+INPUT=heart_electrical.mph
+OUTPUT=heart_electrical-out.mph
+
+
+if [ -s "$OUTPUT.recovery" ]
+then
+    echo "le fichier recovery existe: on relance à partir du checkpoint"
+    comsol batch -inputfile $INPUT -outputfile $OUTPUT -recover -continue -np 28
+else
+    echo "premier lancement du projet $INPUT"
+    comsol batch -inputfile $INPUT -outputfile $OUTPUT -np 28
+fi
+
+#remarque 1 (checkpoint):
+#----------
+# la ligne de commande la plus simple aurait pu être:
+
+# comsol batch -inputfile $INPUT -outputfile $OUTPUT 
+
+# Ici, la structure de contrôle if then else est mis en place tout simplement
+# pour profiter du fait que COMSOL intègre nativement un système d'avancement
+# des runs et donc  un sytème de «checkpoint à pas cher!» : il suffit de tester
+# l'existence d'un fichier $OUTPUT.recovery non vide, pour comprendre que le
+# job a été arrêté (volontairement ou walltime trop court ou ...ou ? )
+# => il suffit de relancer le script OAR pour relancer le run au stade où il en était.
+
+
+# remarque 2
+#----------
+# option -np (facultative) : dans cet exemple on fixe
+# le nombre à 16 pour être cohérent avec les ressources demandées (core=16),
+# c'est a priori optimal en terme de perf (1 core = 1 thread) 
+# c'est inutile si on prend un noeud complet (comsol prend automatiquement tous les coeurs)
+
+exit $?
+