MSC.Marc 2013

Übersicht:

  1. MARC auf den Rechnern der Linux-Cluster
  2. Der Parameter MAXALL
  3. MARC-Aufruf
  4. Einbinden benutzereigener Unterprogramme
  5. Beispiele
  6. Handbuch

1. MARC auf den Rechnern der Linux-Cluster

  • Modul-Konzept: Auf den Rechnern des Linuxclusters Apis/Bombus ist ein Module-Konzept implementiert, über das die speziellen Umgebungen für die dort installierten Anwendungen gesetzt wird. Das MARC-Softwarepaket wird mit
    module add marc
    
    zur Verfügung gestellt.
  • Batchsystem: Skriptbeispiel für halis:

    #!/bin/bash
    #
    . /etc/profile.d/module.sh
    module add marc
    #
    #  ins MARC Arbeitsverzeichnis wechseln und MSC-MARC starten
    DIR=<Pfadname des Arbeitsverzeichnisses>
    JOBID=<meinJob>
    cd $DIR
    #  MARC starten
    run_marc -jid $JOBID -ver no 
    

    Hinweise zum Batchsystem

2. Der Parameter MAXALL

Der erste SIZING-Parameter (MAXALL) muss richtig gewählt werden, um eine Resourcenverschwendung zu verweiden. MARC 2013 linkt kein neues Executable, wenn MAXALL für eine in-core-Rechnung zu klein gewählt wurde. Stattdessen wird der tatsächlich benötigte Hauptspeicherbedarf dynamisch zugewiesen, ohne dass der bereits belegte Speicher wieder frei gegeben wird. Dies bedeutet, dass, sollte Ihre Speicheranforderung ungünstigstenfalls knapp unterhalb des benötigten Hauptspeicherbedarfs liegen, Ihr MARC-Run doppelt soviel Hauptspeicher belegt als dies notwendig wäre.

Im out-File (<jobname>.out) wird Ihnen mitgeteilt, wie Sie den SIZING-Parameter MAXALL wählen müssen, damit in-core gerechnet werden kann. Z.B. liefert das Kommando

grep workspace <jobname>.out
die notwendige Information. Tipp: Wählen Sie im ersten Rechenlauf MAXALL=0 und passen Sie den Parameter dann an den tatsächlichen Bedarf an. Wenn Sie nicht mit RESTARTs arbeiten, sollten Sie grundsätzlich mit MAXALL=0 arbeiten.

3. MARC-Aufruf

run_marc keyword value

Beschreibung der Optionen

  • Die mit einem * markierten Werte sind Default-Werte!
  • Die eckigen Klammern < > bedeuten, daß ein benutzereigener Identifizierungsname (ohne eckige Klammern) angegeben werden muß.
  • Werte in " " müssen so wie angegeben, aber ohne Doublequotes " " angegeben werden.
    
    +---------+------------+----------------------------------------+
    I keyword I value      I  Erläuterung                           I
    +---------+------------+----------------------------------------+
    I -prog   I"marc" *    I ruft das MARC-Programm auf, mit        I
    I         I            I oder ohne User Subroutines.            I
    I         I <progname> I Das benutzereigene Programm            I
    I         I            I "progname" wird ausgeführt.            I
    I         I            I Der Programmname muß mit  marc_        I
    I         I            I beginnen. Dieser Vorsatz wird bei      I
    I         I            I Angabe des Programmnamens aber         I
    I         I            I weggelassen.                           I
    +---------+------------+----------------------------------------+
    I -jid    I <jidname>  I Input-Datenfile ohne Extension         I
    I         I            I .dat                                   I
    +---------+------------+----------------------------------------+
    I -rid    I <ridname>  I vorhergehender job für RESTART         I
    +---------+------------+----------------------------------------+
    I -pid    I <pidname>  I Temperatur-File (ohne Extension)       I
    I         I            I für die Temperatur_Spannungsanalyse    I
    I         I            I ( .t16 oder .t19 File)                 I
    +---------+------------+----------------------------------------+
    I -user   I <username> I Die User Subroutine "username.f" wird  I
    I         I            I zur Generierung eines neuen Moduls     I
    I         I            I verwendet.                             I
    +---------+------------+----------------------------------------+
    I -back   I "yes"  *   I Programm soll im Hintergrund laufen.   I
    I         I oder "y" * I                                        I
    I         I            I                                        I
    I         I "no" oder  I Programm soll im Vordergrund laufen.   I
    I         I "n"        I                                        I
    +---------+------------+----------------------------------------+
    I -cpu    I   <sec>    I job CPU limit in Sekunden              I
    +---------+------------+----------------------------------------+
    | -dir    I <dir_name> I Verzeichnis für Ein-/Ausgabedateien    I
    +---------+------------+----------------------------------------+
    | -sdir   I <sdir_name>I Verzeichnis für Scratchdateien         I
    +---------+------------+----------------------------------------+
    I -ver    I "yes"  *   I Input-Syntax verifizieren              I
    I         I oder "y" * I                                        I
    I         I            I                                        I
    I         I "no" oder  I Input-Syntax nicht verifizieren        I
    I         I "n"        I                                        I
    +---------+------------+----------------------------------------+
    I -save   I "yes"      I Generiertes Modul abspeichern.         I
    I         I oder "y"   I                                        I
    I         I            I                                        I
    I         I "no" * oderI Generiertes Modul nicht abspeichern.   I
    I         I "n" *      I                                        I
    +---------+------------+----------------------------------------+
    I -vf     I <viewname> I viewfactor file                        I
    +---------+------------+----------------------------------------+
    I -def    I <defname>  I default input file name                I
    +---------+------------+----------------------------------------+
    I-autorst I 0 oder 1   I 0 : beim Remeshing geht das            I
    I         I            I Analyseprogramm in einen Wartezustand  I
    I         I            I bis das Meshen beendet ist.            I
    I         I            I 1 : das Analyseprogramm stopped, der   I
    I         I            I Remeshvorgang beginnt und nach Been-   I
    I         I            I digung restartet das Analyseprogramm   I
    I         I            I automatisch. Die RESTART LAST Option   I
    I         I            I ist in diesem Fall erforderlich.       I
    +---------+------------+----------------------------------------+
    

