Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “unit testing”

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 163 records · Page 9

Draco,Version 6.x.x

Draco is an object-oriented component library geared towards numerically intensive, radiation (particle) transport applications built for parallel computing hardware. It consists of semi-independent packages and a robust build system. The packages in Draco provide a set of components that can be used by multiple clients to build transport codes. The build system can also be extracted for use in clients. Software includes smart pointers, Design-by-Contract assertions, unit test framework, wrapped MPI functions, a file parser, unstructured mesh data structures, a random number generator, root finders and an angular quadrature component.

Thompson, Kelly↗

Futility

The Futility package contains the following: 1) Definition of the size of integers and real numbers; 2) A generic Unit test harness; 3) Definitions for some basic extensions to the Fortran language: arbitrary length strings, a parameter list construct, exception handlers, command line processor, timers; 4) Geometry definitions: point, line, plane, box, cylinder, polyhedron; 5) File wrapper functions: standard Fortran input/output files, Fortran binary files, HDF5 files; 6) Parallel wrapper functions: MPI, and Open MP abstraction layers, partitioning algorithms; 7) Math utilities: BLAS, Matrix and Vector definitions, Linear Solver methods and wrappers for other TPLs (PETSC, MKL, etc), preconditioner classes; 8) Misc: random number generator, water saturation properties, sorting algorithms.

Collins, BenjaminS.↗

funnel v0.0.1

fcompare is a software package that applies for comparing two curves generated from datasets in csv format. A funnel is generated around the reference curve and the other curve is checked to verify if it is inside the funnel. The funnel can be reshaped by setting a tolerance. One potential application is to verify the development of building HVAC control sequence, in which it compares data curves from real operation with data curves from simulation using developed control sequences, to verify if the developed control sequences have been implemented correctly. In addition, it can be used for Modelica library developer to do the unit test that verifies new model developments.

Wetter, Michael↗

BuildingsPy

BuildingsPy is a Python package that can be used to run Modelica simulations and to process Modelica output files. It can also be used to run unit tests as part of the development of LBNL's Modelica Buildings library. The package provides functions to extract data series from the output file for further use in the python packages matplotlib for plotting and SciPy for scientific computing.

Wetter, Michael↗

Multiscale Solar Water Heating (MSWH) v1.0

The main purpose of the software is to model energy use for individual and community scale solar water heating projects in California. Usage The user provides a climate zone for a project, an occupancy for each household and whether any of the occupants stay at home during the day. The software can then load a set of example California specific hourly domestic hot water end-use load profiles from a database, size and locate the systems. The user can now simulate the hourly system performance over a period of one representative year, visualize and explore the simulation results using time-series plots for temperature profiles, heat and power rates, or look at annual summaries. Similarly the user can model individual household solar water heating projects and base case conventional gas tank water heater systems, such that the results can be compared between the individual, community and base case systems. This functionality is readily available through a Jupyter notebook and a Django web framework, depending on what level of detail the user would like to access. Features - Python module to calculate solar irradiation on a tilted surface - Python module with simplified component models for Converter (solar collectors, electric resistance heater, gas burner, photovoltaic panels, heat pump), Storage (solar thermal tank, heat pump thermal tank, conventional gas tank water heater), and Distribution (distribution and solar pump, piping losses) components - Python module with preconfigured system simulation models for: base case gas tank water heaters, solar thermal water heaters (solar collector feeding a storage tank, with a tankeless gas water heater backup in a new installation cases and a base case gas tank water heater in a retrofit case) and solar electric water heaters (heat pump storage tank with an electric resistance backup) - Database with component performance parameters, California specific weather data and domestic hot water end-use load profiles - Django web framework to configure project, parametrize components and run simulation from a web browser The package contains functional and unit tests and it is structured so that it can be extended with further technologies, applications and locations.

Grahovac, Milica↗

ExactPack

A new version of the verification tool ExactPack, 1.7.0, includes three new solvers: A Radshocks solver, Riemann solver and an Elastic-Plastic Piston problem solver. The code has been refactored to work with Python 3. All Fortran code has been removed and solvers implemented in Fortran have been re-implemented in Python where necessary. All unit tests have been converted to use the Pytest format and all the GUI, CLI and verification analysis code has been removed.

Thrussell, Jasper↗

Data of High-Temperature Dynamic LCM Testing Setup

Data from high temperature dynamic sealing tests for various fracture widths, at various temperatures (degrees F), with 5 wt.% bentonite-based mud containing various material fiber contents, at 100 to 400 psi differential pressure. Data from pressure test and evaluation of the dynamic lost circulation materials (LCM) testing unit to reflect the condition of open and sealed fracture using fracture width of 1000 microns at 120 degrees F. Links to two papers based on the data - "Loss circulation prevention in geothermal drilling by shape memory polymer" which was published in Geothermics 89 (2021) 101943) as well as "Evaluating sealability of blended smart polymer and fiber additive for geothermal drilling with the effect of fracture opening size", published in the Journal of Petroleum Science and Engineering 206 (2021) 108998.

