Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “differentiable programming”

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 109 records · Page 6

Developing CORBA-Based Distributed Scientific Applications from Legacy Fortran Programs

Recent progress in distributed object technology has enabled software applications to be developed and deployed easily such that objects or components can work together across the boundaries of the network, different operating systems, and different languages. A distributed object is not necessarily a complete application but rather a reusable, self-contained piece of software that co-operates with other objects in a plug-and-play fashion via a well-defined interface. The Common Object Request Broker Architecture (CORBA), a middleware standard defined by the Object Management Group (OMG), uses the Interface Definition Language (IDL) to specify such an interface for transparent communication between distributed objects. Since IDL can be mapped to any programming language, such as C++, Java, Smalltalk, etc., existing applications can be integrated into a new application and hence the tasks of code re-writing and software maintenance can be reduced. Many scientific applications in aerodynamics and solid mechanics are written in Fortran. Refitting these legacy Fortran codes with CORBA objects can increase the codes reusability. For example, scientists could link their scientific applications to vintage Fortran programs such as Partial Differential Equation(PDE) solvers in a plug-and-play fashion. Unfortunately, CORBA IDL to Fortran mapping has not been proposed and there seems to be no direct method of generating CORBA objects from Fortran without having to resort to manually writing C/C++ wrappers. In this paper, we present an efficient methodology to integrate Fortran legacy programs into a distributed object framework. Issues and strategies regarding the conversion and decomposition of Fortran codes into CORBA objects are discussed. The following diagram shows the conversion and decomposition mechanism we proposed. Our goal is to keep the Fortran codes unmodified. The conversion- aided tool takes the Fortran application program as input and helps programmers generate C/C++ header file and IDL file for wrapping the Fortran code. Programmers need to determine by themselves how to decompose the legacy application into several reusable components based on the cohesion and coupling factors among the functions and subroutines. However, programming effort still can be greatly reduced because function headings and types have been converted to C++ and IDL styles. Most Fortran applications use the COMMON block to facilitate the transfer of large amount of variables among several functions. The COMMON block plays the similar role of global variables used in C. In the CORBA-compliant programming environment, global variables can not be used to pass values between objects. One approach to dealing with this problem is to put the COMMON variables into the parameter list. We do not adopt this approach because it requires modification of the Fortran source code which violates our design consideration. Our approach is to extract the COMMON blocks and convert them into a structure-typed attribute in C++. Through attributes, each component can initialize the variables and return the computation result back to the client. We have tested successfully the proposed conversion methodology based on the f2c converter. Since f2c only translates Fortran to C, we still needed to edit the converted code to meet the C++ and IDL syntax. For example, C++/IDL requires a tag in the structure type, while C does not. In this paper, we identify the necessary changes to the f2c converter in order to directly generate the C++ header and the IDL file. Our future work is to add GUI interface to ease the decomposition task by simply dragging and dropping icons.

Sang, Janche↗

Land use mapping in Erie County, Pennsylvania: A pilot study

The author has identified the following significant results. A pilot study was conducted to determine the feasibility of mapping land use in the Great Lakes Basin area utilizing ERTS-1 data. Small streams were clearly defined by the presence of trees along their length in predominantly agricultural country. Field patterns were easily differentiated from forested areas; dairy and beef farms were differentiated from other farmlands, but no attempt was made to identify crops. Large railroad lines and major highway systems were identified. The city of Erie and several smaller towns were identified, as well as residential areas between these towns, and docks along the shoreline in Erie. Marshes, forests, and beaches within Presque Isle State Park were correctly identified, using the DCLUS program. Bay water was differentiated from lake water, with a small amount of misclassification.

Mcmurtry, G. J.↗

General chemical kinetics computer program for static and flow reactions, with application to combustion and shock-tube kinetics

A general chemical kinetics program is described for complex, homogeneous ideal-gas reactions in any chemical system. Its main features are flexibility and convenience in treating many different reaction conditions. The program solves numerically the differential equations describing complex reaction in either a static system or one-dimensional inviscid flow. Applications include ignition and combustion, shock wave reactions, and general reactions in a flowing or static system. An implicit numerical solution method is used which works efficiently for the extreme conditions of a very slow or a very fast reaction. The theory is described, and the computer program and users' manual are included.

Bittker, D. A.↗

An application of a linear programing technique to nonlinear minimax problems

