Search NASA⌕ Search

SEARCH · Search NASA

Results for “Code verification”

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 667 records · Page 37

Proving Correctness for Pointer Programs in a Verifying Compiler

This research describes a component-based approach to proving the correctness of programs involving pointer behavior. The approach supports modular reasoning and is designed to be used within the larger context of a verifying compiler. The approach consists of two parts. When a system component requires the direct manipulation of pointer operations in its implementation, we implement it using a built-in component specifically designed to capture the functional and performance behavior of pointers. When a system component requires pointer behavior via a linked data structure, we ensure that the complexities of the pointer operations are encapsulated within the data structure and are hidden to the client component. In this way, programs that rely on pointers can be verified modularly, without requiring special rules for pointers. The ultimate objective of a verifying compiler is to prove-with as little human intervention as possible-that proposed program code is correct with respect to a full behavioral specification. Full verification for software is especially important for an agency like NASA that is routinely involved in the development of mission critical systems.

Kulczycki, Gregory↗

CropEx Web-Based Agricultural Monitoring and Decision Support

CropEx is a Web-based agricultural Decision Support System (DSS) that monitors changes in crop health over time. It is designed to be used by a wide range of both public and private organizations, including individual producers and regional government offices with a vested interest in tracking vegetation health. The database and data management system automatically retrieve and ingest data for the area of interest. Another stores results of the processing and supports the DSS. The processing engine will allow server-side analysis of imagery with support for image sub-setting and a set of core raster operations for image classification, creation of vegetation indices, and change detection. The system includes the Web-based (CropEx) interface, data ingestion system, server-side processing engine, and a database processing engine. It contains a Web-based interface that has multi-tiered security profiles for multiple users. The interface provides the ability to identify areas of interest to specific users, user profiles, and methods of processing and data types for selected or created areas of interest. A compilation of programs is used to ingest available data into the system, classify that data, profile that data for quality, and make data available for the processing engine immediately upon the data s availability to the system (near real time). The processing engine consists of methods and algorithms used to process the data in a real-time fashion without copying, storing, or moving the raw data. The engine makes results available to the database processing engine for storage and further manipulation. The database processing engine ingests data from the image processing engine, distills those results into numerical indices, and stores each index for an area of interest. This process happens each time new data is ingested and processed for the area of interest, and upon subsequent database entries, the database processing engine qualifies each value for each area of interest and conducts a logical processing of results indicating when and where thresholds are exceeded. Reports are provided at regular, operator-determined intervals that include variances from thresholds and links to view raw data for verification, if necessary. The technology and method of development allow the code base to easily be modified for varied use in the real-time and near-real-time processing environments. In addition, the final product will be demonstrated as a means for rapid draft assessment of imagery.

Harvey. Craig↗

Expansion of Check-Cases for 6DOF Simulation

This is the Appendix containing a description of the solution for Case 1 in the assessment, “Expansion of Check-Cases for 6DOF Simulation”. For cases of spherical gravity, it is possible to provide a two-body solution without recourse to numerical integration and thus it is accurate to machine precision. Python code for a Keplerian Propagator (propagate.py) which produced a reference trajectory for Case 1 is provided in this appendix. There is also code for generating test cases which was used as an independent verification of the propagator. This is a high-level description of the algorithm employed. The documentation of each function includes implementation details, including equations for each task.

Modeling↗

Cross-verification of neoclassical transport solutions from XGCa against NEO

Radial neoclassical transport from the global gyrokinetic code XGC has been cross-verified against the local drift-kinetic neoclassical code NEO in NEO's local regime using a Grad-Shafranov equilibrium with a circular boundary. XGC shows excellent agreement with NEO, except for a difference of approximately 10% in the ion heat flux. Close investigation reveals that this difference is due to the simplification in NEO to use the same Coulomb logarithm ln Λ to represent all particle species, while XGC uses different formulas for collisions between different species. When XGC uses NEO's Coulomb logarithm, excellent agreement in the ion heat flux is recovered. Here, the present work not only crossverifies the equation solvers in two codes, but also verifies that the gyrokinetic and the drift-kinetic equations agree and that the linearized and nonlinear Coulomb collision operators agree in the mild gradient, local regime.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Automated verification of flight software. User's manual

