Search NASA⌕ Search

SEARCH · Search NASA

Results for “numerical software libraries”

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 109 records · Page 6

Catalyst: Fast and flexible modeling of reaction networks

We introduce Catalyst.jl, a flexible and feature-filled Julia library for modeling and high-performance simulation of chemical reaction networks (CRNs). Catalyst supports simulating stochastic chemical kinetics (jump process), chemical Langevin equation (stochastic differential equation), and reaction rate equation (ordinary differential equation) representations for CRNs. Through comprehensive benchmarks, we demonstrate that Catalyst simulation runtimes are often one to two orders of magnitude faster than other popular tools. More broadly, Catalyst acts as both a domain-specific language and an intermediate representation for symbolically encoding CRN models as Julia-native objects. This enables a pipeline of symbolically specifying, analyzing, and modifying CRNs; converting Catalyst models to symbolic representations of concrete mathematical models; and generating compiled code for numerical solvers. Leveraging ModelingToolkit.jl and Symbolics.jl, Catalyst models can be analyzed, simplified, and compiled into optimized representations for use in numerical solvers. Finally, we demonstrate Catalyst’s broad extensibility and composability by highlighting how it can compose with a variety of Julia libraries, and how existing open-source biological modeling projects have extended its intermediate representation.

59 BASIC BIOLOGICAL SCIENCES↗

The NIFTY way of Bayesian signal inference

We introduce NIFTY, 'Numerical Information Field Theory', a software package for the development of Bayesian signal inference algorithms that operate independently from any underlying spatial grid and its resolution. A large number of Bayesian and Maximum Entropy methods for 1D signal reconstruction, 2D imaging, as well as 3D tomography, appear formally similar, but one often finds individualized implementations that are neither flexible nor easily transferable. Signal inference in the framework of NIFTY can be done in an abstract way, such that algorithms, prototyped in 1D, can be applied to real world problems in higher-dimensional settings. NIFTY as a versatile library is applicable and already has been applied in 1D, 2D, 3D and spherical settings. A recent application is the D{sup 3}PO algorithm targeting the non-trivial task of denoising, deconvolving, and decomposing photon observations in high energy astronomy.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

Extending the QUDA Library with the eigCG Solver

While the incremental eigCG algorithm [ 1 ] is included in many LQCD software packages, its realization on GPU micro-architectures was still missing. In this session we report our experi- ence of the eigCG implementation in the QUDA library. In particular, we will focus on how to employ the mixed precision technique to accelerate solutions of large sparse linear systems with multiple right-hand sides on GPUs. Although application of mixed precision techniques is a well-known optimization approach for linear solvers, its utilization for the eigenvector com- puting within eigCG requires special consideration. We will discuss implementation aspects of the mixed precision deflation and illustrate its numerical behavior on the example of the Wilson twisted mass fermion matrix inversions

Strelchenko, Alexei↗

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↗

Democratizing uncertainty quantification

Uncertainty Quantification (UQ) is vital to safety-critical model-based analyses, but the widespread adoption of sophisticated UQ methods is limited by technical complexity. In this paper, we introduce UM-Bridge (the UQ and Modeling Bridge), a high-level abstraction and software protocol that facilitates universal interoperability of UQ software with simulation codes. It breaks down the technical complexity of advanced UQ applications and enables separation of concerns between experts. UM-Bridge democratizes UQ by allowing effective interdisciplinary collaboration, accelerating the development of advanced UQ methods, and making it easy to perform UQ analyses from prototype to High Performance Computing (HPC) scale. In addition, we present a library of ready-to-run UQ benchmark problems, all easily accessible through UM-Bridge. These benchmarks support UQ methodology research, enabling reproducible performance comparisons. We demonstrate UM-Bridge with several scientific applications, harnessing HPC resources even using UQ codes not designed with HPC support.

Benchmarks↗

Analysis of Spectral Lines in Large Databases of Synthetic Spectra for Massive Stars

