Search NASA⌕ Search

SEARCH · Search NASA

Results for “C 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 757 records · Page 42

Glass Additive and Subtractive Manufacturing of a Fiber Optic Rotary Encoder for Downhole Pressure Sensing

This article presents a fiber optic rotary encoder-based pressure sensor for downhole applications. The rotary encoder, which is composed of an encoding pad and an all-glass optical fiber sensing head, converts the rotation angles of a pressure transducer to digital codes. The optical fiber only serves as the telemetry channel to directly transmit the data in digital format such that the environmental temperature influence and the long-time drift are minimized. The glass additive and subtractive manufacturing (ASM) techniques are used to embed the multichannel optical fibers into a bulk-fused silica glass substrate. Because the fused silica glass shares a similar material property to the optical fiber (e.g., thermal expansion coefficient), the optical fiber sensing head is well sealed and fixed even at an elevated temperature. The picosecond laser blackening technique is used to fabricate the high reflectivity contrast encoding pad with high accuracy. Here, the proposed pressure sensor was manufactured and experimentally verified to have a signal-to-noise ratio (SNR) of 23 dB and a linear pressure response with a root-mean-square error (RMSE) of 0.37. During the 400-h 250 °C long-term stability test, there was no digital code variation. In addition, a mathematical model to study the relationships between the sensor’s performances and design parameters was established. According to the model, a 12-bit encoder (0.02% pressure sensitivity) can be achieved with a radius of 20 mm.

02 PETROLEUM↗

eCC++ : A Compiler Construction Framework for Embedded Domain-Specific Languages

eCC++ is a new compiler construction framework for embedding domain-specific programming languages within C++. That is, the host language is C++, the guest language is the DSL to be embedded in C++, and eCC++ is the tool that enables the embedding. The eCC++ framework is composed of three main components: a front-end, an API for program verification based on a functional and declarative intermediate representation (IR), and a Multi-Level Intermediate Representation (MLIR) code generator. The eCC++ front-end consists of a library of C++ classes and operators that can be used to define the guest language. Guest sources are compiled with any standard C++ compiler, and when run, the resulting executable generates an eCC++ IR representation of the program, which can be verified within the eCC++ framework. Finally, eCC++ allows for high-level and domain-specific optimizations before generating MLIR. In summary, eCC++ aims to act as a generic front-end that enables embedding guest languages into C++, and provides necessary compiler technology for program verification, targeting the existing capabilities in the MLIR infrastructure. The paper evaluates the eCC++ expressiveness and usability describing the process of embedding GraphIt, a high-performance graph language in C++.

Gonzalez Tallada, Marc↗

The spatial distribution of fixed mutations within genes coding for proteins

An examination has been conducted of the extensive amino acid sequence data now available for five protein families - the alpha crystallin A chain, myoglobin, alpha and beta hemoglobin, and the cytochromes c - with the goal of estimating the true spatial distribution of base substitutions within genes that code for proteins. In every case the commonly used Poisson density failed to even approximate the experimental pattern of base substitution. For the 87 species of beta hemoglobin examined, for example, the probability that the observed results were from a Poisson process was the minuscule 10 to the -44th. Analogous results were obtained for the other functional families. All the data were reasonably, but not perfectly, described by the negative binomial density. In particular, most of the data were described by one of the very simple limiting forms of this density, the geometric density. The implications of this for evolutionary inference are discussed. It is evident that most estimates of total base substitutions between genes are badly in need of revision.

Holmquist, R.↗

Precise and Efficient Static Array Bound Checking for Large Embedded C Programs

In this paper we describe the design and implementation of a static array-bound checker for a family of embedded programs: the flight control software of recent Mars missions. These codes are large (up to 250 KLOC), pointer intensive, heavily multithreaded and written in an object-oriented style, which makes their analysis very challenging. We designed a tool called C Global Surveyor (CGS) that can analyze the largest code in a couple of hours with a precision of 80%. The scalability and precision of the analyzer are achieved by using an incremental framework in which a pointer analysis and a numerical analysis of array indices mutually refine each other. CGS has been designed so that it can distribute the analysis over several processors in a cluster of machines. To the best of our knowledge this is the first distributed implementation of static analysis algorithms. Throughout the paper we will discuss the scalability setbacks that we encountered during the construction of the tool and their impact on the initial design decisions.

Venet, Arnaud↗

Using C to build a satellite scheduling expert system: Examples from the Explorer Platform planning system

