Search NASA⌕ Search

SEARCH · Search NASA

Results for “functional 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 847 records · Page 47

Incremental Parallelization of Non-Data-Parallel Programs Using the Charon Message-Passing Library

Message passing is among the most popular techniques for parallelizing scientific programs on distributed-memory architectures. The reasons for its success are wide availability (MPI), efficiency, and full tuning control provided to the programmer. A major drawback, however, is that incremental parallelization, as offered by compiler directives, is not generally possible, because all data structures have to be changed throughout the program simultaneously. Charon remedies this situation through mappings between distributed and non-distributed data. It allows breaking up the parallelization into small steps, guaranteeing correctness at every stage. Several tools are available to help convert legacy codes into high-performance message-passing programs. They usually target data-parallel applications, whose loops carrying most of the work can be distributed among all processors without much dependency analysis. Others do a full dependency analysis and then convert the code virtually automatically. Even more toolkits are available that aid construction from scratch of message passing programs. None, however, allows piecemeal translation of codes with complex data dependencies (i.e. non-data-parallel programs) into message passing codes. The Charon library (available in both C and Fortran) provides incremental parallelization capabilities by linking legacy code arrays with distributed arrays. During the conversion process, non-distributed and distributed arrays exist side by side, and simple mapping functions allow the programmer to switch between the two in any location in the program. Charon also provides wrapper functions that leave the structure of the legacy code intact, but that allow execution on truly distributed data. Finally, the library provides a rich set of communication functions that support virtually all patterns of remote data demands in realistic structured grid scientific programs, including transposition, nearest-neighbor communication, pipelining, gather/scatter, and redistribution. At the end of the conversion process most intermediate Charon function calls will have been removed, the non-distributed arrays will have been deleted, and virtually the only remaining Charon functions calls are the high-level, highly optimized communications. Distribution of the data is under complete control of the programmer, although a wide range of useful distributions is easily available through predefined functions. A crucial aspect of the library is that it does not allocate space for distributed arrays, but accepts programmer-specified memory. This has two major consequences. First, codes parallelized using Charon do not suffer from encapsulation; user data is always directly accessible. This provides high efficiency, and also retains the possibility of using message passing directly for highly irregular communications. Second, non-distributed arrays can be interpreted as (trivial) distributions in the Charon sense, which allows them to be mapped to truly distributed arrays, and vice versa. This is the mechanism that enables incremental parallelization. In this paper we provide a brief introduction of the library and then focus on the actual steps in the parallelization process, using some representative examples from, among others, the NAS Parallel Benchmarks. We show how a complicated two-dimensional pipeline-the prototypical non-data-parallel algorithm- can be constructed with ease. To demonstrate the flexibility of the library, we give examples of the stepwise, efficient parallel implementation of nonlocal boundary conditions common in aircraft simulations, as well as the construction of the sequence of grids required for multigrid.

VanderWijngaart, Rob F.↗

A Compilation of MATLAB Scripts and Functions for MACGMC Analyses

The primary aim of the current effort is to provide scripts that automate many of the repetitive pre- and post-processing tasks associated with composite materials analyses using the Micromechanics Analysis Code with the Generalized Method of Cells. This document consists of a compilation of hundreds of scripts that were developed in MATLAB (The Mathworks, Inc., Natick, MA) programming language and consolidated into 16 MATLAB functions. (MACGMC). MACGMC is a composite material and laminate analysis software code developed at NASA Glenn Research Center. The software package has been built around the generalized method of cells (GMC) family of micromechanics theories. The computer code is developed with a user-friendly framework, along with a library of local inelastic, damage, and failure models. Further, application of simulated thermo-mechanical loading, generation of output results, and selection of architectures to represent the composite material have been automated to increase the user friendliness, as well as to make it more robust in terms of input preparation and code execution. Finally, classical lamination theory has been implemented within the software, wherein GMC is used to model the composite material response of each ply. Thus, the full range of GMC composite material capabilities is available for analysis of arbitrary laminate configurations as well. The pre-processing tasks include generation of a multitude of different repeating unit cells (RUCs) for CMCs and PMCs, visualization of RUCs from MACGMC input and output files and generation of the RUC section of a MACGMC input file. The post-processing tasks include visualization of the predicted composite response, such as local stress and strain contours, damage initiation and progression, stress-strain behavior, and fatigue response. In addition to the above, several miscellaneous scripts have been developed that can be used to perform repeated Monte-Carlo simulations to enable probabilistic simulations with minimal manual intervention. This document is formatted to provide MATLAB source files and descriptions of how to utilize them. It is assumed that the user has a basic understanding of how MATLAB scripts work and some MATLAB programming experience.