In this paper, we describe a program that identifies in the optical spectrum the main parameters of a spectral line, namely the initial and final wavelengths, and the line depth. Moreover, using numerical calculations, it identifies and removes adjacent lines. Next, the program calculates the equivalent width and the FWHM. The software was tested in a sample of 300 lines in two databases of synthetic spectra generated by the CMFGEN and PoWR codes, and 300 lines in observed spectra from the IACOB database, showing a Gaussian distribution of relative errors, from which it is inferred that 80% of the measured lines have errors less than 17% and only 5% of the lines have errors greater than 26%. The program was also run on the entire database of 45,000 CMFGEN and 202 POWR synthetic spectra, generating a library of H i, He i, and He ii lines necessary to feed the FITspec code for the derivation of stellar parameters: effective temperature, surface gravity, and luminosity.

47 OTHER INSTRUMENTATION↗

On the performance of exponential integrators for problems in magnetohydrodynamics

Exponential integrators have been introduced as an efficient alternative to explicit and implicit methods for integrating large stiff systems of differential equations. Over the past decades these methods have been studied theoretically and their performance was evaluated using a range of test problems. While the results of these investigations showed that exponential integrators can provide significant computational savings, the research on validating this hypothesis for large scale systems and understanding what classes of problems can particularly benefit from the use of the new techniques is in its initial stages. Resistive magnetohydrodynamic (MHD) modeling is widely used in studying large scale behavior of laboratory and astrophysical plasmas. In many problems numerical solution of MHD equations is a challenging task due to the temporal stiffness of this system in the parameter regimes of interest. In this paper we evaluate the performance of exponential integrators on large MHD problems and compare them to a state-of-the-art implicit time integrator. Both the variable and constant time step exponential methods of EPIRK-type are used to simulate magnetic reconnection and the Kevin–Helmholtz instability in plasma. Performance of these methods, which are part of the EPIC software package, is compared to the variable time step variable order BDF scheme included in the CVODE (part of SUNDIALS) library. We study performance of the methods on parallel architectures and with respect to magnitudes of important parameters such as Reynolds, Lundquist, and Prandtl numbers. We find that the exponential integrators provide superior or equal performance in most circumstances and conclude that further development of exponential methods for MHD problems is warranted and can lead to significant computational advantages for large scale stiff systems of differential equations such as MHD.

97 MATHEMATICS AND COMPUTING↗

Modeling and simulation of Ultrasonic Guided Waves propagation in the fluid-structure domain by a monolithic approach

The present study introduces the coupled multiphysics model as part of the structural health monitoring (SHM) system. In particular, the Ultrasonic Guided Waves (UGWs) propagation is tracked in order to identify the damage to the structure. For this purpose, a multiphysics mathematical model is proposed. The model constitutes a monolithically coupled system of acoustic and elastic wave equations (WpFSI problem) where the wave signal displacement measurements are analyzed as the UGWs propagates in the solid, fluid and their interface. The ultimate goal of this paper is to explore and develop the efficient numerical solution of the WpFSI problem using the finite element method. A detailed description of the modeling framework and conditions that facilitate the coupling is provided. To couple the displacement-based acoustic wave equations for the isothermal fluid with elastic wave equations for the Saint Venant-Kirchhoff material model, the present study uses a monolithic solution algorithm. In particular, at each time step, wave equations are transformed to a fixed reference configuration via the arbitrary Lagrangian-Eulerian (ALE) mapping and automatically adopt the boundary conditions from the previous time step. The implementation is accomplished via the finite element library deal.II (Goll et al., 2017) based software toolbox DOpElib (Bangerth et al., 2007) which provides modularized higher level algorithms. Beyond SHM systems, the model is relevant for problems from biomechanics and biomedicine, vibromechanics, poroelasticity as well as subsurface and porous media flow. Here, the model developed here serves as a first step towards the on-line SHM system modeling, where structural dynamics are accounted for.

42 ENGINEERING↗

PyPVRPM: Photovoltaic Reliability and Performance Model in Python