A C-based artificial intelligence (AI) development effort which is based on a software tools approach is discussed with emphasis on reusability and maintainability of code. The discussion starts with simple examples of how list processing can easily be implemented in C and then proceeds to the implementations of frames and objects which use dynamic memory allocation. The implementation of procedures which use depth first search, constraint propagation, context switching, and blackboard-like simulation environment are described. Techniques for managing the complexity of C-based AI software are noted, especially the object-oriented techniques of data encapsulation and incremental development. Finally, all these concepts are put together by describing the components of planning software called the Planning And Resource Reasoning (PARR) Shell. This shell was successfully utilized for scheduling services of the Tracking and Data Relay Satellite System for the Earth Radiation Budget Satellite since May of 1987 and will be used for operations scheduling of the Explorer Platform in Nov. of 1991.

Mclean, David R.↗

Coded Aperture Imaging

Explore the source record for details and available documents.

Alvar Saenz-otero↗

Results of Initial Alloy 617 High Temperature Crack Growth Testing

Crack propagation data can provide valuable insights when performing a safety evaluation for a component. Alloy 617 is qualified in Section III, Division 5 of the American Society of Mechanical Engineers (ASME) Boiler and Pressure Vessel Code (BPVC) for elevated-temperature nuclear service up to 950°C. Little is known, however, about subcritical crack-growth phenomena in Alloy 617. Previous crack-growth studies of Alloy 617 did not investigate temperatures across the range which is currently qualified in Section III, Division 5. High-temperature crack-growth testing in air and in reactor-grade helium can provide data for establishing the crack-growth correlations in support of an ASME BPVC Section XI high-temperature flaw evaluation Code Case. Idaho National Laboratory (INL) has previously performed crack-growth testing, but the equipment requires revitalization. This report provides the status of crack-growth testing in Alloy 617 at INL.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

AutoSourceID-Classifier: Star-galaxy classification using a convolutional neural network with spatial information

Aims.Traditional star-galaxy classification techniques often rely on feature estimation from catalogs, a process susceptible to introducing inaccuracies, thereby potentially jeopardizing the classification’s reliability. Certain galaxies, especially those not manifesting as extended sources, can be misclassified when their shape parameters and flux solely drive the inference. We aim to create a robust and accurate classification network for identifying stars and galaxies directly from astronomical images. Methods.The AutoSourceID-Classifier (ASID-C) algorithm developed for this work uses 32x32 pixel single filter band source cutouts generated by the previously developed AutoSourceID-Light (ASID-L) code. By leveraging convolutional neural networks (CNN) and additional information about the source position within the full-field image, ASID-C aims to accurately classify all stars and galaxies within a survey. Subsequently, we employed a modified Platt scaling calibration for the output of the CNN, ensuring that the derived probabilities were effectively calibrated, delivering precise and reliable results. Results.We show that ASID-C, trained on MeerLICHT telescope images and using the Dark Energy Camera Legacy Survey (DECaLS) morphological classification, is a robust classifier and outperforms similar codes such as SourceExtractor. To facilitate a rigorous comparison, we also trained an eXtreme Gradient Boosting (XGBoost) model on tabular features extracted by SourceExtractor. While this XGBoost model approaches ASID-C in performance metrics, it does not offer the computational efficiency and reduced error propagation inherent in ASID-C’s direct image-based classification approach. ASID-C excels in low signal-to-noise ratio and crowded scenarios, potentially aiding in transient host identification and advancing deep-sky astronomy.

Astronomy & Astrophysics↗

Stress Relaxation Cracking of Alloys at Temperatures Higher Than 540°C

