Searcharxiv⌕ Search

arXiv subjects

Kyle E. Niemeyer

Publications and source records attributed to Kyle E. Niemeyer.

At least 37 records · Page 2Linked to original sources

Applying the swept rule for solving explicit partial differential equations on heterogeneous computing systems

Applications that exploit the architectural details of high-performance computing (HPC) systems have become increasingly invaluable in academia and industry over the past two decades. The most important hardware development of the last decade in HPC has been the General Purpose Graphics Processing Unit (GPGPU), a class of massively parallel devices that now contributes the majority of computational power in the top 500 supercomputers. As these systems grow, small costs such as latency---due to the fixed cost of memory accesses and communication---accumulate in a large simulation and become a significant barrier to performance. The swept time-space decomposition rule is a communication-avoiding technique for time-stepping stencil update formulas that attempts to reduce latency costs. This work extends the swept rule by targeting heterogeneous, CPU/GPU architectures representing current and future HPC systems. We compare our approach to a naive decomposition scheme with two test equations using an MPI+CUDA pattern on 40 processes over two nodes containing one GPU. The swept rule produces a factor of 1.9 to 23 speedup for the heat equation and a factor of 1.1 to 2.0 speedup for the Euler equations, using the same processors and work distribution, and with the best possible configurations. These results show the potential effectiveness of the swept rule for different equations and numerical schemes on massively parallel computing systems that incur substantial latency costs.

cs.MS↗

A fast, low-memory, and stable algorithm for implementing multicomponent transport in direct numerical simulations

Implementing multicomponent diffusion models in reacting-flow simulations is computationally expensive due to the challenges involved in calculating diffusion coefficients. Instead, mixture-averaged diffusion treatments are typically used to avoid these costs. However, to our knowledge, the accuracy and appropriateness of the mixture-averaged diffusion models has not been verified for three-dimensional turbulent premixed flames. In this study we propose a fast,efficient, low-memory algorithm and use that to evaluate the role of multicomponent mass diffusion in reacting-flow simulations. Direct numerical simulation of these flames is performed by implementing the Stefan-Maxwell equations in NGA. A semi-implicit algorithm decreases the computational expense of inverting the full multicomponent ordinary diffusion array while maintaining accuracy and fidelity. We first verify the method by performing one-dimensional simulations of premixed hydrogen flames and compare with matching cases in Cantera. We demonstrate the algorithm to be stable, and its performance scales approximately with the number of species squared. Then, as an initial study of multicomponent diffusion, we simulate premixed, three-dimensional turbulent hydrogen flames, neglecting secondary Soret and Dufour effects. Simulation conditions are carefully selected to match previously published results and ensure valid comparison. Our results show that using the mixture-averaged diffusion assumption leads to a 15% under-prediction of the normalized turbulent flame speed for a premixed hydrogen-air flame. This difference in the turbulent flame speed motivates further study into using the mixture-averaged diffusion assumption for DNS of moderate-to-high Karlovitz number flames.

physics.flu-dyn↗

A project-based course on software development for (engineering) research

This paper describes the motivation and design of a 10-week graduate course that teaches practices for developing research software; although offered by an engineering program, the content applies broadly to any field of scientific research where software may be developed. Topics taught in the course include local and remote version control, licensing and copyright, structuring Python modules, testing and test coverage, continuous integration, packaging and distribution, open science, software citation, and reproducibility basics, among others. Lectures are supplemented by in-class activities and discussions, and all course material is shared openly via GitHub. Coursework is heavily based on a single, term-long project where students individually develop a software package targeted at their own research topic; all contributions must be submitted as pull requests and reviewed/merged by other students. The course was initially offered in Spring 2018 with 17 students enrolled, and will be taught again in Spring 2019.

cs.SE↗

Effects of Langmuir Turbulence on Upper Ocean Carbonate Chemistry

