Search NASA⌕ Search

SEARCH · Search NASA

Results for “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 73 records · Page 4

MatLib-1.2: Nuclear Material Properties Library

The U.S. Nuclear Regulatory Commission (NRC) uses the computer code Fuel Analysis under Steady-state and Transients (FAST) to model steady-state and transient fuel behavior to support regulatory decisions. FAST relies on a material properties library (MatLib) that contains the thermal and mechanical properties of the nuclear materials and coolants of interest to support the US commercial nuclear industry. MatLib contains properties for a variety of nuclear fuels, cladding and other structural materials, gases, and coolants. In this document, material property correlations for the materials contained within MatLib are presented and discussed. When available, comparisons are made between the material property correlations and available data. Additionally, uncertainties are quantified on the material proper- ties, which is then used by the NRC to support uncertainty quantification for best-estimate plus uncertainty safety evaluation reviews. This document describes MatLib-1.2, which was updated from MatLib-1.1 to include cleanup of the code for streamlined calls to MatLib from the main FAST source code, and to enable easier readability of the code by developers that maintain and enhance the FAST code. The results of MatLib did not change between MatLib-1.1 and MatLib-1.2; however, the source code changes warranted incrementing the minor numbering of the software version number. The changes may result in faster execution times of FAST-1.2 as compared to FAST-1.1. This document is one of a series of documents on FAST; the other documents detail the models used by FAST as well as its integral assessment to experiments and commercial data.

11 NUCLEAR FUEL CYCLE AND FUEL MATERIALS↗

A large-scale analysis of bioinformatics code on GitHub

In recent years, the explosion of genomic data and bioinformatic tools has been accompanied by a growing conversation around reproducibility of results and usability of software. However, the actual state of the body of bioinformatics software remains largely unknown. Here, the purpose of this paper is to investigate the state of source code in the bioinformatics community, specifically looking at relationships between code properties, development activity, developer communities, and software impact. To investigate these issues, we curated a list of 1,720 bioinformatics repositories on GitHub through their mention in peer-reviewed bioinformatics articles. Additionally, we included 23 high-profile repositories identified by their popularity in an online bioinformatics forum. We analyzed repository metadata, source code, development activity, and team dynamics using data made available publicly through the GitHub API, as well as article metadata. We found key relationships within our dataset, including: certain scientific topics are associated with more active code development and higher community interest in the repository; most of the code in the main dataset is written in dynamically typed languages, while most of the code in the high-profile set is statically typed; developer team size is associated with community engagement and high-profile repositories have larger teams; the proportion of female contributors decreases for high-profile repositories and with seniority level in author lists; and, multiple measures of project impact are associated with the simple variable of whether the code was modified at all after paper publication. In addition to providing the first large-scale analysis of bioinformatics code to our knowledge, our work will enable future analysis through publicly available data, code, and methods.

97 MATHEMATICS AND COMPUTING↗

Systems and methods for binary code analysis

Human-readable (HR) code may be derived from a binary. The HR code may be configured to have statistical properties suitable for machine-learned (ML) translation. The HR code may comprise source code, intermediate code, assembly code, or the like. A machine-learned translator may be configured to translate the HR code into labels comprising semantic information pertaining to respective functions of the binary, such as a function name, role, or the like. Execution of the binary may be blocked in response to translating the HR code to a label associated with malware, such as cryptocurrency mining malware or the like. Conversely, the binary may be permitted to proceed to execution in response to determining that the translation is free from labels indicative of malware.

Anderson, Matthew W.↗

SolTrace™ (Optical Analysis Software) [SWR-26-065 and SWR-01-45]

