Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Static Code Analysis”

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 199 records · Page 11

Supersonic dynamic stability characteristics of the test technique demonstrator NASP configuration

Wind tunnel tests of a National Aero-Space Plane (NASP) configuration were conducted in both test sections of the Langley Unitary Plan Wind Tunnel. The model used is a Langley designed blended body NASP configuration. Dynamic stability characteristics were measured on this configuration at Mach numbers of 2.0, 2.5, 3.5, and 4.5. In addition to tests of the baseline configuration, component buildup tests were conducted. The test results show that the baseline configuration generally has positive damping about all three axes with only isolated exceptions. In addition, there was generally good agreement between the in-pulse dynamic parameters and the corresponding static data which were measured during another series of tests in the Unitary Plan Wind Tunnel. Also included are comparisons of the experimental damping parameters with results from the engineering predictive code APAS (Aerodynamic Preliminary Analysis System). These comparisons show good agreement at low angles of attack; however, the comparisons are generally not as good at the higher angles of attack.

Dress, David A.↗

A Flexible and Non-instrusive Approach for Computing Complex Structural Coverage Metrics

Software analysis tools and techniques often leverage structural code coverage information to reason about the dynamic behavior of software. Existing techniques instrument the code with the required structural obligations and then monitor the execution of the compiled code to report coverage. Instrumentation based approaches often incur considerable runtime overhead for complex structural coverage metrics such as Modified Condition/Decision (MC/DC). Code instrumentation, in general, has to be approached with great care to ensure it does not modify the behavior of the original code. Furthermore, instrumented code cannot be used in conjunction with other analyses that reason about the structure and semantics of the code under test. In this work, we introduce a non-intrusive preprocessing approach for computing structural coverage information. It uses a static partial evaluation of the decisions in the source code and a source-to-bytecode mapping to generate the information necessary to efficiently track structural coverage metrics during execution. Our technique is flexible; the results of the preprocessing can be used by a variety of coverage-driven software analysis tasks, including automated analyses that are not possible for instrumented code. Experimental results in the context of symbolic execution show the efficiency and flexibility of our nonintrusive approach for computing code coverage information

DO-178C↗

Fluoride salt static freezing study

Molten salt reactor designs such as the FHR must consider the safety implications of freezing, requiring the development of thermal hydraulics models that account for freezing behavior. Pipe models that couple heat transfer, fluid dynamics, and phase change physics will require verification and validation. A static freezing study is being conducted to provide an initial set of validation data with LiF-BeF{sub 2} (FLiBe). The study will also be performed with LiF-NaF-KF (FLiNaK) in order to quantify the distortion that arises from using FLiNaK as a non-toxic surrogate salt for thermal-hydraulic studies. In order to develop the numerical model, accurate inputs for the thermal hydraulic properties of the two salts of interest need to be measured near the freezing point. For this reason, a series of three experiments including Differential Scanning Calorimetry (DSC) measurements, the Density Measurement Experiment, and the Static Freezing Experiment are being conducted to determine these thermo-physical properties at temperatures near the freezing point. The Static Freezing Experiment is also designed to determine the degree of supercooling that FLiBe and FLiNaK experience. Supercooling is a temperature depression below the freezing point that the liquid experiences before freezing initiates. Increased supercooling in a liquid flowing through a pipe leads to increased dendritic freezing and an increased likelihood of pipe blockage and freeze-shut. Based on previous research on supercooling in water and non-fluoride salts, supercooling is likely affected most strongly by cooling rate and sample size (as well as salt purity). No data has been generated previously on supercooling in fluoride salts such as FLiBe and FLiNaK. The results of this set of DSC, Density Measurement and Static Freezing experiments will be used in an ongoing fluoride salt freezing study being conducted to develop pipe freezing models for molten salts to be used in safety analysis. The thermal hydraulic properties measured in this study will serve as inputs for all future models. With the supercooling behavior of both salts quantified, it can be assessed whether supercooling must be included in future thermal hydraulic models. The validated Static Freezing Experiment model can then serve as the framework for a pipe freezing model and eventually a 1D system code.

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

Analysis of turbulent underexpanded jets. II - Shock noise features using SCIPVIS