Effects of wave-driven Langmuir turbulence on the air-sea flux of carbon dioxide (CO$_2$) are examined using large eddy simulations featuring actively reacting carbonate chemistry in the ocean mixed layer at small scales. Four strengths of Langmuir turbulence are examined with three types of carbonate chemistry: time-dependent, instantaneous equilibrium chemistry, and no reactions. The time-dependent model is obtained by reducing a detailed eight-species chemical mechanism using computational singular perturbation analysis, resulting in a quasi-steady-state approximation for hydrogen ion (H$^+$), i.e., fixed pH. The reduced mechanism is then integrated in two half-time steps before and after the advection solve using a Runge--Kutta--Chebyshev scheme that is robust for stiff systems of differential equations. The simulations show that, as the strength of Langmuir turbulence increases, CO$_2$ fluxes are enhanced by rapid overturning of the near-surface layer, which rivals the removal rate of CO$_2$ by time-dependent reactions. Equilibrium chemistry and non-reactive models are found to bring more and less carbon, respectively, into the ocean as compared to the more realistic time-dependent model. These results have implications for Earth system models that either neglect Langmuir turbulence or use equilibrium, instead of time-dependent, chemical mechanisms.

physics.ao-ph↗

Using SIMD and SIMT vectorization to evaluate sparse chemical kinetic Jacobian matrices and thermochemical source terms

Accurately predicting key combustion phenomena in reactive-flow simulations, e.g., lean blow-out, extinction/ignition limits and pollutant formation, necessitates the use of detailed chemical kinetics. The large size and high levels of numerical stiffness typically present in chemical kinetic models relevant to transportation/power-generation applications make the efficient evaluation/factorization of the chemical kinetic Jacobian and thermochemical source-terms critical to the performance of reactive-flow codes. Here we investigate the performance of vectorized evaluation of constant-pressure/volume thermochemical source-term and sparse/dense chemical kinetic Jacobians using single-instruction, multiple-data (SIMD) and single-instruction, multiple thread (SIMT) paradigms. These are implemented in pyJac, an open-source, reproducible code generation platform. A new formulation of the chemical kinetic governing equations was derived and verified, resulting in Jacobian sparsities of 28.6-92.0% for the tested models. Speedups of 3.40-4.08x were found for shallow-vectorized OpenCL source-rate evaluation compared with a parallel OpenMP code on an avx2 central processing unit (CPU), increasing to 6.63-9.44x and 3.03-4.23x for sparse and dense chemical kinetic Jacobian evaluation, respectively. Furthermore, the effect of data-ordering was investigated and a storage pattern specifically formulated for vectorized evaluation was proposed; as well, the effect of the constant pressure/volume assumptions and varying vector widths were studied on source-term evaluation performance. Speedups reached up to 17.60x and 45.13x for dense and sparse evaluation on the GPU, and up to 55.11x and 245.63x on the CPU over a first-order finite-difference Jacobian approach. Further, dense Jacobian evaluation was up to 19.56x and 2.84x times faster than a previous version of pyJac on a CPU and GPU, respectively.

physics.comp-ph↗

Computational study of the effects of density, fuel content, and moisture content on smoldering propagation of cellulose and hemicellulose mixtures

Smoldering combustion plays an important role in forest and wildland fires. Fires from smoldering combustion can last for long periods of time, emit more pollutants, and be difficult to extinguish. This makes the study of smoldering in woody fuels and forest duff important. Cellulose, hemicellulose, and lignin are the major constituents in these type of fuels, in different proportions for different fuels. In this paper, we developed a 1-D model using the open-source software Gpyro to study the smoldering combustion of cellulose and hemicellulose mixtures. We first validated our simulations against experimentally obtained values of propagation speed for mixtures with fuel compositions including 100%, 75%, 50%, and 25% cellulose, with the remaining proportion of hemicellulose. Then, we studied the effects of varying fuel composition, density, and moisture content on smoldering combustion. We find that propagation speed of smoldering increased with decreases in density and increases in hemicellulose content, which we attribute to the role of oxygen diffusion. Propagation speed increased with moisture content for pure cellulose up to a certain limiting value, after which the propagation speed dropped by up to 70%. The mean peak temperature of smoldering increased with increases in hemicellulose content and density, and decreased with increasing moisture content.

