Home | Sitemap  | Impressum | KIT
MSC Nastran

allgemeines Finite-Elemente-Programm für strukturmechanische Probleme, Wärmeausbreitung, Akustik und mehr

aktuelle Version: 2014

Ansprechpartner: Dienste:
Links:
Lizenztyp:

MSC Nastran

 

MSC Nastran ist ein Finite-Elemente-Programm für strukturmechanische Probleme allgemeiner Art. Stichpunkte, die die Leistung des Programms skizzieren sind:

 

  • statische und dynamische Probleme
  • geometrisch und physikalisch nichtlineare Probleme
  • lineare Probleme
  • Wärmeausbreitung
  • Akustik
  • Design-Optimierung
  • u.v.a.

Das Besondere an MSC Nastran ist seine Formulierung in einer eigenen Sprache DMAP, so dass der Benutzer, bei entsprechender Erfahrung, die vorgegebenen Lösungsschemata modifizieren und erweitern kann, um seine Probleme zu berechnen. MSC Nastran ist auf dem Linux Clustern HP XC3000 und dem Institutscluster installiert. Es stehen Schnittstellen zu Patran und zu HyperMesh zur Verfügung. MSC Nastran ist unter allen gängigen Linux-Distributionen, proprietären Unix-System und Windows lauffähig. Interessenten, die MSC Nastran bei sich installieren wollen, wenden sich bitte an den Betreuer.

MSC Nastran ist eine Zusammführung der Programmvarianten MSC.Nastran und MD Nastran. Die Eingabestruktur und -syntax und auch die Programmstruktur hat sich nicht geändert.

MSC-Rahmenlizenzvertrag

Das SCC hat eine "Nicht-kommerzielle Lizenz" für eine "Nichtgewerbliche Nutzung" von MSC Nastran erworben. Die Nutzungsbedingungen von MSC Nastran entnehmen Sie bitte aus dem MSC-Rahmenlizenzvertrag auf dem SCC-FTP-Server ftp://ftp.scc.kit.edu/pub/campus/MSC_Software/ .

Nastran Kurzanleitung

Inhaltsangabe

 

Einleitung

MSC Nastran auf den Linux-Clustern 

Die MSC Nastran-Dateien

Pre-und Postprocessing mit PATRAN

SOL 600, der implizite MARC-Solver für nichtlineare Probleme

SOL 700, der explizite Dytran/LS-Dyna Solver

Literatur und Beispiele

 

Einleitung

MSC Nastran (NASA Structural Analysis) ist ein batchorientiertes Finite-Elemente-Programm zur Lösung statischer und dynamischer Probleme im Ingenieurbereich und wird von der MacNeal-Schwendler Corporation, Los Angeles, California, U.S.A. weiterentwickelt und vertrieben. Das Programm ist am SCC auf dem Linux-Clustern HP XC3000 und am Institutscluster installiert.

MSC Nastran besteht aus modularen Einheiten, den DMAP-Kommandos. DMAP (Direct Matrix Abstract Programm) ist eine Makro-Sprache, mit der der Benutzer seine Problemlösung formulieren kann. MSC Nastran bietet jedoch für Standardprobleme DMAP-Sequenzen an (Rigid Formats, Solution Sequences), die unter einem numerischen Code oder Namen aufgerufen werden können. Mittels solcher DMAP-Sequenzen können u.a. folgende Probleme gelöst werden:

  • Linear und nichtlineare statische Analyse
  • Zeitabhängige Lasten
  • Schwingungsanalyse
  • Frequenzanalyse
  • Einschwingvorgänge
  • Nichtlineare Geometrie und nichtlineares Materialverhalten
  • Beulen und Knicken
  • Reelle und komplexe Eigenwerte
  • Wärmeübergänge
  • Design Optimierung
  • u.v.m.

Die Elemente-Bibliothek enthält mehr als 50 finite Elemente, u.a. auch Dummy-Elemente, die der Benutzer selbst definieren kann.