(Automated Verification of Flight Software), a collection of tools for analyzing source programs written in FORTRAN and AED is documented. The quality and the reliability of flight software are improved by: (1) indented listings of source programs, (2) static analysis to detect inconsistencies in the use of variables and parameters, (3) automated documentation, (4) instrumentation of source code, (5) retesting guidance, (6) analysis of assertions, (7) symbolic execution, (8) generation of verification conditions, and (9) simplification of verification conditions. Use of AVFS in the verification of flight software is described.

Saib, S. H.↗

Validation and Verification of Python based Neutron Spectrum Unfolding Software

To validate and verify the python-based code (PySL), designed to replicate the programs used by STAYSL for Beam Correction Factor (BCF) and Self-Shielding Factor (SHIELD), a series of tests were performed. To test BCF a python script was written to generate a random flux history file and both versions of the code processed the data. The test verified matching values up to at least one decimal place, approximately 10,000 tests where run and each one passed. Isotopes began to fail the tests once neutron saturation was reached. To verify this the total time of exposure was varied the isotopes that failed were compared to a list of their half-lives. The test process for SHIELD was very similar but, in this case, the code began by producing an input file with varying thickness and device type/environment for the SHIELD input. The failure condition for this test was if any of the data points for an isotope had a difference above 3%. Approximately 40 of these tests were run and there were only 3 isotopes that had reoccurring failures but only 2% of their points were above the 3% difference. A visual comparison was conducted by plotting the results from both programs. Although the test failed, the differences between their values were minuscule, and the self-shielding factor’s shape was preserved when plotted. Next steps for this project will be validating and verifying the python-based SigPhi code and then reproducing and testing the least squares unfolding performed by STAYSL.

73 - NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Certifying Auto-Generated Flight Code

Model-based design and automated code generation are being used increasingly at NASA. Many NASA projects now use MathWorks Simulink and Real-Time Workshop for at least some of their modeling and code development. However, there are substantial obstacles to more widespread adoption of code generators in safety-critical domains. Since code generators are typically not qualified, there is no guarantee that their output is correct, and consequently the generated code still needs to be fully tested and certified. Moreover, the regeneration of code can require complete recertification, which offsets many of the advantages of using a generator. Indeed, manual review of autocode can be more challenging than for hand-written code. Since the direct V&V of code generators is too laborious and complicated due to their complex (and often proprietary) nature, we have developed a generator plug-in to support the certification of the auto-generated code. Specifically, the AutoCert tool supports certification by formally verifying that the generated code is free of different safety violations, by constructing an independently verifiable certificate, and by explaining its analysis in a textual form suitable for code reviews. The generated documentation also contains substantial tracing information, allowing users to trace between model, code, documentation, and V&V artifacts. This enables missions to obtain assurance about the safety and reliability of the code without excessive manual V&V effort and, as a consequence, eases the acceptance of code generators in safety-critical contexts. The generation of explicit certificates and textual reports is particularly well-suited to supporting independent V&V. The primary contribution of this approach is the combination of human-friendly documentation with formal analysis. The key technical idea is to exploit the idiomatic nature of auto-generated code in order to automatically infer logical annotations. The annotation inference algorithm itself is generic, and parametrized with respect to a library of coding patterns that depend on the safety policies and the code generator. The patterns characterize the notions of definitions and uses that are specific to the given safety property. For example, for initialization safety, definitions correspond to variable initializations while uses are statements which read a variable, whereas for array bounds safety, definitions are the array declarations, while uses are statements which access an array variable. The inferred annotations are thus highly dependent on the actual program and the properties being proven. The annotations, themselves, need not be trusted, but are crucial to obtain the automatic formal verification of the safety properties without requiring access to the internals of the code generator. The approach has been applied to both in-house and commercial code generators, but is independent of the particular generator used. It is currently being adapted to flight code generated using MathWorks Real-Time Workshop, an automatic code generator that translates from Simulink/Stateflow models into embedded C code.

