Search NASA⌕ Search

SEARCH · Search NASA

Results for “object-oriented”

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 541 records · Page 30

Highly parallel structured adaptive mesh refinement using parallel language-based approaches

Adaptive mesh refinement (AMR) calculations carried out on structured meshes play an exceedingly important role in several areas of science and engineering. A strategy for using Fortran 90 in an object-oriented fashion is presented. This permits AMR applications to be expressed in terms of familiar abstractions that are natural to the process of solving AMR hierarchies. The OpenMP features that are useful for parallel processing of AMR hierarchies in a load balanced fashion on multiprocessors is described.

computational↗

The InSAR Scientific Computing Environment 3.0: A Flexible Framework for NISAR Operational and User-Led Science Processing

The InSAR Scientific Computing Environment (ISCE) was first developed under the NASA Advanced Information Systems Technology as a flexible, extensible object-oriented framework for Interferometric Synthetic Aperture Radar (InSAR) processing. The ISCE framework uses Python 3 at the workflow level, controlling modules of compiled code for functional processing, and managing inputs, outputs, and other flow control services. The currently released version, called ISCE 2.1, is distributed to the research community through the Western North America InSAR Consortium under a research license. The ISCE team is working on the next generation of the code in order to prepare for the NASAISRO SAR (NISAR) mission operational processing. Innovations in this code include augmentation or conversion of the custom Python framework elements in ISCE with the Pyre framework, new workflows for interferometric and polarimetric stack processing, a more intuitive and graphically based user interface, and flow control for hybrid computing environments including CPU/GPU clusters, logging and error tracking facilities, and new more efficient computational modules that exploit graphical processor units (GPUs) when available. The ISCE 3.0 framework is designed to work in an operational environment as well as on a single user’s laptop or compute cluster, with services to discover capabilities and scale computations accordingly.

Buckley, Sean M.↗

Modeling and Analysis of Stirling Power Convertors

Modeling and Analysis of Stirling Power Convertors Luis A. Rodriguez1 Steven M. Geng, Terry V. Reid, Scott D. Wilson NASA Glenn Research Center, Cleveland, OH, 44135, USA NASA Glenn’s Thermal Energy Conversion Branch is supporting the development of the next generation free-piston Stirling power convertors. American Superconductor (AMSC) and Sunpower Inc. are the two firms under contract to develop the Flexure Isotope Stirling Convertor (FISC) and the Sunpower Robust Stirling Convertor (SRSC), respectively. To comprehend and forecast convertor performance, Sage, ANSYS® Maxwell, and ANSYS® Fluent were used to model the Stirling thermodynamic cycle, alternator electromagnetics, and piston and displacer dynamics. I. Introduction Stirling convertors are being developed by NASA as a potential steady source of electrical power for NASA’s future scientific space missions. Currently, NASA Glenn Research Center has two corporations under contract, American Superconductor (AMSC) and Sunpower Inc., for the development of the next generation of free-piston Stirling convertors for dynamic radioisotope power systems. AMSC is developing the Flexure Isotope Stirling Convertor (FISC), which uses flexures to prevent side motion and rubbing of the piston. Similarly, Sunpower Inc, is developing the Sunpower Robust Stirling Convertor (SRSC). The SRSC uses gas bearings to prevent radial contact of the moving piston. As convertor development continues, it is increasingly important to understand and predict the interactions of components in the system, how they respond to one another, and how they perform as a response to changes in operating conditions. A suitable and enlightening way to demonstrate and foresee these interactions is with the use of accurate modeling software. Sage, ANSYS® Maxwell, and ANSYS® Fluent are the current modeling tools used by NASA to analytically determine convertor performance. Sage is a one-dimensional object-oriented commercial software package used for modeling and optimizing Stirling convertors for Dynamic Radioisotope Power Systems (DRPS) and it is one of the most accurate Stirling convertor codes in use by NASA. This code is the successor to GLIMPS (Globally-Implicit Stirling Cycle Simulation) and GLOP (GLIMPS Optimization) software created by Gedeon Associates [1]. Model input parameters are typically material/gas type, component physical dimensions, temperatures, frequency, charge pressure, and number of time/space nodes. Sage is used to model both the FISC’s and SRSC’s Stirling cycle thermodynamics and piston/displacer dynamics. Performance maps were created and analyzed for both power systems to better understand the relationship between the following conditions: cold-end temperature, hot-end temperature, piston/displacer amplitudes, pressure drop, and thermal input power. The synergy between these conditions will help determine parameter sensitivity. ANSYS® Maxwell was used to create a three-dimensional (3-D) axisymmetric model for both FISC and SRSC alternators. The significant physical components included in each model are the magnets, magnet carrier, outer/inner laminations, and the coil. Inputs to the model are piston amplitude, piston frequency, alternator load, coil resistance, tuning capacitance, and specific material properties. The alternator models calculate terminal voltage, current, piston/current phase, voltage/current phase, coil inductance, terminal power and efficiency. The RI2 losses, core (hysteresis and eddy) losses, and magnet/can eddy losses are also a part of the final results. ANSYS® Fluent is used to build 3-D computational fluid dynamic (CFD) models to examine the Stirling cycle thermodynamics for both the FISC and SRSC systems. Three-dimensional Computer Aided Design (CAD) models were used to create the physical components of each convertor. Steady-state simulations were conducted for hardware testing, prediction of environmental losses during testing, and generation of radiation look-up tables. The model inputs to the aforementioned analysis are the material properties and boundary thermal conditions. The steady-state model calculates temperature and heat flow distributions. Transient 3-D calculations were also part of the CFD analysis. In this study a physically reduced version of the FISC is used to obtain a prediction of available engine power. For the gas bearing SRSC, the transient effort is used to obtain a prediction of bearing pad performance and its sensitivity to micro-channel geometric variation. The model inputs to the transient simulations are the piston amplitude, displacer amplitude, frequency, displacer/piston phase angle, dynamic deforming CFD grid, temperature boundary conditions, and user defined files describing motion profile of piston/displacer. The results of the model are temperature distributions, heat distributions, and PV power produced at pre-determined conditions.