Zur Lösung grosser Systeme werden eine Reihe von Hilfen angeboten, die den Benutzer dabei unterstützen:

  • Spezielle Sequenzen zur Verarbeiten grosser Matrizen
  • Strukturierung auf mehreren Ebenen (Superelemente)
  • Ausnutzung von Struktursymmetrien
  • Dynamische Reduktion
  • u.v.m.

Alle DMAP-Sequenzen können vom Benutzer modifiziert werden. Für eine Fülle von Modifikationen bietet MSC Nastran RFALTERs an, das sind ein oder mehrere DMAP-Anweisungen, die in der RFA-Bibliothek zusammengefasst sind und mit denen der Benutzer bestehende DMAP-Sequenzen überbinden kann. Dies ist jedoch nur bei Nichtstandardproblemen notwendig.
 

Der Eingabedatensatz für MSC Nastran besteht aus 5 Gruppen:

  • nastran-Kommando zur Modifikation von Exekutivsystemparametern (optional).
  • File Management Statements (FMS) zur Verwaltung von Dateien und der Nastran Databases (optional).
  • Executive Control Deck
    Im Exekutivsystem wird die Abfolge der Lösungssequenz kontrolliert, die Ausgabe
    von Meldungen angestossen und die Modifikation von Lösungssequenzen durchgeführt
    (RFALTERs).
  • Case Control Deck
    Im Case Control Deck wird die Struktur der Lösung festgelegt, die verschiedenen Lastfälle, Zusammenfassung von Knoten, Elementen, Randbedingungen etc. in Gruppen (Sets) für die spätere Ausgabe, Ausgabe- und Plotspezifikationen u.v.m.
  • Bulk Data Deck
    Im Bulk Data Deck stehen die Modelldaten, wie Knotenkoordinaten mit Freiheitsgraden, die Konnektivitäten zu Elementen, Lasten und Kräfte u.v.m. Im Bulk Data Deck können ausserdem PARAM-Anweisungen eingegeben werden, mit denen die Ausführung weiter gesteuert werden kann.

Die Eingabedaten in allen 5 Gruppen erfolgen im freien Format. Das Bulk Data Deck kann auch formatiert eingegeben werden. In MSC Nastran ist Pre- und Postprocessing möglich. Für die Installation am SCC bietet sich insbesondere der universelle Prä/Postprozessor Patran an, der zu Nastran eine Schnittstelle besitzt. MSC Nastran hat auch ein integriertes Modul MSGMESH, mit dem über Anweisungen im Executive und Case Control Deck Knoten, Freiheitsgrade und Elemente generiert werden. Die Ergebnisse einer Nastran-Rechnung können auch direkt in ein PostScript-File geschrieben und auf geeigneten Druckern ausgegeben werden.

MSC Nastran auf den Linux-Clustern

Das gesamte Datendeck für eine Nastran-Berechnung stehe in der Datei jid.dat. Dabei bedeutet jid eine Problemidentifikation. Der einfachste Aufruf von Nastran geschieht dann durch

msc20121 nastran [jid=]jid.dat

Die Dateinamenserweiterung muss nicht zwingend dat sein, falls dies aber so ist, reicht es, im Nastran-Aufruf nur die Problemidentifikation anzugeben, also

msc20121 nastran jid ....

Um die Ressourcen auf den Parallelrechnern optimal zu nutzen, sollte Nastran unter Kontrolle des Job Management System (JMS) gestartet werden. Der Aufruf sieht dann folgendermaßen aus:

nastranjob -j jid -t TIME -m MEMORY -c CLASS [-p PROCS][-e SCRATCHDIR][-T TIME][-s STRING]

-t TIME gibt die benötigte CPU-Zeit (in Minuten) an
-m MEMORY gibt den Hauptspeicherbedarf in MByte an
-c CLASS ist die Jobklasse, in der der Nastran-Lauf bearbeitet werden soll;
es sind die Klassen p (für Produktion) und d (für Development) zugelassen
-p PROCS ist die Anzahl an parallelen Tasks, Default: 1
-e SCRATCHDIR Scratchverzeichnis in einfachen Hochkommata: '' oder '': Default:
-T TIME gibt die Realzeit an
-s STRING hier kann in Hochkomma eingeschlossen ein Textstring angegeben werden, der als Parameter mitübergeben wird