Denney, Ewen↗

Requirements Description of DASSH-F

This report reviews the modeling and simulation capabilities of Argonne National Laboratory’s DASSH code that is used in present reactor analysis activities. These capabilities will be used to establish the set of verification tasks necessary to verify DASSH for use on commercial projects. A similar approach was taken for the PERSENT, REBUS and DIF3D software packages. The DASSH program is a thermal analysis code designed to rapidly allow a reactor design engineer to obtain flow rates requirements that satisfy peak temperature constraints in the domain. DASSH is a follow-on development to the SE2-ANL software and SUPERENERGY-2 software that it is based upon. DASSH was designed to account for both neutron and gamma heating and is inherently connected to the GAMSOR part of the ARC suite of fast reactor analysis software. SE2-ANL is a developed piece of software from the 1980s while DASSH is a modern implementation with notable improvements in geometry handling. The most important upgrade of DASSH relative to SE2-ANL is that it can analyze multiple time points in a single run where SE2-ANL can only treat a single time point. This allows the user to understand the impact of and search the flow distribution for the entire operational period of a reactor design considering pressure drop, peak coolant and fuel temperatures, and thermal striping. DASSH has three input paths that have to be verified. The first input path builds the geometry and power distribution based upon the DIF3D model but ignores the gamma heating aspects of the problem. The second input path also builds the geometry from the DIF3D model but it takes the neutron and gamma heating distributions from GAMSOR. The third input path is to take the geometry and power distribution directly from user input (i.e. not coupled to DIF3D or GAMSOR). DASSH also has many built in correlations for material properties along with a user defined specification of the fuel, structure, and coolant properties. There are correlations for flow split, mixing, pressure drop, and heat transfer coefficients (subchannel rather than a direct methodology). In total, verification of DASSH will require an extensive testing to cover all possible user features of the software.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

MACCS User Guide (V.5.0)

MACCS is used by the Nuclear Regulatory Commission (NRC) and various national and international organizations for probabilistic consequence analysis of nuclear power accidents. This user guide is intended to assist analysts in understanding the MACCS/MACCS-UI User Interface (UI) model and to provide information regarding the code. This user guide version describes MACCS Version 5.0, model history, explains how to set up and execute a problem, and informs the user of the definition of various input parameters and any constraints placed on those parameters. This report is part of a series of reports documenting MACCS. Other reports include the MACCS Theory Manual, MACCS Verification Report, Technical Bases for Consequence Analyses Using MACCS, as well as documentation for preprocessor codes including SecPop, MelMACCS, and COMIDA2.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

MACCS User Guide - Version 5.2

MACCS is used by the Nuclear Regulatory Commission (NRC) and various national and international organizations for probabilistic consequence analysis of nuclear power accidents. This user guide is intended to assist analysts in understanding the MACCS/MACCS-UI User Interface (UI) model and to provide information regarding the code. This user guide version describes MACCS Version 5.2, model history, explains how to set up and execute a problem, and informs the user of the definition of various input parameters and any constraints placed on those parameters. This report is part of a series of reports documenting MACCS. Other reports include the MACCS Theory Manual, MACCS Verification Report, Technical Bases for Consequence Analyses Using MACCS, as well as documentation for preprocessor codes including SecPop, MelMACCS, and COMIDA2.

54 ENVIRONMENTAL SCIENCES↗

Probabilistic structural analysis verification studies

The basic objective of this verification effort is to apply probabilistic structural analysis methods developed and implemented in the Numerical Evaluation of Stochastic Structures Under Stress (NESSUS) code to typical space propulsion components. The chosen typical components are turbine blade, high pressure duct, Lox post, and transfer tube liners. Since analysis options of increasing levels of sophistication are implemented in NESSUS incrementally, the verification efforts are also tailored to have increasing levels of sophistication during the progression of the contract. The current released version of the code is limited to linear structural analysis.

Rajagopal, K. R.↗

CTF 4.0 Validation and Verification