SolTrace™ is a software tool developed at the National Renewable Energy Laboratory (NREL) to model concentrating solar power (CSP) systems and analyze their optical performance. Although ideally suited for solar applications, the code can also be used to model and characterize many general optical systems. The creation of the code evolved out of a need to model more complex solar optical systems than could be modeled with existing tools. SolTrace can be installed either using the official NREL packaged distribution or from source code at the SolTrace open source project website. NREL welcomes contributions from programmers to the simulation engine or to the interface and encourages interested persons to get involved. More information on contributing, compiling the source code, and license requirements is available on the project website.(https://www.nrel.gov/csp/soltrace.html). For details on integration with SAM, see the SAM website. (https://sam.nrel.gov/)

Wendelin, Tim↗

MOOSE Framework Speed and Memory Optimizations

The Multiphysics Object Oriented Simulation Environment (MOOSE) framework has been developed to solve a variety of complex simulations ranging from groundwater flows to full reactor simulations. MOOSE excels at solving fully-implicit, fully-coupled, highly nonlinear models using the Jacobian Free Newton-Krylov (JFNK) method relying on years of expertise in several dependent packages including PETSc, libMesh, Hypre and many others. The modular design of MOOSE enables the rapid development of new physics models that can be coupled with relative ease within the framework for building up simulations of different levels of complexity. With the ongoing adoption of MOOSE to new application areas along with streamlining of existing simulations, the priorities must be adjusted to include code optimizations. This includes both execution speed and the memory footprint of MOOSE-based simulations. These two categories can be further broken down into ''micro-optimizations'' or source code optimizations and algorithmic optimizations where source code is restructured to accomplish the same tasks through a more efficient means. However, before any code optimizations can occur, one must have robust way of measuring these critical simulation properties to identify the best candidates for optimizations along with having a way to identify the effectiveness of proposed optimizations to the framework. This report discusses the preliminary work towards the implementation of a robust execution baseline of the framework and derivative applications under a variety of different simulations. In addition, several potential optimization target areas in both the MOOSE framework and dependent libraries have been identified. An implementation strategy and potential benefits are discussed.

97 MATHEMATICS AND COMPUTING↗

Language Independent Static Analysis (LISA)

Software is becoming increasingly important in nearly every aspect of global society and therefore in nearly every aspect of national security as well. While there have been major advancements in recent years in formally proving properties of program source code during development, such approaches are still in the minority among development teams, and the vast majority of code in this software explosion is produced without such properties. In these cases, the source code must be analyzed in order to establish whether the properties of interest hold. Because of the volume of software being produced, automated approaches to software analysis are necessary to meet the need. However, this software boom is not occurring in just one language. There are a wide range of languages of interest in national security spaces, including well-known languages such as C, C++, Python, Java, Javascript, and many more. But recent years have produced a wide range of new languages, including Nim, (2008), Go (2009), Rust (2010), Dart (2011), Kotlin (2011), Elixir (2011), Red (2011), Julia (2012), Typescript (2012), Swift (2014), Hack (2014), Crystal (2014), Ballerina (2017) and more. Historically, automated software analyses are implemented as tools that intermingle both the analysis question at hand with target language dependencies throughout their code, making re-use of components for different analysis questions or different target languages impractical. This project seeks to explore how mission-relevant, static software analyses can be designed and constructed in a language-independent fashion, dramatically increasing the reusability of software analysis investments.

97 MATHEMATICS AND COMPUTING↗

Hydrologic Model Data for the East Fork Poplar Creek Watershed Simulated with the Advanced Terrestrial Simulator (ATS): Streamflow and Network Expansion–Contraction Dynamics

This dataset supports hydrologic modeling and stream network expansion–contraction analysis for the East Fork Poplar Creek (EFPC) Watershed in Tennessee. It includes a Jupyter notebook for model setup, model configuration files, simulation outputs, and derived products used to evaluate model performance and investigate stream dynamics under varying hydrologic conditions. The dataset was generated using the Watershed Workflow Python package and the Advanced Terrestrial Simulator (ATS), enabling integrated surface–subsurface hydrologic simulations using a stream-aligned mesh. Outputs include high-resolution time series of streamflow, active network length, water table depth, and related hydrologic variables. Also included are spatially explicit stream persistency indices and classifications of reaches as perennial or non-perennial. These data facilitate reproducibility and support further research on stream intermittency and variability in network extent.The model data archive is organized in following directories:1) model_setup_inputsContains the Watershed Workflow Jupyter notebooks (accessed through any open source code editor), selected input datasets, and resulting ATS input files, including XML files (access through any open source code editor), computational mesh (.exo files can be viewed using Paraview), and meteorological forcing files (.h5 files can be accessed through h5py python package and HDFView open source software). 2) model_outputsIncludes ATS simulation outputs relevant to this study. Time series of spatially integrated or averaged variables (e.g., streamflow, water table depth) are provided as CSV files. Select spatial fields (e.g., ponded depth and water table depth) are saved as pickled Python objects to reduce file size, and can be accessed through pickle package in Python. Key geometry objects from Watershed Workflow—such as the surface mesh and river tree—are also included to support analysis of streamflow persistency and expansion–contraction dynamics. These files can also be accessed through Watershed Workflow Python package.3) model_evaluationProvides observed streamflow time series and field survey-based flow regime classifications used to evaluate model performance. Jupyter notebooks for processing ATS outputs and comparing model predictions with observations to build confidence in the model prior to scientific analysis are also included.4) Q_L_relationshipsContains workflows for generating time series of discharge, active network length, and related hydrologic variables used in the stream network expansion–contraction analysis. Includes routines for delineating baseflow-dominated periods. For each catchment, notebooks and processed data (as pickled DataFrames accessed through Pandas Python package) are provided. 5) figure_scriptsProvides the Jupyter notebooks used to generate the figures presented in the paper.

