Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “design source code”

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 37 records · Page 2

A Fixed Point VHDL Component Library for a High Efficiency Reconfigurable Radio Design Methodology

Advances in Field Programmable Gate Array (FPGA) technologies enable the implementation of reconfigurable radio systems for both ground and space applications. The development of such systems challenges the current design paradigms and requires more robust design techniques to meet the increased system complexity. Among these techniques is the development of component libraries to reduce design cycle time and to improve design verification, consequently increasing the overall efficiency of the project development process while increasing design success rates and reducing engineering costs. This paper describes the reconfigurable radio component library developed at the Software Defined Radio Applications Research Center (SARC) at Goddard Space Flight Center (GSFC) Microwave and Communications Branch (Code 567). The library is a set of fixed-point VHDL components that link the Digital Signal Processing (DSP) simulation environment with the FPGA design tools. This provides a direct synthesis path based on the latest developments of the VHDL tools as proposed by the BEE VBDL 2004 which allows for the simulation and synthesis of fixed-point math operations while maintaining bit and cycle accuracy. The VHDL Fixed Point Reconfigurable Radio Component library does not require the use of the FPGA vendor specific automatic component generators and provide a generic path from high level DSP simulations implemented in Mathworks Simulink to any FPGA device. The access to the component synthesizable, source code provides full design verification capability:

Hoy, Scott D.↗

Development of an open-source segmented blade design tool

As wind turbines continue to grow ever larger to reduce the cost of energy, their blades follow suit, with the largest commercial offshore blades extending past 100 m. Massive blades such as these raise key transportation and manufacturing challenges, especially for land-based turbines. Segmented blades are one solution and are garnering increased industry and research interest. In this work, a detailed mechanical joint model is integrated into the Wind-Plant Integrated System Design and Engineering Model (WISDEM ® ), which will facilitate future segmented blade research and optimization. WISDEM is used to design a wind turbine with 100-m segmented blades. This wind turbine design is compared to other machines with 100-m monolithic blades designed for rail-transportability. The designs are compared in terms of blade mass and cost, turbine capital cost, annual energy production, and levelized cost of energy, with monolithic designs being the lightest and most economical. However, this result may vary by wind plant location. A variety of segmentation joint types exist, and they will inevitably vary in parameters such as cost, spanwise location, and physical characteristics. This work examines the sensitivity of wind turbine design drivers and annual energy production to a variety of the aforementioned parameters, using the open-source wind turbine design codes OpenFAST and WISDEM, finding that joint mass, stiffness, and location can have significant effects on design drivers.

17 WIND ENERGY↗

Research in computer science

Several short summaries of the work performed during this reporting period are presented. Topics discussed in this document include: (1) resilient seeded errors via simple techniques; (2) knowledge representation for engineering design; (3) analysis of faults in a multiversion software experiment; (4) implementation of parallel programming environment; (5) symbolic execution of concurrent programs; (6) two computer graphics systems for visualization of pressure distribution and convective density particles; (7) design of a source code management system; (8) vectorizing incomplete conjugate gradient on the Cyber 203/205; (9) extensions of domain testing theory and; (10) performance analyzer for the pisces system.

Ortega, J. M.↗

An adaptable binary entropy coder

We present a novel entropy coding technique which is based on recursive interleaving of variable-to-variable length binary source codes. We discuss code design and performance estimation methods, as well as practical encoding and decoding algorithms.

data compression entropy coding↗

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.↗

High Temperature Calibration Furnace System user's guide

The High Temperature Calibration Furnace System (HTCFS) was developed by Summitec Corporation. It is a high precision instrument providing a constant temperature which can be used to calibrate high temperature thermocouples. Incorporating the many recent technological advances from the fields of optical fiber thermometry, material science, computer systems interfacing, and process control, the engineers at Summitec Corporation have been able to create a system that can reach a steady operating temperature of 1700 C. The precision for the system requires the measurement of temperature to be within 1 C in two hours and within 2 C in 24 hours. As documented, the experimental result shows that this system has been able to stay within .5 C in 5 hours. No other systems commercially available have been able to achieve such high temperature precision. This manual provides an overview of the system design, instructions for instrument setup, and operation procedures. Also included are a vendor list and the source codes for the custom-designed software.

Source record↗

NASA Operational Simulator for SmallSats (NOS3): Design Reference Mission

