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

The STAGS computer code

Basic information about the computer code STAGS (Structural Analysis of General Shells) is presented to describe to potential users the scope of the code and the solution procedures that are incorporated. Primarily, STAGS is intended for analysis of shell structures, although it has been extended to more complex shell configurations through the inclusion of springs and beam elements. The formulation is based on a variational approach in combination with local two dimensional power series representations of the displacement components. The computer code includes options for analysis of linear or nonlinear static stress, stability, vibrations, and transient response. Material as well as geometric nonlinearities are included. A few examples of applications of the code are presented for further illustration of its scope.

Almroth, B. O.↗

Scaling effects in the static and dynamic response of graphite-epoxy beam-columns

Scale model technology represents one method of investigating the behavior of advanced, weight-efficient composite structures under a variety of loading conditions. It is necessary, however, to understand the limitations involved in testing scale model structures before the technique can be fully utilized. These limitations, or scaling effects, are characterized. in the large deflection response and failure of composite beams. Scale model beams were loaded with an eccentric axial compressive load designed to produce large bending deflections and global failure. A dimensional analysis was performed on the composite beam-column loading configuration to determine a model law governing the system response. An experimental program was developed to validate the model law under both static and dynamic loading conditions. Laminate stacking sequences including unidirectional, angle ply, cross ply, and quasi-isotropic were tested to examine a diversity of composite response and failure modes. The model beams were loaded under scaled test conditions until catastrophic failure. A large deflection beam solution was developed to compare with the static experimental results and to analyze beam failure. Also, the finite element code DYCAST (DYnamic Crash Analysis of STructure) was used to model both the static and impulsive beam response. Static test results indicate that the unidirectional and cross ply beam responses scale as predicted by the model law, even under severe deformations. In general, failure modes were consistent between scale models within a laminate family; however, a significant scale effect was observed in strength. The scale effect in strength which was evident in the static tests was also observed in the dynamic tests. Scaling of load and strain time histories between the scale model beams and the prototypes was excellent for the unidirectional beams, but inconsistent results were obtained for the angle ply, cross ply, and quasi-isotropic beams. Results show that valuable information can be obtained from testing on scale model composite structures, especially in the linear elastic response region. However, due to scaling effects in the strength behavior of composite laminates, caution must be used in extrapolating data taken from a scale model test when that test involves failure of the structure.

Jackson, Karen E.↗

Software design space exploration for exascale combustion co-design

The design of hardware for next-generation exascale computing systems will require a deep understanding of how software optimizations impact hardware design trade-offs. In order to characterize how co-tuning hardware and software parameters affects the performance of combustion simulation codes, we created ExaSAT, a compiler-driven static analysis and performance modeling framework. Our framework can evaluate hundreds of hardware/software configurations in seconds, providing an essential speed advantage over simulators and dynamic analysis techniques during the co-design process. Our analytic performance model shows that advanced code transformations, such as cache blocking and loop fusion, can have a significant impact on choices for cache and memory architecture. Our modeling helped us identify tuned configurations that achieve a 90% reduction in memory traffic, which could significantly improve performance and reduce energy consumption. These techniques will also be useful for the development of advanced programming models and runtimes, which must reason about these optimizations to deliver better performance and energy efficiency.

97 MATHEMATICS AND COMPUTING↗

NEAMS Static Analysis

Advanced Static Analysis tools can find defects in source code without actually running the code. These tools are capable of finding a large set of defects depending on which checkers are enabled. The tool used on the NEAMS project is developed by a company named “Klocwork.” For C and C++ codes it has more than 150 checkers.

97 MATHEMATICS AND COMPUTING↗

IKOS: A Framework for Static Analysis based on Abstract Interpretation (Tool Paper)

The RTCA standard (DO-178C) for developing avionic software and getting certification credits includes an extension (DO-333) that describes how developers can use static analysis in certification. In this paper, we give an overview of the IKOS static analysis framework that helps developing static analyses that are both precise and scalable. IKOS harnesses the power of Abstract Interpretation and makes it accessible to a larger class of static analysis developers by separating concerns such as code parsing, model development, abstract domain management, results management, and analysis strategy. The benefits of the approach is demonstrated by a buffer overflow analysis applied to flight control systems.

Abstract Interpretation↗

On the Power of Abstract Interpretation

