Search NASA⌕ Search

SEARCH · Search NASA

Results for “Refactor”

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 55 records · Page 3

Integration of Online Cross-Section Generation Capability with Depletion and Transient Solvers in Griffin

Griffin is a Multiphysics Object-Oriented Simulation Environment (MOOSE)-based reactor multiphysics analysis application jointly developed by Argonne and Idaho National Laboratories under the DOENE Nuclear Energy Advanced Modeling and Simulation (NEAMS) program. In FY25, an online crosssection generation capability based on the Self-Shielding Application Programming Interface (SSAPI) was demonstrated for TRISO-fueled reactor problems under steady-state conditions. This fiscal year, that capability was extended to support depletion and transient multiphysics calculations, enabling high-fidelity analyses that generate self-shielded cross sections on the fly from the actual evolving composition and temperature states rather than from pre-tabulated libraries. For depletion, a two-way coupling was established in which SSAPI computes compact-averaged self-shielded cross sections that the depletion solver then uses to advance the Bateman equations, with the updated compositions returned to SSAPI at each step; the depletion module was refactored to support both library-based and SSAPI-based cross sections, and additional logic was added to track daughter isotopes and to exclude minor isotopes for efficiency. For transient analysis, the SSAPI multigroup library was extended with the kinetics data required for time-dependent calculations, the Improved Quasi-Static (IQS) scheme was coupled with SSAPI, and several supporting capabilities were implemented, including a self-shielding treatment that lets control rods and drums move within a self-shielded model, which had previously been impossible and had ruled out rod- and drum-movement transients with on-the-fly cross sections altogether, a new mixing scheme for delayed-neutron precursor decay constants, a checkpoint-based restart workflow, and performance improvements such as pointwise cross-section interpolation and the bypassing of unnecessary Dancoff factor calculations. The implemented capabilities were verified against Serpent Monte Carlo solutions. For depletion, a prismatic pin-cell problem based on a Next Generation Nuclear Plant (NGNP) Very High Temperature Reactor benchmark showed excellent agreement, with eigenvalue differences within 200 pcm over the entire burnup range (up to 140 MWD/kgU) and fission-product and actinide inventories agreeing to within 0.8% and 2.5%, respectively; a heat-pipe microreactor assembly problem with a much higher fuel loading confirmed the same behavior and quantified the bias introduced when the multigroup equivalence effect is neglected. For transient analysis, a pin-cell problem with a step reactivity insertion and temperature feedback reproduced the analytically expected asymptotic power and showed close agreement between the direct and IQS solutions, and a two-dimensional microreactor core problem with control-drum rotation exercised the new moving-drum self-shielding treatment and demonstrated successful coupling of the online crosssection generation with both the direct and IQS transient methods. The capability was further exercised on a full-core pebble-bed problem, in which Griffin was coupled with the System Analysis Module (SAM) to simulate load-following operation of the gPBR with the Doppler feedback resolved at the TRISO fuel kernel temperature. These developments in Griffin provide a convenient, high-fidelity approach to cross-section generation for advanced thermal reactors with geometrically complex and highly heterogeneous configurations, including TRISO-fueled prismatic and pebble-bed systems, and support steady-state, depletion, and transient multiphysics calculations. They also enable self-shielded cross sections to be evaluated directly at the actual coupled state of the system, thereby establishing a foundation for high-fidelity, fully coupled multiphysics analysis of advanced reactors

Park, H.↗

Lifting MGARD: Construction of (pre)wavelets on the interval using polynomial predictors of arbitrary order

MGARD (MultiGrid Adaptive Reduction of Data) is an algorithm for compressing and refactoring scientific data, based on the theory of multigrid methods. The core algorithm is built around stable multilevel decompositions of conforming piecewise linear $C^0$ finite element spaces, enabling accurate error control in various norms and derived quantities of interest. In this work, we extend this construction to arbitrary order Lagrange finite elements $\mathbb{Q}_p$, $p \geq 0$, and propose a reformulation of the algorithm as a lifting scheme with polynomial predictors of arbitrary order. Additionally, a new formulation using a compactly supported wavelet basis is discussed, and an explicit construction of the proposed wavelet transform for uniform dyadic grids is described.

