Search NASASearch

SEARCH · Search NASA

Results for “code generation”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 127 records · Page 7

Automatic programming of simulation models

The concepts of software engineering were used to improve the simulation modeling environment. Emphasis was placed on the application of an element of rapid prototyping, or automatic programming, to assist the modeler define the problem specification. Then, once the problem specification has been defined, an automatic code generator is used to write the simulation code. The following two domains were selected for evaluating the concepts of software engineering for discrete event simulation: manufacturing domain and a spacecraft countdown network sequence. The specific tasks were to: (1) define the software requirements for a graphical user interface to the Automatic Manufacturing Programming System (AMPS) system; (2) develop a graphical user interface for AMPS; and (3) compare the AMPS graphical interface with the AMPS interactive user interface.

Schroer, Bernard J.

Aerodynamic simulation on massively parallel systems

This paper briefly addresses the computational requirements for the analysis of complete configurations of aircraft and spacecraft currently under design to be used for advanced transportation in commercial applications as well as in space flight. The discussion clearly shows that massively parallel systems are the only alternative which is both cost effective and on the other hand can provide the necessary TeraFlops, needed to satisfy the narrow design margins of modern vehicles. It is assumed that the solution of the governing physical equations, i.e., the Navier-Stokes equations which may be complemented by chemistry and turbulence models, is done on multiblock grids. This technique is situated between the fully structured approach of classical boundary fitted grids and the fully unstructured tetrahedra grids. A fully structured grid best represents the flow physics, while the unstructured grid gives best geometrical flexibility. The multiblock grid employed is structured within a block, but completely unstructured on the block level. While a completely unstructured grid is not straightforward to parallelize, the above mentioned multiblock grid is inherently parallel, in particular for multiple instruction multiple datastream (MIMD) machines. In this paper guidelines are provided for setting up or modifying an existing sequential code so that a direct parallelization on a massively parallel system is possible. Results are presented for three parallel systems, namely the Intel hypercube, the Ncube hypercube, and the FPS 500 system. Some preliminary results for an 8K CM2 machine will also be mentioned. The code run is the two dimensional grid generation module of Grid, which is a general two dimensional and three dimensional grid generation code for complex geometries. A system of nonlinear Poisson equations is solved. This code is also a good testcase for complex fluid dynamics codes, since the same datastructures are used. All systems provided good speedups, but message passing MIMD systems seem to be best suited for large miltiblock applications.

Haeuser, Jochem

Finite difference grid generation by multivariate blending function interpolation

The General Interpolants Method (GIM) code which solves the multidimensional Navier-Stokes equations for arbitrary geometric domains is described. The geometry module in the GIM code generates two and three dimensional grids over specified flow regimes, establishes boundary condition information and computes finite difference analogs for use in the GIM code numerical solution module. The technique can be classified as an algebraic equation approach. The geometry package uses multivariate blending function interpolation of vector-values functions which define the shapes of the edges and surfaces bounding the flow domain. By employing blending functions which conform to the cardinality conditions the flow domain may be mapped onto a unit square (2-D) or unit cube (3-D), thus producing an intrinsic coordinate system for the region of interest. The intrinsic coordinate system facilitates grid spacing control to allow for optimum distribution of nodes in the flow domain.

Anderson, P. G.

New coding technique for computer generated holograms.

A coding technique is developed for recording computer generated holograms on a computer controlled CRT in which each resolution cell contains two beam spots of equal size and equal intensity. This provides a binary hologram in which only the position of the two dots is varied from cell to cell. The amplitude associated with each resolution cell is controlled by selectively diffracting unwanted light into a higher diffraction order. The recording of the holograms is fast and simple.

Haskell, R. E.

Advanced information processing system: Hosting of advanced guidance, navigation and control algorithms on AIPS using ASTER