15 GEOTHERMAL ENERGY↗

deeplenstronomy: A dataset simulation package for strong gravitational lensing

Automated searches for strong gravitational lensing in optical imaging survey datasets often employ machine learning and deep learning approaches. These techniques require more example systems to train the algorithms than have presently been discovered, which creates a need for simulated images as training dataset supplements. This work introduces and summarizes deeplenstronomy, an open-source Python package that enables efficient, large-scale, and reproducible simulation of images of astronomical systems. A full suite of unit tests, documentation, and example notebooks are available at https://deepskies.github.io/deeplenstronomy/ .

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

CMakePPLang: An object-oriented extension to CMake

CMakePPLang is an object-oriented extension to the CMake language written entirely using the original CMake language, with the goal of making projects built on CMake easier to create and maintain. That said, CMakePPLang has different coding practices, paradigms, and standards than the original CMake language, much in the same way that C++ coding differs from C coding despite some level of interoperability. Currently, CMakePPLang is used within the CMakePP organization as the foundation for two in-progress projects: CMakeTest and CMaize. CMakeTest provides a solution for unit testing CMake and CMakePPLang code. CMaize is a CMake tool to simplify interoperability between projects and writing their build systems.

97 MATHEMATICS AND COMPUTING↗

Innovative Application of Maintenance-Free Phase-Change Thermal Energy Storage for Dish-Engine Solar Power Generation

This final report summarizes the final results of the Phase II Innovative Application of Maintenance-Free Phase-Change Thermal Energy Storage for Dish-Engine Solar Power Generation project being performed by Infinia Corporation for the U.S. Department of Energy under contract DE-FC36-08GO18157 during the project period of September 1, 2009 - August 30, 2012. The primary objective of this project is to demonstrate the practicality of integrating thermal energy storage (TES) modules, using a suitable thermal salt phase-change material (PCM) as its medium, with a dish/Stirling engine; enabling the system to operate during cloud transients and to provide dispatchable power for 4 to 6 hours after sunset. A laboratory prototype designed to provide 3 kW-h of net electrical output was constructed and tested at Infinia's Ogden Headquarters. In the course of the testing, it was determined that the system's heat pipe network - used to transfer incoming heat from the solar receiver to both the Stirling generator heater head and to the phase change salt - did not perform to expectations. The heat pipes had limited capacity to deliver sufficient heat energy to the generator and salt mass while in a charging mode, which was highly dependent on the orientation of the device (vertical versus horizontal). In addition, the TES system was only able to extract about 30 to 40% of the expected amount of energy from the phase change salt once it was fully molten. However, the use of heat pipes to transfer heat energy to and from a thermal energy storage medium is a key technical innovation, and the project team feels that the limitations of the current device could be greatly improved with further development. A detailed study of manufacturing costs using the prototype TES module as a basis indicates that meeting DOE LCOE goals with this hardware requires significant efforts. Improvement can be made by implementing aggressive cost-down initiatives in design and materials, improving system performance by boosting efficiencies, and by refining cost estimates with vendor quotes in lieu of mass-based approaches. Although the prototype did not fully demonstrate performance and realize projected cost targets, the project team believes that these challenges can be overcome. The test data showed that the performance can be significantly improved by refining the heat pipe designs. However, the project objective for phase 3 is to design and test on sun the field ready systems, the project team feels that is necessary to further refine the prototype heat pipe design in the current prototype TES system before move on to field test units, Phase 3 continuation will not be pursued.

14 SOLAR ENERGY↗

Strategy and gaps for modeling, simulation, and control of hybrid systems