Luis A Rodriguez↗

Object-Based Comparison of Data-Driven and Physics-Driven Satellite Estimates of Extreme Rainfall

The Global Precipitation Measurement (GPM) constellation of spaceborne sensors provides a variety of direct and indirect measurements of precipitation processes. Such observations can be employed to derive spatially and temporally consistent gridded precipitation estimates either via data-driven retrieval algorithms or by assimilation into physically based numerical weather models. We compare the data-driven Integrated Multisatellite Retrievals for GPM (IMERG) and the assimilation-enabled NASA-Unified Weather Research and Forecasting (NU-WRF) model against Stage IV reference precipitation for four major extreme rainfall events in the southeastern United States using an object-based analysis framework that decomposes gridded precipitation fields into storm objects. As an alternative to conventional ‘‘grid-by-grid analysis,’’ the object-based approach provides a promising way to diagnose spatial properties of storms, trace them through space and time, and connect their accuracy to storm types and input data sources. The evolution of two tropical cyclones are generally captured by IMERG and NU-WRF, while the less organized spatial patterns of two mesoscale convective systems pose challenges for both. NU-WRF rain rates are generally more accurate, while IMERG better captures storm location and shape. Both show higher skill in detecting large, intense storms compared to smaller, weaker storms. IMERG’s accuracy depends on the input microwave and infrared data sources; NU-WRF does not appear to exhibit this dependence. Findings highlight that an object-oriented view can provide deeper insights into satellite precipitation performance and that the satellite precipitation community should further explore the potential for ‘‘hybrid’’ data-driven and physics-driven estimates in order to make optimal usage of satellite observations.

extreme events↗

Outer Planet Global Reference Atmospheric Model (GRAM) Upgrades