SCIPVIS, the computational model discussed by Dash et al. (1985), is assessed in predicting the complicated flow structure associated with shock-containing plumes. In addition, the analysis in this study examines this code's applicability as a basic part of a program for estimating broadband shock noise radiation. The results of this study show that excellent agreement exists between predicted and measured static pressure distributions for both underexpanded and overexpanded flow cases considered. Of the three turbulence closure models incorporated in the SCIPVIS code, the kW model of Spalding produces the most uniform agreement with measurement. The k-epsilon-2 model of Launder consistently overestimates plume spreading for supersonic jets with exit Mach numbers in the 1-2 range. Dash's (1983) k-epsilon-2-cc, compressibility-corrected version of Launder's model underestimates plume spreading. Good qualitative agreement was also obtained between the measured longitudinal turbulence intensity and that predicted by the code for the same trial case. Comparison of measured and predicted broadband shock noise spectrum peak values were found to be in excellent agreement. This utilized a variant of the Harper-Bourne and Fisher (1973) phase-array model: the effective shock spacing was reinterpreted as the value of the end of the plume potential core, determined herein by the SCIPVIS code.

Seiner, J. M.↗

Calculated effects of varying Reynolds Number and dynamic pressure on flexible wings at transonic speeds

A computational method is described that includes the effects of static aeroelastic wing deflections in steady transonic aerodynamic calculations. This method, known as the Transonic Aero-elastic Program System (TAPS), interacts a 3D transonic computer code with boundary layer and a linear finite element structural analysis codes to calculate wing pressures and deflections. The nonlinear nature of the transonic flow makes it necessary to couple the aerodynamic and structures codes in an iterative manner. TAPS has been arranged in a modular fashion so that different aerodynamic or structures programs may be used with a minimum of coding changes required. Results obtained using two different aerodynamic codes in TAPS are given, and those results are correlated with experimental data.

Campbell, R. L.↗

A Program Analysis Tool to Query Static and Dynamic Characteristics of HPC Applications

Emerging HPC platforms are becoming extraordinarily difficult to program as a result of complex, deep and heterogeneous memory hierarchies, heterogeneous cores, and the need to divide work and data among them. New programming models and libraries are being developed to aid in porting efforts of application developers, but substantial code restructuring is still necessary to fully make use of these new technologies. To do this effectively, these developers need information about their source code characteristics, including static and dynamic (e.g. performance) information to direct their optimisation efforts and make key decisions. On the other hand, system administrators need to understand how users are using the software stack and resources on their systems to understand what software they need to provide to improve the productivity of the users on a platform.In this paper we describe a tool that combines compiler and profiler information to query performance characteristics within an application or across multiple applications on a given platform. Static and dynamic data about applications are collected and stored together in an SQL database that can be queried by either a developer or a system administrator. We will demonstrate the capabilities of this tool via a real-world example from application-driven case studies that aims at understanding the use of scientific libraries on a routine from the molecular simulation application CP2K.

Welch, Aaron↗

Automated Hybrid Variance Reduction on Advanced Architectures in the Shift Monte Carlo Code

Monte Carlo transport methods are the most accurate schemes for solving problems with complex energy and spatial features, but they come with a high computational cost. Although hybrid methods have enabled the use of Monte Carlo transport for a large class of problems, they still require significant computing resources. Modern multicore CPUs with large numbers of compute cores and graphical processing units (GPUs) provide opportunities to optimize the memory and run-time costs of hybrid Monte Carlo methods. This paper documents the development and analysis of three Monte Carlo transport algorithms that support hybrid transport using the consistent adjoint-driven importance sampling (CADIS) and forward-weighted CADIS methods in the Shift Monte Carlo code: history-based transport using static and dynamic threading on multicore CPUs and event-based transport enabling weight window tracking on GPUs. The results are shown for two challenging hybrid problems on the Frontier supercomputer at the Oak Ridge Leadership Computing Facility. The results show that all three methods yield good performance and enable solutions of difficult fixed-source transport problems in less than 2 min on 20 nodes of Frontier. Dynamic threading was observed to give up to 20% better scaling behavior than static threading. Moreover, the AMD Instinct 250X GPU was found to give 9 to 11 times greater throughput per graphics compute die than the best CPU performance. In conclusion, additional opportunities for optimization of hybrid transport on GPUs are discussed.

Denovo↗

A Change Impact Analysis to Characterize Evolving Program Behaviors

