Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “C CODES”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 451 records · Page 25

Polyglot Framework

Polyglot utilizes a combination of custom and open source tools and libraries to provide developers with a consistent environment for building tools, etc. for a wide variety of targets with minimal changes to the code being built. It supports a variety of architectures and operating systems/firmware in as target-agnostic way as possible. This allows for developers to minimize the amount of time/effort required to port tools—in particular, forensic tools—to a wide variety of targets. The project is comprised of two main components: a frontend toolchain that understands how to utilize other tools in order to build code for a specific target, and a minimalistic C library specific to Polyglot. These collectively provide the method to build code for a specific target, and the capability for code to interact with the underlying operating system when run on the target. Both components are written in a way to minimize the amount of target-specific knowledge required to both develop and utilize the project.

Huddleston, TimothyA.↗

Validation of Multi-Dimensional Stirling Engine Design Codes: Measurements in the 90-Degree Turn Test Section

The work to be presented herein was motivated largely by a desire to improve the understanding of oscillatory fluid mechanics inside a Stirling engine. To this end, a CFD project was undertaken at Cleveland State University with the goal of accurately predicting the fluid dynamics within an engine or engine component. Along with the CFD efforts, a code validation project was undertaken at the University of Minnesota. The material covered herein consists of four main parts. In section 1, an experimental investigation of a small aspect ratio impinging jet is discussed. Included in this discussion is a description of the test facilities and instrumentation. A presentation of the collected data is given and comments are made. Next, in section 2, a parallel experimental investigation is presented in which the same geometry as that of section 1 is used, but the flow conditions are changed from steady unidirectional flow to sinusoidally oscillating flow. In section Two, collected data are presented and comments are made. In section 3, a comparison is made between the results of sections 1 and 2, namely, sinusoidally oscillating flow results are compared to steady, unidirectional flow results from the same geometry. Finally, in section 4, a comparison is made between experimentally collected data (the main subject of this work) and CFD generated results. Furthermore, in appendix A, an introductory description of the primary measurement tool used in the experimental process the hot wire anemometer is given for the unfamiliar. The anemometer calibration procedure is described in appendix B. A portfolio of data reduction and data processing codes is provided in appendix C and lastly, a DVD and a roadmap of its contents is provided in an appendix D. 1.0 Unidirectional Flow Investigations 1.1 Introduction This unidirectional experimental program was undertaken to complement an oscillatory flow investigation conducted at the University of Minnesota. The oscillatory investigation is discussed thoroughly in section 2. We defer the description of the motivation behind these experiments until the introduction of section 2. The work that is discussed in this thesis began (chronologically) with oscillatory flow visualization experiments. It was decided that it would be valuable and important to investigate the flow under unidirectional conditions in the same geometry as that of the oscillatory experiments. The thought was that the unidirectional case would be less complicated to model with a CFD program (a moving boundary would be replaced with a steady state boundary condition). Thus, a series of unidirectional experiments were carried out to capture the important features of the flow within the test section. The purpose of these experiments was to provide a data set for comparison to CFD generated velocity fields. Hot-wire anemometry data were taken and flow visualization was conducted as a standard for code validation. The flow geometry was simple, such that it could be easily gridded in a CFD program. However, the geometry provided separation and transition zones, shear layers and recirculation zones. These characteristics made the flow complex and challenging for CFD computation. We comment that the order of experiments that produced this report is as follows: experimental flow visualization under oscillatory flow conditions was carried out; this was followed by unidirectional flow visualization and hot wire anemometry; finally, oscillatory hot wire anemometry was conducted. We present the results out of chronological order for the following reason: the unidirectional results are easier

Simon, Terrence W.↗

Application of an airfoil stall flutter computer prediction program to a three-dimensional wing: Prediction versus experiment