Introduction: The Global Reference Atmospheric Model (GRAM) is one of the most widely used engineering models of planetary atmospheres. The GRAM upgrades are being developed by NASA Marshall Space Flight Center and NASA Langley Research Center. This presentation will provide details regarding the upgrades to the existing GRAMs, the development of new GRAMs, and the ongoing objectives, tasks, and milestones related to the GRAM upgrades funded by the NASA Science Mission Directorate (SMD). GRAM: The GRAMs are engineering-oriented atmospheric models that estimate mean values and statistical variations of the atmospheric properties for numerous planetary destinations. They provide mean values and variability for any point in the atmosphere as well as seasonal, geographic, and altitude variations. GRAM outputs include atmospheric density, temperature, pressure, winds, and chemical composition along a user-defined path. They are extensively used by the engineering community because of their ability to create realistic dispersions. GRAMs have been integrated into high fidelity flight dynamic simulations of launch, entry, descent and landing (EDL), aerobraking and aerocapture. GRAMs are currently available for Earth, Mars, Venus, Neptune, Titan, and Uranus. Outer Planet GRAM Upgrade Status: Code Modernization. The outer planet GRAMs have been rearchitected from Fortran to a common object-oriented C++ framework called the GRAM Suite. This new architecture creates a common GRAM library of data models and utilities. The first C++ releases of the rearchitected legacy outer planet GRAMs (Neptune and Titan-GRAM) are straight conversions from the latest Fortran version. Model Upgrades. The focus of the model upgrade task is to improve the atmosphere models in the existing GRAMs and to establish a foundation for developing GRAMs for additional destinations. The GRAM ephemeris has been upgraded to the NASA Navigation and Ancillary Information Facility (NAIF) SPICE toolkit (version N0066). The calculation of the speed of sound has also been improved in the GRAMs. In FY20, the GRAM project established a contract with Hampton University to develop empirical global models for Jupiter, Saturn, Uranus, Neptune, and Titan. Upgraded Outer Planet GRAM Releases. GRAM Suite Version 1.0 was released in May 2020 and contains the rearchitected Neptune-GRAM, including the common GRAM framework and planet–specific code. GRAM Suite Version 1.1 was released in September 2020 and added the rearchitected Titan-GRAM to the GRAM Suite. A User Guide and Programmer’s Manual are released with all GRAMs. New Outer Planet GRAM Releases. New GRAMs have been developed for Uranus and Jupiter. Uranus-GRAM is based on the NASA Ames Research Center (ARC) Uranus Atmospheric Model [1,2] and was released in GRAM Suite Version 1.2 in July 2021. Jupiter-GRAM is based on Galileo probe Atmospheric Structure Instrument (ASI) data from Seiff et al. [3] Saturn-GRAM is also under development. Both Jupiter and Saturn-GRAM will be released in future versions of the GRAM Suite. Conclusions: GRAMs are vital and frequently used toolsets. Releases of the GRAM Suite, upgrades of the existing planetary GRAMs, and development of new planetary GRAMs are ongoing. Titan-GRAM atmosphere model upgrades will be included in the next phase of GRAM tasks. References: [1] Allen Jr., G.A. et al. (2014) 11th International Planetary Probe Workshop, Abstract #8023. [2] Allen Jr., G.A. et al. (2014) Workshop on the Study of the Ice Giant Planets, Abstract #2001. [3] Seiff, A. et al. (1998) JGR, 103, 22,857 -22,889. Acknowledgments: The authors gratefully acknowledge support from the NASA SMD.

atmospheric models↗

Venus Global Reference Atmospheric Model (Venus-GRAM) Upgrades