The purpose of this report is to establish a strategy for modeling and simulation of candidate hybrid energy systems. Modeling and simulation is necessary to design, evaluate, and optimize the system technical and economic performance. Accordingly, this report first establishes the simulation requirements to analysis candidate hybrid systems. Simulation fidelity levels are established based on the temporal scale, real and synthetic data availability or needs, solution accuracy, and output parameters needed to evaluate case-specific figures of merit. Accordingly, the associated computational and co-simulation resources needed are established; including physical models when needed, code assembly and integrated solutions platforms, mathematical solvers, and data processing. This report first attempts to describe the figures of merit, systems requirements, and constraints that are necessary and sufficient to characterize the grid and hybrid systems behavior and market interactions. Loss of Load Probability (LOLP) and effective cost of Effective Cost of Energy (ECE), as opposed to the standard Levelized Cost of Electricty (LCOE), are introduced as technical and economical indices for integrated energy system evaluations. Financial assessment methods are subsequently introduced for evaluation of non-traditional, hybrid energy systems. Algorithms for coupled and iterative evaluation of the technical and economic performance are subsequently discussed. This report further defines modeling objectives, computational tools, solution approaches, and real-time data collection and processing (in some cases using real test units) that will be required to model, co-simulate, and optimize; (a) an energy system components (e.g., power generation unit, chemical process, electricity management unit), (b) system domains (e.g., thermal, electrical or chemical energy generation, conversion, and transport), and (c) systems control modules. Co-simulation of complex, tightly coupled, dynamic energy systems requires multiple simulation tools, potentially developed in several programming languages and resolved on separate time scales. Whereas further investigation and development of hybrid concepts will provide a more complete understanding of the joint computational and physical modeling needs, this report highlights areas in which co-simulation capabilities are warranted. The current development status, quality assurance, availability and maintainability of simulation tools that are currently available for hybrid systems modeling is presented. Existing gaps in the modeling and simulation toolsets and development needs are subsequently discussed. This effort will feed into a broader Roadmap activity for designing, developing, and demonstrating hybrid energy systems.

11 NUCLEAR FUEL CYCLE AND FUEL MATERIALS↗

SHARP pre-release v1.0 - Current Status and Documentation

The NEAMS Reactor Product Line effort aims to develop an integrated multiphysics simulation capability for the design and analysis of future generations of nuclear power plants. The Reactor Product Line code suite’s multi-resolution hierarchy is being designed to ultimately span the full range of length and time scales present in relevant reactor design and safety analyses, as well as scale from desktop to petaflop computing platforms. In this report, building on a several previous report issued in September 2014, we describe our continued efforts to integrate thermal/hydraulics, neutronics, and structural mechanics modeling codes to perform coupled analysis of a representative fast sodium-cooled reactor core in preparation for a unified release of the toolkit. The work reported in the current document covers the software engineering aspects of managing the entire stack of components in the SHARP toolkit and the continuous integration efforts ongoing to prepare a release candidate for interested reactor analysis users. Here we report on the continued integration effort of PROTEUS/Nek5000 and Diablo into the NEAMS framework and the software processes that enable users to utilize the capabilities without losing scientific productivity. Due to the complexity of the individual modules and their necessary/optional dependency library chain, we focus on the configuration and build aspects for the SHARP toolkit, which includes capability to autodownload dependencies and configure/install with optimal flags in an architecture-aware fashion. Such complexity is untenable without strong software engineering processes such as source management, source control, change reviews, unit tests, integration tests and continuous test suites. Details on these processes are provided in the report as a building step for a SHARP user guide that will accompany the first release, expected by Mar 2016.

Mahadevan, Vijay S.↗

An Overview of the Monte Carlo Application ToolKit (MCATK)

MCATK is a C++ component-based Monte Carlo neutron-gamma transport software library designed to build specialized applications and designed to provide new functionality in existing general-purpose Monte Carlo codes like MCNP; it was developed with Agile software engineering methodologies under the motivation to reduce costs. The characteristics of MCATK can be summarized as follows: MCATK physics – continuous energy neutron-gamma transport with multi-temperature treatment, static eigenvalue (k and α) algorithms, time-dependent algorithm, fission chain algorithms; MCATK geometry – mesh geometries, solid body geometries. MCATK provides verified, unit-tested Monte Carlo components, flexibility in Monte Carlo applications development, and numerous tools such as geometry and cross section plotters. Recent work has involved deterministic and Monte Carlo analysis of stochastic systems. Static and dynamic analysis is discussed, and the results of a dynamic test problem are given.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Collision of Physics and Software in the Monte Carlo Application Toolkit (MCATK)

The topic is presented in a series of slides organized as follows: MCATK overview, development strategy, available algorithms, problem modeling (sources, geometry, data, tallies), parallelism, miscellaneous tools/features, example MCATK application, recent areas of research, and summary and future work. MCATK is a C++ component-based Monte Carlo neutron-gamma transport software library with continuous energy neutron and photon transport. Designed to build specialized applications and to provide new functionality in existing general-purpose Monte Carlo codes like MCNP, it reads ACE formatted nuclear data generated by NJOY. The motivation behind MCATK was to reduce costs. MCATK physics involves continuous energy neutron & gamma transport with multi-temperature treatment, static eigenvalue (k eff and α) algorithms, time-dependent algorithm, and fission chain algorithms. MCATK geometry includes mesh geometries and solid body geometries. MCATK provides verified, unit-test Monte Carlo components, flexibility in Monte Carlo application development, and numerous tools such as geometry and cross section plotters.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Identify and Quantify the Mechanistic Sources of Sensor Performance Variation Between Individual Sensors SN1 and SN2