A differential correction technique for solving nonlinear minimax problems is presented. The basis of the technique is a linear programing algorithm which solves the linear minimax problem. By linearizing the original nonlinear equations about a nominal solution, both nonlinear approximation and estimation problems using the minimax norm may be solved iteratively. Some consideration is also given to improving convergence and to the treatment of problems with more than one measured quantity. A sample problem is treated with this technique and with the least-squares differential correction method to illustrate the properties of the minimax solution. The results indicate that for the sample approximation problem, the minimax technique provides better estimates than the least-squares method if a sufficient amount of data is used. For the sample estimation problem, the minimax estimates are better if the mathematical model is incomplete.

Schiess, J. R.↗

A program to evaluate a control system based on feedback of aerodynamic pressure differentials, part 1

The use of pressure differentials in a flight control system was evaluated. The pressure profile around the test surface was determined using two techniques: (1) windtunnel data (actual); and (2) NASA/Langley Single Element Airfoil Computer Program (theoretical). The system designed to evaluate the concept of using pressure differentials is composed of a sensor drive and power amplifiers, actuator, position potentiometer, and a control surface. The characteristics (both desired and actual) of the system and each individual component were analyzed. The desired characteristics of the system as a whole are given. The flight control system developed, the testing procedures and data reduction methods used, and theoretical frequency response analysis are described.

Hrabak, R. R.↗

Generating Three-Dimensional Grids About Anything

Three-Dimensional Grids About Anything by Poisson's Equation (3DGRAPE) computer program designed to make computational grids in or about almost any shape. Generated by solution of Poisson's differential equations in three dimensions. Program automatically finds its own values for inhomogeneous terms giving near-orthogonality and controlled grid-cell height at boundaries. Grids generated applied to both viscous and inviscid aerodynamic problems, and to problems in other areas of fluid dynamics. Written in 100 percent FORTRAN 77.

Sorenson, Reese L.↗

Lidar remote sensing of tropospheric pollutants and trace gases - Programs of NASA Langley Research Center

NASA Langley Research Center is engaged in a number of in-house and contracted programs to develop, evaluate, and apply lidar techniques to remote measurements of pollutant gases, trace molecules, and aerosols. The differential absorption lidar (DIAL) research programs include the development and evaluation of a UV DIAL system for remote measurements of SO2 and O3 concentrations and aerosol dispersion in urban and power-plant stack plumes, a near-IR DIAL system for vertical measurements of water vapor concentrations, and a high-power tunable IR DIAL system which will measure the concentration of gas species that have absorption features in the 1.4- to 4.4-micron wavelength range. The lidar programs which deal with aerosol measurements include the evaluation of a mobile ruby lidar system for use in plume dispersion model verification and the development of a high-spectral-resolution lidar system for measurement of aerosol extinction and backscattering coefficients. System characteristics and measurement sensitivities are discussed, and comparisons are made between simulations and experimental results.

Browell, E. V.↗

Flight instrumentation specification for parameter identification: Program user's guide

A set of four digital computer programs is presented which can be used to investigate the effects of instrumentation errors on the accuracy of aircraft and helicopter stability-and-control derivatives identified from flight test data. The programs assume that the differential equations of motion are linear and consist of small perturbations about a quasi-steady flight condition. It is also assumed that a Newton-Raphson optimization technique is used for identifying the estimates of the parameters. Flow charts and printouts are included.

Mohr, R. L.↗

An adaptive maneuvering logic computer program for the simulation of one-to-one air-to-air combat. Volume 2: Program description

A detailed description is presented of the computer programs in order to provide an understanding of the mathematical and geometrical relationships as implemented in the programs. The individual sbbroutines and their underlying mathematical relationships are described, and the required input data and the output provided by the program are explained. The relationship of the adaptive maneuvering logic program with the program to drive the differential maneuvering simulator is discussed.

Burgin, G. H.↗

Estimate of Orbiter static aeroelasticity properties via FLEXSTAB

The theory underlying the use of rigid-model experimental data in FLEXSTAB aeroelasticity calculations is summarized. A description is given of the aerodynamic and structural models used in the calculation of Space Shuttle Orbiter aeroelasticity properties during the re-entry phase. Experience gained with the use of pressure, nonlinear force and moment, and area-ratio correction methods in the Orbiter application is described and typical program output data are included. The inability of the program to correctly estimate differential control surface pressures and to accept external corrections for these terms is shown to be a major limitation in the Orbiter application.