Increasingly sophisticated applications of static analysis place increased burden on the reliability of the analysis techniques. Often, the failure of the analysis technique to detect some information my mean that the time or space complexity of the generated code would be altered. Thus, it is important to precisely characterize the power of static analysis techniques. We follow the approach of Selur et. al. who studied the power of strictness analysis techniques. Their result can be summarized by saying 'strictness analysis is perfect up to variations in constants.' In other words, strictness analysis is as good as it could be, short of actually distinguishing between concrete values. We use this approach to characterize a broad class of analysis techniques based on abstract interpretation including, but not limited to, strictness analysis. For the first-order case, we consider abstract interpretations where the abstract domain for data values is totally ordered. This condition is satisfied by Mycroft's strictness analysis that of Sekar et. al. and Wadler's analysis of list-strictness. For such abstract interpretations, we show that the analysis is complete in the sense that, short of actually distinguishing between concrete values with the same abstraction, it gives the best possible information. We further generalize these results to typed lambda calculus with pairs and higher-order functions. Note that products and function spaces over totally ordered domains are not totally ordered. In fact, the notion of completeness used in the first-order case fails if product domains or function spaces are added. We formulate a weaker notion of completeness based on observability of values. Two values (including pairs and functions) are considered indistinguishable if their observable components are indistinguishable. We show that abstract interpretation of typed lambda calculus programs is complete up to this notion of indistinguishability. We use denotationally-oriented arguments instead of the detailed operational arguments used by Selur et. al.. Hence, our proofs are much simpler. They should be useful for further future improvements.

Reddy, Uday S.↗

Nonlinear static and dynamic finite element analysis of an eccentrically loaded graphite-epoxy beam

The Dynamic Crash Analysis of Structures (DYCAT) and NIKE3D nonlinear finite element codes were used to model the static and implulsive response of an eccentrically loaded graphite-epoxy beam. A 48-ply unidirectional composite beam was tested under an eccentric axial compressive load until failure. This loading configuration was chosen to highlight the capabilities of two finite element codes for modeling a highly nonlinear, large deflection structural problem which has an exact solution. These codes are currently used to perform dynamic analyses of aircraft structures under impact loads to study crashworthiness and energy absorbing capabilities. Both beam and plate element models were developed to compare with the experimental data using the DYCAST and NIKE3D codes.

Fasanella, Edwin L.↗

Blasim: A computational tool to assess ice impact damage on engine blades

A portable computer called BLASIM was developed at NASA LeRC to assess ice impact damage on aircraft engine blades. In addition to ice impact analyses, the code also contains static, dynamic, resonance margin, and supersonic flutter analysis capabilities. Solid, hollow, superhybrid, and composite blades are supported. An optional preprocessor (input generator) was also developed to interactively generate input for BLASIM. The blade geometry can be defined using a series of airfoils at discrete input stations or by a finite element grid. The code employs a coarse, fixed finite element mesh containing triangular plate finite elements to minimize program execution time. Ice piece is modeled using an equivalent spherical objective that has a high velocity opposite that of the aircraft and parallel to the engine axis. For local impact damage assessment, the impact load is considered as a distributed force acting over a region around the impact point. The average radial strain of the finite elements along the leading edge is used as a measure of the local damage. To estimate damage at the blade root, the impact is treated as an impulse and a combined stress failure criteria is employed. Parametric studies of local and root ice impact damage, and post-impact dynamics are discussed for solid and composite blades.

Reddy, E. S.↗

Galileo spacecraft modal test and evaluation of testing techniques

The structural configuration, modal test requirements and pre-test activities involved in modeling the expected dynamic environment and responses of the Galileo spacecraft are discussed. The probe will be Shuttle-launched in 1986 and will gather data on the Jupiter system. Loads analysis for the 5300 lb spacecraft were performed with the NASTRAN code, and covered 10,000 static degrees of freedom and 1600 mass degrees of freedom. A modal analysis will be used to verify the predictions for natural frequencies, mode shapes, orthogonality checks, residual mass, modal damping and forces, and generalized forces. Verification of the validity of considering only 70 natural modes in the numerical simulation is being performed by examining the forcing functions of the analysis. The analysis led to requirements that 162 channels of accelerometer data and 118 channels of strain gage data be recorded during shaker tests to reveal areas where design changes will be needed to eliminate vibration peaks.

Chen, J.-C.↗

Statistical inference of static analysis rules

