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 145 records · Page 8

Symmetry-adapted perturbation theory with Kohn-Sham orbitals using non-empirically tuned, long-range-corrected density functionals

The performance of second-order symmetry-adapted perturbation theory (SAPT) calculations using Kohn-Sham (KS) orbitals is evaluated against benchmark results for intermolecular interactions. Unlike previous studies of this “SAPT(KS)” methodology, the present study uses non-empirically tuned long-range corrected (LRC) functionals for the monomers. The proper v{sub xc} (r)→0 asymptotic limit is achieved by tuning the range separation parameter in order to satisfy the condition that the highest occupied KS energy level equals minus the molecule's ionization energy, for each monomer unit. Tests for He{sub 2}, Ne{sub 2}, and the S22 and S66 data sets reveal that this condition is important for accurate prediction of the non-dispersion components of the energy, although errors in SAPT(KS) dispersion energies remain unacceptably large. In conjunction with an empirical dispersion potential, however, the SAPT(KS) method affords good results for S22 and S66, and also accurately predicts the whole potential energy curve for the sandwich isomer of the benzene dimer. Tuned LRC functionals represent an attractive alternative to other asymptotic corrections that have been employed in density-functional-based SAPT calculations, and we recommend the use of tuned LRC functionals in both coupled-perturbed SAPT(DFT) calculations and dispersion-corrected SAPT(KS) calculations.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

A new Software Training Model at Belle II

The physics output of modern experimental HEP collaborations hinges not only on the quality of its software but also on the ability of the collaborators to make the best possible use of it. With the COVID-19 pandemic making in-person training impossible, the training paradigm at Belle II was shifted from periodic workshops towards guided self-study. To that end, the study material was rebuilt from scratch as a series of modular and hands-on lessons tightly integrated with the software documentation using Sphinx. Each lesson contains multiple exercises that are supplemented with hints and complete solutions. Rather than duplicating information, students are systematically taught to work with the technical reference documentation to find the important sections for themselves. Unit tests ensure that all examples work with different software versions, and feedback buttons make it easy to submit comments for improvements.

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

ExoMars Mars Organic Molecule Analyzer (MOMA) Laser Desorption/Ionization Mass Spectrometry (LDI-MS) Analysis of Phototrophic Communities from a Silica-Depositing Hot Spring in Yellowstone National Park, USA

The Mars Organic Molecule Analyzer (MOMA) is a key scientific instrument on the ExoMars Rover mission. MOMA is designed to detect and characterize organic compounds, over a wide range of volatility and molecular weight, in samples obtained from up to two meters below the martian surface. Thorough analog sample studies are required to best prepare to interpret MOMA data collected on Mars. We present here the MOMA characterization of Mars analog samples collected from an alkaline silica depositing hot spring in Yellowstone National Park, WY, USA. These samples contain microbial streamer communities composed primarily of oxygenic and anoxygenic phototrophs. Additionally, in a study focused on detection of key classes of nonvolatile organics, samples of microbial streamers and their total lipid extract (TLE) have been measured on a MOMA Engineering Test Unit (ETU) instrument using its laser desorption/ionization mass spectrometry (LDI-MS) mode. MOMA LDI-MS detected a variety of lipids and pigments in the TLE sample. Species such as chlorophyll a were also detected from the streamer sample with the help of mass isolation. The results add to the LDI-MS sample characterization database, as well as demonstrate the benefit of using mass isolation on the MOMA instrument to reveal the presence of complex organics, and potential biomarkers, preserved in a natural sample, providing guidance to the in situ analysis of surface samples during Mars operations.

59 BASIC BIOLOGICAL SCIENCES↗

IBEX: An open infrastructure software platform to facilitate collaborative work in radiomics

Purpose: Radiomics, which is the high-throughput extraction and analysis of quantitative image features, has been shown to have considerable potential to quantify the tumor phenotype. However, at present, a lack of software infrastructure has impeded the development of radiomics and its applications. Therefore, the authors developed the imaging biomarker explorer (IBEX), an open infrastructure software platform that flexibly supports common radiomics workflow tasks such as multimodality image data import and review, development of feature extraction algorithms, model validation, and consistent data sharing among multiple institutions. Methods: The IBEX software package was developed using the MATLAB and C/C++ programming languages. The software architecture deploys the modern model-view-controller, unit testing, and function handle programming concepts to isolate each quantitative imaging analysis task, to validate if their relevant data and algorithms are fit for use, and to plug in new modules. On one hand, IBEX is self-contained and ready to use: it has implemented common data importers, common image filters, and common feature extraction algorithms. On the other hand, IBEX provides an integrated development environment on top of MATLAB and C/C++, so users are not limited to its built-in functions. In the IBEX developer studio, users can plug in, debug, and test new algorithms, extending IBEX’s functionality. IBEX also supports quality assurance for data and feature algorithms: image data, regions of interest, and feature algorithm-related data can be reviewed, validated, and/or modified. More importantly, two key elements in collaborative workflows, the consistency of data sharing and the reproducibility of calculation result, are embedded in the IBEX workflow: image data, feature algorithms, and model validation including newly developed ones from different users can be easily and consistently shared so that results can be more easily reproduced between institutions. Results: Researchers with a variety of technical skill levels, including radiation oncologists, physicists, and computer scientists, have found the IBEX software to be intuitive, powerful, and easy to use. IBEX can be run at any computer with the windows operating system and 1GB RAM. The authors fully validated the implementation of all importers, preprocessing algorithms, and feature extraction algorithms. Windows version 1.0 beta of stand-alone IBEX and IBEX’s source code can be downloaded. Conclusions: The authors successfully implemented IBEX, an open infrastructure software platform that streamlines common radiomics workflow tasks. Its transparency, flexibility, and portability can greatly accelerate the pace of radiomics research and pave the way toward successful clinical translation.

60 APPLIED LIFE SCIENCES↗

ramdisk, Version 0.x

The intent of the software is eventually to become a middleware library to provide a cross platform interface for creating and managing a ramdisk. Eventually it will cover many platforms (*nix, Windows, Mac), and have the library written in several languages. At this point, the library is a functional python library for managing a Mac ramdisk. Some code is also included in how to use the library. Initial intended uses for the library: archive deleteone.sql elink_2017_10_20.json file.json fix_on_records.sh just-doi-it.sh onrecords postfile.sh postit.sh solr-delete testrepos.sh wipe.postgresql Provide a throw-away filesystem for unit testing filesystem related functionality. archive deleteone.sql elink_2017_10_20.json file.json fix_on_records.sh just-doi-it.sh onrecords postfile.sh postit.sh solr-delete testrepos.sh wipe.postgresql Improve compile time when building software.

Nielsen, Roy↗

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↗

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↗