Change impact analysis techniques estimate the potential effects of changes made to software. Directed Incremental Symbolic Execution (DiSE) is an intraprocedural technique for characterizing the impact of software changes on program behaviors. DiSE first estimates the impact of the changes on the source code using program slicing techniques, and then uses the impact sets to guide symbolic execution to generate path conditions that characterize impacted program behaviors. DiSE, however, cannot reason about the flow of impact between methods and will fail to generate path conditions for certain impacted program behaviors. In this work, we present iDiSE, an extension to DiSE that performs an interprocedural analysis. iDiSE combines static and dynamic calling context information to efficiently generate impacted program behaviors across calling contexts. Information about impacted program behaviors is useful for testing, verification, and debugging of evolving programs. We present a case-study of our implementation of the iDiSE algorithm to demonstrate its efficiency at computing impacted program behaviors. Traditional notions of coverage are insufficient for characterizing the testing efforts used to validate evolving program behaviors because they do not take into account the impact of changes to the code. In this work we present novel definitions of impacted coverage metrics that are useful for evaluating the testing effort required to test evolving programs. We then describe how the notions of impacted coverage can be used to configure techniques such as DiSE and iDiSE in order to support regression testing related tasks. We also discuss how DiSE and iDiSE can be configured for debugging finding the root cause of errors introduced by changes made to the code. In our empirical evaluation we demonstrate that the configurations of DiSE and iDiSE can be used to support various software maintenance tasks

Rungta, Neha Shyam↗

Three-dimensional flows in a transonic compressor rotor

This study involves an experimental and numerical investigation of the three-dimensional flows in a transonic compressor rotor. A variety of data which could be used, in a complementary fashion, to validate/calibrate the computational fluid dynamics turbomachinery code and improve understanding of the flow physics, were acquired. Detailed radial survey data which consisted of total pressure, total temperature, static pressure and flow angle were obtained at stations upstream and downstream of the rotor blade. Detailed velocity and turbulence profiles were obtained upstream of the rotor and used as the upstream boundary conditions for the numerical analysis. Calibrated flush-mounted hot film probes were used to measure wall shear stress on the hub and casing walls upstream of the rotor. The blade-to-blade shear-stress angle distributions were obtained at two axial locations on the rotor casing, using flush-mounted hot film probes. A numerical analysis conducted using a three-dimensional Navier-Stokes code was compared with the experimental results.

Reid, Lonnie↗

A Benchmark Example for Delamination Propagation Predictions Based on the Calibrated End-Loaded Split Specimen

A benchmark example based on the Calibrated End-Loaded Split (C-ELS) specimen is developed and used to assess the performance of recently developed delamination propagation capabilities in the Abaqus/Standard finite element code. The C-ELS specimen has the advantage of a longer region of stable delamination propagation compared to the existing mode II benchmark case. The new benchmark example may therefore provide a better assessment tool by enabling more stable crack growth in regions further away from the boundary conditions or load application. First, a benchmark result is created manually using two-dimensional finite element models of the C-ELS specimen with different delamination lengths. Second, the performance of the delamination propagation capabilities in the Abaqus/Standard finite element code are assessed by comparing the results to the benchmark case. Two examples with different starter delamination lengths are studied. A shorter starter length is chosen to create a scenario with unstable delamination propagation. A longer delamination causes stable delamination propagation. Detailed results from three-dimensional analyses with aligned and mis-aligned meshes and two levels of mesh refinement are provided for several permutations of numerical input parameters. In general, good agreement can be achieved between the results obtained from the quasi-static propagation analysis and the benchmark analysis. However, particular non-default settings are found to be most reliable, accurate, and numerically efficient. Numerical artifacts including anomalous unreleased nodes in the crack wake and zig-zag crack fronts occur, and further development of the Abaqus/Standard VCCT propagation may be required. Use of the benchmark case to assess the continuous improvements in one finite element code illustrates the value of establishing benchmark solutions.

delamination↗

Effect of Microscopic Damage Events on Static and Ballistic Impact Strength of Triaxial Braid Composites

