PLOT3D filformat

Inom beräkningsvätskedynamik är filformatet PLOT3D ett standardfilformat som används för att lagra rutnäts- och resultatdata. PLOT3D skapades av NASA Ames Research Center 1982 av Pieter Buning och är fortfarande ett ofta använt filformat . Den kan bara lagra ett strukturerat rutnät . Det strukturerade rutnätet tillåter slumpmässig åtkomst , det vill säga genom att känna till blocknumret, i -platsen, j -platsen och k -platsen, kan vilket rutnätspunktvärde som helst eller resultatvärde extraheras. Dessutom, givet läget för vilket värde som helst, kan blocknumret, i- platsen, j -platsen och k -platsen bestämmas. Detta gör det enkelt att iterera genom en serie volymetriska element och beräkna alla nödvändiga egenskaper för en CFD- analys.

Det mest grundläggande formatet innehåller två olika filer, en rutnätsfil (G-fil) och en lösningsfil (Q-fil). Filnamnstilläggen som används varierar, även om .q är vanligt för Q-filer . Grid-filer kan använda .g, .x, .xy eller .xyz, bland andra tillägg. Rutnätsfilen innehåller koordinaterna för lösningsrutnätet, medan lösningsfilen innehåller information som är typisk för en CFD-lösning, flödestäthet, flödesmomentum (en vektor) och flödesenergi. Data kan lagras i antingen binärt eller ASCII-textformat och flyttalsvärden kan vara antingen enkel eller dubbel precision. Det finns också multiblock och ostrukturerade tillägg till formatet, så det är ofta oklart hur en viss uppsättning av nominellt PLOT3D-formatfiler formateras på binär nivå utan att hänvisa till programvaran som skapade dem. Undersökning med en hex-editor kan vara användbar för att bestämma formatvarianten.

Ytterligare filer kan finnas som innehåller olika typer av tilläggsdata.

"Formaterade" FORTRAN (ASCII text) datafiler kommer vanligtvis att använda CR-LF (0x0d 0x0a) avgränsare i slutet av raden, även om radbrytningarna är implementeringsberoende. "Oformaterade" FORTRAN (binära) filer har variablerna utlagda i samma ordning men kommer normalt att sakna avgränsare som radbrytningar. Det binära formatet kommer att vara implementerings- och maskinberoende.

En flerblocks, 3-dimensionell Q-fil börjar med ett enda heltal för antalet block M på sin egen linje. De nästa M raderna innehåller tre heltal för vart och ett av blocken, som ger dimensionerna i , j och k för varje block. M-blocken läses in härnäst. Varje block börjar med en rad som innehåller fyra flyttalsvärden, freestream Mach-numret , freestream-anfallsvinkeln, freestream Reynolds-talet och tiden. Resten av blocket innehåller värdena itererade över i , j , k , m (blockindex), och det yttersta n , som räknas genom 5 sektioner, densiteten, momentumets 3 komponenter och slutligen energin.

En multiblock, 3-dimensionell rutnätsfil börjar med ett enda heltal för antalet block M på sin egen linje. De nästa M raderna innehåller tre heltal för vart och ett av blocken, som ger dimensionerna i , j och k för varje block. M-blocken läses in härnäst. Varje block innehåller ett koordinatvärde itererat över i , j , k , och sedan de tre koordinaterna x , y och z .

Dessutom kan formatet förenklas så att endast ett tvådimensionellt problem analyseras eller parametern iBlank utelämnas. Parametern iBlank anger om cellen är en fysisk eller icke-fysisk cell. Till exempel, om två PLOT3D-rutnät skärs, det ena av ett flygplanskropp och det andra av en flygplansvinge , finns det interna celler som inte bör analyseras. Dessa är iBlank' ed celler och har värdet 0.

Andra strukturerade filformat