Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “C CODES”

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 181 records · Page 10

Transportable Applications Environment Plus, Version 5.1

Transportable Applications Environment Plus (TAE+) computer program providing integrated, portable programming environment for developing and running application programs based on interactive windows, text, and graphical objects. Enables both programmers and nonprogrammers to construct own custom application interfaces easily and to move interfaces and application programs to different computers. Used to define corporate user interface, with noticeable improvements in application developer's and end user's learning curves. Main components are; WorkBench, What You See Is What You Get (WYSIWYG) software tool for design and layout of user interface; and WPT (Window Programming Tools) Package, set of callable subroutines controlling user interface of application program. WorkBench and WPT's written in C++, and remaining code written in C.

Source record↗

TPSAS-NF1676L-10454-DND

We plan to perform the following sets of computations on unadapted (fixed) grids: 1) Structured RANS set 1 (Code: CFL3D, Grid: Str-OnetoOne-A-v1 (supplied by HiLiftPW-1 committee), Turbulence model: Spalart-Allmaras), 2) Structured RANS set 2 (Code: CFL3D, Grid: Str-OnetoOne-A-v1 (supplied by HiLiftPW-1 committee), Turbulence model: Menter SST), 3) Structured RANS set 3 (time permitting) (Code: CFL3D, Grid: Str-OnetoOne-B-v1 (supplied by HiLiftPW-1 committee), Turbulence model: Menter SST), 4) Unstructured RANS set 1 (Code: FUN3D, Grid: Unst-Mixed-FromTet-Nodecentered-A-v1 (supplied by HiLiftPW-1 committee), Turbulence model: Spalart-Allmaras), and 5) Unstructured RANS set 2 (time permitting) (Code: FUN3D, Grid: Unst-Hex-FromOnetoOne-A-v1 (supplied by HiLiftPW-1 committee), Turbulence model: Spalart-Allmaras),. Optional case 3 is not being computed. CFL3D is a structured upwind-biased cell-centered RANS code,1 and FUN3D is an unstructured upwind-biased node-centered RANS code

C L Rumsey↗

TUMME: Tsinghua University Minnesota Master Equation program

We report that TUMME is a program for assembling and solving master equations for gas-phase chemical kinetics based on chemically significant eigenmodes. TUMME has interfaces to the Gaussian, Polyrate, and/or MSTor output files that allow the master equation code to obtain the microcanonical flux coefficients needed for the coefficient matrix of the master equation. The flux coefficients for reactions with barriers can be calculated by multi-structural variational transition state theory with small-curvature tunneling (MS-VTST/SCT) or by simpler approximations to this such as conventional transition state theory without tunneling (also called RRKM theory). The flux coefficients for barrierless reactions are provided by a hard-sphere model. TUMME is written in double precision with Python 3; quadruple and octuple precision are also available for some subtasks in C++. The Python code can run in serial or parallel (MP or MPI), and the C++ code can run on a single processor or on multiple processors with OpenMP.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

MFANS 2024 - Dimensional Analysis Made Easy

There is a significant impact of dimensional errors in systems. Dimensional analysis is difficult due to the large size of systems. SA4U and Scalpel are practical programs which can have an impact beyond traditional software as they are able to perform precise dimensional analysis and repair C++ source code.

97 MATHEMATICS AND COMPUTING↗

The VLBA correlator: Real-time in the distributed era

The correlator is the signal processing engine of the Very Long Baseline Array (VLBA). Radio signals are recorded on special wideband (128 Mb/s) digital recorders at the 10 telescopes, with sampling times controlled by hydrogen maser clocks. The magnetic tapes are shipped to the Array Operations Center in Socorro, New Mexico, where they are played back simultaneously into the correlator. Real-time software and firmware controls the playback drives to achieve synchronization, compute models of the wavefront delay, control the numerous modules of the correlator, and record FITS files of the fringe visibilities at the back-end of the correlator. In addition to the more than 3000 custom VLSI chips which handle the massive data flow of the signal processing, the correlator contains a total of more than 100 programmable computers, 8-, 16- and 32-bit CPUs. Code is downloaded into front-end CPU's dependent on operating mode. Low-level code is assembly language, high-level code is C running under a RT OS. We use VxWorks on Motorola MVME147 CPU's. Code development is on a complex of SPARC workstations connected to the RT CPU's by Ethernet. The overall management of the correlation process is dependent on a database management system. We use Ingres running on a Sparcstation-2. We transfer logging information from the database of the VLBA Monitor and Control System to our database using Ingres/NET. Job scripts are computed and are transferred to the real-time computers using NFS, and correlation job execution logs and status flow back by the route. Operator status and control displays use windows on workstations, interfaced to the real-time processes by network protocols. The extensive network protocol support provided by VxWorks is invaluable. The VLBA Correlator's dependence on network protocols is an example of the radical transformation of the real-time world over the past five years. Real-time is becoming more like conventional computing. Paradoxically, 'conventional' computing is also adopting practices from the real-time world: semaphores, shared memory, light-weight threads, and concurrency. This appears to be a convergence of thinking.

