Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “source code expressions”

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 19 records

Computation of supersonic jet mixing noise for an axisymmetric CD nozzle using k-epsilon turbulence model

The turbulent mixing noise of a supersonic jet is calculated for a round convergent-divergent nozzle at the design pressure ratio. Aerodynamic computations are performed using the PARC code with a k-epsilon turbulence model. Lighthill's acoustic analogy combined with Ribner's assumption is adopted. The acoustics solution is based upon the methodology followed by GE in the MGB code. The source correlation function is expressed as a linear combination of second-order tensors. Assuming separable second-order correlations and incorporating Batchelor's isotropic turbulence model, the source term was calculated from the kinetic energy of turbulence. A Gaussian distribution for the time-delay of correlation was introduced. The computational fluid dynamics (CFD) solution was used to obtain the source strength as well as the characteristic time-delay of correlation. The effect of sound/flow interaction was incorporated using the high frequency asymptotic solution to Lilley's equation for axisymmetric geometries. Acoustic results include sound pressure level directivity and spectra at different polar angles. The aerodynamic and acoustic results demonstrate favorable agreement with experimental data.

Khavaran, Abbas↗

Computation of supersonic jet mixing noise for an axisymmetric CD nozzle using k-epsilon turbulence model

The turbulent mixing noise of a supersonic jet is calculated for a round convergent-divergent nozzle at the design pressure ratio. Aerodynamic computations are performed using the PARC code with a k-epsilon turbulence model. Lighthill's acoustic analogy combined with Ribner's assumption is adopted. The acoustics solution is based upon the methodology followed by GE in the MGB code. The source correlation function is expressed as a linear combination of second-order tensors. Assuming separable second-order correlations and incorporating Batchelor's isotropic turbulence model, the source term was calculated from the kinetic energy of turbulence. A Gaussian distribution for the time-delay of correlation was introduced. The computational fluid dynamics (CFD) solution was used to obtain the source strength as well as the characteristic time-delay of correlation. The effect of sound/flow interaction was incorporated using the high frequency asymptotic solution to Lilley's equation for axisymmetric geometries. Acoustic results include sound pressure level directivity and spectra at different polar angles. The aerodynamic and acoustic results demonstrate favorable agreement with experimental data.

Khavaran, A.↗

Rapid Airplane Parametric Input Design (RAPID)

RAPID is a methodology and software system to define a class of airplane configurations and directly evaluate surface grids, volume grids, and grid sensitivity on and about the configurations. A distinguishing characteristic which separates RAPID from other airplane surface modellers is that the output grids and grid sensitivity are directly applicable in CFD analysis. A small set of design parameters and grid control parameters govern the process which is incorporated into interactive software for 'real time' visual analysis and into batch software for the application of optimization technology. The computed surface grids and volume grids are suitable for a wide range of Computational Fluid Dynamics (CFD) simulation. The general airplane configuration has wing, fuselage, horizontal tail, and vertical tail components. The double-delta wing and tail components are manifested by solving a fourth order partial differential equation (PDE) subject to Dirichlet and Neumann boundary conditions. The design parameters are incorporated into the boundary conditions and therefore govern the shapes of the surfaces. The PDE solution yields a smooth transition between boundaries. Surface grids suitable for CFD calculation are created by establishing an H-type topology about the configuration and incorporating grid spacing functions in the PDE equation for the lifting components and the fuselage definition equations. User specified grid parameters govern the location and degree of grid concentration. A two-block volume grid about a configuration is calculated using the Control Point Form (CPF) technique. The interactive software, which runs on Silicon Graphics IRIS workstations, allows design parameters to be continuously varied and the resulting surface grid to be observed in real time. The batch software computes both the surface and volume grids and also computes the sensitivity of the output grid with respect to the input design parameters by applying the precompiler tool ADIFOR to the grid generation program. The output of ADIFOR is a new source code containing the old code plus expressions for derivatives of specified dependent variables (grid coordinates) with respect to specified independent variables (design parameters). The RAPID methodology and software provide a means of rapidly defining numerical prototypes, grids, and grid sensitivity of a class of airplane configurations. This technology and software is highly useful for CFD research for preliminary design and optimization processes.

Smith, Robert E.↗

Entropy-Based Bounds On Redundancies Of Huffman Codes

Report presents extension of theory of redundancy of binary prefix code of Huffman type which includes derivation of variety of bounds expressed in terms of entropy of source and size of alphabet. Recent developments yielded bounds on redundancy of Huffman code in terms of probabilities of various components in source alphabet. In practice, redundancies of optimal prefix codes often closer to 0 than to 1.

Smyth, Padhraic J.↗