In previous work, the ballistic impact resistance of triaxial braided carbon/epoxy composites made with large flat tows (12k and 24k) was examined by impacting 2 X2 X0.125" composite panels with gelatin projectiles. Several high strength, intermediate modulus carbon fibers were used in combination with both untoughened and toughened matrix materials. A wide range of penetration thresholds were measured for the various fiber/matrix combinations. However, there was no clear relationship between the penetration threshold and the properties of the constituents. During some of these experiments high speed cameras were used to view the failure process, and full-field strain measurements were made to determine the strain at the onset of failure. However, these experiments provided only limited insight into the microscopic failure processes responsible for the wide range of impact resistance observed. In order to investigate potential microscopic failure processes in more detail, quasi-static tests were performed in tension, compression, and shear. Full-field strain measurement techniques were used to identify local regions of high strain resulting from microscopic failures. Microscopic failure events near the specimen surface, such as splitting of fiber bundles in surface plies, were easily identified. Subsurface damage, such as fiber fracture or fiber bundle splitting, could be identified by its effect on in-plane surface strains. Subsurface delamination could be detected as an out-of-plane deflection at the surface. Using this data, failure criteria could be established at the fiber tow level for use in analysis. An analytical formulation was developed to allow the microscopic failure criteria to be used in place of macroscopic properties as input to simulations performed using the commercial explicit finite element code, LS-DYNA. The test methods developed to investigate microscopic failure will be presented along with methods for determining local failure criteria that can be used in analysis. Results of simulations performed using LS-DYNA will be presented to illustrate the capabilities and limitations for simulating failure during quasi-static deformation and during ballistic impact of large unit cell size triaxial braid composites.

Littell, Justin D.↗

Evaluating the effectiveness of program data features for guiding memory management

Recent trends have led to the adoption of larger and more complex memory systems, often with multiple tiers of memory performance within the same platform. To utilize complex memory systems efficiently, current data management strategies must be altered to map usage demands to the underlying hardware. Applications, as the generators of memory accesses, are well-suited to guide this process, but building and maintaining separate source code versions for different memory systems is not feasible in most cases. One potential solution is to employ automated program profiling and analysis to facilitate the production of application-based guidance. By attaching memory usage information to static or lightweight program features, compilers and runtime systems can generate fine-grained guidance without additional efforts from users or developers. Recent works have employed this approach with some success, but it is not clear which program features are most useful for guiding data management.This work evaluates the effectiveness of using different program data features to predict memory usage and guide memory management. It employs a custom set of simulation tools, based in the Intel® Pin framework, to collect and analyze the usage characteristics of application data associated with common program data features, such as allocation sites, types, and context. The results show that even relatively simple features, such as object size, are useful for selecting data with similar usage properties, but finer-grained features, such as the instructions that access a particular object, are often much more effective. Additionally, this work evaluates the performance of using different data features and different program inputs to guide data placement on a heterogeneous memory platform with a limited amount of high performance memory.

Effler, T. Chad↗

ROSE

Developed at Lawrence Livermore National Laboratory (LLNL), ROSE is an open source compiler infrastructure to build source-to-source program transformation and analysis tools for large-scale C (C89 to C23), C++ (C++98 to C++23), UPC, Fortran (Fortran4, 66, 77, 95, 2003), OpenMP, Java, Python, and Binary applications. ROSE users range from experienced compiler researchers to library and tool developers who may have minimal compiler experience. ROSE is particularly well suited for building custom tools for static analysis, program optimization, arbitrary program transformation, domain-specific optimizations, complex loop optimizations, performance analysis, and cyber-security. ROSE is: A library (and set of associated tools) to quickly and easily apply compiler techniques to one's code in order to improve application performance and developer productivity. A research and development compiler infrastructure for for writing custom source-to-source translators to perform source code transformations, analysis, and optimizations. Is