54 ENVIRONMENTAL SCIENCES↗

Open Data, Models, and Codes for Vanadium Redox Batch Cell Systems: A Systems Approach Using Zero-Dimensional Models

Abstract In this paper, we study, analyze, and validate some important zero-dimensional physics-based models for vanadium redox batch cell (VRBC) systems and formulate an adequate physics-based model that can predict the battery performance accurately. In the model formulation process, a systems approach to multiple parameters estimation has been conducted using VRBC systems at low C-rates (~C/30). In this batch cell system, the effect of ions' crossover through the membrane is dominant, and therefore, the capacity loss phenomena can be explicitly observed. Paradoxically, this means that using the batch system might be a better approach for identifying a more suitable model describing the effect of ions transport. Next, we propose an efficient systems approach, which enables to help understand the battery performance quickly by estimating all parameters of the battery system. Finally, open source codes, executable files, and experimental data are provided to enable people's access to robust and accurate models and optimizers. In battery simulations, different models and optimizers describing the same systems produce different values of the estimated parameters. Providing an open access platform can accelerate the process to arrive at robust models and optimizers by continuous modification from the users' side.

25 ENERGY STORAGE↗

CTF 4.0 Theory Manual

Coolant-Boiling in Rod Arrays - Two Fluids (COBRA-TF) is a thermal/hydraulic (T/H) simulation code designed for light water reactor (LWR) vessel analysis. It uses a two-fluid, three-field (i.e., fluid film, fluid drops, and vapor) modeling approach. Both sub-channel and 3D Cartesian forms of 9 conservation equations are available for LWR modeling. The code was originally developed by Pacific Northwest Laboratory in 1980 and had been used and modified by several institutions over the last few decades. COBRA-TF also found use at the Pennsylvania State University (PSU) by the Reactor Dynamics and Fuel Modeling Group (RDFMG) and has been improved, updated, and subsequently re-branded as CTF. As part of the improvement process, it was necessary to generate sufficient documentation for the open-source code which had lacked such material upon being adopted by RDFMG. This document serves mainly as a theory manual for CTF, detailing the many two-phase heat transfer, drag, and important accident scenario models contained in the code as well as the numerical solution process utilized. Coding of the models is also discussed, all with consideration for updates that have been made when transitioning from COBRA-TF to CTF. Further documentation outside of this manual is also available at RDFMG which focus on code input deck generation and source code global variable and module listings.

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