Wells, D. C.↗

Automating Traceability for Generated Software Artifacts

Program synthesis automatically derives programs from specifications of their behavior. One advantage of program synthesis, as opposed to manual coding, is that there is a direct link between the specification and the derived program. This link is, however, not very fine-grained: it can be best characterized as Program is-derived- from Specification. When the generated program needs to be understood or modified, more $ne-grained linking is useful. In this paper, we present a novel technique for automatically deriving traceability relations between parts of a specification and parts of the synthesized program. The technique is very lightweight and works -- with varying degrees of success - for any process in which one artifact is automatically derived from another. We illustrate the generality of the technique by applying it to two kinds of automatic generation: synthesis of Kalman Filter programs from speci3cations using the Aut- oFilter program synthesis system, and generation of assembly language programs from C source code using the GCC C compilel: We evaluate the effectiveness of the technique in the latter application.

Richardson, Julian↗

The Matpar Server on the HP Exemplar

This presentation reviews the design of Matlab for parallel processing on a parallel system. Matlab was found to be too slow on many large problems, and with the Next Generation Space Telescope requiring greater capability, the work was begun in early 1996 on parallel extensions to Matlab, called Matpar. This presentation reviews the architecture, the functionality, and the design of MatPar. The design utilizes a client server strategy, with the client code written in C, and the object-oriented server code written in C++. The client/server approach for Matpar provides ease of use an good speed.

Springer, Paul↗

Software Model Checking of ARINC-653 Flight Code with MCP

The ARINC-653 standard defines a common interface for Integrated Modular Avionics (IMA) code. In particular, ARINC-653 Part 1 specifies a process- and partition-management API that is analogous to POSIX threads, but with certain extensions and restrictions intended to support the implementation of high reliability flight code. MCP is a software model checker, developed at NASA Ames, that provides capabilities for model checking C and C++ source code. In this paper, we present recent work aimed at implementing extensions to MCP that support ARINC-653, and we discuss the challenges and opportunities that consequentially arise. Providing support for ARINC-653 s time and space partitioning is nontrivial, though there are implicit benefits for partial order reduction possible as a consequence of the API s strict interprocess communication policy.

Thompson, Sarah J.↗

Seeing the Invisible: Embedding Tests in Code That Cannot be Modified

The difficulty of characterizing and observing valid software behavior during testing can be very difficult in flight systems. To address this issue, we evaluated several approaches to increasing test observability on the Shuttle Abort Flight Management (SAFM) system. To increase test observability, we added probes into the running system to evaluate the internal state and analyze test data. To minimize the impact of the instrumentation and reduce manual effort, we used Aspect-Oriented Programming (AOP) tools to instrument the source code. We developed and elicited a spectrum of properties, from generic to application specific properties, to be monitored via the instrumentation. To evaluate additional approaches, SAFM was ported to Linux, enabling the use of gcov for measuring test coverage, Valgrind for looking for memory usage errors, and libraries for finding non-normal floating point values. An in-house C++ source code scanning tool was also used to identify violations of SAFM coding standards, and other potentially problematic C++ constructs. Using these approaches with the existing test data sets, we were able to verify several important properties, confirm several problems and identify some previously unidentified issues.

O'Malley, Owen↗

Assurance of Reasoning Enabled Systems (ARES)