Introduction: The Venus Global Reference Atmospheric Model (Venus-GRAM) is one of the most widely used engineering models of Venus’ atmosphere. The Venus-GRAM upgrades are being developed by NASA Marshall Space Flight Center (MSFC) and NASA Langley Research Center (LaRC). This presentation will provide details regarding the upgrades that have been made to Venus-GRAM and the ongoing objectives, tasks, and milestones related to the GRAM upgrades funded by the NASA Science Mission Directorate (SMD). Venus-GRAM: Venus-GRAM is an engineering-oriented atmospheric model that estimates mean values and statistical variations of the atmospheric properties of Venus. Venus-GRAM provides mean values and variability for any point in the atmosphere as well as seasonal, geographic, and altitude variations. Venus-GRAM outputs include atmospheric density, temperature, pressure, winds, and chemical composition along a user-defined path. It is extensively used by the engineering community because of its ability to create realistic dispersions. GRAMs have been integrated into high fidelity flight dynamic simulations of launch, entry, descent and landing (EDL), aerobraking and aerocapture. GRAMs are currently available for Earth, Mars, Venus, Neptune, Titan, and Uranus. The lower atmosphere model in Venus-GRAM (up to 250 km) is based on the Venus International Reference Atmosphere (VIRA) [1]. The Venus-GRAM thermosphere (250 to 1000 km) is based on a MSFC-developed model [2] which assumes an isothermal temperature profile initialized using VIRA conditions at 250 km [3]. The VIRA version included in Venus-GRAM includes Pioneer Venus Orbiter and Probe data as well as Venera probe data, but it does not include a solid planet model or a high-resolution gravity model [4]. Venus-GRAM Upgrade Status: Code Modernization. Venus-GRAM has been rearchitected from Fortran to a common object-oriented C++ framework called the GRAM Suite. This new architecture creates a common GRAM library of data models and utilities. The first C++ release of the rearchitected Venus-GRAM is a straight conversion from the latest Fortran version. Model Upgrades. The focus of the model upgrade task is to improve the atmosphere models in the existing GRAMs and to establish a foundation for developing GRAMs for additional destinations. The GRAM ephemeris has been upgraded to the NASA Navigation and Ancillary Information Facility (NAIF) SPICE toolkit (version N0066). The calculation of the speed of sound has also been improved in the GRAMs. In FY20, the GRAM project established contracts to improve the model data within Venus-GRAM. Hampton University is developing an empirical global model for Venus. The University of Wisconsin is reanalyzing the Venus Express radio occultation observations and analyzing the Akatsuki thermal imaging data. Upgraded Venus-GRAM Release. GRAM Suite Version 1.3 will be released in September 2021 and will contain the rearchitected Venus-GRAM, including the common GRAM framework and planet–specific code. A User Guide and Programmer’s Manual are released with all GRAMs. Conclusions: GRAMs are frequently used toolsets and vital in assessing effects of atmospheres on interplanetary spacecraft during the program life cycle process. Releases of the GRAM Suite, upgrades of the existing planetary GRAMs, and development of new planetary GRAMs are ongoing. Venus-GRAM atmosphere model upgrades will be included in the next phase of GRAM tasks. References: [1] Kliore, A. J. et al. (1985) ASR, 5, 11, 1-304. [2] Justh, H. L. et al. (2006) AIAA/AAS Astrodynamics Specialist Conference & Exhibit, Abstract AIAA-2006-6394. [3] Guide to Reference and Standard Atmosphere Models, BSR/AIAA G-003-2010. [4] Limaye, S. S. (2012), LPSC VEXAG Townhall Meeting. Acknowledgments: The authors gratefully acknowledge support from the NASA SMD.

atmospheric models↗

pyCRTM: A Python Interface for the Community Radiative Transfer Model

The Community Radiative Transfer Model (CRTM) is a powerful and versatile scalar radiative transfer model for satellite data assimilation and remote sensing applications. It is implemented as an object-oriented Fortran library, enabling flexible code development and optimal runtime performance on clusters. The downsides of the Fortran interface are a steep learning curve for students and the reduced productivity of users that is typical for static compiled languages, in contrast to dynamic interpreted languages like Python. pyCRTM is a new software framework that directly interfaces the CRTM Fortran data structures and procedures in Python, leveraging both the simplicity and ease of use of Python syntax as well as the flexibility arising from the vast contemporary Python ecosystem. The goal of pyCRTM is to lower the barrier of entry for university students to learn and use the CRTM and to boost the productivity of researchers seeking to create new methods in radiative transfer and data assimilation, or seeking to apply the CRTM to study atmospheric phenomena without having to go through the pre-existing complexity of the CRTM Fortran interface.