Coolant-Boiling in Rod Arrays- Two Fluids (COBRA-TF) is a Thermal/Hydraulic (T/H) simulation code designed for Light Water Reactor (LWR) analysis. It uses a two-fluid, three-field (i.e. fluid film, fluid drops, and vapor) modeling approach. Both sub-channel and 3D Cartesian forms of nine conservation equations are available for LWR modeling. The code was originally developed by Pacific Northwest Laboratory in 1980 and has been used and modified by several institutions over the last several decades. COBRA-TF is also used at the Pennsylvania State University (PSU) by the Reactor Dynamics and Fuel Modeling Group (RDFMG) and has been improved, updated, and subsequently became the PSU RDFMG version of COBRA-TF (CTF). One part of the improvement process includes validating the methods in CTF. This document seeks to provide a certain level of certainty and confidence in the predictive capabilities of the code for the scenarios it was designed to model—rod bundle geometries with operating conditions that are representative of prototypical Pressurized Water Reactor (PWR)s and Boiling Water Reactor (BWR)s in both normal and accident conditions. This is done by modeling a variety of experiments that simulate these scenarios and then presenting a qualitative and quantitative analysis of the results that demonstrates the accuracy to which CTF is capable of capturing specific quantities of interest.

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

Verification of Upcoming MCNP Features For Estimating Nuclear Data Sensitivities in Fixed Source Simulations [Abstract]

Predictive simulation codes, like the Monte Carlo N-Particle (MCNP) transport code, are used throughout the nuclear community. These simulations are based on nuclear data. Maximizing the accuracy and precision of nuclear data maximizes the accuracy and precision of the overall simulation. This is imperative to applications that rely on simulations. For example, improving nuclear data for special nuclear material improves simulation accuracy in stockpile stewardship applications, which results in larger safety margins and decreased operational costs. The improvement and validation of nuclear data is completed through integral benchmark experiments. Past benchmarks have primarily been limited to focus on the effective multiplication factor ($\kappa$ eff ); broadening the purview of benchmarks beyond $\kappa$ eff -dependent nuclear data addresses nuclear data deficiencies. Different response types depend on different areas of nuclear data. This dependence is quantified as nuclear data sensitivity: the change in response due to perturbation of a contributing parameter. The larger the nuclear data sensitivity of a response, the more the experiment is influenced by the uncertainties of the nuclear data. The optimization of nuclear data sensitivities in future benchmarks would result in more detailed validation of lesser studied areas of nuclear data. Currently, direct sensitivity capabilities are not easily found for all experiment types and parameters. An MCNP tool to directly estimate the cross section sensitivities of tallied values is under development. Additionally, updates have been made to the perturbation feature of MCNP, which can be used in a less direct approach to estimating sensitivities. This work verifies these features to estimate nuclear data sensitivities in fixed source simulations of a 4.5-kg sphere of alpha- phase weapons-grade plutonium surrounded by differing amounts of copper and polyethylene. Integrated estimates made using MCNP’s tools were found to statistically agree with integrated estimates made from manual perturbation of nuclear data proving the validity of the MCNP tools.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

thermal-grid-jba v1.0.0

This is a software repository that contains models for a feasibility study of a thermal energy network for Joint Base Andrews. The work has been conducted under the ESTCP program in the project https://serdp-estcp.mil/projects/details/0694868a-3d58-4a14-a587-b8f638bfcd5c The repository contains models for energy system selection and for verification of design. The DoD management intends to give access to this code for future feasibility studies at Joint Base Andrews and possibly other bases.