Anmerkungen:

  • Das Keyword -jid ist immer erforderlich.

  • Das Keyword -save kann nur dann benutzt werden, wenn ein neues MARC-Executable erzeugt wird (bei benutzereigenen Unterprogrammen). Das neu generierte MARC-Executable wird dann nicht gelöscht.

  • Nutzen Sie den /usertemp-Bereich für Eingabe-, Ausgabe- und Temporärdateien, damit zeitintensive Plattenzugriffe vermieden werden. Außerdem beeinflusst die Plattenplatzbelegung im /usertemp-Bereich Ihre Plattenplatzquoten nicht. Mit der Option -sdir legen Sie den Pfadnamen für das Scratchverzeichnis fest, mit -dir das Verzeichnis für Ein- und Ausgabedateien.

    Vergessen Sie nicht, nach Beendigung Ihrer Arbeit die Dateien, die Sie noch weiterhin benötigen, aus /usertemp in Ihren Homebereich zu kopieren, da alle Dateien des /usertemp-Bereiches, die älter als eine Woche sind, regelmäßig gelöscht werden und kein Backup erstellt wird.

  • Beachten Sie die Hinweise zum Arbeiten mit FEM-Progammpaketen auf den Zentralrechnern.

4. Einbinden benutzereigener Unterprogramme (am Beispiel)

Mit
run_marc -jid xyz -user test -sdir $TEMPDIR/marc
wird die Datei test.f mit benutzereigenen Routinen zur Generierung eines neuen ablauffähigen MARC-Execute-Files benutzt. Mit diesem neuen MARC-Executable wird dann die in xyz.dat definierte FE-Aufgabe berechnet.

Werden in Ihrem Unterprogramm MARC-Ausgabefiles angelegt, müssen die Namen dieser Ausgabefiles mit fort. beginnen (z.B. fort.stress).

Mit

run_marc -jid xyz -user test -sdir $TEMPDIR/marc -save yes
wird das neu generierte MARC-Prgramm unter dem Namen test.marc in Ihrem Verzeichnis abgespeichert. Sie können es dann zur Berechnung Ihrer FE-Aufgabe immer wieder benutzen mit

run_marc -jid xyz -prog test.marc -sdir $TEMPDIR/marc

5. Beispiele

MARC/MENTAT 2013 Verzeichnisse:
DIR=/progsys/MSC/marc2013_classic/marc2013.1/
Beispiele finden Sie in den Verzeichnissen:
$DIR/demo
$DIR/demo_ddm
$DIR/demo_table
Weitere Verzeichnisse:
$DIR/common (COMMON-Blöcke)
$DIR/user (User-Subroutines)

6. Handbuch

MARC Handbücher stehen TU-intern als PDF-Files zur Verfügung.