Proof-Carrying Code with Correct Compilers

In the late 1990s, proof-carrying code was able to produce machine-checkable safety proofs for machine-language programs even though (1) it was impractical to prove correctness properties of source programs and (2) it was impractical to prove correctness of compilers. But now it is practical to prove some correctness properties of source programs, and it is practical to prove correctness of optimizing compilers. We can produce more expressive proof-carrying code, that can guarantee correctness properties for machine code and not just safety. We will construct program logics for source languages, prove them sound w.r.t. the operational semantics of the input language for a proved-correct compiler, and then use these logics as a basis for proving the soundness of static analyses.

Appel, Andrew W.↗

AIDDE the Ames Interactive Dynamic Display Editor

This paper describes the design and development of the Ames Interactive Dynamic Display Editor language (AIDDE). AIDDE and its associated tools are a software system that facilitates the interactive creation and use of real-time displays. For the present purposes, real-time displays are pictures on a CRT that change over time to reflect the state of a system. A graphics tree describes a display. Display dynamics are specified by attaching expressions to the tree. Offline, AIDDE is used to draw displays, define display dynamics, and generate host computer source code and a representation of the tree convenient for use in a graphics device. At run time, the compiled host code passes the results of the expressions to a graphics device to modify the tree. The graphics processor repeatedly traverses the tree to draw a changing display on the CRT. Several real-time displays have been implemented using AIDDE with good results.

Globus, A.↗

Computerized symbolic manipulation in nonlinear finite element analysis

The potential of using computerized symbolic manipulation in the development of nonlinear finite elements is discussed. Three tasks which can be efficiently performed using computerized symbolic manipulation are identified: (1) generation of algebraic expressions for the stiffness coefficients of nonlinear finite elements, (2) generation of FORTRAN source code for numerical evaluation of stiffness coefficients, and (3) checking the correctness of the FORTRAN statements for the arrays of coefficients. The symbolic and algebraic manipulation system MACSYMA is used in the present study. Two sample MACSYMA programs are presented for the development of the nonlinear stiffness coefficients of two-dimensional, shear-flexible, doubly-curved deep shell elements. The first program is for displacement models and the second program is for mixed models with discontinuous stress-resultant fields at interelement boundaries.

Noor, A. K.↗

Model for Simulating a Spiral Software-Development Process

A discrete-event simulation model, and a computer program that implements the model, have been developed as means of analyzing a spiral software-development process. This model can be tailored to specific development environments for use by software project managers in making quantitative cases for deciding among different software-development processes, courses of action, and cost estimates. A spiral process can be contrasted with a waterfall process, which is a traditional process that consists of a sequence of activities that include analysis of requirements, design, coding, testing, and support. A spiral process is an iterative process that can be regarded as a repeating modified waterfall process. Each iteration includes assessment of risk, analysis of requirements, design, coding, testing, delivery, and evaluation. A key difference between a spiral and a waterfall process is that a spiral process can accommodate changes in requirements at each iteration, whereas in a waterfall process, requirements are considered to be fixed from the beginning and, therefore, a waterfall process is not flexible enough for some projects, especially those in which requirements are not known at the beginning or may change during development. For a given project, a spiral process may cost more and take more time than does a waterfall process, but may better satisfy a customer's expectations and needs. Models for simulating various waterfall processes have been developed previously, but until now, there have been no models for simulating spiral processes. The present spiral-process-simulating model and the software that implements it were developed by extending a discrete-event simulation process model of the IEEE 12207 Software Development Process, which was built using commercially available software known as the Process Analysis Tradeoff Tool (PATT). Typical inputs to PATT models include industry-average values of product size (expressed as number of lines of code), productivity (number of lines of code per hour), and number of defects per source line of code. The user provides the number of resources, the overall percent of effort that should be allocated to each process step, and the number of desired staff members for each step. The output of PATT includes the size of the product, a measure of effort, a measure of rework effort, the duration of the entire process, and the numbers of injected, detected, and corrected defects as well as a number of other interesting features. In the development of the present model, steps were added to the IEEE 12207 waterfall process, and this model and its implementing software were made to run repeatedly through the sequence of steps, each repetition representing an iteration in a spiral process. Because the IEEE 12207 model is founded on a waterfall paradigm, it enables direct comparison of spiral and waterfall processes. The model can be used throughout a software-development project to analyze the project as more information becomes available. For instance, data from early iterations can be used as inputs to the model, and the model can be used to estimate the time and cost of carrying the project to completion.

Mizell, Carolyn↗

Radiative coupled nonequilibrium flow fields associated with aeroassisted orbital transfer