Pinnow, NathanT [Lawrence Livermore National Labor↗

HPC-enabled computation of demand models at scale

The purpose of this project is to examine the energy impact of urban-scale traffic for the Los Angeles Basin by developing and implementing a scalable traffic assignment model. An energy optimization function will be posed and when integrated into the optimization code for travel assignment it can be mathematically proven to converge. The energy optimization function can then be compared to the typical travel time optimization that is traditionally used in traffic assignment models. The analysis will begin with static traffic assignment models with the routing for all origin and destinations computed in parallel on high performance computing facilities. Convergence of the numerical methods rely on the solution of convex programs (or extensions of these). This step will mostly consist of demonstrating the ability to parallelize the Frank Wolfe algorithm on various platforms.

29 ENERGY PLANNING, POLICY, AND ECONOMY↗

HPC4Mobilty w/ UCB

The purpose of this project is to examine the energy impact of urban-scale traffic for the Los Angeles Basin by developing and implementing a scalable traffic assignment model. An energy optimization function will be posed and when integrated into the optimization code for travel assignment it can be mathematically proven to converge. The energy optimization function can then be compared to the typical travel time optimization that is traditionally used in traffic assignment models. The analysis will begin with static traffic assignment models with the routing for all origin and destinations computed in parallel on high performance computing facilities. Convergence of the numerical methods rely on the solution of convex programs (or extensions of these). This step will mostly consist of demonstrating the ability to parallelize the Frank Wolfe algorithm on various platforms. This work will contribute to LBNL’s efforts to develop new processes, analytical tools, program designs, and business models to advance the state of the art in next-generation sustainable transportation solutions.

32 ENERGY CONSERVATION, CONSUMPTION, AND UTILIZATI↗

Numerical investigations in three-dimensional internal flows

Renewed interest in simulation of high enthalpy flows was brought about by interest in the design and testing of hypersonic propulsion components. This renewed interest has led to refurbishment of high speed ground based wind tunnel facilities. Simulation of the high enthalpy flows occurring in the NASP propulsion system is of particular interest. Studying the combustor presentes some of the more challenging problems in the ground based simulation of the fluid flow. A difficulty in simulating the required conditions at the entrance to the combustor is related to achieveing a sufficiently high static pressure such that combustion would be possible at a high Mach number. An analysis of the flow within the original nozzle was not performed previously using numerical simulations, although it was operated experimentally. A Navier-Stokes code was chosen in the present study to examine analytically the flow within representative selected nozzles for use in combustion experiments. The numerical simulation of these fluid flows is popular and may be able to shed light on the direction that redesign of the shock tube nozzles should take. The numerical codes were modified to account for the axially symmetric flow field, for the inclusion of equilibrium real gas effects and for ideal gases whose thermodynamic properties are frozen at the stagnation conditions. Numerical simulation of flows within the original and two proposed nozzles, including the energy lost to the relatively cold walls, are investigated.

Rose, William C.↗

Towards a Certified Lightweight Array Bound Checker for Java Bytecode

Dynamic array bound checks are crucial elements for the security of a Java Virtual Machines. These dynamic checks are however expensive and several static analysis techniques have been proposed to eliminate explicit bounds checks. Such analyses require advanced numerical and symbolic manipulations that 1) penalize bytecode loading or dynamic compilation, 2) complexify the trusted computing base. Following the Foundational Proof Carrying Code methodology, our goal is to provide a lightweight bytecode verifier for eliminating array bound checks that is both efficient and trustable. In this work, we define a generic relational program analysis for an imperative, stackoriented byte code language with procedures, arrays and global variables and instantiate it with a relational abstract domain as polyhedra. The analysis has automatic inference of loop invariants and method pre-/post-conditions, and efficient checking of analysis results by a simple checker. Invariants, which can be large, can be specialized for proving a safety policy using an automatic pruning technique which reduces their size. The result of the analysis can be checked efficiently by annotating the program with parts of the invariant together with certificates of polyhedral inclusions. The resulting checker is sufficiently simple to be entirely certified within the Coq proof assistant for a simple fragment of the Java bytecode language. During the talk, we will also report on our ongoing effort to scale this approach for the full sequential JVM.

Pichardie, David↗

Expanded capabilities of the CarMa code in modeling resistive wall mode dynamics with 3-D conductors

In this work, an improved version of the CarMa code is presented, called CarMa-D, for the analysis of resistive wall modes (RWMs) in fusion devices, simultaneously considering the effects of volumetric three-dimensional conducting structures, plasma dynamics, toroidal rotation or drift-kinetic damping. Unlike static CarMa, CarMa-D does not rely on the simplifying assumptions such as neglecting the plasma mass, toroidal rotation and kinetic damping. The new coupling strategy is based on matrix-based Padé rational functions approximation of plasma a response. The arising mathematical model is formally equivalent to the original CarMa model, but with a higher number of degrees of freedom to model the dynamics of the plasma. CarMa-D overcomes the main limitations of the original CarMa, in particular: (i) the massless assumption for the plasma is removed, allowing modeling of global modes growing both on ideal kink time scales and in the typical RWM growth rate regime, with a suitable treatment of the model; (ii) the effects of toroidal plasma flow and drift kinetic damping can be included into the new model, providing a powerful tool to study macroscopic phenomena where both plasma dynamics and 3-D conducting structures play important roles.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