PLOT3D file format

Last updated

In computational fluid dynamics, the PLOT3D file format is a standard file format used for storing grid and results data. PLOT3D was created by NASA Ames Research Center in 1982 by Pieter Buning [1] and remains an often used file format. It can only store a structured grid. The structured grid allows random access, that is by knowing the block number, i location, j location, and k location, any grid point value or result value may be extracted. Additionally, given the location of any value, the block number, i location, j location, and k location may be determined. This makes it simple to iterate through a series of volumetric elements and calculate all required properties for the purpose of a CFD analysis.

The most basic format includes two different files, a grid file (G-file) and a solution file (Q-file). The filename extensions used vary, though .q is common for Q-files. Grid files may use .g, .x, .xy, or .xyz, among other extensions. The grid file contains the coordinates of the solution grid, while the solution file contains information typical of a CFD solution, flow density, flow momentum (a vector), and flow energy. [2] Data may be stored in either binary or ASCII text format and floating point values may be either single or double precision. There are also multiblock and unstructured extensions to the format, so it is often unclear how a particular set of nominally PLOT3D-format files is formatted on the binary level without referring to the software that created them. [3] Examination with a hex editor may be useful in determining the format variant.

Additional files may be present containing different kinds of ancillary data.

"Formatted" FORTRAN (ASCII text) data files will typically use CR-LF (0x0d 0x0a) delimiters at the end of the line, though the line breaks are implementation dependent. "Unformatted" FORTRAN (binary) files have the variables laid out in the same order but will normally lack delimiters such as line breaks. The binary format will be implementation and machine dependent.

A multiblock, 3 dimensional Q file begins with a single integer for the number of blocks M on its own line. The next M lines contain three integers for each of the blocks, which give the i, j, and k dimension sizes for each block. The M blocks are read in next. Each block begins with a line containing four floating-point values, the freestream Mach number, the freestream angle of attack, the freestream Reynolds number, and the time. The rest of the block contains the values iterated over i, j, k, m (block index), and the outermost n, which counts through 5 sections, the density, the 3 components of the momentum, and finally the energy. [4]

A multiblock, 3 dimensional grid file begins with a single integer for the number of blocks M on its own line. The next M lines contain three integers for each of the blocks, which give the i, j, and k dimension sizes for each block. The M blocks are read in next. Each block contains a coordinate value iterated over i, j, k, and then the three coordinates, x, y, and z. [5]

Additionally, the format may be simplified such that only a two-dimensional problem is analyzed or the iBlank parameter is omitted. The iBlank parameter indicates whether or not the cell is a physical or non-physical cell. For example, if two PLOT3D grids are intersected, one of an aircraft fuselage, and the other of an aircraft wing, there are internal cells that should not be analyzed. These are iBlank'ed cells and have a value of 0.

Other structured file formats

Related Research Articles

In computer science, an array is a data structure consisting of a collection of elements, of same memory size, each identified by at least one array index or key. An array is stored such that the position of each element can be computed from its index tuple by a mathematical formula. The simplest type of data structure is a linear array, also called one-dimensional array.

<span class="mw-page-title-main">Binary search algorithm</span> Search algorithm finding the position of a target value within a sorted array

In computer science, binary search, also known as half-interval search, logarithmic search, or binary chop, is a search algorithm that finds the position of a target value within a sorted array. Binary search compares the target value to the middle element of the array. If they are not equal, the half in which the target cannot lie is eliminated and the search continues on the remaining half, again taking the middle element to compare to the target value, and repeating this until the target value is found. If the search ends with the remaining half being empty, the target is not in the array.

<span class="mw-page-title-main">Raster graphics</span> Matrix-based data structure

In computer graphics and digital photography, a raster graphic represents a two-dimensional picture as a rectangular matrix or grid of pixels, viewable via a computer display, paper, or other display medium. A raster is technically characterized by the width and height of the image in pixels and by the number of bits per pixel. Raster images are stored in image files with varying dissemination, production, generation, and acquisition formats.

In computer science, control flow is the order in which individual statements, instructions or function calls of an imperative program are executed or evaluated. The emphasis on explicit control flow distinguishes an imperative programming language from a declarative programming language.

Flexible Image Transport System (FITS) is an open standard defining a digital file format useful for storage, transmission and processing of data: formatted as multi-dimensional arrays, or tables. FITS is the most commonly used digital file format in astronomy. The FITS standard was designed specifically for astronomical data, and includes provisions such as describing photometric and spatial calibration information, together with image origin metadata.

<span class="mw-page-title-main">Computational fluid dynamics</span> Analysis and solving of problems that involve fluid flows

Computational fluid dynamics (CFD) is a branch of fluid mechanics that uses numerical analysis and data structures to analyze and solve problems that involve fluid flows. Computers are used to perform the calculations required to simulate the free-stream flow of the fluid, and the interaction of the fluid with surfaces defined by boundary conditions. With high-speed supercomputers, better solutions can be achieved, and are often required to solve the largest and most complex problems. Ongoing research yields software that improves the accuracy and speed of complex simulation scenarios such as transonic or turbulent flows. Initial validation of such software is typically performed using experimental apparatus such as wind tunnels. In addition, previously performed analytical or empirical analysis of a particular problem can be used for comparison. A final validation is often performed using full-scale testing, such as flight tests.

<span class="mw-page-title-main">Sparse matrix</span> Matrix in which most of the elements are zero

In numerical analysis and scientific computing, a sparse matrix or sparse array is a matrix in which most of the elements are zero. There is no strict definition regarding the proportion of zero-value elements for a matrix to qualify as sparse but a common criterion is that the number of non-zero elements is roughly equal to the number of rows or columns. By contrast, if most of the elements are non-zero, the matrix is considered dense. The number of zero-valued elements divided by the total number of elements is sometimes referred to as the sparsity of the matrix.