Es gibt eine Reihe weiterer Parameter, die in einem Runtime Configuration File (RCF) spezifiziert werden können und die Umgebung für den Nastran-Lauf festlegen.

Genauergesagt gibt es 5 RCFs:

  • Das System-RCF  /software/{ssck|all}/msc/nastran/20121/conf/nast20121rc: hier sind einige Parameter vorbesetzt.
  • Das Architecture-RCF /software/{ssck|all}/msc/nastran/20121/conf/architectur/nast20121rc (wird z.Z. nicht benutzt)
  • Das knotenspezifische  RCF  /software/{ssck|all}/msc/nastran/20121/conf/net/Knotenname/nast20121rc (wird z.Z. nicht benutzt)
  • Das User-RCF in /.nast20121rc: dieses File kann der Benutzer anlegen und in ihm Parameter besetzen.
  • Das lokale RCF .nast20121rc: dies liegt in dem Verzeichnis, in dem auch das Nastran-Datendeck liegt.

In der Pfadangabe bedeutet {ssck|all}, dass beim XC4000-Cluster der Eintrag ssck, beim Institutscluster und KIT-Cluster der Eintrag all gilt. Einige dieser Parameter können auch im Nastran-Kommando gesetzt werden. Die Priorität ist folgendermassen geregelt:

Nastran-Kommando --> lokales RCF --> Knoten-RCF --> User-RCF --> Architecture RCF --> System-RCF

Die wichtigsten RCF- Parameter sind:
 

 

Parameter Vorbesetzung Bedeutung
dbs dbs=jid Name der Nastran Datenbasis
scratch scratch=yes Database Control Flag: 

scratch=yes: 
die Database wird als temporaeres File angelegt, der dbs-Parameter wird ignoriert 

scratch=no: 
die Database ist eine permanente Datei, wichtig fuer Restarts

out out=jid Name der Ausgabedateien: out.f04, out.f06, out.log, out.xdb, out.plt, out.pch
memory memory=estimate Nastran Arbeitsspeicher in MBytes (open core)
sdirectory sdirectory='$WORK' Verzeichnis fuer Scratchfiles; hier ist standardmässig das globale Parallelfilesystem $WORK gesetzt. Möglich sind auch ein lokales Filesystem $TMP. Eine Beschreibung der Filesysteme findet man in den User Guides zu den Clustern.
buffsize buffsize=65537 Puffergrösse für die (meisten) Dateien

 

Eine komplette Liste der Parameter und nähere Informationen über ihre Bedeutung findet man in den MD Nastran R3 Installation and Operation Instructions, Appendix B.

 

Die MSC Nastran-Dateien

MSC.Nastran arbeitet mit einer Reihe von Dateien, deren Namen gewissen Konventionen gehorchen:
 

 

Logischer Name Physikalischer Name Bedeutung
INPUT jid.dat Eingabedatei
PRINT out.f06 Ergebnisdatei
LOGFL out.f04 Kontrollausgabe des Exekutiv-Systems
----- jid.log System-Logfile
PLOT out.plt Plotfile; wird im Case Control Deck durch OUTPUT(PLOT) angefordert
PUNCH out.pch Ausgabedatei des MSGMESH Prozessors
DBC out.dbx Ergebnisdatei zum Postprocessing mit XL; wird durch PARAM,POST,0 angefordert 
INCLD1 dateiname Include-File, wird im Nastran-Datendeck über INCLUDE dateiname eingelesen
MASTER dbs.MASTER Database-Katalog
DBALL dbs.DBALL Datenblöcke und Parameter
USROBJ dbs.USROBJ User DMAP-Object-Library
USRSOU dbs.USRSOU User DMAP-Source-Library

 