This program demonstrated the integration of a number of technologies that can increase the availability and reliability of launch vehicles while lowering costs. Availability is increased with an advanced guidance algorithm that adapts trajectories in real-time. Reliability is increased with fault-tolerant computers and communication protocols. Costs are reduced by automatically generating code and documentation. This program was realized through the cooperative efforts of academia, industry, and government. The NASA-LaRC coordinated the effort, while Draper performed the integration. Georgia Institute of Technology supplied a weak Hamiltonian finite element method for optimal control problems. Martin Marietta used MATLAB to apply this method to a launch vehicle (FENOC). Draper supplied the fault-tolerant computing and software automation technology. The fault-tolerant technology includes sequential and parallel fault-tolerant processors (FTP & FTPP) and authentication protocols (AP) for communication. Fault-tolerant technology was incrementally incorporated. Development culminated with a heterogeneous network of workstations and fault-tolerant computers using AP. Draper's software automation system, ASTER, was used to specify a static guidance system based on FENOC, navigation, flight control (GN&C), models, and the interface to a user interface for mission control. ASTER generated Ada code for GN&C and C code for models. An algebraic transform engine (ATE) was developed to automatically translate MATLAB scripts into ASTER.

Brenner, Richard

Loft: An Automated Mesh Generator for Stiffened Shell Aerospace Vehicles

Loft is an automated mesh generation code that is designed for aerospace vehicle structures. From user input, Loft generates meshes for wings, noses, tanks, fuselage sections, thrust structures, and so on. As a mesh is generated, each element is assigned properties to mark the part of the vehicle with which it is associated. This property assignment is an extremely powerful feature that enables detailed analysis tasks, such as load application and structural sizing. This report is presented in two parts. The first part is an overview of the code and its applications. The modeling approach that was used to create the finite element meshes is described. Several applications of the code are demonstrated, including a Next Generation Launch Technology (NGLT) wing-sizing study, a lunar lander stage study, a launch vehicle shroud shape study, and a two-stage-to-orbit (TSTO) orbiter. Part two of the report is the program user manual. The manual includes in-depth tutorials and a complete command reference.

Eldred, Lloyd B.

Flexible Generation of Kalman Filter Code

Domain-specific program synthesis can automatically generate high quality code in complex domains from succinct specifications, but the range of programs which can be generated by a given synthesis system is typically narrow. Obtaining code which falls outside this narrow scope necessitates either 1) extension of the code generator, which is usually very expensive, or 2) manual modification of the generated code, which is often difficult and which must be redone whenever changes are made to the program specification. In this paper, we describe adaptations and extensions of the AUTOFILTER Kalman filter synthesis system which greatly extend the range of programs which can be generated. Users augment the input specification with a specification of code fragments and how those fragments should interleave with or replace parts of the synthesized filter. This allows users to generate a much wider range of programs without their needing to modify the synthesis system or edit generated code. We demonstrate the usefulness of the approach by applying it to the synthesis of a complex state estimator which combines code from several Kalman filters with user-specified code. The work described in this paper allows the complex design decisions necessary for real-world applications to be reflected in the synthesized code. When executed on simulated input data, the generated state estimator was found to produce comparable estimates to those produced by a handcoded estimator

Richardson, Julian

Recent progress in unstructured grid generation

A number of recent developments and improvements in unstructured grid generation are discussed. Emphasis is given to the enhancement of capabilities of unstructured grid generation code based on the advancing front technique for generating triangular and tetrahedral grids. Two new methods have been devised to facilitate the process of grid generation: (1) structured background grids and their application to 3D unstructured grid generation and (2) grid restart capability. New postprocessing tools to manipulate generated grids include grid optimization, local remeshing, and interpolation for unstructured grids. Examples and references are given to show the applications of these developments.

Pirzadeh, Shahyar

TIGER: A user-friendly interactive grid generation system for complicated turbomachinery and axis-symmetric configurations

The issue of time efficiency in grid generation is addressed by developing a user friendly graphical interface for interactive/automatic construction of structured grids around complex turbomachinery/axis-symmetric configurations. The accuracy of geometry modeling and its fidelity is accomplished by adapting the nonuniform rational b-spline (NURBS) representation. A customized interactive grid generation code, TIGER, has been developed to facilitate the grid generation process for complicated internal, external, and internal-external turbomachinery fields simulations. The FORMS Library is utilized to build user-friendly graphical interface. The algorithm allows a user to redistribute grid points interactively on curves/surfaces using NURBS formulation with accurate geometric definition. TIGER's features include multiblock, multiduct/shroud, multiblade row, uneven blade count, and patched/overlapping block interfaces. It has been applied to generate grids for various complicated turbomachinery geometries, as well as rocket and missile configurations.

Shih, Ming H.

MAG3D and its application to internal flowfield analysis