CTF Theory Manual (V.4.2)

Coolant-Boiling in Rod Arrays—Two Fluids (COBRA-TF) is a thermal/hydraulic (T/H) simulation code designed for light water reactor (LWR) vessel analysis. It uses a two-fluid, three-field (i.e. fluid film, fluid drops, and vapor) modeling approach. Both sub-channel and 3D Cartesian forms of 9 conservation equations are available for LWR modeling. The code was originally developed by Pacific Northwest Laboratory in 1980 and had been used and modified by several institutions over the last few decades. COBRA-TF also found use at the Pennsylvania State University (PSU) by the Reactor Dynamics and Fuel Modeling Group (RDFMG) and has been improved, updated, and subsequently re-branded as CTF. As part of the improvement process, it was necessary to generate sufficient documentation for the open-source code which had lacked such material upon being adopted by RDFMG. This document serves mainly as a theory manual for CTF, detailing the many two-phase heat transfer, drag, and important accident scenario models contained in the code as well as the numerical solution process utilized. Coding of the models is also discussed, all with consideration for updates that have been made when transitioning from COBRA-TF to CTF. Further documentation outside of this manual is also available at RDFMG which focus on code input deck generation and source code global variable and module listings

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

PIXiE: an algorithm for automated ion mobility arrival time extraction and collision cross section calculation using global data association

Abstract Motivation Drift tube ion mobility spectrometry coupled with mass spectrometry (DTIMS-MS) is increasingly implemented in high throughput omics workflows, and new informatics approaches are necessary for processing the associated data. To automatically extract arrival times for molecules measured by DTIMS at multiple electric fields and compute their associated collisional cross sections (CCS), we created the PNNL Ion Mobility Cross Section Extractor (PIXiE). The primary application presented for this algorithm is the extraction of data that can then be used to create a reference library of experimental CCS values for use in high throughput omics analyses. Results We demonstrate the utility of this approach by automatically extracting arrival times and calculating the associated CCSs for a set of endogenous metabolites and xenobiotics. The PIXiE-generated CCS values were within error of those calculated using commercially available instrument vendor software. Availability and implementation PIXiE is an open-source tool, freely available on Github. The documentation, source code of the software, and a GUI can be found at https://github.com/PNNL-Comp-Mass-Spec/PIXiE and the source code of the backend workflow library used by PIXiE can be found at https://github.com/PNNL-Comp-Mass-Spec/IMS-Informed-Library. Supplementary information Supplementary data are available at Bioinformatics online.

Ma, Jian↗

Unified Language Frontend for Physic-Informed AI/ML

Artificial intelligence and machine learning (AI/ML) are becoming important tools for scientific modeling and simulation as in several other fields such as image analysis and natural language processing. ML techniques can leverage the computing power available in modern systems and reduce the human effort needed to configure experiments, interpret and visualize results, draw conclusions from huge quantities of raw data, and build surrogates for physics based models. Domain scientists in fields like fluid dynamics, microelectronics and chemistry can automate many of their most difficult and repetitive tasks or improve the design times by use of the faster ML-surrogates. However, modern ML and traditional scientific highperformance computing (HPC) tend to use completely different software ecosystems. While ML frameworks like PyTorch and TensorFlow provide Python APIs, most HPC applications and libraries are written in C++. Direct interoperability between the two languages is possible but is tedious and error-prone. In this work, we show that a compiler-based approach can bridge the gap between ML frameworks and scientific software with less developer effort and better efficiency. We use the MLIR (multi-level intermediate representation) ecosystem to compile a pre-trained convolutional neural network (CNN) in PyTorch to freestanding C++ source code in the Kokkos programming model. Kokkos is a programming model widely used in HPC to write portable, shared-memory parallel code that can natively target a variety of CPU and GPU architectures. Our compiler-generated source code can be directly integrated into any Kokkosbased application with no dependencies on Python or cross-language interfaces.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