Various apparatus and methods are disclosed for identifying errors in program code. Respective numbers of observances of at least one correctness rule by different code instances that relate to the at least one correctness rule are counted in the program code. Each code instance has an associated counted number of observances of the correctness rule by the code instance. Also counted are respective numbers of violations of the correctness rule by different code instances that relate to the correctness rule. Each code instance has an associated counted number of violations of the correctness rule by the code instance. A respective likelihood of the validity is determined for each code instance as a function of the counted number of observances and counted number of violations. The likelihood of validity indicates a relative likelihood that a related code instance is required to observe the correctness rule. The violations may be output in order of the likelihood of validity of a violated correctness rule.

Engler, Dawson Richards↗

Geometrically nonlinear analysis of stiffened composite panels with various end-support conditions

Recent enhancements to the NLPAN computer code are presented. NLPAN is a finite strip method for the geometrically nonlinear static analysis of prismatic composite structures subjected to in-plane and pressure loading. Refinements to the original approach of NLPAN are noted, and the modifications necessary to model clamped ends, eccentrically loaded ends, and ends with rotationally elastic support are discussed. Analytical predictions for axially loaded stiffened panels with various types of end support are compared with experimental measurements. Overall there is good agreement between analytical results and test results. The method is successful in modelling key mechanisms which can cause elastic collapse.

Stoll, Frederick↗

Palm: Easing the Burden of Analytical Performance Modeling