Type 347H stainless steel (347H SS), used in commercial concentrating solar power (CSP) thermal energy storage to store solar-salt at a temperature of 565°C, has been reported in the literature to be susceptible to stress-relaxation cracking (SRC). The welded heat-affected zone (HAZ) and fusion zone (FZ) of 347H SS, particularly in thick sections, are known to be susceptible to failure during post-weld heat treatment (reheat cracking). SRC could also occur after months or years under an elevated-temperature service environment. Two conditions must be present for failure to occur in the HAZ and/or FZ: 1) a modified or sensitized microstructure and 2) sufficiently high tensile residual stresses present at the elevated service temperature. The overarching goal of this project is to recommend SRC mitigation protocols to avoid susceptibility to fail through SRC at temperatures relevant for CSP. Post weld heat treatment conditions and alternative alloys are investigated as potential mitigation solutions to SRC. We used Gleeble thermomechanical simulation tests and finite element (FE) models to understand the susceptibility of 347H SS to SRC as a function of temperature, stress, and microstructure. We started with a literature review of weldability issues with 347H SS and techniques to mitigate SRC in 347H SS weldments. Next, we used Gleeble experiments to determine reheat cracking susceptibility in the simulated HAZ of 347SS weldments and an alternative alloy, 316L SS (NUCL 167 SPH) with boron added. We also performed Gleeble experiments to compare the reheat cracking susceptibility of 347H cross welded with two different fillers: E347, which is used in some commercial CSP TES tanks, and E16.8.2. We validated the experimental results with FE models of the residual stresses. We found that although the 316L (NUCL 167 SPH) is less susceptible to reheat cracking, it is slightly weaker than 347H and ASME BP&V codes limit its use to a service condition of 565°C. We also found that welds using E16.8.2 as the weld filler are less susceptible to failure than those using E347, likely due to the higher creep ductility of E16.8.2, and that it may be used as an alternative filler for repair welding of 347H welds or as the primary choice of filler for newly developed weld joints. We also found that post weld heat treatment could be a viable solution for mitigating stress in E347-347H SS thick, constrained welds, like those found in CSP tanks, and propose several options for mitigating SRC in existing and future TES tanks.

14 SOLAR ENERGY↗

Current Status of SAMMY [Slides]

SAMMY is used to analyze experimental data mainly in the resolved range to generate evaluated data files for use in transport codes. The code base in SAMMY is still mostly F77, i.e., fixed line length and almost no use of modules. SAMMY is used in production environments, so during the modernization its functionality cannot be lost. That means we cannot simply rewrite it from scratch. Modernization is needed to allow us to add new features (for example new and improved algorithms in the resolved range). SAMMY has a large suite of regression tests that can be run and whose outputs can be checked automatically. During the modernization process, we will not change the results of these regression tests, except if errors in the original coding are found and corrected. Future plans for SAMMY include converting all container array access to Fortran allocate (or use C++ storage) and finishing the conversion to use C++ storage for all resonance parameters. We have an initial C++ implementation of the cross section reconstruction from R-Matrix parameters, used in AMPX. We will update this code, add reconstruction of angular data and derivatives and will use it in AMPX and SAMMY. Once this is done, we can start to add new features to the R-Matrix algorithm, like complex channel radii or relativistic effects. We also intend to modularize SAMMY to separate cross section reconstruction, experimental effect etc. from the Bayes fitting routines.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

SequenceL: Automated Parallel Algorithms Derived from CSP-NT Computational Laws

With the introduction of new parallel architectures like the cell and multicore chips from IBM, Intel, AMD, and ARM, as well as the petascale processing available for highend computing, a larger number of programmers will need to write parallel codes. Adding the parallel control structure to the sequence, selection, and iterative control constructs increases the complexity of code development, which often results in increased development costs and decreased reliability. SequenceL is a high-level programming language that is, a programming language that is closer to a human s way of thinking than to a machine s. Historically, high-level languages have resulted in decreased development costs and increased reliability, at the expense of performance. In recent applications at JSC and in industry, SequenceL has demonstrated the usual advantages of high-level programming in terms of low cost and high reliability. SequenceL programs, however, have run at speeds typically comparable with, and in many cases faster than, their counterparts written in C and C++ when run on single-core processors. Moreover, SequenceL is able to generate parallel executables automatically for multicore hardware, gaining parallel speedups without any extra effort from the programmer beyond what is required to write the sequen tial/singlecore code. A SequenceL-to-C++ translator has been developed that automatically renders readable multithreaded C++ from a combination of a SequenceL program and sample data input. The SequenceL language is based on two fundamental computational laws, Consume-Simplify- Produce (CSP) and Normalize-Trans - pose (NT), which enable it to automate the creation of parallel algorithms from high-level code that has no annotations of parallelism whatsoever. In our anecdotal experience, SequenceL development has been in every case less costly than development of the same algorithm in sequential (that is, single-core, single process) C or C++, and an order of magnitude less costly than development of comparable parallel code. Moreover, SequenceL not only automatically parallelizes the code, but since it is based on CSP-NT, it is provably race free, thus eliminating the largest quality challenge the parallelized software developer faces.

Cooke, Daniel↗

Tensoral for post-processing users and simulation authors