Reshniak, Viktor [Oak Ridge National Laboratory (O↗

PVDeg: Enhancing Usability and AI-Driven Multi-Mechanism Degradation Modeling

PVDeg version 0.7.0, released in December 2025, introduced major enhancements to improve usability and performance. This update reorganized tutorials and tool notebooks to create a more intuitive experience, enabling users to easily follow and adapt workflows for their specific analyses. In addition to structural improvements, both the notebooks and core logic underwent significant optimization for efficiency, robustness, and style. These refinements were supported by new testing frameworks built on nbval and pytest, adherence to PEP8 standards, and extensive code refactoring, which collectively simplify onboarding for new developers. Looking ahead, version 0.8.0 will deliver advanced AI-driven capabilities. The primary focus is to further develop and automate the degradation workflow, designed to analyze PV module degradation across diverse locations and system configurations. By integrating large language models (LLMs) to scan literature and compile a comprehensive database of materials and degradation rates, this feature will enable modeling of multiple materials and mechanisms within a single, streamlined workflow. Users will be able to evaluate degradation impacts on different system architectures under varying environmental conditions, facilitating informed decisions on bill-of-materials optimization for specific deployment scenarios. These advancements position PVDeg as a powerful, user-friendly tool for accelerating PV reliability research and system design.

14 SOLAR ENERGY↗

The solution of variable-step implicit difference equations for dynamic systems analysis

A semi-implicit iterative technique is given for the solution of implicit matrix difference equations which arise in variable-step direct time integration of dynamic systems equations. For all practical purposes, the technique avoids repeated refactoring of the stepsize-dependent solution matrix and achieves the solution convergence for engineering accuracy requirements within a permissible number of iterations. Extension of the present method to nonlinear problems treated by the pseudo-force procedure is straightforward. For nonlinear solution procedures based on the tangent modulus formulation, the technique requires modification to make use of the tangent stiffness matrix. It is noted that the question of whether to include the nonlinear terms within the iteration loop has not yet been resolved.

Park, K. C.↗

Adoption of Test Driven Development and Continuous Integration for the Development of the Trick Simulation Toolkit

This paper describes the adoption of a Test Driven Development approach and a Continuous Integration System in the development of the Trick Simulation Toolkit, a generic simulation development environment for creating high fidelity training and engineering simulations at the NASA/Johnson Space Center and many other NASA facilities. It describes what was learned and the significant benefits seen, such as fast, thorough, and clear test feedback every time code is checked-in to the code repository. It also describes a system that encourages development of code that is much more flexible, maintainable, and reliable. The Trick Simulation Toolkit development environment provides a common architecture for user-defined simulations. Trick builds executable simulations using user-supplied simulation-definition files (S_define) and user supplied "model code". For each Trick-based simulation, Trick automatically provides job scheduling, checkpoint / restore, data-recording, interactive variable manipulation (variable server), and an input-processor. Also included are tools for plotting recorded data and various other supporting tools and libraries. Trick is written in C/C++ and Java and supports both Linux and MacOSX. Prior to adopting this new development approach, Trick testing consisted primarily of running a few large simulations, with the hope that their complexity and scale would exercise most of Trick's code and expose any recently introduced bugs. Unsurprising, this approach yielded inconsistent results. It was obvious that a more systematic, thorough approach was required. After seeing examples of some Java-based projects that used the JUnit test framework, similar test frameworks for C and C++ were sought. Several were found, all clearly inspired by JUnit. Googletest, a freely available Open source testing framework, was selected as the most appropriate and capable. The new approach was implemented while rewriting the Trick memory management component, to eliminate a fundamental design flaw. The benefits became obvious almost immediately, not just in the correctness of the individual functions and classes but also in the correctness and flexibility being added to the overall design. Creating code to be testable, and testing as it was created resulted not only in better working code, but also in better-organized, flexible, and readable (i.e., articulate) code. This was, in essence the Test-driven development (TDD) methodology created by Kent Beck. Seeing the benefits of Test Driven Development, other Trick components were refactored to make them more testable and tests were designed and implemented for them.

Penn, John M.↗

Regression Verification Using Impact Summaries

Regression verification techniques are used to prove equivalence of syntactically similar programs. Checking equivalence of large programs, however, can be computationally expensive. Existing regression verification techniques rely on abstraction and decomposition techniques to reduce the computational effort of checking equivalence of the entire program. These techniques are sound but not complete. In this work, we propose a novel approach to improve scalability of regression verification by classifying the program behaviors generated during symbolic execution as either impacted or unimpacted. Our technique uses a combination of static analysis and symbolic execution to generate summaries of impacted program behaviors. The impact summaries are then checked for equivalence using an o-the-shelf decision procedure. We prove that our approach is both sound and complete for sequential programs, with respect to the depth bound of symbolic execution. Our evaluation on a set of sequential C artifacts shows that reducing the size of the summaries can help reduce the cost of software equivalence checking. Various reduction, abstraction, and compositional techniques have been developed to help scale software verification techniques to industrial-sized systems. Although such techniques have greatly increased the size and complexity of systems that can be checked, analysis of large software systems remains costly. Regression analysis techniques, e.g., regression testing [16], regression model checking [22], and regression verification [19], restrict the scope of the analysis by leveraging the differences between program versions. These techniques are based on the idea that if code is checked early in development, then subsequent versions can be checked against a prior (checked) version, leveraging the results of the previous analysis to reduce analysis cost of the current version. Regression verification addresses the problem of proving equivalence of closely related program versions [19]. These techniques compare two programs with a large degree of syntactic similarity to prove that portions of one program version are equivalent to the other. Regression verification can be used for guaranteeing backward compatibility, and for showing behavioral equivalence in programs with syntactic differences, e.g., when a program is refactored to improve its performance, maintainability, or readability. Existing regression verification techniques leverage similarities between program versions by using abstraction and decomposition techniques to improve scalability of the analysis [10, 12, 19]. The abstractions and decomposition in the these techniques, e.g., summaries of unchanged code [12] or semantically equivalent methods [19], compute an over-approximation of the program behaviors. The equivalence checking results of these techniques are sound but not complete-they may characterize programs as not functionally equivalent when, in fact, they are equivalent. In this work we describe a novel approach that leverages the impact of the differences between two programs for scaling regression verification. We partition program behaviors of each version into (a) behaviors impacted by the changes and (b) behaviors not impacted (unimpacted) by the changes. Only the impacted program behaviors are used during equivalence checking. We then prove that checking equivalence of the impacted program behaviors is equivalent to checking equivalence of all program behaviors for a given depth bound. In this work we use symbolic execution to generate the program behaviors and leverage control- and data-dependence information to facilitate the partitioning of program behaviors. The impacted program behaviors are termed as impact summaries. The dependence analyses that facilitate the generation of the impact summaries, we believe, could be used in conjunction with other abstraction and decomposition based approaches, [10, 12], as a complementary reduction technique. An evaluation of our regression verification technique shows that our approach is capable of leveraging similarities between program versions to reduce the size of the queries and the time required to check for logical equivalence. The main contributions of this work are: - A regression verification technique to generate impact summaries that can be checked for functional equivalence using an off-the-shelf decision procedure. - A proof that our approach is sound and complete with respect to the depth bound of symbolic execution. - An implementation of our technique using the LLVMcompiler infrastructure, the klee Symbolic Virtual Machine [4], and a variety of Satisfiability Modulo Theory (SMT) solvers, e.g., STP [7] and Z3 [6]. - An empirical evaluation on a set of C artifacts which shows that the use of impact summaries can reduce the cost of regression verification.

Backes, John↗

Bumper 3 Update for IADC Protection Manual

The Bumper code has been the standard in use by NASA and contractors to perform meteoroid/debris risk assessments since 1990. It has undergone extensive revisions and updates [NASA JSC HITF website; Christiansen et al., 1992, 1997]. NASA Johnson Space Center (JSC) has applied BUMPER to risk assessments for Space Station, Shuttle, Mir, Extravehicular Mobility Units (EMU) space suits, and other spacecraft (e.g., LDEF, Iridium, TDRS, and Hubble Space Telescope). Bumper continues to be updated with changes in the ballistic limit equations describing failure threshold of various spacecraft components, as well as changes in the meteoroid and debris environment models. Significant efforts are expended to validate Bumper and benchmark it to other meteoroid/debris risk assessment codes. Bumper 3 is a refactored version of Bumper II. The structure of the code was extensively modified to improve maintenance, performance and flexibility. The architecture was changed to separate the frequently updated ballistic limit equations from the relatively stable common core functions of the program. These updates allow NASA to produce specific editions of the Bumper 3 that are tailored for specific customer requirements. The core consists of common code necessary to process the Micrometeoroid and Orbital Debris (MMOD) environment models, assess shadowing and calculate MMOD risk. The library of target response subroutines includes a board range of different types of MMOD shield ballistic limit equations as well as equations describing damage to various spacecraft subsystems or hardware (thermal protection materials, windows, radiators, solar arrays, cables, etc.). The core and library of ballistic response subroutines are maintained under configuration control. A change in the core will affect all editions of the code, whereas a change in one or more of the response subroutines will affect all editions of the code that contain the particular response subroutines which are modified. Note that the Bumper II program is no longer maintained or distributed by NASA.

Christiansen, Eric L.↗

Scintillation-Hardened GPS Receiver

CommLargo, Inc., has developed a scintillation-hardened Global Positioning System (GPS) receiver that improves reliability for low-orbit missions and complies with NASA's Space Telecommunications Radio System (STRS) architecture standards. A software-defined radio (SDR) implementation allows a single hardware element to function as either a conventional radio or as a GPS receiver, providing backup and redundancy for platforms such as the International Space Station (ISS) and high-value remote sensing platforms. The innovation's flexible SDR implementation reduces cost, weight, and power requirements. Scintillation hardening improves mission reliability and variability. In Phase I, CommLargo refactored an open-source GPS software package with Kalman filter-based tracking loops to improve performance during scintillation and also demonstrated improved navigation during a geomagnetic storm. In Phase II, the company generated a new field-programmable gate array (FPGA)-based GPS waveform to demonstrate on NASA's Space Communication and Navigation (SCaN) test bed.

Stephens, Donald R.↗

Introducing Object-Oriented Concepts into GSI

Enhancements are now being made to the Gridpoint Statistical Interpolation (GSI) data assimilation system to expand its capabilities. This effort opens the way for broadening the scope of GSI's applications by using some standard object-oriented features in Fortran, and represents a starting point for the so-called GSI refactoring, as a part of the Joint Effort for Data-assimilationI ntegration (JEDI) project of JCSDA.

GSI↗

Archive Management of NASA Earth Observation Data to Support Cloud Analysis

NASA collects, processes and distributes petabytes of Earth Observation (EO) data from satellites, aircraft, in situ instruments and model output, with an order of magnitude increase expected by 2024. Cloud-based web object storage (WOS) of these data can simplify the execution of such an increase. More importantly, it can also facilitate user analysis of those volumes by making the data available to the massively parallel computing power in the cloud. However, storing EO data in cloud WOS has a ripple effect throughout the NASA archive system with unexpected challenges and opportunities. One challenge is modifying data servicing software (such as Web Coverage Service servers) to access and subset data that are no longer on a directly accessible file system, but rather in cloud WOS. Opportunities include refactoring of the archive software to a cloud-native architecture; virtualizing data products by computing on demand; and reorganizing data to be more analysis-friendly.

Lynnes, Christopher↗

Archive Management of NASA Earth Observation Data to Support Cloud Analysis

NASA collects, processes and distributes petabytes of Earth Observation (EO) data from satellites, aircraft, in situ instruments and model output, with an order of magnitude increase expected by 2024. Cloud-based web object storage (WOS) of these data can simplify the execution of such an increase. More importantly, it can also facilitate user analysis of those volumes by making the data available to the massively parallel computing power in the cloud. However, storing EO data in cloud WOS has a ripple effect throughout the NASA archive system with unexpected challenges and opportunities. One challenge is modifying data servicing software (such as Web Coverage Service servers) to access and subset data that are no longer on a directly accessible file system, but rather in cloud WOS. Opportunities include refactoring of the archive software to a cloud-native architecture; virtualizing data products by computing on demand; and reorganizing data to be more analysis-friendly. Reviewed by Mark McInerney ESDIS Deputy Project Manager.

Lynnes, Christopher↗

Reconfigurable Cellular Composite Structures for Lighter than Air Vehicles with Scalable Size and Endurance

Engineered non-stochastic cellular materials show promising characteristics on the laboratory scale,with nearly ideal specific stiffness and strength scaling at ultralight mass density. These propertiessuggest performance benefits in any application with combined stiffness and mass constraints, suchas air vehicles. We investigate here the application of re-configurable cellular composite materialsand structures to lighter than air vehicles. We describe the properties and applicability of these materials,provide an example analysis of governing loading conditions associated with airships, showan example optimization method for navigating the design space, and describe how recent advancesin cellular material manufacturing and reconfiguration enable system performance benefits includingnew concepts of operation. Lastly, we propose lighter than air vehicles that are assembled andmaintained in-flight, eliminating structural compromises associated with transitional flight modesand ground handling.Engineered non-stochastic cellular material properties suggest performance benefits in lighter than air vehicles due tostiffness and mass constraints that are intrinsic to the airship design problem. Recent advances in cellular materialmanufacturing and reconfiguration enable system performance benefits including new concepts of operation, such aslighter than air vehicles that are assembled and maintained in-flight, eliminating structural compromises associatedwith transitional flight modes and ground handling. Existing engineered cellular materials display properties allowinglarge large scale airships design as monocoque cellular solids. Inevitable improvements in cellular material propertiesand manufacturing will improve feasibility even further. Given the suggestion that the two most significant technologygaps exist across all current airship projects are manufacturing and assembly processes and ground handling [7],a strategy that encompasses construction and maintenance in flight could provide critical rephrasing of the systemdesign problem through these new concepts of operation. Refactoring of traditional manufacturing, operation, andservice process constraints could extend to other domains in aerospace systems and manufacturing in general.In future work, the complexity of the design task would benefit from a form of optimization in order to find themost suitable geometry for a chosen application. For example, the Sequential Least SQuares Programming (SLSQP)function from within the SciPy Minimize library is a multiobjective constrained optimization method that has beenapplied to fixed wing aircraft design. [17] In this situation it would allow for several objective functions such as drag,bending stiffness, buoyancy and cost of transport to be incorporated into a composite objective function.

Copplestone, Grace↗

Recent Developments to the Porous Microstructure Analysis (PuMA) Software

The Porous Microstructure Analysis (PuMA) software is a suite of tools for the analysis of porous materials and generation of material microstructures. From microstructural data, often obtained through X-ray microtomography, PuMA can determine a number of effective material properties and perform material response simulations. Version 2.2 includes capabilities for computing volume fractions, porosity, specific surface area, effective thermal and electrical conductivities, and continuum and rarefied diffusive tortuosity. PuMA can also simulate competitive diffusion/reaction processes at the micro-scale, such as surface oxidation. In this poster, recent advancements to the PuMA software are detailed, including the full refactoring of PuMA into v3.0, a new module to compute heat conduction in anisotropic materials, a particle method for simulating molecular beam experiments, a new finite-volume Laplace solver, complex fibrous material generation, woven material generation, and a coupling of PuMA with the DAKOTA software for advanced statistics.

PuMA↗

The Influence of Computer Architecture on Performance and Scaling for Hypersonic Flow Simulations

It is critical to understand how hypersonic simulation tools perform on a range of computational platforms. This information will aid in the acquisition of appropriate hardware and the potential refactoring of hypersonic codes to run on different systems. In this paper, we consider two representative high-speed reacting flow cases: a model Mach 8 hypersonic waverider glide vehicle and a model hydrocarbon-fueled hypersonic ramjet propulsion system. In both scenarios, the flow fields are in chemical non-equilibrium and are modeled by the multi-species reacting Navier-Stokes equations. For these simulations we use several hypersonic simulation tools, including US3D, Kestrel, FUN3D, and the JENRER© flow solver. We explore several high performance computing systems containing IntelR© XeonR© Platinum processors, AMD EPYCTM7702 processors, and NVIDIAR© Tesla V100 devices. We compare performance and strong scaling between the different systems.

CPU↗

Improvements in Simulating a Mach 0.80 Transonic Truss-Braced Wing Configuration using the Spalart-Allmaras and k-ω SST Turbulence

Teams from the NASA Ames Research Centers (ARC) and Langley Research Center (LaRC) have been working on validating their computational fluid dynamics (CFD) results for the Boeing Mach 0.80 Transonic Truss-Braced Wing (TTBW) configuration. Experimental data used for the validation were gathered from a test conducted of a 4.5% scale Mach 0.80 TTBW model in the NASA Ames Research Center 11-by 11-Foot Transonic Wind Tunnel. The CFD simulations were initially run with both LAVA and USM3D Mixed Element solvers utilizing the Spalart-Allmaras (SA) turbulence model. A discrepancy was observed between CFD and experimental loads and moments ranging on average from 0.047 to 0.063 for lift coefficient, 16.5 to 27 in drag counts, and -0.02 to -0.032 for pitching moment, varying with the solver used. With introducing the refactored version of LAVA these values dropped to 0.034 to 0.047 for lift coefficient, 7.74 to 16.5 in drag counts, and lastly -0.012 to -0.02 for pitching moment. Based on findings from Boeing, who observed an improved comparison to experimental data when using the k-ω Shear Stress Transport (SST) turbulence model, the NASA teams conducted simulations with SST to investigate turbulence modeling sensitivities. OVERFLOW and USM3D V6 solvers were used for the comparison of SST and SA simulations. CFD results using the SST turbulence model demonstrate an improvement in matching with experimental CL values, reducing the discrepancies seen by 0.021-0.055 (62-93% reduction in discrepancy respective to the OVERFLOW and USM3D V6). The SST model has varying effects on CD, based on the solver / grid paradigm; for USM3D this prediction is only improved at higher angles of attack (above the cruise design point) resulting in a reduced discrepancy of 8.8–25 drag counts However, at the mid-to-low angles of attack, SST increases the CD discrepancy by 4-55 counts, increasing at lower angles of attack. For OVERFLOW this discrepancy only exists at the low angles of attack and maxes out at 10 counts of drag. Above α = 1.5° OVERFLOW SST reduces discrepancy by 9.3 drag counts on average.

AATT↗

Component-Based Development of CFD Software FUN3D

FUN3D, a suite of Computational Fluid Dynamics simulation and design tools developed at the NASA Langley Research Center, has undergone continuous development since the late1980s. It contains a large portion of legacy code. Extending it with new capabilities becomes increasingly difficult. To improve the extensibility and reusability, FUN3D is moving toward component-based development. New features, such as Stabilized Finite Elements, Yoga, and Sparse Linear Algebra Toolkit, are integrated into the system as components. Some existing features such as the Node-Centered Finite Volume Solver, are also being refactored to components. The integration of these components poses new requirements on the development workflow. In this paper, we describe the Continuous Integration of FUN3D to support component-based development, and discuss the tools used, the practices followed, and lessons learned during the transition from the traditional approach.

computational fluid dynamics software↗

A Multi-Architecture Approach for Implicit Computational Fluid Dynamics on Unstructured Grids

High-performance computing (HPC) architectures are trending toward manycore paradigms such as graphics processing units (GPUs). Approximately half of the top 100 publicly disclosed supercomputers in the world utilize GPU accelerators for performance. This is in contrast to a decade ago, where there were only a few such machines in the top 100. It is not currently possible to compile and run legacy central processing unit (CPU) software efficiently on GPUs without significant refactoring. Though a number of frameworks offering performance portability exist, none offer a standardized specification that is supported by all major hardware vendors. Additionally, experiences show that obtaining a high percentage of peak performance often requires architecture-specific code. This work details a pragmatic multi-architecture computational fluid dynamics library focused on aerospace problems across the speed range from low subsonic to hypersonic flows involving thermochemical nonequilibrium. A thin abstraction layer above NVIDIA CUDA C++ is utilized, which enables primarily single-source software currently capable of running efficiently on multicore CPUs, NVIDIA GPUs, AMD GPUs, and Intel GPUs. Results on various problems of interest across the speed range are presented and performance is compared between various architectures.

GPU↗

A Multi-Architecture Approach for Implicit Computational Fluid Dynamics on Unstructured Grids

High-performance computing (HPC) architectures are trending toward manycore paradigms such as graphics processing units (GPUs). Approximately half of the top 100 publicly disclosed supercomputers in the world utilize GPU accelerators for performance. This is in contrast to a decade ago, where there were only a few such machines in the top 100. It is not currently possible to compile and run legacy central processing unit (CPU) software efficiently on GPUs without significant refactoring. Though a number of frameworks offering performance portability exist, none offer a standardized specification that is supported by all major hardware vendors. Additionally, experiences show that obtaining a high percentage of peak performance often requires architecture-specific code. This work details a pragmatic multi-architecture computational fluid dynamics library focused on aerospace problems across the speed range from low subsonic to hypersonic flows involving thermochemical nonequilibrium. A thin abstraction layer above NVIDIA CUDA C++ is utilized, which enables primarily single-source software currently capable of running efficiently on multicore CPUs, NVIDIA GPUs, AMD GPUs, and Intel GPUs. Results on various problems of interest across the speed range are presented and performance is compared between various architectures.

GPU↗