Warum gibt es Limits für Nastran Datenbankfiles und wie kann ich sie verändern (NASTRAN Memory Allocation (GALLOC))?

Auf Grund immer größer werdender FE-Modelle (> 1 Mio DOF's ist mittlerweile durchaus üblich) kommt es manchmal zu unerwünschten Programmabstürzen. Diese sind oft auf ein Überschreiten der zulässigen Dateigröße der Nastran Datenbankfiles (DBsets) zurückzuführen ("USER FATAL MESSAGE 1012" bzw. "USER FATAL MESSAGE 1221"). Daher geben wir nachfolgend eine Kurzbeschreibung an wie diese Limits zustande kommen und wie sie verändert werden können.

1) Grundsätzliches zu NASTRAN-Datenbankfiles (DBsets)

Generell unterscheidet man zwischen zwei Arten von Datenbankfiles:

permanente (sind für einen RESTART unbedingt erforderlich):
.DBALL - in dieser Datenbank werden jene DMAP-Datenblöcke[1] permanent gespeichert, die für einen mögliche nachträgliche Rechnung (Restart) benötigt werden.

.MASTER - in dieser Datenbank werden die Namen aller Datenbanken, Datenbanken-Members, deren physikalischen Speicherort, etc. eingetragen.

Die permanenten Datenbanken .DBALL und .MASTER sind für einen RESTART unbedingt erforderlich.

temporäre:
Die temporären Datenbankfiles bestehen aus zwei Teilen:

a) LOGICAL - in diesem werden die temporären Matrizen (Datenblöcke) des DMAP-Moduls gespeichert. Diese Einträge werden in den nachfolgenden Rechnungen benötigt.

b) SCR300 - in diesem werden die Scratch-Daten der FORTRAN- und C-Routinen gespeichert.

SCR300 ist ein dynamischer Bereich der während eines Nastran Laufes immer wieder gelöscht wird, während LOGICAL bis zum Ende des Laufes anwächst.

 

2) Maximal erlaubte Größe der Datenbankfiles (DBsets)

NASTRAN beschränkt per Default die maximal erlaubte Datengröße der permanenten (.DBALL) und temporären (LOGICAL, SCR300) Datenbanken. Die maximalen Werte sind dabei vom Betriebssystem, dem vorhandenen Arbeitsspeicher (MEM) und im Nastran definierten BUFFSIZE abhängig. Der default-Wert von BUFFSIZE beträgt 8193, das Maximum von BUFFSIZE ist mit 65537 beschränkt. Zu beachten ist dabei, dass nicht jeder beliebiger Wert für BUFFSIZE definiert werden darf. Der Wert muss der Gleichung n*(1024)+1  entsprechen.

Laut "MSC Nastran 2012.2 Installation and Operation Guide - Table 4-5" werden folgende BUFFSIZE-Werte empfohlen:

Freiheitsgrade

Degrees of Freedom

BUFFSIZE

DOF < 100000

8193

100000 < DOF < 200000

16385

DOF > 400000

32769

 

Die maximale erlaubte Größe der .DBALL- und .SCRATCH-Datenbanken in Abhängigkeit vom System, Memory und BUFFSIZE sind folgend zusammengefasst:

Buffsize

Default Maximum .DBALL and .SCRATCH DBset Sizes in GB for Specific BUFFSIZE Values

System

Memory (MEM)

BUFFSIZE

8193

32769

65537

i8/ILP64
(z.B. Windows 64bit)

MEM < 256 MB

7,63 GB

30,52 GB

61,04 GB

256 MB < MEM < 512 MB

15,26 GB

122,07 GB

244,14 GB

MEM > 512 MB

30,52 GB (Default)

244,14 GB

488,28 GB

alle anderen Systeme

(z.B. Windows 32bit)

MEM < 128 MB

7,63 GB

30,52 GB

61,04 GB

128 MB < MEM < 256 MB

15,26 GB

122,07 GB

244,14 GB

MEM > 256 MB

30,52 GB (Default)

244,14 GB

488,28 G


Anmerkung:
Diese maximalen Werte werden, wenn notwendig, ohne Rückmeldung von NASTRAN auf den maximalen vom Dateisystem erlaubten Dateigrößen zurückgesetzt:

FAT 16 2 GB
FAT 32 4 GB
exFAT unlimitiert
NTFS 16 TB
XFS unlimitiert

 

 

 

 

 

 

 

Aus der Tabelle ist ersichtlich, dass sich bei den Nastran-Default-Werten (BUFFSIZE = 8193 und MEM > 256 MB) eine Beschränkung der Filegröße von 30,52 GB ergibt. Bei den heutzutage immer größer werdenden FE-Modellen (> 1 Mio DOF's) wird diese Default-Beschränkung überschritten und der Job abgebrochen ("USER FATAL MESSAGE 1012" bzw. "USER FATAL MESSAGE 1221"). Eine Abhilfe liefert das Definieren einer größeren BUFFSIZE z.B. im Nastran-INPUT-File (siehe nachfolgendes Beispiel) oder im Nastran Konfigurationsfile (nast.ncf). Eine weitere Möglichkeit ist es die max. Größe der Datenbankfiles direkt festzulegen, siehe hierzu "Direkte Festlegung der max. Größe der Datenbankfiles (DBsets) im INPUT-File"


Beispiel: Definieren der BUFFSIZE im Nastran-Input-File ("Executive Control Cards")

$
NASTRAN BUFFSIZE=32769
$

Anmerkung:
Wenn man nachfolgendem Eintrag im Nastran-Input-File ("Executive Control Cards"-Bereich) setzt, wird (falls LOGICAL die maximale Größe erreicht hat) SCR300 für weitere LOGICAL-Dateneinträge benutzt:

$
NASTRAN SYSTEM(151)=1
$
(Default: NASTRAN SYSTEM(151)=0).

Bitte versuchen Sie zuerst BUFFSIZE zu verändern. Wenn das funktioniert benötigen Sie keine weiteren Informationen.
Ansonsten finden Sie nachfolgend Beispiele zum direkten Festlegen der Größe der Datenbankfiles.
 

3) Direkte Festlegung der max. Größe der Datenbankfiles (DBsets) im INPUT-File

Mit dem INIT Eintrag im Nastran-Input-File (im "Executive Control Cards"-Bereich) kann die Größe der Datenbanken direkt festgelegt werden, unabhängig von BUFFSIZE.

Beispiel: Mit folgenden Einträgen wird die max. Größe der Datenbanken .DBALL, LOGICAL und SCR300 auf 200GB gesetzt:

$
INIT DBALL LOGICAL=(DBALL(200GB))
INIT SCRATCH LOGICAL=(SCRATCH(200GB)) SCR300=(SCR300(200GB))
$

 

4) Direkte Festlegung der max. Größe der Datenbankfiles (DBsets) beim Submit

Nastran inputfile sdball=1Tb sscr=1Tb

Vergrößert die .DBALL, LOGICAL und SCR300 auf 1Tb (erlaubte Einheiten: kb,mb,gb,tb)

 

___________________

[1] MSC Nastran stellt eine Vielzahl an Solution-Sequenzen bereit. Jede dieser Sequenzen besteht aus einer Reihe von DMAP-Statements (Direct Matrix Abstraction Program).

© 2020 CAE Simulation Solutions Pitkagasse 2/1/16 1210 Wien Österreich +43 /1/ 974 89 91-0