Development of an algorithm which will allow nonequilibrium flow field codes to be coupled to radiative transfer codes (currently limited to equilibrium applications) was initiated. The algorithm consists of an equation for the prediction of electronic state population fractions (electronic state temperature) and equations for the computation of spectral absorption coefficients and source functions. These expressions represent a thorough treatment in the context of the bandless model which in the past has proven adequate for equilibrium radiative transfer predictions. Perhaps the approach is more than adequate as the current algorithm requires four temperatures for each transition. Clearly, a more sophisticated model can be developed; however, it would require more information, such as rotational temperatures of the electronic levels.

Horton, T. E.↗

AutoBayes Program Synthesis System System Internals

This lecture combines the theoretical background of schema based program synthesis with the hands-on study of a powerful, open-source program synthesis system (Auto-Bayes). Schema-based program synthesis is a popular approach toward program synthesis. The lecture will provide an introduction into this topic and discuss how this technology can be used to generate customized algorithms. The synthesis of advanced numerical algorithms requires the availability of a powerful symbolic (algebra) system. Its task is to symbolically solve equations, simplify expressions, or to symbolically calculate derivatives (among others) such that the synthesized algorithms become as efficient as possible. We will discuss the use and importance of the symbolic system for synthesis. Any synthesis system is a large and complex piece of code. In this lecture, we will study Autobayes in detail. AutoBayes has been developed at NASA Ames and has been made open source. It takes a compact statistical specification and generates a customized data analysis algorithm (in C/C++) from it. AutoBayes is written in SWI Prolog and many concepts from rewriting, logic, functional, and symbolic programming. We will discuss the system architecture, the schema libary and the extensive support infra-structure. Practical hands-on experiments and exercises will enable the student to get insight into a realistic program synthesis system and provides knowledge to use, modify, and extend Autobayes.

Statistical Algorithms↗

Discrete ordinates solutions of nongray radiative transfer with diffusely reflecting walls

Nongray gas radiation in a plane parallel slab bounded by gray, diffusely reflecting walls is studied using the discrete ordinates method. The spectral equation of transfer is averaged over a narrow wavenumber interval preserving the spectral correlation effect. The governing equations are derived by considering the history of multiple reflections between two reflecting wails. A closure approximation is applied so that only a finite number of reflections have to be explicitly included. The closure solutions express the physics of the problem to a very high degree and show relatively little error. Numerical solutions are obtained by applying a statistical narrow-band model for gas properties and a discrete ordinates code. The net radiative wail heat fluxes and the radiative source distributions are obtained for different temperature profiles. A zeroth-degree formulation, where no wall reflection is handled explicitly, is sufficient to predict the radiative transfer accurately for most cases considered, when compared with increasingly accurate solutions based on explicitly tracing a larger number of wail reflections without any closure approximation applied.

Menart, J. A.↗

Reuse: A knowledge-based approach

This paper describes our research in automating the reuse process through the use of application domain models. Application domain models are explicit formal representations of the application knowledge necessary to understand, specify, and generate application programs. Furthermore, they provide a unified repository for the operational structure, rules, policies, and constraints of a specific application area. In our approach, domain models are expressed in terms of a transaction-based meta-modeling language. This paper has described in detail the creation and maintenance of hierarchical structures. These structures are created through a process that includes reverse engineering of data models with supplementary enhancement from application experts. Source code is also reverse engineered but is not a major source of domain model instantiation at this time. In the second phase of the software synthesis process, program specifications are interactively synthesized from an instantiated domain model. These specifications are currently integrated into a manual programming process but will eventually be used to derive executable code with mechanically assisted transformations. This research is performed within the context of programming-in-the-large types of systems. Although our goals are ambitious, we are implementing the synthesis system in an incremental manner through which we can realize tangible results. The client/server architecture is capable of supporting 16 simultaneous X/Motif users and tens of thousands of attributes and classes. Domain models have been partially synthesized from five different application areas. As additional domain models are synthesized and additional knowledge is gathered, we will inevitably add to and modify our representation. However, our current experience indicates that it will scale and expand to meet our modeling needs.

Iscoe, Neil↗

The Sensitivity of Coded Mask Telescopes

Simple formulae are often used to estimate the sensitivity of coded mask X-ray or gamma-ray telescopes, but t,hese are strictly only applicable if a number of basic assumptions are met. Complications arise, for example, if a grid structure is used to support the mask elements, if the detector spatial resolution is not good enough to completely resolve all the detail in the shadow of the mask or if any of a number of other simplifying conditions are not fulfilled. We derive more general expressions for the Poisson-noise-limited sensitivity of astronomical telescopes using the coded mask technique, noting explicitly in what circumstances they are applicable. The emphasis is on using nomenclature and techniques that result in simple and revealing results. Where no convenient expression is available a procedure is given which allows the calculation of the sensitivity. We consider certain aspects of the optimisation of the design of a coded mask telescope and show that when the detector spatial resolution and the mask to detector separation are fixed, the best source location accuracy is obtained when the mask elements are equal in size to the detector pixels.