The NASA Operational Simulator for Small Satellites (NOS3) has undergone significant advances including updating the framework to be “component” based and expanding the open-source code to include a generic design reference mission to enable advanced technologies. This paper details the changes to the framework as well as a number of innovative use-cases the team is currently supporting such as 1) the expansion of NOS3 to support distributed systems missions in collaboration with NASA GSFC, 2) the integration of NASA JPL’s Science Yield improvement via Onboard Prioritization and Summary of Information Systems (SYNOPSIS) for on-orbit science data prioritization, and 3) the inclusion of NASA IV&V’s software-only CCSDS encryption library (CryptoLib). NOS3 continues to serve the SmallSat community by providing an open-source digital twin that can significantly reduce costs associated with spacecraft software development, test, and operations. The NOS3 team hopes to continue to expand the resources available to the community and partner with others to resolve issues and add new features requested via the NASA GitHub.

SmallSats↗

Exascale-Enabled Models and Algorithms for Microelectronics Applications (MicroEleX) v1

The MicroEleX code package contains a variety of models and algorithms for physical modeling of microelectronic circuitry, including electrostatics, electrodynamics, superconducting physics, micromagnetics, multi-ferroic systems, and quantum transport. MicroEleX leverages the AMReX software framework to provide scalability on GPU-based supercomputing architectures. The code is open source and designed to be algorithmically flexible so developers can incorporate enhanced or customized physics.

Nonaka, Andy↗

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↗

Source Lines Counter (SLiC) Version 4.0

Source Lines Counter (SLiC) is a software utility designed to measure software source code size using logical source statements and other common measures for 22 of the programming languages commonly used at NASA and the aerospace industry. Such metrics can be used in a wide variety of applications, from parametric cost estimation to software defect analysis. SLiC has a variety of unique features such as automatic code search, automatic file detection, hierarchical directory totals, and spreadsheet-compatible output. SLiC was written for extensibility; new programming language support can be added with minimal effort in a short amount of time. SLiC runs on a variety of platforms including UNIX, Windows, and Mac OSX. Its straightforward command-line interface allows for customization and incorporation into the software build process for tracking development metrics. T

Monson, Erik W.↗

Thermal-Mechanic Modeling of Fusion Components Using The MOOSE Framework

With fusion energy rapidly developing, there is a great need for an open source tool that can rapidly model different fusion tokamak designs. The open-source codes Multiphysics Object Oriented Simulation Environment (MOOSE), Tritium Migration Analysis Program Version 8 (TMAP8) , and Fusion ENergy Integrated Multiphysi-X (FENIX) are being used to demonstrate thermal-mechanic modeling of fusion components. In this study, an analysis is done on the fusion nuclear science facility (FNSF) blanket, and ITER toroidal magnet and diverter mono block. This study will lay the groundwork for fusion component analysis in the MOOSE framework and FENIX program.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Automated Concurrent Blackboard System Generation in C++

In his 1992 Ph.D. thesis, "Design and Analysis Techniques for Concurrent Blackboard Systems", John McManus defined several performance metrics for concurrent blackboard systems and developed a suite of tools for creating and analyzing such systems. These tools allow a user to analyze a concurrent blackboard system design and predict the performance of the system before any code is written. The design can be modified until simulated performance is satisfactory. Then, the code generator can be invoked to generate automatically all of the code required for the concurrent blackboard system except for the code implementing the functionality of each knowledge source. We have completed the port of the source code generator and a simulator for a concurrent blackboard system. The source code generator generates the necessary C++ source code to implement the concurrent blackboard system using Parallel Virtual Machine (PVM) running on a heterogeneous network of UNIX(trademark) workstations. The concurrent blackboard simulator uses the blackboard specification file to predict the performance of the concurrent blackboard design. The only part of the source code for the concurrent blackboard system that the user must supply is the code implementing the functionality of the knowledge sources.

Kaplan, J. A.↗

The Lewis Heat Pipe Code with Application to SP-100 GES Heat Pipes

The NASA Lewis Research Center has a thermal management program supporting SP-100 goals, which includes heat pipe radiator development. As a part of the program Lewis has elected to prepare an in-house heat pipe code tailored to the needs of its SP-100 staff to supplement codes from other sources. The latter, designed to meet the needs of the originating organizations, were deemed not entirely appropriate for use at Lewis. However, a review of their features proved most beneficial in the design of the Lewis code.

Baker, Karl W.↗

Design of orbital debris shields for oblique hypervelocity impact

A new impact debris propagation code was written to link CTH simulations of space debris shield perforation to the Lagrangian finite element code DYNA3D, for space structure wall impact simulations. This software (DC3D) simulates debris cloud evolution using a nonlinear elastic-plastic deformable particle dynamics model, and renders computationally tractable the supercomputer simulation of oblique impacts on Whipple shield protected structures. Comparison of three dimensional, oblique impact simulations with experimental data shows good agreement over a range of velocities of interest in the design of orbital debris shielding. Source code developed during this research is provided on the enclosed floppy disk. An abstract based on the work described was submitted to the 1994 Hypervelocity Impact Symposium.