ARES was in part motivated by the determination of President’s Council of Advisors on Science and Technology (PCAST) on May 13th, 2023 that published a set of inquiries: In an era in which convincing images, audio, and text can be generated with ease on a massive scale, how can we ensure reliable access to verifiable, trustworthy information? How can we be certain that a particular piece of media is genuinely from the claimed source? What technologies, policies, and infrastructure can be developed to detect and counter AI-generated disinformation? In an effort to automatically analyze and patch/optimize code the work in this report describes various neural Machine Learning (ML) analysis engine implementations to assist in situations where source code is deficient or completely lacking to decompile (lift) binary code to ’C’. The goal is to gradually reduce human intervention. To this end, two Large Language Model (LLM) variants (Code LLama 2, LLama 3.1 and Starcoder1, Starcoder 2) where finetuned with ’before/after’ code pairs on the OpenBLAS library. LLama trained on the lowering process, Starcoder trained on the lifting process with National Security Agency’s (NSA) open-source Ghidra decompiler assist. The inferencing test results indicate correctness for only very short sequences for Starcoder 2. Moving forward, the experiments conclude with a set of recommendations of required resources and technologies

97 MATHEMATICS AND COMPUTING↗

Documenting Software Automatically

Automated Software Documentation Utility is package of software designed to provide automated drafts of manual documentation directly from compatible C source code in UNIX environment. Programs designed to simplify and streamline crucial yet often neglected chore of documentation of programs. Written in C and Unix Shell.

Pieniazek, L. A.↗

Multigrid with Overlapping Patches

Solving boundary value problems with optimal efficiency requires adaptivity and multilevel techniques. Previously, an implementation of the AFACx algorithm is presented that is based on rectangular Cartesian grids. This implementation does not allow for the over]ap of grids that lie on the same level of refinement. We investigate the case in which these grids overlap. A standard technique for overlapping grids is the Schwarz algorithm. Some ways of using the Schwarz algorithm in a standard multigrid scheme are presented. Also, a problem that arises in some situations with non-aligned, overlapping grids is described. This situation comes up in a natural way when the Schwarz algorithm is used as a relaxation scheme within a multilevel algorithm. We identify the reason for the bad convergence and show that by more sophisticated interpolation the difficulties can be overcome. Then we present a multiplicative Schwarz algorithm for a large number of grids that has a high potential for parallelization. Finally we give some numerical results for the FACx algorithm with overlapping grids on each refinement level. The implementation of the described codes uses C++ and the array class libraries A++ and P++. Using the A++/P++ programming environment, it was possible to move from a serial code to a parallel code within a few days.

Berndt, Markus↗

A Wideband Satcom Based Avionics Network with CDMA Uplink and TDM Downlink

The purpose of this paper is to describe some key technical ideas behind our vision of a future satcom based digital communication network for avionics applications The key features of our design are as follows: (a) Packetized transmission to permit efficient use of system resources for multimedia traffic; (b) A time division multiplexed (TDM) satellite downlink whose physical layer is designed to operate the satellite link at maximum power efficiency. We show how powerful turbo codes (invented originally for linear modulation) can be used with nonlinear constant envelope modulation, thus permitting the satellite amplifier to operate in a power efficient nonlinear regime; (c) A code division multiple access (CDMA) satellite uplink, which permits efficient access to the satellite from multiple asynchronous users. Closed loop power control is difficult for bursty packetized traffic, especially given the large round trip delay to the satellite. We show how adaptive interference suppression techniques can be used to deal with the ensuing near-far problem; (d) Joint source-channel coding techniques are required both at the physical and the data transport layer to optimize the end-to-end performance. We describe a novel approach to multiple description image encoding at the data transport layer in this paper.

Agrawal, D.↗

Approach to nonlinear magnetohydrodynamic simulations in stellarator geometry

The capability to model the nonlinear magnetohydrodynamic (MHD) evolution of stellarator plasmas is developed by extending the M3D-C 1 code to allow non-axisymmetric domain geometry. We introduce a set of logical coordinates, in which the computational domain is axisymmetric, to utilize the existing finite-element framework of M3D-C 1 . A C 1 coordinate mapping connects the logical domain to the non-axisymmetric physical domain, where we use the M3D-C 1 extended MHD models essentially without modifications. We present several numerical verifications on the implementation of this approach, including simulations of the heating, destabilization, and equilibration of a stellarator plasma with strongly anisotropic thermal conductivity, and of the relaxation of stellarator equilibria to integrable and non-integrable magnetic field configurations in realistic geometries.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