Materials Engineering↗

Challenges of space medical operations and life sciences management

The Kennedy Space Center (KSC) has been the premier launch and landing site for America's space program since the early 1960s. Visitors are cognizant of space vehicles, processing facilities and launch pads which are treasured national resources. However, most are unaware of the unique organization which supports launch and landing activities and manages the center's occupational medicine, environmental health, ecological and environmental monitoring functions, as well as human and plant research programs. Management of this multifaceted organization can be complex because funding its different functions comes from a number of sources. Additionally the diverse disciplines of personnel present a special challenge in maintaining professional competencies while assuring efficiency in cyclical operations. This article explains the organization's structure and reviews some of its accomplishments.

Haddad, S. G.↗

Prediction and verification of creep behavior in metallic materials and components for the space shuttle thermal protection system

A method of analysis was developed for predicting permanent cyclic creep deflections in stiffened panel structures. This method uses creep equations based on cyclic tensile creep tests and a computer program to predict panel deflections as a function of mission cycle. Four materials were investigated - a titanium alloy (Ti-6Al-4V), a cobalt alloy (L605), and two nickel alloys (Rene'41 and TDNiCr). Steady-state and cyclic creep response data were obtained by testing tensile specimens fabricated from thin gage sheet (0.025 and 0.63 cm nominal). Steady-state and cyclic creep equations were developed which describe creep as a function of time, temperature and load. Tests were also performed on subsize (6.35 x 30.5 cm) rib and corrugation stiffened panels. These tests were used to correlate creep responses between elemental specimens and panels. The panel response was analyzed by use of a specially written computer program.

Davis, J. W.↗

Development Approach of the Advanced Life Support On-line Project Information System

The Advanced Life Support (ALS) Program has recently accelerated an effort to develop an On-line Project Information System (OPIS) for research project and technology development data centralization and sharing. There has been significant advancement in the On-line Project Information System (OPIS) over the past year (Hogan et al, 2004). This paper presents the resultant OPIS development approach. OPIS is being built as an application framework consisting of an uderlying Linux/Apache/MySQL/PHP (LAMP) stack, and supporting class libraries that provides database abstraction and automatic code generation, simplifying the ongoing development and maintenance process. Such a development approach allows for quick adaptation to serve multiple Programs, although initial deployment is for an ALS module. OPIS core functionality will involve a Web-based annual solicitation of project and technology data directly from ALS Principal Investigators (PIs) through customized data collection forms. Data provided by PIs will be reviewed by a Technical Task Monitor (TTM) before posting the information to OPIS for ALS Community viewing via the Web. Such Annual Reports will be permanent, citable references within OPIS. OPlS core functionality will also include Project Home Sites, which will allow PIS to provide updated technology information to the Community in between Annual Report updates. All data will be stored in an object-oriented relational database, created in MySQL(Reistered Trademark) and located on a secure server at NASA Ames Research Center (ARC). Upon launch, OPlS can be utilized by Managers to identify research and technology development (R&TD) gaps and to assess task performance. Analysts can employ OPlS to obtain the current, comprehensive, accurate information about advanced technologies that is required to perform trade studies of various life support system options. ALS researchers and technology developers can use OPlS to achieve an improved understanding of the NASA and ALS Program needs and to understand how other researchers and technology developers are addressing those needs. OPlS core functionality will launch for 'Ihe ALS Program in October, 2005. However, the system has been developed with the ability to evolve with Program needs. Because of open-source construction, software costs are minimized. Any functionality that is technologically feasible can be built into OPIS, and OPlS can expand through module cloning and adaptation, to any level deemed useful to the Agency.

Levri, Julie A.↗

Gaussian-Beam Laser-Resonator Program

Gaussian Beam Laser Resonator Program models laser resonators by use of Gaussian-beam-propagation techniques. Used to determine radii of beams as functions of position in laser resonators. Algorithm used in program has three major components. First, ray-transfer matrix for laser resonator must be calculated. Next, initial parameters of beam calculated. Finally, propagation of beam through optical elements computed. Written in Microsoft FORTRAN (Version 4.01).

Cross, Patricia L.↗

A Modeling and Simulation Study for the GeoXO Atmospheric Composition Instrument (ACX): System Level SO2 and O3 Retrieval Performance as a Function of SNR

NOAA’s Geostationary Extended Observations (GeoXO) program is planning to include a hyperspectral UV/visible atmospheric composition instrument in geostationary orbit slated for operations by the early 2030s. Trace gas retrievals provide critical information about our Earth’s system as it relates to both natural and anthropogenic activity. This work focused on the impacts of the signal-to-noise ratio (SNR) on the retrieval uncertainty of SO2 and O3. An end-to-end physics-based imaging system and scene modeling and simulation framework was developed to assess instrument performance considerations in support of the planned GeoXO atmospheric composition instrument (ACX). The framework is composed of three primary components: 1) simulated at-sensor radiance via radiative transfer models of a known atmospheric composition, 2) a noise model driven by previous and planned sensor specifications, and 3) a physical retrieval algorithm. In this analysis, the tropospheric concentrations of SO2 and O3 in the atmospheric column were varied in the boundary layer (0-3 km) and at an elevation of 5 km with a thickness of 1-2 km; the uncertainty in retrieval was studied for various SNR levels for multiple viewing geometries and solar zenith angles. This effort supports the development of the GeoXO ACX instrument by providing a simulated ACX performance assessment of the system-level retrieval performance as a function of SNR, particularly with respect to the wavelength range of interest (approximately 305 – 340 nm) for SO2 and O3 trace gas retrievals.