MAG3D (multiblock adaptive grid, 3D) is a 3D solution-adaptive grid generation code which redistributes grid points to improve the accuracy of a flow solution without increasing the number of grid points. The code is applicable to structured grids with a multiblock topology. It is independent of the original grid generator and the flow solver. The code uses the coordinates of an initial grid and the flow solution interpolated onto the new grid. MAG3D uses a numerical mapping and potential theory to modify the grid distribution based on properties of the flow solution on the initial grid. The adaptation technique is discussed, and the capability of MAG3D is demonstrated with several internal flow examples. Advantages of using solution-adaptive grids are also shown by comparing flow solutions on adaptive grids with those on initial grids.

Lee, K. D.

Error control techniques for satellite and space communications

Brief summaries of research in the following areas are presented: (1) construction of optimum geometrically uniform trellis codes; (2) a statistical approach to constructing convolutional code generators; and (3) calculating the exact performance of a convolutional code.

Costello, Daniel J., Jr.

Computation of nozzle flow fields using the PARC2D Navier-Stokes code

Supersonic nozzles which operate at low Reynolds numbers and have large expansion ratios have very thick boundary layers at their exit. This leads to a very strong viscous/inviscid interaction upon the flow within the nozzle and the traditional nozzle design techniques which correct the inviscid core with a boundary layer displacement do not accurately predict the nozzle exit conditions. A full Navier-Stokes code (PARC2D) was used to compute the nozzle flow field. Grids were generated using the interactive grid generator code TBGG. All computations were made on the NASA MSFC CRAY X-MP computer. Comparison was made between the computations and in-house wall pressure measurements for CO2 flow through a conical nozzle having an area ratio of 40. Satisfactory agreement existed between the computations and measurements for a stagnation pressure of 29.4 psia and stagnation temperature of 1060 R. However, agreement did not exist at a stagnation pressure of 7.4 psia. Several reasons for the lack of agreement are possible. The computational code assumed a constant gas gamma whereas gamma for CO2 varied from 1.22 in the plenum chamber to 1.38 at the nozzle exit. Finally, it is possible that condensation occurred during the expansion at the lower stagnation pressure.

Collins, Frank G.

Viscous transonic flow computation over Space Shuttle configuration

A thin-layer Navier-Stokes code capable of predicting steady-state viscous flows is applied to the transonic flow over a Space Shuttle configuration. The code is written in the generalized coordinate system, and the grid-generation code of Fujii (1983) is used for the discretization of the flow field. The flow-field computation is done using the CRAY 1S computer at NASA Ames. The computed result is physically reasonable, even though no experimental data is available for the comparison purpose.

Fujii, K.

Low thrust viscous nozzle flow fields prediction

An existing Navier-Stokes code (PARC2D) was used to compute the nozzle flow field. Grids were generated by the interactive grid generator codes TBGG and GENIE. All computations were made on the NASA/MSFC CRAY X-MP computer. Comparisons were made between the computations and MSFC in-house wall pressure measurements for CO2 flow through a conical nozzle having an area ratio of 40. Satisfactory agreements exist between the computations and measurements for different stagnation pressures of 29.4, 14.7, and 7.4 psia, at stagnation temperature of 1060 R. However, agreements did not match precisely near the nozzle exit. Several reasons for the lack of agreement are possible. The computational code assumes a constant gas gamma, whereas the gamma i.e. the specific heat ratio for CO2 varied from 1.22 in the plenum chamber to 1.38 at the nozzle exit. The computations also assumes adiabatic and no-slip walls. Both assumptions may not be correct. Finally, it is possible that condensation occurs during the nozzle expansion at the low stagnation pressure. The next phase of the work will incorporate variable gamma and slip wall boundary conditions in the computational code and develop a more accurate computer code.

Liaw, Goang-Shin

Loft: An Automated Mesh Generator for Stiffened-Shell Aerospace Vehicles

Loft is an automated mesh generation code designed for aerospace vehicle structures. Based on user input, it can generate meshes for wings, noses, tanks, fuselage sections, thrust structures, etc. As the mesh is generated, each element is assigned properties that mark what part of the vehicle it is associated with. This property assignment is an extremely powerful feature making possible detailed analysis tasks such as load application and sizing. Loft can save its meshes in NASTRAN bulk data deck, EDS’ I-DEAS Universal File format, Abaqus input file format, VRML 2.0 (Virtual Reality Modeling Language) and STL (Stereo Lithography) files. The property assignment scheme was designed to make sizing in Collier Research’s HyperSizer easy. Support for other mesh storage formats can be added as needed.