physics.flu-dyn↗

FACE gasoline surrogates formulated by an enhanced multivariate optimization framework

Design and optimization of higher efficiency, lower-emission internal combustion engines are highly dependent on fuel chemistry. Resolving chemistry for complex fuels, like gasoline, is challenging. A solution is to study a fuel surrogate: a blend of a small number of well-characterized hydrocarbons to represent real fuels by emulating their thermophysical and chemical kinetics properties. In the current study, an existing gasoline surrogate formulation algorithm is further enhanced by incorporating novel chemometric models. These models use infrared spectra of hydrocarbon fuels to predict octane numbers, and are valid for a wide array of neat hydrocarbons and mixtures of such. This work leverages 14 hydrocarbon species to form tailored surrogate palettes for the Fuels for Advanced Combustion Engine (FACE) gasolines, including candidate component species not previously considered: n-pentane, 2-methylpentane, 1-pentene, cyclohexane, and o-xylene. We evaluate the performance of "full" and "reduced" surrogates for the 10 fuels for advanced combustion engine (FACE) gasolines, containing between 8-12 and 4-7 components, respectively. These surrogates match the target properties of the real fuels, on average, within 5 %. This close agreement demonstrates that the algorithm can design surrogates matching the wide array of target properties: octane numbers, density, hydrogen-to-carbon ratio, distillation characteristics, and proportions of carbon-carbon bond types. We also compare our surrogates to those available in literature (FACE gasolines A, C, F, G, I and J). Overall, the approach demonstrated here offers a promising method to better design surrogates for gasoline-like fuels with a wide array of properties.

physics.chem-ph↗

Assessing impacts of discrepancies in model parameters on autoignition model performance: a case study using butanol

Side-by-side comparison of detailed kinetic models using a new tool to aid recognition of species structures reveals significant discrepancies in the published rates of many reactions and thermochemistry of many species. We present a first automated assessment of the impact of these varying parameters on observable quantities of interest---in this case, autoignition delay---using literature experimental data. A recent kinetic model for the isomers of butanol was imported into a common database. Individual reaction rate and thermodynamic parameters of species were varied using values encountered in combustion models from recent literature. The effects of over 1600 alternative parameters were considered. Separately, experimental data were collected from recent publications and converted into the standard YAML-based ChemKED format. The Cantera-based model validation tool, PyTeCK, was used to automatically simulate autoignition using the generated models and experimental data, to judge the performance of the models. Taken individually, most of the parameter substitutions have little effect on the overall model performance, although a handful have quite large effects, and are investigated more thoroughly. Additionally, models varying multiple parameters simultaneously were evolved using a genetic algorithm to give fastest and slowest autoignition delay times, showing that changes exceeding a factor of 10 in ignition delay time are possible by cherry-picking from only accepted, published parameters. All data and software used in this study are available openly.

physics.chem-ph↗

ChemKED: a human- and machine-readable data standard for chemical kinetics experiments

Fundamental experimental measurements of quantities such as ignition delay times, laminar flame speeds, and species profiles (among others) serve important roles in understanding fuel chemistry and validating chemical kinetic models. However, despite both the importance and abundance of such information in the literature, the community lacks a widely adopted standard format for this data. This impedes both sharing and wide use by the community. Here we introduce a new chemical kinetics experimental data format, ChemKED, and the related Python-based package for validating and working with ChemKED-formatted files called PyKED. We also review past and related efforts, and motivate the need for a new solution. ChemKED currently supports the representation of autoignition delay time measurements from shock tubes and rapid compression machines. ChemKED-formatted files contain all of the information needed to simulate experimental data points, including the uncertainty of the data. ChemKED is based on the YAML data serialization language, and is intended as a human- and machine-readable standard for easy creation and automated use. Development of ChemKED and PyKED occurs openly on GitHub under the BSD 3-clause license, and contributions from the community are welcome. Plans for future development include support for experimental data from laminar flame, jet stirred reactor, and speciation measurements.