Monica Cook↗

Charon Toolkit for Parallel, Implicit Structured-Grid Computations: Functional Design

Charon is a software toolkit that enables engineers to develop high-performing message-passing programs in a convenient and piecemeal fashion. Emphasis is on rapid program development and prototyping. In this report a detailed description of the functional design of the toolkit is presented. It is illustrated by the stepwise parallelization of two representative code examples.

VanderWijngaart, Rob F.↗

Ground-based PIV and numerical flow visualization results from the surface tension driven convection experiment

The Surface Tension Driven Convection Experiment (STDCE) is a Space Transportation System flight experiment to study both transient and steady thermocapillary fluid flows aboard the United States Microgravity Laboratory-1 (USML-1) Spacelab mission planned for June, 1992. One of the components of data collected during the experiment is a video record of the flow field. This qualitative data is then quantified using an all electric, two dimensional Particle Image Velocimetry (PIV) technique called Particle Displacement Tracking (PDT), which uses a simple space domain particle tracking algorithm. Results using the ground based STDCE hardware, with a radiant flux heating mode, and the PDT system are compared to numerical solutions obtained by solving the axisymmetric Navier Stokes equations with a deformable free surface. The PDT technique is successful in producing a velocity vector field and corresponding stream function from the raw video data which satisfactorily represents the physical flow. A numerical program is used to compute the velocity field and corresponding stream function under identical conditions. Both the PDT system and numerical results were compared to a streak photograph, used as a benchmark, with good correlation.

Pline, Alexander D.↗

Ground-based PIV and numerical flow visualization results from the Surface Tension Driven Convection Experiment

The Surface Tension Driven Convection Experiment (STDCE) is a Space Transportation System flight experiment to study both transient and steady thermocapillary fluid flows aboard the United States Microgravity Laboratory-1 (USML-1) Spacelab mission planned for June, 1992. One of the components of data collected during the experiment is a video record of the flow field. This qualitative data is then quantified using an all electric, two dimensional Particle Image Velocimetry (PIV) technique called Particle Displacement Tracking (PDT), which uses a simple space domain particle tracking algorithm. Results using the ground based STDCE hardware, with a radiant flux heating mode, and the PDT system are compared to numerical solutions obtained by solving the axisymmetric Navier Stokes equations with a deformable free surface. The PDT technique is successful in producing a velocity vector field and corresponding stream function from the raw video data which satisfactorily represents the physical flow. A numerical program is used to compute the velocity field and corresponding stream function under identical conditions. Both the PDT system and numerical results were compared to a streak photograph, used as a benchmark, with good correlation.

Pline, Alexander D.↗

Design and test of field programmable gate arrays in space applications

