Skip to content

Περιγραφή

openEMS is a free and open electromagnetic field solver using the FDTD method. Matlab or Octave are used as an easy and flexible scripting interface.

Home Page

openEMS 0.0.35

Παράδειγμα χρήσης

Η εφαρμογή openEMS μπορεί να τρέξει απευθείας ως εξής:

# module load openEMS
# openEMS

ή μέσω του matlab για παράδειγμα ως εξής:

# module load openEMS
# matlab -nodisplay
>> addpath('/mnt/apps/prebuilt/openEMS/0.0.35/share/openEMS/matlab')
>> addpath('/mnt/apps/prebuilt/openEMS/0.0.35/share/CSXCAD/matlab')
>> RunOpenEMS( '.', 'nonexistant.xml', '' )

Το script υποβολής της εργασίας θα έχει την ακόλουθη μορφή:

SLURM submission script
#!/bin/bash
#SBATCH -J openEMS-0.0.35-case
#SBATCH -p batch
#SBATCH -t 15:00

#### load module ####
module load openEMS

#### RUN MATLAB JOB ####
echo "Starting Matlab"
matlab -nodisplay << EOF &> matlab-openems.out
parallel_plate_waveguide
exit
EOF

Για το συγκεκριμένο παράδειγμα θα χρησιμοποιήσουμε το M-file: parallel_plate_waveguide.m που είναι βασισμένο σε ένα από τα παραδείγματα της εφαρμογής (Tutorial: Parallel Plate Waveguide.

Στο $HOME μας στο login node, δημιουργούμε ένα νέο φάκελο όπου τοποθετούμε τα αρχεία εισόδου, το script υποβολής της εργασίας, έστω openems-0.0.35-case.sh και τον κώδικα που θα τρέξουμε (εδώ το αρχείο parallel_plate_waveguide.m).

# mkdir openems-0.0.35-case
# cd openems-0.0.35-case

Η υποβολή της εργασίας γίνεται με την εντολή sbatch <filename.sh> ως εξής:

# sbatch openems-0.0.35-case.sh

Παρακολουθούμε με την εντολή squeue την εξέλιξη της εργασίας.

Eφόσον η εργασία έχει εκκινήσει μπορούμε να ελέγχουμε την πρόοδο της επίλυσης μέσω των αρχείων εξόδου. Π.χ.:

# cat slurm-*.out
# tail -f matlab-openems.out

Μόλις η εργασία ολοκληρωθεί, μπορούμε να δούμε ότι στον φάκελο υποβολής έχει παραχθεί το directory tmp που περιλαμβάνει τα αρχεία εξόδου. Μπορούμε να δούμε τα περιεχόμενά του, για παράδειγμα ως εξής:

# ls tmp