Structural modeling

Computational fluid dynamics analysis of space shuttle main propulsion feed line 17-inch disconnect valves

A steady incompressible three-dimensional (3-D) viscous flow analysis was conducted for the Space Shuttle Main Propulsion External Tank (ET)/Orbiter (ORB) propellant feed line quick separable 17-inch disconnect flapper valves for liquid oxygen (LO2) and liquid hydrogen (LH2). The main objectives of the analysis were to predict and correlate the hydrodynamic stability of the flappers and pressure drop with available water test data. Computational Fluid Dynamics (CFD) computer codes were procured at no cost from the public domain, and were modified and extended to carry out the disconnect flow analysis. The grid generator codes SVTGD3D and INGRID were obtained. NASA Ames Research Center supplied the flow solution code INS3D, and the color graphics code PLOT3D. A driver routine was developed to automate the grid generation process. Components such as pipes, elbows, and flappers can be generated with simple commands, and flapper angles can be varied easily. The flow solver INS3D code was modified to treat interior flappers, and other interfacing routines were developed, which include a turbulence model, a force/moment routine, a time-step routine, and initial and boundary conditions. In particular, an under-relaxation scheme was implemented to enhance the solution stability. Major physical assumptions and simplifications made in the analysis include the neglect of linkages, slightly reduced flapper diameter, and smooth solid surfaces. A grid size of 54 x 21 x 25 was employed for both the LO2 and LH2 units. Mixing length theory applied to turbulent shear flow in pipes formed the basis for the simple turbulence model. Results of the analysis are presented for LO2 and LH2 disconnects.

Kandula, Max

Performance Bounds on Two Concatenated, Interleaved Codes

A method has been developed of computing bounds on the performance of a code comprised of two linear binary codes generated by two encoders serially concatenated through an interleaver. Originally intended for use in evaluating the performances of some codes proposed for deep-space communication links, the method can also be used in evaluating the performances of short-block-length codes in other applications. The method applies, more specifically, to a communication system in which following processes take place: At the transmitter, the original binary information that one seeks to transmit is first processed by an encoder into an outer code (Co) characterized by, among other things, a pair of numbers (n,k), where n (n > k)is the total number of code bits associated with k information bits and n k bits are used for correcting or at least detecting errors. Next, the outer code is processed through either a block or a convolutional interleaver. In the block interleaver, the words of the outer code are processed in blocks of I words. In the convolutional interleaver, the interleaving operation is performed bit-wise in N rows with delays that are multiples of B bits. The output of the interleaver is processed through a second encoder to obtain an inner code (Ci) characterized by (ni,ki). The output of the inner code is transmitted over an additive-white-Gaussian- noise channel characterized by a symbol signal-to-noise ratio (SNR) Es/No and a bit SNR Eb/No. At the receiver, an inner decoder generates estimates of bits. Depending on whether a block or a convolutional interleaver is used at the transmitter, the sequence of estimated bits is processed through a block or a convolutional de-interleaver, respectively, to obtain estimates of code words. Then the estimates of the code words are processed through an outer decoder, which generates estimates of the original information along with flags indicating which estimates are presumed to be correct and which are found to be erroneous. From the perspective of the present method, the topic of major interest is the performance of the communication system as quantified in the word-error rate and the undetected-error rate as functions of the SNRs and the total latency of the interleaver and inner code. The method is embodied in equations that describe bounds on these functions. Throughout the derivation of the equations that embody the method, it is assumed that the decoder for the outer code corrects any error pattern of t or fewer errors, detects any error pattern of s or fewer errors, may detect some error patterns of more than s errors, and does not correct any patterns of more than t errors. Because a mathematically complete description of the equations that embody the method and of the derivation of the equations would greatly exceed the space available for this article, it must suffice to summarize by reporting that the derivation includes consideration of several complex issues, including relationships between latency and memory requirements for block and convolutional codes, burst error statistics, enumeration of error-event intersections, and effects of different interleaving depths. In a demonstration, the method was used to calculate bounds on the performances of several communication systems, each based on serial concatenation of a (63,56) expurgated Hamming code with a convolutional inner code through a convolutional interleaver. The bounds calculated by use of the method were compared with results of numerical simulations of performances of the systems to show the regions where the bounds are tight (see figure).

Moision, Bruce