An aerodynamic computer code, capable of predicting unsteady and C sub m values for an airfoil undergoing dynamic stall, is used to predict the amplitudes and frequencies of a wing undergoing torsional stall flutter. The code, developed at United Technologies Research Corporation (UTRC), is an empirical prediction method designed to yield unsteady values of normal force and moment, given the airfoil's static coefficient characteristics and the unsteady aerodynamic values, alpha, A and B. In this experiment, conducted in the PSU 4' x 5' subsonic wind tunnel, the wing's elastic axis, torsional spring constant and initial angle of attack are varied, and the oscillation amplitudes and frequencies of the wing, while undergoing torsional stall flutter, are recorded. These experimental values show only fair comparisons with the predicted responses. Predictions tend to be good at low velocities and rather poor at higher velocities.

Muffoletto, A. J.↗

Users manual for the IMA program. Appendix C: Profile design program listing

The source code for the Profile Design Program (PDP) for the Impulsive Mission Analysis (IMA) program is divided into several files. In a similar manner, the FORTRAN listings of the PDP's subroutines and function routines are organized into several groups in this appendix. Within each group, the FORTRAN listings are ordered alphabetically by routine name. Names and brief descriptions of each routine are listed in the same order as the Fortran listings.

Source record↗

Communications and instrumentation

Communications and instrumentation systems for Gemini spacecraft - pulse code modulation equipment on Gemini II through VII

PULSE CODE MODULATION /PCM/↗

fp-tools

The output of a molecular dynamics simulation is a data file containing properties of the motion of the simulated particles as a function of time (e.g., positions, velocities). From this output, scientists can extract various properties which give insight into the physics of the system; for example, the radial distribution function can be computed from the particle positions, which gives insight into how close the system is to melting or freezing. Many publicly available codes to perform molecular dynamics simulations exist and have been well adopted by the scientific community (e.g., LAMMPS, VASP). However, it remains standard practice for scientists to write their own post-processing scripts to extract various properties of interest from the molecular dynamics simulation data. Since in many cases scientists are interested in the same set of “textbook” properties, there is a large duplication of effort in writing these post-processing scripts. Our proposed code, FP-Tools, is a C++ toolkit designed to help scientists extract and analyze quantities of interest from the output of a molecular dynamics simulation, eliminating the need for them to write these codes themselves and thus reducing this duplication of effort. The quantities which are computed by our code are well documented in the literature (either in publications or textbooks), and the algorithms we implement to compute these properties are also well known in the field. We are not introducing new science or methods here; rather, our primary goal is to provide a useful tool to the community in the form of a well-documented, easy to use package.

Hartman, Leah↗

Enabling Parallel Performance and Portability of Solid Mechanics Simulations Across CPU and GPU Architectures

Efficiently simulating solid mechanics is vital across various engineering applications. As constitutive models grow more complex and simulations scale up in size, harnessing the capabilities of modern computer architectures has become essential for achieving timely results. This paper presents advancements in running parallel simulations of solid mechanics on multi-core CPUs and GPUs using a single-code implementation. This portability is made possible by the C++ matrix and array (MATAR) library, which interfaces with the C++ Kokkos library, enabling the selection of fine-grained parallelism backends (e.g., CUDA, HIP, OpenMP, pthreads, etc.) at compile time. MATAR simplifies the transition from Fortran to C++ and Kokkos, making it easier to modernize legacy solid mechanics codes. We applied this approach to modernize a suite of constitutive models and to demonstrate substantial performance improvements across different computer architectures. This paper includes comparative performance studies using multi-core CPUs along with AMD and NVIDIA GPUs. Results are presented using a hypoelastic–plastic model, a crystal plasticity model, and the viscoplastic self-consistent generalized material model (VPSC-GMM). The results underscore the potential of using the MATAR library and modern computer architectures to accelerate solid mechanics simulations.

Morgan, Nathaniel (ORCID:0000000276118449)↗

TIGER: Turbomachinery interactive grid generation

A three dimensional, interactive grid generation code, TIGER, is being developed for analysis of flows around ducted or unducted propellers. TIGER is a customized grid generator that combines new technology with methods from general grid generation codes. The code generates multiple block, structured grids around multiple blade rows with a hub and shroud for either C grid or H grid topologies. The code is intended for use with a Euler/Navier-Stokes solver also being developed, but is general enough for use with other flow solvers. TIGER features a silicon graphics interactive graphics environment that displays a pop-up window, graphics window, and text window. The geometry is read as a discrete set of points with options for several industrial standard formats and NASA standard formats. Various splines are available for defining the surface geometries. Grid generation is done either interactively or through a batch mode operation using history files from a previously generated grid. The batch mode operation can be done either with a graphical display of the interactive session or with no graphics so that the code can be run on another computer system. Run time can be significantly reduced by running on a Cray-YMP.