physics.chem-ph↗

Accelerating finite-rate chemical kinetics with coprocessors: comparing vectorization methods on GPUs, MICs, and CPUs

Efficient ordinary differential equation solvers for chemical kinetics must take into account the available thread and instruction-level parallelism of the underlying hardware, especially on many-core coprocessors, as well as the numerical efficiency. A stiff Rosenbrock and nonstiff Runge-Kutta solver are implemented using the single instruction, multiple thread (SIMT) and single instruction, multiple data (SIMD) paradigms with OpenCL. The performances of these parallel implementations were measured with three chemical kinetic models across several multicore and many-core platforms. Two runtime benchmarks were conducted to clearly determine any performance advantage offered by either method: evaluating the right-hand-side source terms in parallel, and integrating a series of constant-pressure homogeneous reactors using the Rosenbrock and Runge-Kutta solvers. The right-hand-side evaluations with SIMD parallelism on the host multicore Xeon CPU and many-core Xeon Phi co-processor performed approximately three times faster than the baseline multithreaded code. The SIMT model on the host and Phi was 13-35% slower than the baseline while the SIMT model on the GPU provided approximately the same performance as the SIMD model on the Phi. The runtimes for both ODE solvers decreased 2.5-2.7x with the SIMD implementations on the host CPU and 4.7-4.9x with the Xeon Phi coprocessor compared to the baseline parallel code. The SIMT implementations on the GPU ran 1.4-1.6 times faster than the baseline multithreaded CPU code; however, this was significantly slower than the SIMD versions on the host CPU or the Xeon Phi. The performance difference between the three platforms was attributed to thread divergence caused by the adaptive step-sizes within the ODE integrators. Analysis showed that the wider vector width of the GPU incurs a higher level of divergence than the narrower Sandy Bridge or Xeon Phi.

physics.comp-ph↗

Reduced chemistry for butanol isomers at engine-relevant conditions

Butanol has received significant research attention as a second-generation biofuel in the past few years. In the present study, skeletal mechanisms for four butanol isomers were generated from two widely accepted, well-validated detailed chemical kinetic models for the butanol isomers. The detailed models were reduced using a two-stage approach consisting of the directed relation graph with error propagation and sensitivity analysis. During the reduction process, issues were encountered with pressure-dependent reactions formulated using the logarithmic pressure interpolation approach; these issues are discussed and recommendations made to avoid ambiguity in its future implementation in mechanism development. The performance of the skeletal mechanisms generated here was compared with that of detailed mechanisms in simulations of autoignition delay times, laminar flame speeds, and perfectly stirred reactor temperature response curves and extinction residence times, over a wide range of pressures, temperatures, and equivalence ratios. The detailed and skeletal mechanisms agreed well, demonstrating the adequacy of the resulting reduced chemistry for all the butanol isomers in predicting global combustion phenomena. In addition, the skeletal mechanisms closely predicted the time-histories of fuel mass fractions in homogeneous compression-ignition engine simulations. The performance of each butanol isomer was additionally compared with that of a gasoline surrogate with an antiknock index of 87 in a homogeneous compression-ignition engine simulation. The gasoline surrogate was consumed faster than any of the butanol isomers, with tert-butanol exhibiting the slowest fuel consumption rate. While n-butanol and isobutanol displayed the most similar consumption profiles relative to the gasoline surrogate, the two literature chemical kinetic models predicted different orderings.

physics.chem-ph↗

Report on the Fourth Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE4)