Fahrenthold, Eric P.↗

Doclet To Synthesize UML

The RoseDoclet computer program extends the capability of Java doclet software to automatically synthesize Unified Modeling Language (UML) content from Java language source code. [Doclets are Java-language programs that use the doclet application programming interface (API) to specify the content and format of the output of Javadoc. Javadoc is a program, originally designed to generate API documentation from Java source code, now also useful as an extensible engine for processing Java source code.] RoseDoclet takes advantage of Javadoc comments and tags already in the source code to produce a UML model of that code. RoseDoclet applies the doclet API to create a doclet passed to Javadoc. The Javadoc engine applies the doclet to the source code, emitting the output format specified by the doclet. RoseDoclet emits a Rose model file and populates it with fully documented packages, classes, methods, variables, and class diagrams identified in the source code. The way in which UML models are generated can be controlled by use of new Javadoc comment tags that RoseDoclet provides. The advantage of using RoseDoclet is that Javadoc documentation becomes leveraged for two purposes: documenting the as-built API and keeping the design documentation up to date.

Barry, Matthew R.↗

Monte Carlo Radiation Transport for Astrophysical Transients Powered by Circumstellar Interaction

In this paper, we introduce SuperLite, an open-source Monte Carlo radiation transport code designed to produce synthetic spectra for astrophysical transient phenomena affected by circumstellar interaction. SuperLite utilizes Monte Carlo methods for semi-implicit, semirelativistic radiation transport in high-velocity shocked outflows, employing multigroup structured opacity calculations. The code enables rapid post-processing of hydrodynamic profiles to generate high-quality spectra that can be compared with observations of transient events, including superluminous supernovae, pulsational pair-instability supernovae, and other peculiar transients. We present the methods employed in SuperLite and compare the code's performance to that of other radiative transport codes, such as SuperNu and CMFGEN. We show that SuperLite has successfully passed standard Monte Carlo radiation transport tests and can reproduce spectra of typical supernovae of Type Ia, Type IIP, and Type IIn.

79 ASTRONOMY AND ASTROPHYSICS↗

Parallel sorting algorithm classification: is manual instrumentation necessary?

Understanding parallel algorithms is crucial for accelerating scientific simulations on complex, distributed memory, high-performance computers. Modern algorithm classification approaches learn semantics directly from source code to differentiate between algorithms, however, accessing source code is not always possible. We can learn about parallel algorithms from observing their performance, as programs running the same algorithms and using the same hardware should exhibit similar performance characteristics. We present an approach to learn algorithm classes from parallel performance data directly in order to classify algorithms without access to the source code. We extend previous work to enable classifying parallel sorting algorithms using automatic instrumentation instead of requiring manual region annotations in the source code. In this work, we design and demonstrate a study for classification of parallel sorting algorithms using parallel performance data collected from automatic instrumentation, and evaluate the performance of our new methodology on classification. We leverage Caliper to collect the performance data, Thicket for our exploratory data analysis (EDA), and PyTorch and Scikit-learn to evaluate the effectiveness of random forests, support vector machines (SVMs), decision trees, neural networks, and logistic regressions on parallel performance data. Additionally, we study noise in parallel performance data, whether the removal of noise and pre-processing of the data is necessary to accurately classify parallel sorting algorithms, and determine the effectiveness of features created from performance data. In conclusion, we demonstrate classification accuracy for these five different models of up to 97.7% across four different parallel algorithm classes.

Algorithm Classification↗

A cross-sectional aeroelastic analysis and structural optimization tool for slender composite structures

A fully open-source available framework for the parametric cross-sectional analysis and design optimization of slender composite structures, such as helicopter or wind turbine blades, is presented. The framework—Structural Optimization and Aeroelastic Analysis (SONATA)—incorporates two structural solvers, the commercial tool VABS, and the novel open-source code ANBA4. SONATA also parameterizes the design inputs, postprocesses and visualizes the results, and generates the structural inputs to a variety of aeroelastic analysis tools. It is linked to the optimization library OpenMDAO. This work presents the methodology and explains the fundamental approaches of SONATA. Structural characteristics were successfully verified for both VABS and ANBA4 using box beam examples from literature, thereby verifying the parametric approach to generating the topology and mesh in a cross section as well as the solver integration. The framework was furthermore exercised by analyzing and evaluating a fully resolved highly flexible wind turbine blade. Computed structural characteristics correlated between VABS and ANBA4, including off-diagonal terms. Stresses, strains, and deformations were recovered from loads derived through coupling with aeroelastic analysis. The framework, therefore, proves effective in accurately analyzing and optimizing slender composite structures on a high-fidelity level that is close to a three-dimensional finite element model.

42 ENGINEERING↗