Die vier letzten Dateien werden nur permanent gehalten, falls scratch=no gesetzt ist. Dies ist wichtig, falls Restart-Läufe durchgeführt werden sollen. Falls scratch=yes gesetzt ist, werden die Database-Files im Scratchverzeichnis sdirectory angelegt. Der Name besteht dann im wesentlichen aus der Prozessnummer, die dem Nastran-Job vom System zugewiesen wurde. Falls keine vom Benutzer erzeugten DMAP-Sequenzen benutzt werden sollen, und das ist die Regel, können USRSOU und USROBJ gelöscht werden.

Weitere Dateien, die vom Benutzer zugeordnet werden müssen, werden über die ASSIGN-Anweisung im FMS-Teil des Nastran-Datendecks definiert. Dies ist insbesondere relevant für die OUTPUT2-Datei, in die die Ergebnisse geschrieben werden, um sie später mit MSC.Patran oder einem anderen Postprozessor weiterzuverarbeiten (s.u.). Die dynamische Dateiverwaltung legt die Database-Dateien in sog. GINO-Blöcken an. Die Anzahl solcher Blöcke ist standardmässig vorgegeben:

 

5000  für MASTER, USROBJ, USRSOU, OBJSCR
250000 für DBALL
250000 für SCRATCH und SCR300

 

OBJSCR, SCRATCH und SCR300 sind ebenfalls Database-Dateien, die immer temporär sind, d.h. nach Ende des Nastran-Jobs gelöscht werden, auch wenn die Datenbasis permanent gehalten wird. Falls diese Grössen nicht ausreichend sind, können die Database-Files über die INIT-Anweisung im FMS-Teil des Eingabedecks vergrössert werden.

Pre -und Postprocessing mit Patran

In Patran kann im ANALYSIS-Menü ein Nastran-Eingabefile generiert werden. Dazu muss

  • entweder beim erstmaligen Erzeugen der Patran-Datenbasis Nastran, oder
  • im PREFERENCES-Menü Nastran
    gewählt werden. Es wird dann eine Datei identifer.bdf erzeugt, wobei identifier der Name der Patran Datenbasis ist. Damit kann dann Nastran gestartet werden, z.B.

    nastran identifer.bdf

Damit Postprocessing mit Patran möglich wird, muss im Eingabedatensatz im FMS-Teil die OUTPUT2-Datei angelegt werden:

ASSIGN,OUTPUT2=name.op2,STATUS=UNKNOWN,UNIT=12[,FORM={FORMATTED,UNFORMATTED}]

Falls FORM=FORMATTED gewählt wird, wird die OUTPUT2-Datei in einem neutralen ASCII-Format geschrieben. Das ist dann interessant, wenn der Nastran-Lauf auf einem Rechner durchgeführt wird, der nicht binär kompatibel zu der Workstation ist, auf der Patran läuft. Ausserdem muss im Bulk Data Deck noch die Anweisung PARAM,POST,-1 stehen.

Für das Postprocessing wird über das ANALYSIS-Menü das OUTPUT2-File gelesen. Patran erwartet als Dateinamenserweiterung op2. Alles weitere ist dann reine Patran-Anwendung.

SOL 600, der implizite MARC-Solver für nichtlineare Probleme

Innerhalb von MSC Nastran kann der implizite Marc-Solver gewählt werden. Dazu setzt man als Solution Sequence im Executive Control Deck SOL 600 mit weiteren Optionen. Im Bulk Data Deck sollten dann noch diverse Parameterzeilen eingefügt werden, die in Marc-Anweisungen umgesetzt werden, z.B.

param,marcoutr,1

zur Zusammenfassung der t16-Files aus den einzelnen Domänen zu einer gesamten Datei (bei paralleler Abarbeitung). Einzelheiten zu den möglichen Parametern findet man im MSC Nastran Quick Reference Guide. Der Anfang einer Input-Datei könnte z.B. folgendermaßen aussehen:

SOL 600,106 outr=f06
TIME 10000
CEND
  ECHO = SORT
  DISPLACEMENT = ALL
  SPCFORCE = ALL
  Stress = ALL
  Strain = ALL
  SPC = 1
  NLPARM = 2
  BCONTACT=1000000
param,marc3d,1
param,marcbug,0
SUBCASE 1
  LOAD = 20
  BCONTACT=1