The ability to perform accurate techno-economic analysis of solar photovoltaic (PV) systems is essential for bankability and investment purposes. Most energy yield models assume an almost flawless operation (i.e., no failures); however, realistically, components fail and get repaired stochastically. This package, PyPVRPM, is a Python translation and improvement of the Language Kit (LK) based PhotoVoltaic Reliability Performance Model (PVRPM), which was first developed at Sandia National Laboratories in Goldsim software (Granata et al., 2011) (Miller et al., 2012). PyPVRPM allows the user to define a PV system at a specific location and incorporate failure, repair, and detection rates and distributions to calculate energy yield and other financial metrics such as the levelized cost of energy and net present value (Klise, Lavrova, et al., 2017). Our package is a simulation tool that uses NREL’s Python interface for System Advisor Model (SAM) (National Renewable Energy Laboratory, 2020b) (National Renewable Energy Laboratory, 2020a) to evaluate the performance of a PV plant throughout its lifetime by considering component reliability metrics. Besides the numerous benefits from migrating to Python (e.g., speed, libraries, batch analyses), it also expands on the failure and repair processes from the LK version by including the ability to vary monitoring strategies. These failures, repairs, and monitoring processes are based on user-defined distributions and values, enabling a more accurate and realistic representation of cost and availability throughout a PV system’s lifetime.

97 MATHEMATICS AND COMPUTING↗

ONIX: An open-source depletion code

Open Source software enables innovative, community-based software development. ONIX brings this concept to the field of depletion calculations. It is an open-source depletion software to be used for nuclear reactor simulations, for fissile material production analysis as well as for nuclear arms control applications. ONIX provides a module to solve the depletion equation using a Chebyshev Rational Approximation Method. For the generation of one-group cross sections, it includes a coupling interface for the open-source neutron transport code, OpenMC, as well as a module to read pre-computed values in a stand-alone mode. ONIX has special features to optimize nuclear data libraries, to update isomeric branching ratio during burnup, and to support automation of simulations for nuclear archaeology. In conclusion, ONIX has been validated against results from numerical and experimental benchmarks, and its results agree with other methods within expected error ranges.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

FY2012 Status Report on Subgroup Library Development

The goal of SHARP is to develop a suite of modern simulation tools for use on all reactor types of interest. Part of that desire is to build a heterogeneous neutron transport capability which gives accurate, detailed power distributions throughout the entire reactor core, of which we have focused our efforts on deterministic methodologies. The existing SHARP neutronics tool has demonstrated good accuracy when using conventional homogeneous modeling, but when applied on fully heterogeneous problems such as the Advanced Test Reactor (ATR) and Zero Power Reactors (ZPR), the results were not acceptable. These errors are primary attributable to the use of a three step cross section generation procedure (unit cell, lattice, and whole core). Given the success of the DeCART tool on thermal spectrum systems such as PWR, BWR, and VHTR, the subgroup methodology was identified as a potential means by which to resolve the cross section related problems in the NEAMS tools. The subgroup project in NEAMS is thus focused on creating a general purpose cross section methodology that is usable on both thermal and fast spectrum systems. The subgroup methodology is a well studied scheme appearing very early in the nuclear engineering literature. We investigated using the subgroup methodology as a potential means to handle fast reactor problems. A considerable amount of work was performed on the subgroup library software for NEAMS where several subgroup formulations were investigated. Further, while the subgroup method has been demonstrated to be accurate enough on several problems via our own experiences with DeCART, it is not clear what its accuracy will be on more complicated problems such as the ATR. In any case, one must have a capability to generate a library in which subgroup parameters can cover neutron spectrum characteristics of the reactor of interest. For better accuracy, we propose to use MCNP as an alternative pin-cell calculation means of generating the subgroup data and have developed a prototype code package to demonstrate the capability. With regard to fast spectrum systems, there are numerous concerns with the subgroup methodology in which the conventional Bondarenko iteration approach often used would not accurately handle the resonance interference effect that becomes more complex and important in a fast reactor. An alternative methodology involving the local escape cross section looks promising, but substantial research needs to be completed and a basic algorithm tested before success can be confirmed. Overall, the creation of a subgroup library application was not finished, primarily due to the fact that a bulk of the funding was moved into the next fiscal year. A better understanding of the underlying methodology was gained and a means by which to generate subgroup data was created. The work on the subgroup method for an

Smith, M. A.↗

Core Cosmology Library: Precision Cosmological Predictions for LSST