Python↗

MLtool: Universal Supervised Machine Learning Tool to Model Tabulated Data

Machine Learning (ML) is a subfield of Artificial Intelligence that gives computers the ability to learn from past data without being explicitly programmed. The predictive capabilities of ML models have already been used to facilitate several scientific breakthroughs. However, the practical application of ML is often limited due to the gaps in technical knowledge of its users. The common issue faced by many scientific researchers is the inability to choose the appropriate ML pipelines that are needed to treat real-world data, which is often sparse and noisy. To solve this problem, we have developed an automated Machine Learning tool (MLtool) that includes a set of ML algorithms and approaches to aid scientific researchers. The current version of MLtool is implemented as an object-oriented Python code that is easily extensible. It includes 44 different regression algorithms used to model data. MLtool helps users select the best model for their data, based on the scoring metrics used. Besides regression algorithms, MLtool also includes a suite of pre- and post-processing techniques such as missing value imputation, categorical variable encoding, input feature normalization, uncertainty quantification, exploratory data analysis (EDA), etc. MLtool was tested on several publicly available multi-dimensional data sets and was found capable of making accurate predictions.

Machine learning↗

Development of a Computational Framework for the Design of Resilient Space Structures

Cyber-physical testing provides a unique platform to enable the design of resilient space structures. This hybrid approach requires the development of a structural model that accounts for various hazards (e.g., micrometeorite and debris impact) and interacts with physical tests and other sub-system models (e.g., thermal) of the space habitat. A two-dimensional finite element analysis code was developed in MATLAB to facilitate the evaluation of potential designs under operating and unexpected loads and prepare the computational framework for eventually performing cyber-physical testing. The code’s efficiency was enhanced by using an object-oriented programming approach that reduced data transfer between functions. In this study, the code is implemented to predict the response of a dome-style structure made of regolith concrete to impact loading and identify the force magnitude that will cause the tensile strength to be exceeded in domes with different thicknesses.

Tensile strength↗

MLtool Python Code

Machine Learning (ML) is a subfield of Artificial Intelligence that gives computers the ability to learn from past data without being explicitly programmed. The predictive capabilities of ML models have already been used to facilitate several scientific breakthroughs. However, the practical application of ML is often limited due to the gaps in technical knowledge of its users. The common issue faced by many scientific researchers is the inability to choose the appropriate ML pipelines that are needed to treat real-world data, which is often sparse and noisy. To solve this problem, we have developed an automated Machine Learning tool (MLtool) that includes a set of ML algorithms and approaches to aid scientific researchers. The current version of MLtool is implemented as an object-oriented Python code that is easily extensible. It includes 44 different regression algorithms used to model data. MLtool helps users select the best model for their data, based on the scoring metrics used. Besides regression algorithms, MLtool also includes a suite of pre- and post-processing techniques such as missing value imputation, categorical variable encoding, input feature normalization, uncertainty quantification, exploratory data analysis (EDA), etc. MLtool was tested on several publicly available multi-dimensional data sets and was found capable of making accurate predictions.

Machine Learning↗

Integrated Modeling and Development of Component-Based Embedded Software in Scala

Programming of embedded systems is challenging due to the low-level design patterns normally applied in the implementation of such systems. Furthermore, programming languages normally considered suitable for this level of programming, such as C and C++, are themselves low-level compared to more modern programming languages. We report on an effort exploring modeling and programming of embedded systems in modern high-level programming languages combining object-oriented and functional programming. We present an integration of four separate internal DSLs (libraries), considered useful for embedded program- ming, in the Scala programming language, for programming and testing component-based systems. These include a DSL for defining components and their connections, and a DSL for programming the individual components as hierarchical state machines. Two additional DSLs support testing, and include a DSL for writing temporal logic flavored test oracles for monitoring program executions, and a DSL for rule-based test input generation. The paper discusses the gap between Scala as used here and the needs for embedded systems programming.

Bocchino, Robert↗

Test Facilities for SHERLOC Laser Development