Analytical (predictive) application performance models are critical for diagnosing performance-limiting resources, optimizing systems, and designing machines. Creating models, however, is difficult because they must be both accurate and concise. To ease the burden of performance modeling, we developed Palm, a modeling tool that combines top-down (human-provided) semantic insight with bottom-up static and dynamic analysis. To express insight, Palm defines a source code modeling annotation language. By coordinating models and source code, Palm's models are `first-class' and reproducible. Unlike prior work, Palm formally links models, functions, and measurements. As a result, Palm (a) uses functions to either abstract or express complexity (b) generates hierarchical models (representing an application's static and dynamic structure); and (c) automatically incorporates measurements to focus attention, represent constant behavior, and validate models. We discuss generating models for three different applications.

annotation languages↗

Automation of Structural Sizing of Aircraft Concepts Under Static Aeroelastic Constraints

This paper presents an automation process for structural sizing of subsonic and supersonic aircraft concepts under static aeroelastic constraints. The automation process starts with an OpenVSP geometry and ends with a PATRAN plot of a NASTRAN solution for static aeroelastic analysis or optimization. ModelCenter is used to integrate all analysis codes with easy-to-use interfaces. Automation tools are developed to streamline the setup process and avoid user errors. Fuel is distributed by solving an optimization problem to match the center of gravity of aircraft at a specified flight condition. Fuel weights are also automatically attached to the structural model as point masses. All other weights used in FLOPS mission analysis (excluding fuselage and wing structural weights) are automatically attached to or smeared on the structural model. For any given OpenVSP geometry and FLOPS analysis data, a static aeroelastic sizing model for NASTRAN analysis can be generated in a couple of hours. The empirical fuselage and wing structural weights from FLOPS are replaced by structural panel weights from the sized finite-element model. Three supersonic and two subsonic aircraft concepts are used to demonstrate the automation process as a physics-based weight estimation tool for aircraft conceptual design.

Li, Wu↗

An empirical comparison of software fault tolerance and fault elimination

Reliability is an important concern in the development of software for modern systems. Some researchers have hypothesized that particular fault-handling approaches or techniques are so effective that other approaches or techniques are superfluous. The authors have performed a study that compares two major approaches to the improvement of software, software fault elimination and software fault tolerance, by examination of the fault detection obtained by five techniques: run-time assertions, multi-version voting, functional testing augmented by structural testing, code reading by stepwise abstraction, and static data-flow analysis. This study has focused on characterizing the sets of faults detected by the techniques and on characterizing the relationships between these sets of faults. The results of the study show that none of the techniques studied is necessarily redundant to any combination of the others. Further results reveal strengths and weakness in the fault detection by the techniques studied and suggest directions for future research.

Shimeall, Timothy J.↗

Fluid Film Bearing Code Development

The next generation of rocket engine turbopumps is being developed by industry through Government-directed contracts. These turbopumps will use fluid film bearings because they eliminate the life and shaft-speed limitations of rolling-element bearings, increase turbopump design flexibility, and reduce the need for turbopump overhauls and maintenance. The design of the fluid film bearings for these turbopumps, however, requires sophisticated analysis tools to model the complex physical behavior characteristic of fluid film bearings operating at high speeds with low viscosity fluids. State-of-the-art analysis and design tools are being developed at the Texas A&M University under a grant guided by the NASA Lewis Research Center. The latest version of the code, HYDROFLEXT, is a thermohydrodynamic bulk flow analysis with fluid compressibility, full inertia, and fully developed turbulence models. It can predict the static and dynamic force response of rigid and flexible pad hydrodynamic bearings and of rigid and tilting pad hydrostatic bearings. The Texas A&M code is a comprehensive analysis tool, incorporating key fluid phenomenon pertinent to bearings that operate at high speeds with low-viscosity fluids typical of those used in rocket engine turbopumps. Specifically, the energy equation was implemented into the code to enable fluid properties to vary with temperature and pressure. This is particularly important for cryogenic fluids because their properties are sensitive to temperature as well as pressure. As shown in the figure, predicted bearing mass flow rates vary significantly depending on the fluid model used. Because cryogens are semicompressible fluids and the bearing dynamic characteristics are highly sensitive to fluid compressibility, fluid compressibility effects are also modeled. The code contains fluid properties for liquid hydrogen, liquid oxygen, and liquid nitrogen as well as for water and air. Other fluids can be handled by the code provided that the user inputs information that relates the fluid transport properties to the temperature.

Source record↗

Thermohydrodynamic analysis of cryogenic liquid turbulent flow fluid film bearings

A thermohydrodynamic analysis is presented and a computer code developed for prediction of the static and dynamic force response of hydrostatic journal bearings (HJB's), annular seals or damper bearing seals, and fixed arc pad bearings for cryogenic liquid applications. The study includes the most important flow characteristics found in cryogenic fluid film bearings such as flow turbulence, fluid inertia, liquid compressibility and thermal effects. The analysis and computational model devised allow the determination of the flow field in cryogenic fluid film bearings along with the dynamic force coefficients for rotor-bearing stability analysis.

Andres, Luis San↗

Performance and Architecture Lab Modeling Tool

Analytical application performance models are critical for diagnosing performance-limiting resources, optimizing systems, and designing machines. Creating models, however, is difficult. Furthermore, models are frequently expressed in forms that are hard to distribute and validate. The Performance and Architecture Lab Modeling tool, or Palm, is a modeling tool designed to make application modeling easier. Palm provides a source code modeling annotation language. Not only does the modeling language divide the modeling task into sub problems, it formally links an application's source code with its model. This link is important because a model's purpose is to capture application behavior. Furthermore, this link makes it possible to define rules for generating models according to source code organization. Palm generates hierarchical models according to well-defined rules. Given an application, a set of annotations, and a representative execution environment, Palm will generate the same model. A generated model is a an executable program whose constituent parts directly correspond to the modeled application. Palm generates models by combining top-down (human-provided) semantic insight with bottom-up static and dynamic analysis. A model's hierarchy is defined by static and dynamic source code structure. Because Palm coordinates models and source code, Palm's models are 'first-class' and reproducible. Palm automates common modeling tasks. For instance, Palm incorporates measurements to focus attention, represent constant behavior, and validate models. Palm's workflow is as follows. The workflow's input is source code annotated with Palm modeling annotations. The most important annotation models an instance of a block of code. Given annotated source code, the Palm Compiler produces executables and the Palm Monitor collects a representative performance profile. The Palm Generator synthesizes a model based on the static and dynamic mapping of annotations to program behavior. The model -- an executable program -- is a hierarchical composition of annotation functions, synthesized functions, statistics for runtime values, and performance measurements.

Tallent, Nathan↗

Dynamic Ground Effects Simulation Using OVERFLOW-D

This presentation is broken into 5 logical sections. The Background Information section describes the technical issues being address by this study. The Approach section describes the organization of the contract effort which was laid out as the most effective means of quantifying, with validated methods, the magnitude of dynamic ground effects for the TCA (Technology Concept Aircraft) configuration. The Validation Case section describes the analysis of the XB-70 configuration in both static and dynamic ground effect, with comparisons to wind tunnel and flight test data. The TCA Analysis section then describes the application of the same codes and methodologies to the TCA in both static and dynamic ground effect. Comparisons are made between the static and dynamic, as well as to early static data from a recent wind tunnel test on the TCA configuration. Finally, the work to date is summarized and the future direction of this study is outlined.

Dwyer, Bill↗