BEGIN BULK
param,marcsinc,200
param,marctabl,0
param,marcprn,0
........

Weitere Informationen und Beispiele findet man im Implicit Nonlinear User's Guide.

Die weitere Vorgehensweise hängt davon ab, ob der Job seriell, im Shared Memory Modus (SMP) oder Distributed Memory Modus (DMP) gerechnet werden soll.

  1. Seriell
    In diesem Fall ist nichts weiter zu tun als den Nastran-Job aufzurufen, also

    msc20121 nastran jid ...  bzw. im Batch mit nastranjob -j jid ....


    Danach wird eine Marc Eingabedatei generiert und diverse Marc-Dateien erzeugt, aber auch die entsprechenden Nastran-Dateien wie oben beschrieben. Eine Beschreibung der Marc-Dateien findet man in der Marc-Dokumentation und auch in der Marc-Kurzanleitung unter http://www.scc.kit.edu/produkte/3837.php.
  2. SMP-Modus
    Der SMP-Modus läuft auf einem Knoten parallelisiert mit maximal so vielen Prozessen (Threads), wie Cores auf dem Knoten sind. Das sind 4 Cores auf dem HP XC4000-Cluster und 8 Cores auf dem HC XC3000- und Institutscluster.
    Bei der Erzeugung der Marc-Eingabedatei muss das Modell in so viele Partitionen aufgeteilt werden,dass auf jedem Core eine Partition berechnet wird. Die erreicht man, in dem man im Bulk Data Deck der Nastran-Eingabedatei die Anweisung

    PARAMARC,123,,8

    einfügt. Hier ist 123 ein beliebiger Identifier und die 8 bedeutet die Anzahl der Partitionen. Im Batch startet man den Job z.B. mit

    job_submit -c p -p 1/8 -t 100 -m 2000 "msc20121 nastran batch=no jid=jid
    parallel=8

    In diesem Beispiel wird nicht nur der Marc-Solver parallelisiert, sondern auch der Nastran-Job. Man kann aber die Option parallel=8 weglassen.
  3. DMP-Modus
    Für die Parallelisierung über Knotengrenzen hinweg, muss in der Eingabedatei die Solution Sequence modifiziert werden:

    SOL 600,106 path=3 outr=f06

    Mit der zusätzlicen Option wird die Parallelverarbeitung mit MPI eingeschaltet. Anschließend erstellt man ein ausführbares Skript (z.B. job_script) mit dem Inhalt:

    #!/bin/sh
    export PATH=/software/all/msc/nastran/20121/msc20121/marc/tools:$PATH
    marc_hosts.pl
    msc20121 nastran batch=no jid=jid

    Die Pfadangabe bezieht sich auf den HP XC3000-Cluster. Für den HP XC4000-Cluster lautet der Eintrag

    export PATH=/software/ssck/msc/nastran/20121/msc20121/marc/tools:$PATH

    Auf dem Institutscluster ist derzeit eine Parallelisierung über Knotengrenzen hinweg nicht möglich. Schließlich muß noch eine ausführbare Datei mit dem Namen marc.pth erstellt werden, in dem der Marc-Aufruf stehen muss:

    /software/{all|ssck}/msc/nastran/20121/msc20121/marc/tools/run_marc -jid jid -nps 16 -v no -b no -iam nanl -ho hostfile

    Über die nps Option wird die Anzahl der parallelen Prozesse spezifiziert. Der Job wird dann mit

    job_submit -c p -p 16 -t 100 -m 12000 job_script

    gestartet.

SOL 700, der explizite Dytran/LS-Dyna Solver

Ähnlich wie der Marc-Solver kann auch der explizite Solver von Dytran/LS-Dyna aus MSC Nastran heraus gestartet werden. Dies ist sinnvoll, wenn man Probleme aus dem kurzzeitdynamischen Bereich Berechnen möchte, z.B. Schockwellen, Airbag u.ä.. Hier enthält das Nastran-Inputfile spezifische dytranbezogene Zeilen, z.B.