The Scanning Habitable Environments with Raman and Luminescence for Organics and Chemicals (SHERLOC) instrument is a deep UV laser based spectrometer that is part of NASA’s Mars Perseverance rover. The laser is a pulsed 248.6 nm NeCu hollow cathode gas discharge laser. The design, development, and testing of lasers and laser power supplies (LPS) were performed by scientists and engineers at the Jet Propulsion Laboratory (JPL) and Photon Systems Inc. (PSI). While these lasers had been used previously in extreme terrestrial environments, before they had to be qualified for operation and functionality over the expected range of environmental situations (temperature cycling, vibration, mechanical shock, low pressure corona emission testing) over the course of mission life time. The SHERLOC laser/LPS testing facilities consisted of custom-tailored environmental test chambers with metrology/control electronics. A custom LabVIEW software package was developed to autonomously operate all test facilities using a multi-threaded, object-oriented programming architecture, tasked with interfacing with many instruments simultaneously for operation and data acquisition.

Houck, Andrew↗

Updates and Modernization of NASA’s Chemical Equilibrium with Applications (CEA) Code

NASA’s Chemical Equilibrium with Applications (CEA) code is a foundational tool for propulsion system analysis. It provides equilibrium chemistry, rocket performance, shock, and detonation calculations used across NASA and the broader aerospace community. NASA Engineering and Safety Center (NESC) Activity TI-22-01730 modernized the legacy CEA2 Fortran code into CEA v3, a Fortran 2008, object-oriented software package with expanded interface support, updated thermochemical data, improved maintainability, and substantially improved workflow integration. The modernized code preserves backward compatibility with legacy CEA input workflows while enabling direct use from modern analysis environments, including Python, C, MATLAB, and automated design studies.

Mark K Leader↗

Updates and Modernization of the Chemical Equilibrium with Applications (CEA) Code

NASA’s Chemical Equilibrium with Applications (CEA) code is a foundational tool for propulsion system analysis. It provides equilibrium chemistry, rocket performance, shock, and detonation calculations used across NASA and the broader aerospace community. NASA Engineering and Safety Center (NESC) Activity TI-22-01730 modernized the legacy CEA2 Fortran code into CEA v3, a Fortran 2008, object-oriented software package with expanded interface support, updated thermochemical data, improved maintainability, and substantially improved workflow integration. The modernized code preserves backward compatibility with legacy CEA input workflows while enabling direct use from modern analysis environments, including Python, C, MATLAB, and automated design studies.

Combustion↗

COTS-based OO-component approach for software inter-operability and reuse (software systems engineering methodology)

The purpose of this research and study paper is to provide a summary description and results of rapid development accomplishments at NASA/JPL in the area of advanced distributed computing technology using a Commercial-Off--The-Shelf (COTS)-based object oriented component approach to open inter-operable software development and software reuse.

object-oriented components distributed computing a↗

A Multithreaded Scheduler for a High-Speed Spacecraft Simulator

The Cassini Spacecraft will soon journey to Saturn to perform a close-up study of the Saturnian system; its rings, moons, magneto-sphere, andf the planet itelf. Sequences of commands will be sent to the spacecraft by ground personnel to control every aspect of the mission. To validate and verify these command sequences, a bit-level, high-speed simulator (HSS) has been developed.

deadlock multiprocessing multithreaded object-orie↗

Remote Objects Message Exchange (ROME)

The performance of a single program running on a single processor is limited by the character of the processor. Moreover, the cost and difficulty of developing and sustaining programs tend to increase as their size and complexity increase. Clearly there ought to be some advantage in partitioning powerful application software in relatively small and simple components that can run in parallel on multiple processors; the software should run faster and it should be cheaper and easier to deploy. Remote Objects Message Exchange (ROME) is an attempt to provide a single relatively simple, universally available abstraction for data communication among C++ objects. It aims to enable the C++ application developer to specify objects' interactions with other objects wholly in terms of the application domain, without concern for details of interprocess communication. Every ROME-compliant object is conceptually a network peer of every other, as if each one were (for example) a separate UNIX process.

processors application software data communication↗