Software > Comsol

Comsol

Beschreibung

Comsol ist eine interaktive Entwicklungsumgebung für die Modellierung und Simulation von wissenschaftlichen und technischen Problemen, die sich mit Hilfe von partiellen Differentialgleichungen (PDE) beschreiben lassen. Darüberhinaus lassen sich mit Comsol auch multiphysikalische Phänomene, also Wechselwirkungen simulieren.

Die grafische Benutzeroberfläche von Comsol enthält Funktionen für die CAD-Modellierung, die Definition von physikalischen oder PDE-basierten Parametern, sowie für die automatische Generierung des Finite-Elemente- Gitters. Daneben werden Funktionen für die Berechnung der numerischen Lösung sowie für Visualisierung und Postprocessing zur Verfügung gestellt. Die Schnittstelle zu MATLAB bietet darüberhinaus weitere Möglichkeiten.

Verfügbar auf:

Ansprechpartner

Dr. Andreas Gerdes, Dr. Paul Cochrane

Inhaltsverzeichnis

Installation auf den RRZN-Computeservern

Comsol ist auf dem Cluster in mehreren Versionen installiert. Eine Übersicht gewinnt man mit dem Befehl:

 $ module avail

Benutzung auf den RRZN-Computeservern

Um das Paket zu benutzen, muss man das Modul laden.  Dies macht man so:

 $ module load comsol

Damit wird die Default-Version geladen. Für das Laden einer anderen Version den Namen benutzen, der bei "module avail" ausgegeben wird. Falls Sie die Fehlermeldung "module: command not found" bekommen, müssen Sie dieses Kommando eingeben (im normalen Fall ist das "module" Kommando bereits vorhanden):

 $ source /usr/share/Modules/init/`basename $SHELL`

Dokumentation und Beispiele

Dokumentation auf orac oder avon befindet sich in den Verzeichnissen:

 /sw/aws/eng/comsol/comsol40/doc/pdf/comsol/
/sw/aws/eng/comsol/comsol41/doc/pdf/comsol/

Benutzung im Batchbetrieb

Sie können Comsol Skripte (*.m Dateien) innerhalb eines Batchskriptes laufen lassen.  Dies erfolgt durch die "batch" Option zu Comsol, z.B. um eine Skriptfile namens "skript.m" laufen zu lassen:

    $ comsol batch skript

Man kann "comsol batch" aber auch auf Modell-Dateien (.mph) loslassen, der Aufruf muss dann wie folgt lauten:

    $ comsol batch -inputfile in.mph -outputfile out.mph

In der interaktiven Anwendung lässt sich auch mit einem Rechtsklick auf "Study" ein Batch-Job erstellen.

Hier ist ein Beispiel-Batchskript um Comsol im seriellen Batchmodus laufen zu lassen:

#!/bin/bash -login
#PBS -N comsol_micromixer
#PBS -M ich@meine.email.adresse.de
#PBS -m ae
#PBS -j oe
#PBS -l nodes=1:ppn=1
#PBS -l walltime=00:30:00
#PBS -l mem=10gb
#PBS -q all
# show which computer the job ran on
echo "Job ran on:" $(hostname)
# load the relevant modules
module load comsol
# change to work dir:
cd $PBS_O_WORKDIR
# the program to run
comsol batch -inputfile micromixer.mph

Parallele Nutzung

Comsol kann auch mehrere Prozessoren benutzen, falls vorhanden.  Um diese Funktionalität zu benutzen, braucht man die "-np" Option mit der Anzahl von Prozessoren als Argument der Option.  Z.B. um ein Comsol Skript namens "skript.m" im Batchbetrieb und auf 4 Prozessoren laufen zu lassen würde man das folgende benutzen:

    $ comsol -np 4 batch skript

bzw. für Modell-Dateien (.mph):

    $ comsol batch -inputfile in.mph -outputfile out.mph -np 4

Laut Handbuch gibt es auch einen Flag "-mpmode" (multiprocessor mode), diesen haben wir aber noch nicht ausführlich getestet.

Hier ist ein Beispiel-Batchskript um Comsol im parallelen Batchmodus laufen zu lassen:

#!/bin/bash -login
#PBS -N comsol_micromixer
#PBS -M ich@meine.email.adresse.de
#PBS -m ae
#PBS -j oe
#PBS -l nodes=1:ppn=8
#PBS -l walltime=00:30:00
#PBS -l mem=10gb
#PBS -q all
# show which computer the job ran on
echo "Job ran on:" $(hostname)
# load the relevant modules
module load comsol
# change to work dir:
cd $PBS_O_WORKDIR
# work out the number of threads
export NUM_THREADS=$(wc -l $PBS_NODEFILE | cut -d" " -f1)
# the program to run
comsol batch -inputfile micromixer.mph -np $NUM_THREADS

 Nutzung mit Matlab

Es gibt auch die Möglichkeit Comsol mit Matlab zu verknüpfen.  Um dies zu machen, brauchen Sie die "matlab" Option zu Comsol:

    comsol matlab -ml -nosplash -ml -nodesktop -mlr <comsol_script>

In diesem Beispiel wurde auch die Optionen "-nosplash" und "-nodesktop" zu Matlab mittels der "-ml" Option von Comsol übergeben.  Den Namen des Comsol-Skriptes laufen zu lassen wurde mit der "-mlr" Option übermittelt.  Bitte merken, dass der ".m"-Teil des Skriptnamens soll nicht angegeben werden.

Interaktive Grafik und Comsol

Wenn man auf einem Rechenknoten interaktiv im grafischen Modus mit Comsol arbeitet, braucht man manchmal 3D-Beschleunigung.  Da es auf den Rechenknoten keine Grafikkarten gibt, gibt es keine hardware-basierte 3D-Beschleunigung.  Diese kann man aber durch Software-Beschleunigung ersetzen. Man stellt dies ein in dem man die Preferences-Datei (normalerweise in $HOME/.comsol/<version>/comsol.prefs) editiert und diese Zeile

graphics.rendering.3drend=ogl

auf

graphics.rendering.3drend=sw

ändert.

Letzte Änderung: 02.10.2012
 
Verantwortlich RRZN