Cavin, R. K., III↗

Numerical thermal analyses of heat exchangers for the stirling engine application

The Regenerator, Cooler and Heater for the NASA Space Power Research Engine (SPRE) have been analyzed in detail for laminar, incompressible and oscillatory flow conditions. Each component has been analyzed independently and in detail with the regenerator being modeled as two-parallel-plates channel with a solid wall. The ends of the channel are exposed to two reservoir maintained at different temperature thus providing an axial temperature gradient along the channel. The cooler and heater components have been modeled as circular pipes with isothermal walls. Two different types of thermal boundary conditions have been investigated for the cooler and heater, namely, symmetric and asymmetric temperature inflow. In symmetric temperature inflow the flow enters the channel with the same temperature in throughout the velocity cycle whereas, in asymmetric temperature inflow the flow enters with a different temperature in each half cycle. The study was conducted over a wide range of Maximum Reynolds number (RE(max) varying from 75 to 60000, Valensi number (Va) from 2.5 to 800, and relative amplitude of fluid displacement (A(sub r) from 0.357 to 1.34. A two dimensional Finite volume method based on the SIMPLE algorithm was used to solve the governing partial differential equations. Post processing programs were developed to effectively describe the heat transfer mechanism under oscillatory flows. The computer code was validated by comparing with existing analytical solutions for oscillating flows. The thermal field have been studied with the help of temperature contour and three dimensional plots. The instantaneous friction factor, wall heat flux and heat transfer coefficient have been examined. It has been concluded that in general, the frictional factor and heat transfer coefficient are higher under oscillatory flow conditions when the Valensi number is high. Also, the thermal efficiency decreases for lower A(r) values. Further, the usual steady state definition for the heat transfer coefficient does not seem to be valid.

Kannapareddy, Mohan Raj↗

Fourier Series Operating Package

This report presents a computer program for multiplying, adding, differentiating, integrating, "barring" and scalarly multiplying "literal" Fourier series as such, and for extracting the coefficients of specified terms.

Charnow, Milton L.↗

Demonstration of Automatically-Generated Adjoint Code for Use in Aerodynamic Shape Optimization

Gradient-based optimization requires accurate derivatives of the objective function and constraints. These gradients may have previously been obtained by manual differentiation of analysis codes, symbolic manipulators, finite-difference approximations, or existing automatic differentiation (AD) tools such as ADIFOR (Automatic Differentiation in FORTRAN). Each of these methods has certain deficiencies, particularly when applied to complex, coupled analyses with many design variables. Recently, a new AD tool called ADJIFOR (Automatic Adjoint Generation in FORTRAN), based upon ADIFOR, was developed and demonstrated. Whereas ADIFOR implements forward-mode (direct) differentiation throughout an analysis program to obtain exact derivatives via the chain rule of calculus, ADJIFOR implements the reverse-mode counterpart of the chain rule to obtain exact adjoint form derivatives from FORTRAN code. Automatically-generated adjoint versions of the widely-used CFL3D computational fluid dynamics (CFD) code and an algebraic wing grid generation code were obtained with just a few hours processing time using the ADJIFOR tool. The codes were verified for accuracy and were shown to compute the exact gradient of the wing lift-to-drag ratio, with respect to any number of shape parameters, in about the time required for 7 to 20 function evaluations. The codes have now been executed on various computers with typical memory and disk space for problems with up to 129 x 65 x 33 grid points, and for hundreds to thousands of independent variables. These adjoint codes are now used in a gradient-based aerodynamic shape optimization problem for a swept, tapered wing. For each design iteration, the optimization package constructs an approximate, linear optimization problem, based upon the current objective function, constraints, and gradient values. The optimizer subroutines are called within a design loop employing the approximate linear problem until an optimum shape is found, the design loop limit is reached, or no further design improvement is possible due to active design variable bounds and/or constraints. The resulting shape parameters are then used by the grid generation code to define a new wing surface and computational grid. The lift-to-drag ratio and its gradient are computed for the new design by the automatically-generated adjoint codes. Several optimization iterations may be required to find an optimum wing shape. Results from two sample cases will be discussed. The reader should note that this work primarily represents a demonstration of use of automatically- generated adjoint code within an aerodynamic shape optimization. As such, little significance is placed upon the actual optimization results, relative to the method for obtaining the results.

Green, Lawrence↗