<span class="mw-page-title-main">Power of two</span> Two raised to an integer power

A power of two is a number of the form 2n where n is an integer, that is, the result of exponentiation with number two as the base and integer n as the exponent.

In computing, a line number is a method used to specify a particular sequence of characters in a text file. The most common method of assigning numbers to lines is to assign every line a unique number, starting at 1 for the first line, and incrementing by 1 for each successive line.

<span class="mw-page-title-main">Z-order curve</span> Mapping function that preserves data point locality

In mathematical analysis and computer science, functions which are Z-order, Lebesgue curve, Morton space-filling curve, Morton order or Morton code map multidimensional data to one dimension while preserving locality of the data points. It is named in France after Henri Lebesgue, who studied it in 1904, and named in the United States after Guy Macdonald Morton, who first applied the order to file sequencing in 1966. The z-value of a point in multidimensions is simply calculated by interleaving the binary representations of its coordinate values. Once the data are sorted into this ordering, any one-dimensional data structure can be used, such as simple one dimensional arrays, binary search trees, B-trees, skip lists or hash tables. The resulting ordering can equivalently be described as the order one would get from a depth-first traversal of a quadtree or octree.

<span class="mw-page-title-main">Mesh generation</span> Subdivision of space into cells

Mesh generation is the practice of creating a mesh, a subdivision of a continuous geometric space into discrete geometric and topological cells. Often these cells form a simplicial complex. Usually the cells partition the geometric input domain. Mesh cells are used as discrete local approximations of the larger domain. Meshes are created by computer algorithms, often with human guidance through a GUI, depending on the complexity of the domain and the type of mesh desired. A typical goal is to create a mesh that accurately captures the input domain geometry, with high-quality (well-shaped) cells, and without so many cells as to make subsequent calculations intractable. The mesh should also be fine in areas that are important for the subsequent calculations.

This is an overview of Fortran 95 language features. Included are the additional features of TR-15581:Enhanced Data Type Facilities, which have been universally implemented. Old features that have been superseded by new ones are not described – few of those historic features are used in modern programs although most have been retained in the language to maintain backward compatibility. The current standard is Fortran 2023; many of its new features are still being implemented in compilers. The additional features of Fortran 2003, Fortran 2008, Fortran 2018 and Fortran 2023 are described by Metcalf, Reid, Cohen and Bader.

In computer science, fractional cascading is a technique to speed up a sequence of binary searches for the same value in a sequence of related data structures. The first binary search in the sequence takes a logarithmic amount of time, as is standard for binary searches, but successive searches in the sequence are faster. The original version of fractional cascading, introduced in two papers by Chazelle and Guibas in 1986, combined the idea of cascading, originating in range searching data structures of Lueker (1978) and Willard (1978), with the idea of fractional sampling, which originated in Chazelle (1983). Later authors introduced more complex forms of fractional cascading that allow the data structure to be maintained as the data changes by a sequence of discrete insertion and deletion events.

An Esri grid is a raster GIS file format developed by Esri, which has two formats:

  1. A proprietary binary format, also known as an ARC/INFO GRID, ARC GRID and many other variations
  2. A non-proprietary ASCII format, also known as an ARC/INFO ASCII GRID

CGNS stands for CFD General Notation System. It is a general, portable, and extensible standard for the storage and retrieval of CFD analysis data. It consists of a collection of conventions, and free and open software implementing those conventions. It is self-descriptive, cross-platform also termed platform or machine independent, documented, and administered by an international steering committee. It is also an American Institute of Aeronautics and Astronautics (AIAA) recommended practice. The CGNS project originated in 1994 as a joint effort between Boeing and NASA, and has since grown to include many other contributing organizations worldwide. In 1999, control of CGNS was completely transferred to a public forum known as the CGNS Steering CommitteeArchived 2007-06-24 at the Wayback Machine. This Committee is made up of international representatives from government and private industry.

NetCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. The project homepage is hosted by the Unidata program at the University Corporation for Atmospheric Research (UCAR). They are also the chief source of netCDF software, standards development, updates, etc. The format is an open standard. NetCDF Classic and 64-bit Offset Format are an international standard of the Open Geospatial Consortium.

In computer science, the Bx tree is a query that is used to update efficient B+ tree-based index structures for moving objects.

OptimJ is an extension for Java with language support for writing optimization models and abstractions for bulk data processing. The extensions and the proprietary product implementing the extensions were developed by Ateji which went out of business in September 2011. OptimJ aims at providing a clear and concise algebraic notation for optimization modeling, removing compatibility barriers between optimization modeling and application programming tools, and bringing software engineering techniques such as object-orientation and modern IDE support to optimization experts.

In applied mathematics, Graver bases enable iterative solutions of linear and various nonlinear integer programming problems in polynomial time. They were introduced by Jack E. Graver. Their connection to the theory of Gröbner bases was discussed by Bernd Sturmfels. The algorithmic theory of Graver bases and its application to integer programming is described by Shmuel Onn.

References

  1. PLOT3D User's Manual, NASA , retrieved 30 April 2024
  2. Data Analysis and Assessment Center. "PLOT3D". DoD HPC Modernization Program. Archived from the original on 27 May 2015. Retrieved 26 May 2015.
  3. "How to read Plot3D data" (PDF). Retrieved 26 May 2015.
  4. "Plot3d File Format for Grid and Solution Files". NPARC Alliance CFD Verification and Validation Website.
  5. "Plot3d File Format for Grid and Solution Files". NPARC Alliance CFD Verification and Validation Website.