The CTR post-processing effort aims to make turbulence simulations and data more readily and usefully available to the research and industrial communities. The Tensoral language, which provides the foundation for this effort, is introduced here in the form of a user's guide. The Tensoral user's guide is presented in two main sections. Section one acts as a general introduction and guides database users who wish to post-process simulation databases. Section two gives a brief description of how database authors and other advanced users can make simulation codes and/or the databases they generate available to the user community via Tensoral database back ends. The two-part structure of this document conforms to the two-level design structure of the Tensoral language. Tensoral has been designed to be a general computer language for performing tensor calculus and statistics on numerical data. Tensoral's generality allows it to be used for stand-alone native coding of high-level post-processing tasks (as described in section one of this guide). At the same time, Tensoral's specialization to a minute task (namely, to numerical tensor calculus and statistics) allows it to be easily embedded into applications written partly in Tensoral and partly in other computer languages (here, C and Vectoral). Embedded Tensoral, aimed at advanced users for more general coding (e.g. of efficient simulations, for interfacing with pre-existing software, for visualization, etc.), is described in section two of this guide.

Dresselhaus, Eliot↗

Mo than meets the eye: genomic insights into molybdoenzyme diversity of Seleniivibrio woodruffii strain S4T

Abstract Seleniivibrio woodruffii strain S4T is an obligate anaerobe belonging to the phylum Deferribacterota. It was isolated for its ability to respire selenate and was also found to respire arsenate. The high-quality draft genome of this bacterium is 2.9 Mbp, has a G+C content of 48%, 2762 predicted genes of which 2709 are protein-coding, and 53 RNA genes. An analysis of the genome focusing on the genes encoding for molybdenum-containing enzymes (molybdoenzymes) uncovered a remarkable number of genes encoding for members of the dimethylsulfoxide reductase family of proteins (DMSOR), including putative reductases for selenate and arsenate respiration, as well as genes for nitrogen fixation. Respiratory molybdoenzymes catalyze redox reactions that transfer electrons to a variety of substrates that can act as terminal electron acceptors for energy generation. Seleniivibrio woodruffii strain S4T also has essential genes for molybdate transporters and the biosynthesis of the molybdopterin guanine dinucleotide cofactors characteristic of the active centers of DMSORs. Phylogenetic analysis revealed candidate respiratory DMSORs spanning nine subfamilies encoded within the genome. Our analysis revealed the untapped potential of this interesting microorganism and expanded our knowledge of molybdoenzyme co-occurrence.

Louie, Tiffany S.↗

Using PVM to host CLIPS in distributed environments

It is relatively easy to enhance CLIPS (C Language Integrated Production System) to support multiple expert systems running in a distributed environment with heterogeneous machines. The task is minimized by using the PVM (Parallel Virtual Machine) code from Oak Ridge Labs to provide the distributed utility. PVM is a library of C and FORTRAN subprograms that supports distributive computing on many different UNIX platforms. A PVM deamon is easily installed on each CPU that enters the virtual machine environment. Any user with rsh or rexec access to a machine can use the one PVM deamon to obtain a generous set of distributed facilities. The ready availability of both CLIPS and PVM makes the combination of software particularly attractive for budget conscious experimentation of heterogeneous distributive computing with multiple CLIPS executables. This paper presents a design that is sufficient to provide essential message passing functions in CLIPS and enable the full range of PVM facilities.

Myers, Leonard↗

Coupling Noah-Multiparameterization land-surface Model with Energy Research and Forecasting Model

The Energy Research and Forecasting (ERF) model is a high-performance atmospheric model built on the AMReX adaptive mesh refinement (AMR) framework, enabling efficient simulations on heterogeneous computing platforms that combine multicore processors with hardware accelerators. To support land–atmosphere interactions within ERF’s AMR-based environment, a land-surface model must be capable of operating directly on hierarchically refined meshes. In this work, we present a methodology for coupling the Fortran-based Noah-Multiparameterization (Noah-MP) land-surface model with ERF’s C++ codebase. Rather than rewriting Noah-MP, we construct a Fortran–C interoperability layer using CodeScribe, a tool that leverages large language models (LLMs) to automate the generation of interface code. CodeScribe applies structured prompting techniques to generate bindings that support efficient data exchange and function calls between ERF and Noah-MP. The coupling framework also incorporates AMR-aware data handling strategies, allowing NoahMP to operate seamlessly within ERF’s hierarchical mesh structure. This work provides a structured approach for integrating legacy Fortran models into modern C++-based modeling systems using LLM-assisted code generation.

54 ENVIRONMENTAL SCIENCES↗