Skinner, Gerald K.↗

A study of the optimization method used in the NAVY/NASA gas turbine engine computer code

Sources of numerical noise affecting the convergence properties of the Powell's Principal Axis Method of Optimization in the NAVY/NASA gas turbine engine computer code were investigated. The principal noise source discovered resulted from loose input tolerances used in terminating iterations performed in subroutine CALCFX to satisfy specified control functions. A minor source of noise was found to be introduced by an insufficient number of digits in stored coefficients used by subroutine THERM in polynomial expressions of thermodynamic properties. Tabular results of several computer runs are presented to show the effects on program performance of selective corrective actions taken to reduce noise.

Horsewood, J. L.↗

Compiling global name-space parallel loops for distributed execution

Distributed memory machines do not provide hardware support for a global address space. Thus programmers are forced to partition the data across the memories of the architecture and use explicit message passing to communicate data between processors. The compiler support required to allow programmers to express their algorithms using a global name-space is examined. A general method is presented for analysis of a high level source program and its translation into a set of independently executing tasks communicating via messages. If the compiler has enough information, this translation can be carried out at compile time. Otherwise, run-time code is generated to implement the required data movement. The analysis required in both situations is described and the performance of the generated code on the Intel iPSC/2 is presented.

Koelbel, Charles↗

Compiling global name-space programs for distributed execution

Distributed memory machines do not provide hardware support for a global address space. Thus programmers are forced to partition the data across the memories of the architecture and use explicit message passing to communicate data between processors. The compiler support required to allow programmers to express their algorithms using a global name-space is examined. A general method is presented for analysis of a high level source program and along with its translation to a set of independently executing tasks communicating via messages. If the compiler has enough information, this translation can be carried out at compile-time. Otherwise run-time code is generated to implement the required data movement. The analysis required in both situations is described and the performance of the generated code on the Intel iPSC/2 is presented.

Koelbel, Charles↗

Regenerable biocide delivery unit, volume 2

Source code for programs dealing with the following topics are presented: (1) life cycle test stand-parametric test stand control (in BASIC); (2) simultaneous aqueous iodine equilibria-true equilibrium (in C); (3) simultaneous aqueous iodine equilibria-pseudo-equilibrium (in C); (4) pseudo-(fast)-equilibrium with iodide initially present (in C); (5) solution of simultaneous iodine rate expressions (Mathematica); (6) 2nd order kinetics of I2-formic acid in humidity condensate (Mathematica); (7) prototype RMCV onboard microcontroller (CAMBASIC); (8) prototype RAM data dump to PC (in BASIC); and (9) prototype real time data transfer to PC (in BASIC).

Atwater, James E.↗

MSLICE Sequencing

MSLICE Sequencing is a graphical tool for writing sequences and integrating them into RML files, as well as for producing SCMF files for uplink. When operated in a testbed environment, it also supports uplinking these SCMF files to the testbed via Chill. This software features a free-form textural sequence editor featuring syntax coloring, automatic content assistance (including command and argument completion proposals), complete with types, value ranges, unites, and descriptions from the command dictionary that appear as they are typed. The sequence editor also has a "field mode" that allows tabbing between arguments and displays type/range/units/description for each argument as it is edited. Color-coded error and warning annotations on problematic tokens are included, as well as indications of problems that are not visible in the current scroll range. "Quick Fix" suggestions are made for resolving problems, and all the features afforded by modern source editors are also included such as copy/cut/paste, undo/redo, and a sophisticated find-and-replace system optionally using regular expressions. The software offers a full XML editor for RML files, which features syntax coloring, content assistance and problem annotations as above. There is a form-based, "detail view" that allows structured editing of command arguments and sequence parameters when preferred. The "project view" shows the user s "workspace" as a tree of "resources" (projects, folders, and files) that can subsequently be opened in editors by double-clicking. Files can be added, deleted, dragged-dropped/copied-pasted between folders or projects, and these operations are undoable and redoable. A "problems view" contains a tabular list of all problems in the current workspace. Double-clicking on any row in the table opens an editor for the appropriate sequence, scrolling to the specific line with the problem, and highlighting the problematic characters. From there, one can invoke "quick fix" as described above to resolve the issue. Once resolved, saving the file causes the problem to be removed from the problem view.

Crockett, Thomas M.↗