The Core Cosmology Library (CCL) provides routines to compute basic cosmological observables to a high degree of accuracy, which have been verified with an extensive suite of validation tests. Predictions are provided for many cosmological quantities, including distances, angular power spectra, correlation functions, halo bias and the halo mass function through state-of-the-art modeling prescriptions available in the literature. Fiducial specifications for the expected galaxy distributions for the Large Synoptic Survey Telescope (LSST) are also included, together with the capability of computing redshift distributions for a user-defined photometric redshift model. A rigorous validation procedure, based on comparisons between CCL and independent software packages, allows us to establish a well-defined numerical accuracy for each predicted quantity. As a result, predictions for correlation functions of galaxy clustering, galaxy-galaxy lensing and cosmic shear are demonstrated to be within a fraction of the expected statistical uncertainty of the observables for the models and in the range of scales of interest to LSST. CCL is an open source software package written in C, with a python interface and publicly available at this https URL: https://github.com/LSSTDESC/CCL

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

BASTet (Berkeley Analysis and Storage Toolkit)

BASTet is an advanced software library written in Python. BASTet serves as the analysis and storage library for the OpenMSI project. BASTet is an integrate framework for: i) storage of spectral imaging data, ii) storage of derived analysis data, iii) provenance of analyses, iv) integration and execution of analyses via complex workflows. BASTet implements the API for the HDF5 storage format used by OpenMSI. Analyses that are developed using BASTet benefit from direct integration with storage format, automatic tracking of provenance, and direct integration with command-line and workflow execution tools. BASTet also defines interfaces to enable developers to directly integrate their analysis with OpenMSI's web-based viewing infrastruture without having to know OpenMSI. BASTet also provides numerous helper classes and tools to assist with the conversion of data files, ease parallel implementation of analysis algorithms, ease interaction with web-based functions, description methods for data reduction. BASTet also includes detailed developer documentation, user tutorials, iPython notebooks, and other supporting documents.

Bowen, Benjamin↗

Jas4pp — A data-analysis framework for physics and detector studies

This paper describes the Jas4pp framework for exploring physics cases and for detector-performance studies of future particle collision experiments. Jas4pp is a multi-platform Java program for numeric calculations, scientific visualization in 2D and 3D, storing data in various file formats and displaying collision events and detector geometries. It also includes complex data-analysis algorithms for function minimization, regression analysis, event reconstruction (such as jet reconstruction), limit settings and other libraries widely used in particle physics. The framework can be used with several scripting languages, such as Python/Jython, Groovy and JShell. Several benchmark tests discussed in the paper illustrate significant improvements in the performance of the Groovy and JShell scripting languages compared to the standard Python implementation in C. Furthermore, the improvements for numeric computations in Java are attributed to recent enhancements in the Java Virtual Machine.

97 MATHEMATICS AND COMPUTING↗

Coupled Physics Environment (CouPE) library - Design, Implementation, and Release

Over several years, high fidelity, validated mono-­physics solvers with proven scalability on peta-­scale architectures have been developed independently. Based on a unified component-­based architecture, these existing codes can be coupled with a unified mesh-­data backplane and a flexible coupling-­strategy-­based driver suite to produce a viable tool for analysts. In this report, we present details on the design decisions and developments on CouPE, an acronym that stands for Coupled Physics Environment that orchestrates a coupled physics solver through the interfaces exposed by MOAB array-­based unstructured mesh, both of which are part of SIGMA (Scalable Interfaces for Geometry and Mesh-­Based Applications) toolkit. The SIGMA toolkit contains libraries that enable scalable geometry and unstructured mesh creation and handling in a memory and computationally efficient implementation. The CouPE version being prepared for a full open-­source release along with updated documentation will contain several useful examples that will enable users to start developing their applications natively using the native MOAB mesh and couple their models to existing physics applications to analyze and solve real world problems of interest. An integrated multi-­physics simulation capability for the design and analysis of current and future nuclear reactor models is also being investigated as part of the NEAMS RPL, to tightly couple neutron transport, thermal-­hydraulics and structural mechanics physics under the SHARP framework. This report summarizes the efforts that have been invested in CouPE to bring together several existing physics applications namely PROTEUS (neutron transport code), Nek5000 (computational fluid-dynamics code) and Diablo (structural mechanics code). The goal of the SHARP framework is to perform fully resolved coupled physics analysis of a reactor on heterogeneous geometry, in order to reduce the overall numerical uncertainty while leveraging available computational resources. The design of CouPE along with motivations that led to implementation choices are also discussed. The first release of the library will be different from the current version of the code that integrates the components in SHARP and explanation on the need for forking the source base will also be provided. Enhancements in the functionality and improved user guides will be available as part of the release. CouPE v0.1 is scheduled for an open-­source release in December 2014 along with SIGMA v1.1 components that provide support for language-agnostic mesh loading, traversal and query interfaces along with scalable solution transfer of fields between different physics codes. The coupling methodology and software interfaces of the library are presented, along with verification studies on two representative fast sodium-­cooled reactor demonstration problems to prove the usability of the CouPE library.