Wetter, Michael [Lawrence Berkeley National Labora↗

Nek5000: improvements in the available RANS models, meshing, tutorials, and training

This year, the Nuclear Energy Advanced Modeling Simulation program (NEAMS) thermal-hydraulics report for Nek5000 NRC- and verification and validation (V&V)-driven development focuses on following areas of code application and improvement. First we have continued improvements of RANS modeling capabilities in Nek5000 including improved k-tau model focusing mostly on wallfunction initial implementation with spectral element method (SEM) and initiating investigation of an alternative approach XSEM that greatly reduces discretization errors.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

SAS4A/SASSYS-1 Verification and Validation Plan for the Versatile Test Reactor

Software verification and validation (V&V) hold an important role in the safety analysis for nuclear facilities. Codes and models utilized in calculations that demonstrate the safety basis as part of a license application or authorization must demonstrate an acceptable pedigree with regard to key critical characteristics that are comprised of the functional and performance requirements of the software. This document describes the methodology for verification and validation of the SAS4A/SASSYS-1 systems-level liquid-metal safety analysis software in support of DOE authorization of the Versatile Test Reactor (VTR). The overall goal of this V&V effort is to demonstrate the suitability of SAS4A/SASSYS-1 for evaluation of safety performance and characterization of safety margins in VTR. To that end, the V&V methodology will be used to demonstrate the adequacy of the component and physical models of SAS4A/SASSYS-1 for the corresponding VTR design elements. This methodology, which has been derived as a generalized approach to the U.S. NRC’s evaluation model development and assessment process (EMDAP) of Regulatory Guide 1.203, entails four high-level activities: software requirements identification, assessment base development, determination of acceptance, and gap closure. The methodology has been generalized to be suitable for both verification and validation of the software for the VTR project. Several high-level engineering analysis quality assurance measures as well as supporting V&V methodology documentation are also described in this document to help support demonstration of software acceptance. To support initial development of the SAS4A/SASSYS-1 V&V basis, existing verification test problems and systems benchmarks are also identified and briefly described in this document.

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

Quantitative measurements of vaporization, burst ionization, and emission characteristics of shaped charge barium releases

Intensity-calibrated color video recordings of three barium-shaped charge injections in the ionopshere were used to determine the initial ionization, the column density corresponding to unity optical depth, and the yield of vaporized barium in the fast jet. It was found that the initial ionization at the burst was less than 1% and that 0% burst ionization was consistent with the observations. Owing to the Doppler shift, the column density for optical thickness in the neutral barium varies somewhat according to the velocity distribution. For the cases examined here, the column density was 2-5 x 10(exp 10) atoms/sq cm. This value, which occurred 12 to 15 s after release, should be approximately valid for most shaped charge experiments. The yield was near 30% (15% in the fast jet) for two of the releases and was somewhat lower in the third, which also had a lower peak velocity. This study also demonstrated the applicability of the computer simulation code developed for chemical releases by Stenbaek-Nielsen and provided experimental verification of the Doppler-corrected emission rates calculated b Stenbaek-Nielsen (1989).

Hoch, Edward L.↗

Credible Computations: Standard and Uncertainty

The discipline of computational fluid dynamics (CFD) is at a crossroad. Most of the significant advances related to computational methods have taken place. The emphasis is now shifting from methods to results. Significant efforts are made in applying CFD to solve design problems. The value of CFD results in design depends on the credibility of computed results for the intended use. The process of establishing credibility requires a standard so that there is a consistency and uniformity in this process and in the interpretation of its outcome. The key element for establishing the credibility is the quantification of uncertainty. This paper presents salient features of a proposed standard and a procedure for determining the uncertainty. A customer of CFD products - computer codes and computed results - expects the following: A computer code in terms of its logic, numerics, and fluid dynamics and the results generated by this code are in compliance with specified requirements. This expectation is fulfilling by verification and validation of these requirements. The verification process assesses whether the problem is solved correctly and the validation process determines whether the right problem is solved. Standards for these processes are recommended. There is always some uncertainty, even if one uses validated models and verified computed results. The value of this uncertainty is important in the design process. This value is obtained by conducting a sensitivity-uncertainty analysis. Sensitivity analysis is generally defined as the procedure for determining the sensitivities of output parameters to input parameters. This analysis is a necessary step in the uncertainty analysis, and the results of this analysis highlight which computed quantities and integrated quantities in computations need to be determined accurately and which quantities do not require such attention. Uncertainty analysis is generally defined as the analysis of the effect of the uncertainties involved in all stages of a process on the final responses. There are two approaches for conducting the uncertainty analysis: experimental and computational. These analyses and approaches are briefly described.

Mehta, Unmeel B.↗