Soni, Bharat K.↗

Enhancement of the Probabilistic CEramic Matrix Composite ANalyzer (PCEMCAN) Computer Code

This report represents a final technical report for Order No. C-78019-J entitled "Enhancement of the Probabilistic Ceramic Matrix Composite Analyzer (PCEMCAN) Computer Code." The scope of the enhancement relates to including the probabilistic evaluation of the D-Matrix terms in MAT2 and MAT9 material properties card (available in CEMCAN code) for the MSC/NASTRAN. Technical activities performed during the time period of June 1, 1999 through September 3, 1999 have been summarized, and the final version of the enhanced PCEMCAN code and revisions to the User's Manual is delivered along with. Discussions related to the performed activities were made to the NASA Project Manager during the performance period. The enhanced capabilities have been demonstrated using sample problems.

Shah, Ashwin↗

Implementation of McMurchie–Davidson Algorithm for Gaussian AO Integrals Suited for SIMD Processors

We report an implementation of the McMurchie− Davidson evaluation scheme for 1- and 2-particle Gaussian AO integrals designed for processors with Single Instruction Multiple Data (SIMD) instruction sets. Like in our recent MD implementation for graphical processing units (GPUs) [Asadchev, A.; Valeev, E. F.. J. Chem. Phys. 2024, 160, 244109.], variable-sized batches of shellsets of integrals are evaluated at a time. By optimizing for the floating point instruction throughput rather than minimizing the number of operations, this approach achieves up to 50% of the theoretical hardware peak FP64 performance for many common SIMD-equipped platforms (AVX2, AVX512, NEON), which translates to speedups of up to 30 over the state-of-the-art one-shellset-at-a-time implementation of Obara−Saika-type schemes in Libint for a variety of primitive and contracted integrals. As with our previous work, we rely on the standard C++ programming language such as the std::simd standard library feature to be included in the 2026 ISO C++ standard without any explicit code generation to keep the code base small and portable. The implementation is part of the open source LibintX library freely available at https://github.com/ValeevGroup/libintx.

Basis sets↗

Verification of an improved equation-free projective integration method for neoclassical plasma-profile evolution in tokamak geometry

A brute-force, long-time gyrokinetic simulation of plasma profile evolution in magnetic fusion devices is not desirable due to large computational resource requirements and a possible accumulation of numerical error. The equation-free projective integration method of Keverekidis et al. [Commun. Math. Sci. 1(4), 715–762 (2003)] is one of the outstanding candidates in projecting micro-scale simulations to a longer timescale. However, its application to tokamak plasma has not been fruitful due to the appearance of spurious transient oscillations in the lifting process, which are present when the kinetic simulations are initialized with a simplified model distribution function and which make the kinetic simulations to deviate from the desired paths. In this work, a kinetically informed lifting algorithm is added to the equation-free projective integration method, which is then verified in the electrostatic gyrokinetic particle-in-cell code XGCa [R. Hager and C. S. Chang, Phys. Plasmas 23, 042503 (2016)] for a neoclassical ion heat transport problem with adiabatic electrons. This new lifting operator is demonstrated to control spurious transients, enabling an over four-times reduction in the overall computing time in the time-evolution of the ion temperature profile in an axisymmetric toroidal plasma. Further reduction in the computing time is found to be limited due to the stability properties of the linear least squares projective integrator.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Study of turbulence-induced refraction of lower hybrid waves using synthetic scrape-off layer filaments