Field Programmable Gate Arrays (FPGAU's) offer substantial benefits in terms of flexibility and design integration. In addition to qualifying this device for space applications by establishing its reliability and evaluating its sensitivity to radiation, screening the programmed devices with Automatic Test Equipment (ATE) and functional burn-in presents an interesting challenge. This paper presents a review of the design, qualification, and screening cycle employed for FPGA designs in a space program, and demonstrates the need for close interaction between design and test engineers.

Mckerracher, Priscilla L.↗

Smoothing of functions of range and range rate measurements from earth orbiting satellites

It is shown that for satellites in circular Earth orbits with altitudes of 500 kilometers to 1500 kilometers, and for satellites in elliptical orbits with an approximate 4000 kilometer height of perigee, a high degree least squares polynomial (e.g., a 9th or 10th degree in some cases) is required to smooth both range and range rate data for purposes of input to orbit determination programs. In order to circumvent this problem, functions of range and range rate are smoothed with lower degree least squares polynomials (e.g., 3rd and 4th degree) and it is shown that under the above geometric constraints the standard deviation of fit can be reduced to levels commensurate with typical S-band tracking system resolution which is 1 to 2 meters in range and 0.005 meters/second in range rate for a 1 per second data rate. Also shown are the effects of Gaussian random noise, biases, and periodic noise. This analysis includes numerous examples applied to the 44 point data smoothing interval currently used in much of the operational preprocessing at the Goddard Space Flight Center.

Grenchik, T. J.↗

How the science and engineering of spaceflight contribute to understanding the plasticity of spinal cord injury

Space programs support experimental investigations related to the unique environment of space and to the technological developments from many disciplines of both science and engineering that contribute to space studies. Furthermore, interactions between scientists, engineers and administrators, that are necessary for the success of any science mission in space, promote interdiscipline communication, understanding and interests which extend well beyond a specific mission. NASA-catalyzed collaborations have benefited the spinal cord rehabilitation program at UCLA in fundamental science and in the application of expertise and technologies originally developed for the space program. Examples of these benefits include: (1) better understanding of the role of load in maintaining healthy muscle and motor function, resulting in a spinal cord injury (SCI) rehabilitation program based on muscle/limb loading; (2) investigation of a potentially novel growth factor affected by spaceflight which may help regulate muscle mass; (3) development of implantable sensors, electronics and software to monitor and analyze long-term muscle activity in unrestrained subjects; (4) development of hardware to assist therapies applied to SCI patients; and (5) development of computer models to simulate stepping which will be used to investigate the effects of neurological deficits (muscle weakness or inappropriate activation) and to evaluate therapies to correct these deficiencies.

Review↗

Shaping NASA's Kennedy Space Center Safety for the Future

With the completion of the Space Shuttle Program, the Kennedy Space Center (KSC) safety function will be required to evolve beyond the single launch vehicle launch site focus that has held prominence for almost fifty years. This paper will discuss how that evolution is taking place. Specifically, we will discuss the future of safety as it relates to a site that will have multiple, very disparate, functions. These functions will include new business; KSC facilities not under the control of NASA; traditional payload and launch vehicle processing; and, operations conducted by NASA personnel, NASA contractors or a combination of both. A key element in this process is the adaptation of the current KSC set of safety requirements into a multi-faceted set that can address each of the functions above, while maintaining our world class safety environment. One of the biggest challenges that will be addressed is how to protect our personnel and property without dictating how other Non-NASA organizations protect their own employees and property. The past history of KSC Safety will be described and how the lessons learned from previous programs will be applied to the future. The lessons learned from this process will also be discussed as information for other locations that may undergo such a transformation.

Kirkpatrick, Paul↗

Computing time- and frequency-domain analysis

Computer program Spectrum Analysis is developed to perform wide range statistical-estimation functions. It is rigorous tool for time-and frequency-domain studies. Program is written in FORTRAN IV.

Brownlow, J. D.↗

The KALI multi-arm robot programming and control environment

The KALI distributed robot programming and control environment is described within the context of its use in the Jet Propulsion Laboratory (JPL) telerobot project. The purpose of KALI is to provide a flexible robot programming and control environment for coordinated multi-arm robots. Flexibility, both in hardware configuration and software, is desired so that it can be easily modified to test various concepts in robot programming and control, e.g., multi-arm control, force control, sensor integration, teleoperation, and shared control. In the programming environment, user programs written in the C programming language describe trajectories for multiple coordinated manipulators with the aid of KALI function libraries. A system of multiple coordinated manipulators is considered within the programming environment as one motion system. The user plans the trajectory of one controlled Cartesian frame associated with a motion system and describes the positions of the manipulators with respect to that frame. Smooth Cartesian trajectories are achieved through a blending of successive path segments. The manipulator and load dynamics are considered during trajectory generation so that given interface force limits are not exceeded.

Backes, Paul↗

Paranoia.Ada: A diagnostic program to evaluate Ada floating-point arithmetic

Many essential software functions in the mission critical computer resource application domain depend on floating point arithmetic. Numerically intensive functions associated with the Space Station project, such as emphemeris generation or the implementation of Kalman filters, are likely to employ the floating point facilities of Ada. Paranoia.Ada appears to be a valuabe program to insure that Ada environments and their underlying hardware exhibit the precision and correctness required to satisfy mission computational requirements. As a diagnostic tool, Paranoia.Ada reveals many essential characteristics of an Ada floating point implementation. Equipped with such knowledge, programmers need not tremble before the complex task of floating point computation.

Hjermstad, Chris↗