97 MATHEMATICS AND COMPUTING↗

Embedded ensemble propagation for improving performance, portability, and scalability of uncertainty quantification on emerging computational architectures

In this study, quantifying simulation uncertainties is a critical component of rigorous predictive simulation. A key component of this is forward propagation of uncertainties in simulation input data to output quantities of interest. Typical approaches involve repeated sampling of the simulation over the uncertain input data, and can require numerous samples when accurately propagating uncertainties from large numbers of sources. Often simulation processes from sample to sample are similar and much of the data generated from each sample evaluation could be reused. We explore a new method for implementing sampling methods that simultaneously propagates groups of samples together in an embedded fashion, which we call embedded ensemble propagation. We show how this approach takes advantage of properties of modern computer architectures to improve performance by enabling reuse between samples, reducing memory bandwidth requirements, improving memory access patterns, improving opportunities for fine-grained parallelization, and reducing communication costs. We describe a software technique for implementing embedded ensemble propagation based on the use of C++ templates and describe its integration with various scientific computing libraries within Trilinos. We demonstrate improved performance, portability and scalability for the approach applied to the simulation of partial differential equations on a variety of CPU, GPU, and accelerator architectures, including up to 131,072 cores on a Cray XK7 (Titan).

97 MATHEMATICS AND COMPUTING↗

Quandary

Quandary numerically simulates and optimizes the time-evolution of open quantum systems. The underlying dynamics are modelled by Lindblad's master equation, a linear ordinary differential equation (ODE) describing quantum systems interacting with the environment. Quandary solves this ODE numerically by applying a time-stepping integration scheme, and utilizes a gradient-based optimization approach to determine optimal control pulses that drive the quantum system to a desired target state. Two optimization objectives are considered: (a) Unitary gate optimization that finds controls to realize a unitary gate transformation, and (b) optimal reset that aims to drive the quantum system to the ground states. Gradient-based optimization schemes utilizing Petsc's Tao optimization package are applied to generate control pulses that minimize the respective measure. To evaluate the gradient of the objective function, the discrete adjoint method is used while leveraging techniques from Algorithmic Differentiation to produce exact and consistent gradients. To mitigate excessive execution run times, the software can be build together with the XBraid software library which provides a parallelization strategy to distribute the time-evolution of the underlying dynamics onto multiple processor.

Petersson, NilsA.↗

High-Performance Design Patterns for Modern Fortran

This paper presents ideas for using coordinate-free numerics in modern Fortran to achieve code flexibility in the partial differential equation (PDE) domain. We also show how Fortran, over the last few decades, has changed to become a language well-suited for state-of-the-art software development. Fortran’s new coarray distributed data structure, the language’s class mechanism, and its side-effect-free, pure procedure capability provide the scaffolding on which we implement HPC software. These features empower compilers to organize parallel computations with efficient communication. We present some programming patterns that support asynchronous evaluation of expressions comprised of parallel operations on distributed data. We implemented these patterns using coarrays and the message passing interface (MPI). We compared the codes’ complexity and performance. The MPI code is much more complex and depends on external libraries. The MPI code on Cray hardware using the Cray compiler is 1.5–2 times faster than the coarray code on the same hardware. The Intel compiler implements coarrays atop Intel’s MPI library with the result apparently being 2–2.5 times slower than manually coded MPI despite exhibiting nearly linear scaling efficiency. As compilers mature and further improvements to coarrays comes in Fortran 2015, we expect this performance gap to narrow.

Haveraaen, Magne↗