This Technical Letter Report satisfies the M3AR-14PN2301022 milestone, and is focused on identifying and quantifying the mechanistic sources of sensor performance variation between individual 22-element, linear phased-array sensor prototypes, SN1 and SN2. This effort constitutes an iterative evolution that supports the longer term goal of producing and demonstrating a pre-manufacturing prototype ultrasonic probe that possesses the fundamental performance characteristics necessary to enable the development of a high-temperature sodium-cooled fast reactor inspection system. The scope of the work for this portion of the PNNL effort conducted in FY14 includes performing a comparative evaluation and assessment of the performance characteristics of the SN1 and SN2 22 element PA-UT probes manufactured at PNNL. Key transducer performance parameters, such as sound field dimensions, resolution capabilities, frequency response, and bandwidth are used as a metric for the comparative evaluation and assessment of the SN1 and SN2 engineering test units.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Sandia National Laboratories, Tonopah Test Range Askania Tower (Building 02-00): Photographs and Written Historical and Descriptive Data

The Askania Tower (Building 02-00) was built in 1956 as part of the first wave of construction at the newly established Tonopah Test Range (TTR). Located at Station 2, near the primary target area at the range, the tower was one of the first four built to house Askania phototheodolites used in tracking test units dropped from aircraft. This report includes historical information, architectural information, sources of information, project information, maps, blueprints, and photographs.

99 GENERAL AND MISCELLANEOUS↗

Bench-Scale Development of a Non-Aqueous Solvent (NAS) CO 2 Capture Process for Coal-Fired Power Plants

The project aimed to advance RTI’s non-aqueous amine solvent technology by improving the solvent to reduce volatility, demonstrating long-term continuous operation at lab- (0.5 liters solvent) and bench-scale (~120 liters solvent), showing low reboiler heat duty measured during bench-scale testing, evaluating degradation products, building a rate-based process model, and evaluating the techno-economic performance of the process. The project team (RTI, SINTEF, Linde Engineering) and the technology performed well in each area of advancement. The modifications incorporated throughout the project enabled the attainment of target absorber and regenerator conditions for the process. Reboiler duties below 2,000 kJ t /kg CO 2 were observed in a bench-scale test unit operated at RTI.

01 COAL, LIGNITE, AND PEAT↗

Deploy Nalu/Kokkos algorithmic infrastructure with performance benchmarking.

The former Nalu interior heterogeneous algorithm design, which was originally designed to manage matrix assembly operations over all elemental topology types, has been modified to operate over homogeneous collections of mesh entities. This newly templated kernel design allows for removal of workset variable resize operations that were formerly required at each loop over a Sierra ToolKit (STK) bucket (nominally, 512 entities in size). Extensive usage of the Standard Template Library (STL) std::vector has been removed in favor of intrinsic Kokkos memory views. In this milestone effort, the transition to Kokkos as the underlying infrastructure to support performance and portability on many-core architectures has been deployed for key matrix algorithmic kernels. A unit-test driven design effort has developed a homogeneous entity algorithm that employs a team-based thread parallelism construct. The STK Single Instruction Multiple Data (SIMD) infrastructure is used to interleave data for improved vectorization. The collective algorithm design, which allows for concurrent threading and SIMD management, has been deployed for the core low-Mach element- based algorithm. Several tests to ascertain SIMD performance on Intel KNL and Haswell architectures have been carried out. The performance test matrix includes evaluation of both low- and higher-order methods. The higher-order low-Mach methodology builds on polynomial promotion of the core low-order control volume nite element method (CVFEM). Performance testing of the Kokkos-view/SIMD design indicates low-order matrix assembly kernel speed-up ranging between two and four times depending on mesh loading and node count. Better speedups are observed for higher-order meshes (currently only P=2 has been tested) especially on KNL. The increased workload per element on higher-order meshes bene ts from the wide SIMD width on KNL machines. Combining multiple threads with SIMD on KNL achieves a 4.6x speedup over the baseline, with assembly timings faster than that observed on Haswell architecture. The computational workload of higher-order meshes, therefore, seems ideally suited for the many-core architecture and justi es further exploration of higher-order on NGP platforms. A Trilinos/Tpetra-based multi-threaded GMRES preconditioned by symmetric Gauss Seidel (SGS) represents the core solver infrastructure for the low-Mach advection/diffusion implicit solves. The threaded solver stack has been tested on small problems on NREL's Peregrine system using the newly developed and deployed Kokkos-view/SIMD kernels. fforts are underway to deploy the Tpetra-based solver stack on NERSC Cori system to benchmark its performance at scale on KNL machines.

97 MATHEMATICS AND COMPUTING↗