Extension of mutation testing for the requirements and design faults - 322

Mutation Testing is a fault-based software testing technique that is considered to be the most efficient in detecting faults. It focuses on the software code level and follows a set of rules which are called mutation operators to systematically seed faults into the source code. Each seeded fault results is a new version of the software, which is called a mutant. Mutation testing promises to be effective in identifying adequate test data which can be used to find faults in the source code. However, traditional mutation testing is not geared towards the detection of requirements and design faults. To cover the full spectrum of possible faults, the mutation framework has been extended from the code level to the requirements and design level. Twenty-nine defects that appear in requirements and design documents were identified to define appropriate mutants. Then corresponding mutation operators that model the defects were developed. For each mutation operator, the strategy to generate a mutant and the evaluation of the number of possible mutants were defined. Existing code level cost reduction techniques were tailored for requirements and design mutation operators that result in a large number of mutants. With the extended mutation testing framework, the full spectrum of possible faults will be tested and identified to ensure the safety and functionality of the software. (authors)

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

ECP Milestone Memo WBS 2.3.4.13 ECP/VTK-m FY19Q1 [MS-19/01-03] ZFP / Release / Clip STDA05-17

The STDA05-17 milestone comprises the following 3 deliverables. VTK-m Release 2 We will provide a release of VTK-m software and associated documentation. The source code repository will be tagged at a stable state, and, at a minimum, tarball captures of the source code will be made available from the web site. A version of the VTK-m User's Guide documenting this release will also be made available. Productionize zfp compression The "ZFP: Compressed Floating-Point Arrays" project (WBS 1.3.4.13) is creating an implementation of ZFP compression in VTK-m. Their implementation will be focused on operating in CUDA. The VTK-m project will assist by generalizing the implementation to other devices (such as multi-core CPUs). We will also assist in productionizing the code such that it can be used by external projects and products. Clip Clip operations intersect meshes with implicit functions. It is the foundation of spatial subsetting algorithms, such as "box," and the foundation of data-based subsetting, such as "isovolume." The algorithm requires considering thousands of possible cases, and is thus quite difficult to implement. This milestone will implement clipping to be sufficient for Visit's and ParaView's needs.

97 MATHEMATICS AND COMPUTING↗

Using CAASCADE and CrayPAT for Analysis of HPC Applications

We describe our work on integrating CAASCADE with CrayPAT to obtain both static and dynamic information on characteristics of high-performance computing (HPC) applications. CAASCADE --- Compiler-Assisted Application Source Code Analysis and Database---is a system we are developing to extract features of application from its source code by utilizing compiler plugins. CrayPAT enable us to add runtime-based information to CAASCADE's feature detection. We present results from analysis of HPC applications.

Budiardja, Reuben↗

MCNP6 and SERPENT2 Performances with Unstructured Mesh Geometry