This report records and discusses the Fourth Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE4). The report includes a description of the keynote presentation of the workshop, the mission and vision statements that were drafted at the workshop and finalized shortly after it, a set of idea papers, position papers, experience papers, demos, and lightning talks, and a panel discussion. The main part of the report covers the set of working groups that formed during the meeting, and for each, discusses the participants, the objective and goal, and how the objective can be reached, along with contact information for readers who may want to join the group. Finally, we present results from a survey of the workshop attendees.

cs.SE↗

pyJac: analytical Jacobian generator for chemical kinetics

Accurate simulations of combustion phenomena require the use of detailed chemical kinetics in order to capture limit phenomena such as ignition and extinction as well as predict pollutant formation. However, the chemical kinetic models for hydrocarbon fuels of practical interest typically have large numbers of species and reactions and exhibit high levels of mathematical stiffness in the governing differential equations, particularly for larger fuel molecules. In order to integrate the stiff equations governing chemical kinetics, generally reactive-flow simulations rely on implicit algorithms that require frequent Jacobian matrix evaluations. Some in situ and a posteriori computational diagnostics methods also require accurate Jacobian matrices, including computational singular perturbation and chemical explosive mode analysis. Typically, finite differences numerically approximate these, but for larger chemical kinetic models this poses significant computational demands since the number of chemical source term evaluations scales with the square of species count. Furthermore, existing analytical Jacobian tools do not optimize evaluations or support emerging SIMD processors such as GPUs. Here we introduce pyJac, a Python-based open-source program that generates analytical Jacobian matrices for use in chemical kinetics modeling and analysis. As a demonstration, we first establish the correctness of the Jacobian matrices for kinetic models of hydrogen, methane, ethylene, and isopentanol oxidation, then demonstrate the performance achievable on CPUs and GPUs using pyJac via matrix evaluation timing comparisons.

physics.comp-ph↗

An investigation of GPU-based stiff chemical kinetics integration methods

A fifth-order implicit Runge-Kutta method and two fourth-order exponential integration methods equipped with Krylov subspace approximations were implemented for the GPU and paired with the analytical chemical kinetic Jacobian software pyJac. The performance of each algorithm was evaluated by integrating thermochemical state data sampled from stochastic partially stirred reactor simulations and compared with the commonly used CPU-based implicit integrator CVODE. We estimated that the implicit Runge-Kutta method running on a single GPU is equivalent to CVODE running on 12-38 CPU cores for integration of a single global integration time step of 1e-6 s with hydrogen and methane models. In the stiffest case studied---the methane model with a global integration time step of 1e-4 s---thread divergence and higher memory traffic significantly decreased GPU performance to the equivalent of CVODE running on approximately three CPU cores. The exponential integration algorithms performed more slowly than the implicit integrators on both the CPU and GPU. Thread divergence and memory traffic were identified as the main limiters of GPU integrator performance, and techniques to mitigate these issues were discussed. Use of a finite-difference Jacobian on the GPU---in place of the analytical Jacobian provided by pyJac---greatly decreased integrator performance due to thread divergence, resulting in maximum slowdowns of 7.11-240.96 times; in comparison, the corresponding slowdowns on the CPU were just 1.39-2.61 times, underscoring the importance of use of an analytical Jacobian for efficient GPU integration. Finally, future research directions for working towards enabling realistic chemistry in reactive-flow simulations via GPU\slash SIMD accelerated stiff chemical kinetic integration were identified.

physics.comp-ph↗

Skeletal mechanism generation for surrogate fuels using directed relation graph with error propagation and sensitivity analysis