Here, turbulence-induced refraction effects to lower hybrid (LH) wave propagation and current drive are studied using synthetic scrape-off layer (SOL) blob/filament fields. A synthetic 3D, field-following, blob turbulence model is implemented in the ray-tracing/Fokker-Planck (RTFP) codes GENRAY/CQL3D. In Alcator C-Mod, the blob field is shown to significantly affect LH ray-trajectories, leading to increased on-axis damping and smoother current profiles. This effect depends on the average blob size and amplitude. In addition, the diffusion of ray-trajectories in phase-space caused by turbulence increases the robustness of the RTFP model. A modified $N_{||}$ launch spectrum, acting as a proxy for parametric decay instability (PDI) effects, is included in simulations with the blob model. A synergy between the modified launch spectrum and turbulence-induced refraction results in synthetic hard x-ray profiles that agree with experiment. Lastly, the blob model is used to predict the effect of SOL turbulence on DIII-D high-field side (HFS) LH launch. Assuming low turbulence amplitude in the HFS SOL (~5%), turbulence-induced refraction is predicted to have little effect on current drive efficiency.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Early Evaluation of Fugaku A64FX Architecture Using Climate Workloads

The Energy Exascale Earth System Model (E3SM) Project is an ongoing, state-of-the-science Earth system modeling, simulation, and prediction project that targets efficient utilization of U.S. Department of Energy’s (DOE) supercomputers to meet the science needs of the nation and the mission needs of DOE. This work focuses on our early evaluation of the A64FX architecture on Fugaku supercomputer using E3SM benchmarks. We will present results that track hardware trends, facilitate architecture comparison and the specific impact on our workload using an atmospheric model benchmark. We have two variants of the code written in Fortran and C++/Kokkos respectively which were used to collect data on a variety of CPU and GPU platforms. Furthermore, we have conducted a comparative evaluation of the compilers on the A64FX architecture and found GNU to be the best performer for our workload. Our experience so far indicates that Fugaku/A64FX shows promising energy efficiency (performance/Watt) with further performance gains possible through architecture-aware optimization efforts.

Sreepathi, Sarat↗

dpc

This code, written in R and C and packaged in R, implements the Bayesian Deep Process Convolution (DPC) model.

Moran, Kelly R.↗

Adamantine 1.0: A Thermomechanical Simulator for Additive Manufacturing

Adamantine is a thermomechanical simulation code that is written in C++ and built on top of deal.II (Arndt et al., 2023), p4est (Burstedde et al., 2011), ArborX (Lebrun-Grandié et al., 2020), Trilinos (The Trilinos Project Team, 2020), and Kokkos (Trott et al., 2022). Adamantine was developed with additive manufacturing in mind and it is particularly well adapted to simulate fused filament fabrication, directed energy deposition, and powder bed fusion. Adamantine employs the finite element method with adaptive mesh refinement to solve a nonlinear anisotropic heat equation, enabling support for various additive manufacturing processes. It can also perform elastoplastic and thermoelastoplastic simulations. It can handle materials in three distinct phases (solid, liquid, and powder) to accurately reflect the physical state during different stages of the manufacturing process. To enhance simulation accuracy, adamantine incorporates data assimilation techniques (Asch et al., 2016). This allows it to integrate experimental data from sensors like thermocouples and infrared (IR) cameras. This combined approach helps account for errors arising from input parameters, material properties, models, and numerical calculations, leading to more realistic simulations that reflect what occurs in a particular print.

36 MATERIALS SCIENCE↗

Parallel Solver Framework for Mixed-Integer PDE-Constrained Optimization

ROL-PEBBL is a C++, MPI-based parallel code for mixed-integer PDE-constrained optimization (MIPDECO). In these problems we wish to optimize (control, design, etc.) physical systems, which must obey the laws of physics, when some of the decision variables must take integer values. ROL-PEBBL combines a code to efficiently search over integer choices (PEBBL = Parallel Enumeration Branch-and-Bound Library) and a code for efficient nonlinear optimization, including PDE-constrained optimization (ROL = Rapid Optimization Library). In this report, we summarize the design of ROL-PEBBL and initial applications/results. For an artificial source-inversion problem, finding sources of pollution on a grid from sparse samples, ROL-PEBBLs solution for the nest grid gave the best optimization guarantee for any general solver that gives both a solution and a quality guarantee.

97 MATHEMATICS AND COMPUTING↗