SOL 700,NLTRAN STOP=1
CEND
TITLE = Multiple bird strike using Multi-Material-FVSurfer
IC =  1
SPC =  1
TSTEPNL=1
$
BEGIN BULK
PARAM*,DYINISTEP,1e-7
PARAM*,DYMINSTEP,1e-8
DYPARAM,FASTCOUP,INPLANE,FAIL
DYPARAM,FMULTI,0.2
Dyparam,stepfctl,0.9
DYPARAM,LSDYNA,BINARY,D3PLOT,.00015
DYTIMHS,,.000001,,,,,,,+
+,CPLSOUT
.....

Einzelheiten zu den möglichen Parametern findet man im MSC Nastran Quick Reference Guide und im MSC Explicit Nonlinear User's Guide und auch in der Dytran-Dokumentation bzw. LS-Dyna Dokumentation (s. auch http://www.scc.kit.edu/produkte/7012.php ).

Auch hier muss unterschieden werden, ob der Job seriell oder parallel gerechnet werden soll.

  1. seriell
    In diesem Fall ist nichts weiter zu tun als die Nastran-Inputdatei entsprechend aufzubereiten und den Nastran-Job aufzurufen, also

    msc20121 nastran jid ...  bzw. im Batch mit nastranjob -j jid ....
  2. parallel
    Hier müssen wir nicht zwischen SMP- und DMP-Parallelisierung unterscheiden. Als erstes muss (wie auch bei SOL 600) die SOL-Zeile um den Path-Parameter erwitert werden, also

    SOL 700,NLTRAN PATH=3 STOP=1

    Dann wird ein ausführbares Job-Skript benötigt mit dem Inhalt

    #!/bin/sh
    export PATH=/software/{all|ssck}/msc/nastran/20121/msc20121/dyna/linux64:
    dyna_hosts.pl
    msc20121 nastran batch=no jid=jid

    Der Pfad berücksichtigt wieder die unterschiedlichen Installationen am HP XC4000-Cluster bzw. HP XC3000-/Instituts-Cluster.

    Für den Solverausfruf muss zusätzlich noch eine ausführbare Datei sol700.pth erstellt werden mit dem Inhalt:

    /software/{ssck|all}/msc/nastran/20121/msc20121/dyna/linux64/run_dytran
    exe=/software/{ssck|all}/msc/nastran/20121/msc20121/dyna/linux64/dytran-lsdyna
    memory=10000m
    nproc=8

    Über die memory-Zeile gibt man eine Hauptspeicherzuweisung für den Solver an und nproc bezeichnet die Anzahl der parallelen Prozesse. Der Job wird dann mit

    job_submit -c p -p 8 -t 100 -m 12000 job_script

    gestartet.

SOL 700 erzeugt ein große Anzahl von Dateien, deren Bedeutung man in der Dokumentation findet. Die Ergebnisdateien können alle mit Patran ausgewertet werden, aber auch andere Postprozessoren, wie z.B. HyperMesh und HyperView, können  eingesetzt werden.

Literatur und Beispiele

Es gibt eine Fülle an Literatur über MD Nastran. Die MD Nastran Dokumentation und Beispiele liegen auf den Linux-Clustern im Verzeichnis:

/software/{ssck|all}/msc/nastran/20121/msc20121/doc/pdf_nastran
/software/{ssck|all}/msc/nastran/20121/msc20121/nast/demo

Informationen über die Dokumentation von Marc/Mentat findet man unter http://www.scc.kit.edu/produkte/3837.php. Dokumentation zu Dytran bekommt man beim Betreuer.

Kursunterlagen zu PATRAN und NASTRAN

Auf dieser Seite sind die Kurs- und Seminarunterlagen, die von MSC zu den Schulungen in PATRAN und NASTRAN zur Verfügung gestellt werden, gespiegelt. Die Unterlagen, die einmal in Form von themenbezogenen Workbooks und aber auch nach Stichpunkten wie spezielle Elemente, Lasten, Geometrieerzeugung, Vernetzung etc. geordnet sind, liegen im PDF-Format vor, d.h. der Acrobat Reader muss lokal vorhanden sein.