A novel implementation for the skeletal reduction of large detailed reaction mechanisms using the directed relation graph with error propagation and sensitivity analysis (DRGEPSA) is developed and presented with examples for three hydrocarbon components, n-heptane, iso-octane, and n-decane, relevant to surrogate fuel development. DRGEPSA integrates two previously developed methods, directed relation graph-aided sensitivity analysis (DRGASA) and directed relation graph with error propagation (DRGEP), by first applying DRGEP to efficiently remove many unimportant species prior to sensitivity analysis to further remove unimportant species, producing an optimally small skeletal mechanism for a given error limit. It is illustrated that the combination of the DRGEP and DRGASA methods allows the DRGEPSA approach to overcome the weaknesses of each, specifically that DRGEP cannot identify all unimportant species and that DRGASA shields unimportant species from removal. Skeletal mechanisms for n-heptane and iso-octane generated using the DRGEP, DRGASA, and DRGEPSA methods are presented and compared to illustrate the improvement of DRGEPSA. From a detailed reaction mechanism for n-alkanes covering n-octane to n-hexadecane with 2115 species and 8157 reactions, two skeletal mechanisms for n-decane generated using DRGEPSA, one covering a comprehensive range of temperature, pressure, and equivalence ratio conditions for autoignition and the other limited to high temperatures, are presented and validated. The comprehensive skeletal mechanism consists of 202 species and 846 reactions and the high-temperature skeletal mechanism consists of 51 species and 256 reactions. Both mechanisms are further demonstrated to well reproduce the results of the detailed mechanism in perfectly-stirred reactor and laminar flame simulations over a wide range of conditions.

physics.chem-ph↗

On the importance of graph search algorithms for DRGEP-based mechanism reduction methods

The importance of graph search algorithm choice to the directed relation graph with error propagation (DRGEP) method is studied by comparing basic and modified depth-first search, basic and R-value-based breadth-first search (RBFS), and Dijkstra's algorithm. By using each algorithm with DRGEP to produce skeletal mechanisms from a detailed mechanism for n-heptane with randomly-shuffled species order, it is demonstrated that only Dijkstra's algorithm and RBFS produce results independent of species order. In addition, each algorithm is used with DRGEP to generate skeletal mechanisms for n-heptane covering a comprehensive range of autoignition conditions for pressure, temperature, and equivalence ratio. Dijkstra's algorithm combined with a coefficient scaling approach is demonstrated to produce the most compact skeletal mechanism with a similar performance compared to larger skeletal mechanisms resulting from the other algorithms. The computational efficiency of each algorithm is also compared by applying the DRGEP method with each search algorithm on the large detailed mechanism for n-alkanes covering n-octane to n-hexadecane with 2115 species and 8157 reactions. Dijkstra's algorithm implemented with a binary heap priority queue is demonstrated as the most efficient method, with a CPU cost two orders of magnitude less than the other search algorithms.

cs.DS↗

Predicting fuel research octane number using Fourier-transform infrared absorption spectra of neat hydrocarbons

Liquid transportation fuels require costly and time-consuming tests to characterize metrics, such as Research Octane Number (RON) for gasoline. If fuel sale restrictions requiring use of standard Cooperative Fuel Research testing procedures do not apply, these tests may be avoided by using multivariate statistical models to predict RON and other quantities. Here we show that an accurate statistical model for the RON of gasoline and gasoline-like fuels can be constructed by ensuring the representation of key functional groups in the spectroscopic data set are used to train the model. We found that a principal component regression model for RON based on IR absorbance and informed using neat and 134 mixtures of n-heptane, isooctane, toluene, ethanol, methylcyclohexane, and 1-hexene could predict RON for the 10 Coordinating Research Council Fuels for Advanced Combustion Engine (FACE) gasolines and 12 FACE gasoline blends with ethanol within 34.8+/-36.1 on average and 51.2 in the worst case. We next studied the effect of adding 28 additional minor components found in the FACE gasolines to the statistical model, and determined that it was necessary to add additional representatives of the branched alkane and aromatics classes to reduce model error. For example, adding 2,3-dimethylpentane and xylene to the previous model allowed it to predict RON for the 22 target fuels within 0.3+/-4.4 on average and 7.9 in the worst case. However, we determined that the specific choice of fuel in those classes mattered less than ensuring the representation of the relevant functional group. This work builds upon previous efforts by creating models informed by neat and surrogate fuels---rather than complex real fuels---that could predict the performance of complex unknown fuels.

physics.chem-ph↗