Traditionally, Monte Carlo codes model a nuclear reactor by combinatorial geometry. In this model, volume primitives (e,g, spheres, cylinders, parallelepipeds...) are combined together by Boolean operations (e.g. union, intersection, and complement) and replicated by lattice definitions to build the core geometry. Recently, high performances computing platforms allowed using unstructured mesh geometry in Monte Carlo codes. When this option is chosen, any type of core geometry can be modeled since the restriction of using volume primitives is removed. In an unstructured mesh geometry, Boolean operations and lattice definitions are not used since each volume is defined by triangular surfaces (facets). This study focuses on two Monte Carlo codes: MCNP (version 6.1.1 beta) developed at Los Alamos National Laboratory since 1957 and written in FORTRAN90, C, and C++ (267,000 total source code lines), and SERPENT (version 2.1.27) developed at VTT Technical Research Centre since 2004 and written in C (195,000 total source code lines). These two codes follow different approaches for the unstructured mesh geometry modeling: MCNP uses ABAQUS format, whereas SERPENT uses the STL format. In the STL (STereoLithographic) geometry model only the surfaces of the volume are meshed; the interior part of the volumes is not meshed. In the STL geometry model, the whole geometry is defined by the sequence of SOLID and ENDSOLID sections. Each volume of the geometry must have a SOLID and ENDSOLID section. The STL file contains no information specifying the materials of the volumes. MCNP and SERPENT can model any kind of complicated geometry using unstructured meshes. MCNP and SERPENT use the ABAQUS and STL file formats, respectively. The STL file format does not have tetrahedrons and has only triangular facets on the volumes boundary. This allows SERPENT simulations to run 10 times faster than MCNP. However, if Monte Carlo results have to be coupled to thermal-hydraulics codes, the interior of the geometry volumes must be meshed, which may reduce SERPENT performances.

97 MATHEMATICS AND COMPUTING↗

ECP ST Project 2.3.1.06-STPM08-RAJA (Final Report)

Modern high-performance computing architectures are diverse, with hardware designs that feature multicore CPUs and CPUs plus accelerators, such as GPUs or FPGAs. Achieving good application performance often requires using a programming model and managing application data in ways that are best suited to a particular platform. For large codes that are used daily in production, and are under continual development, architecture-specific ports are untenable. Maintainability requires single-source code that is performance portable across a range of architectures and programming model back-ends. This report describes RAJA, Umpire, and CHAI, three software libraries that provide complementary capabilities to enable application portability for high performance computing (HPC) platforms. In particular, these libraries provide software abstractions that insulate application source code from hardware architecture and programming model-specific implementation details. These development of these libraries was motivated by the needs of multiphysics applications in the Weapons Simulation and Computing Program (WSC) at Lawrence Livermore National Laboratory (LLNL). Funding though the Exascale Computing Project (ECP) Software Technology (ST) project 2.3.1.06 RAJA has fostered outreach and collaboration with the ECP application and software technology development communities. In this report, we describe ECP adoption and integration of these tools to this point. The larger goal of the report is to describe to the ECP community what these projects offer, how they are used, and how to approach adoption and integration of them.

97 MATHEMATICS AND COMPUTING↗

SetBERT: the deep learning platform for contextualized embeddings and explainable predictions from high-throughput sequencing

MOTIVATION: High-throughput sequencing (HTS) is a modern sequencing technology used to profile microbiomes by sequencing thousands of short genomic fragments from the microorganisms within a given sample. This technology presents a unique opportunity for artificial intelligence to comprehend the underlying functional relationships of microbial communities. However, due to the unstructured nature of HTS data, nearly all computational models are limited to processing DNA sequences individually. This limitation causes them to miss out on key interactions between microorganisms, significantly hindering our understanding of how these interactions influence the microbial communities as a whole. Furthermore, most computational methods rely on post-processing of samples which could inadvertently introduce unintentional protocol-specific bias. RESULTS: Addressing these concerns, we present SetBERT, a robust pre-training methodology for creating generalized deep learning models for processing HTS data to produce contextualized embeddings and be fine-tuned for downstream tasks with explainable predictions. By leveraging sequence interactions, we show that SetBERT significantly outperforms other models in taxonomic classification with genus-level classification accuracy of 95%. Furthermore, we demonstrate that SetBERT is able to accurately explain its predictions autonomously by confirming the biological-relevance of taxa identified by the model. AVAILABILITY AND IMPLEMENTATION: All source code is available at https://github.com/DLii-Research/setbert. SetBERT may be used through the q2-deepdna QIIME 2 plugin whose source code is available at https://github.com/DLii-Research/q2-deepdna.

Ludwig, David W↗