Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Coding”

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 1,675 records · Page 93

Recent Improvements to the LAURA and HARA Codes

This paper describes recent improvements to the LAURA and HARA codes. LAURA is a CFD code for aerothermodynamics, and HARA evaluates the shock-layer radiation that provides the radiative source term for the flowfield energy equations and radiative heating to a surface. The next release of LAURA and HARA includes a variety of new capabilities. These new capabilities include an automated uncertainty quantification workflow for radiative heat transfer, options for specifying surface roughness and turbulent transition location in the algebraic turbulence models, and improved grid and solution interpolation techniques. Additionally, the computational efficiency of both LAURA and HARA have been improved. Optimization of the MPI communication routines in LAURA are shown to improve the parallel efficiency of the primary flow when running with multiple processes per block, and recent optimization of HARA leverage graphics processing unit (GPU) acceleration in the radiation calculations. Using GPU acceleration of HARA is shown to decrease the cost of the radiation line-of-sight calculation by approximately one order of magnitude for a 10.5 km/s Earth entry simulation.

LAURA HARA CFD 5.6↗

NASA GPU Hackathon Yields Significant Code Improvements

The NASA GPU Hackathon 2020 brought together application developers and computer experts to help get important NASA applications running effectively on graphics processing unit (GPU) nodes. Nine teams of application developers participated in this virtual event, a major impetus for teams to modernize codes of interest for NASA missions to CPU nodes containing GPU accelerators, with a focus on hands-on problem solving. The photo in Figure1 shows 30 of the more than50 participants. The HECC project and NVIDIA jointly organized the event, and HECC provided five Pleiades nodes each with 4 V100 GPUs for teams to use. The virtual event, which took place over four days from September 28–October 7, 2020, used Microsoft Teams and Slack as collaboration tools. Each team consisted of three to six members from NASA Centers and supporting organizations. The teams were paired with one to two mentors from industry, government, and academia. The experience levels of the teams ranged from being GPU novices to advanced CUDA programming experts. OpenACC and the emerging Kokkos API were used in addition to CUDA for GPU programming. During the event, which focused on accelerating AeroSciences and CFD applications, most teams achieved considerable performance improvements on both GPUs and CPUs. For example, a team with no GPU experience completed a first port of a time-critical loop to a GPU. Another team of expert CUDA programmers were able to restructure their algorithm, yielding a factor of five speed-up. And another team sped up some of their CUDA kernels by a factor of 20, which directly translated into their production code. This article highlights some of the many successes resulting from the event.

HECC↗

PolyFit: A C++ code for Polynomial Curve Fit with Calculation of Error Bars

In radiobiology, many dose-response results are modeled using the so-called linear-quadratic (LQ)model, which means that results are modeled as a function of dose Das 𝑅(𝐷)=𝛽0+𝛽1𝐷+𝛽2𝐷2. The coefficients 𝛽0, 𝛽1and 𝛽2are obtained from fitting a series of data points (𝑥𝑖, 𝑦𝑖), which is usually done using a least-square method. The LQ and more generally the polynomial fit capability is implemented in many software that analyzes data. However, there are some instances where the fitting needs to be done programmatically. Furthermore, depending on the software used, some features may not be implemented. In this mini-review, I discuss the basis of polynomial fitting, including the calculation of errors on the coefficients and results, use of weighting and fixing the intercept value (the coefficient 𝛽0). A simple C++ code to perform the polynomial curve fitting is also provided. This code should be useful not only in radiobiology but in other fields of science as well.

Ianik Plante↗

Developing a Multilingual Auto-coding Interface Control for the MAVERIC-II Dynamics Simulator

Simulation model development in certain high-level languages such as Python, MATLAB, or Simulink are unparalleled by their convenience and rapid turnover time. However, legacy simulation engines often depend on more traditional languages such as FORTRAN or C/C++. The NASA Marshall Aerospace Vehicle Representation in C version II (MAVERIC-II) is a modular, legacy-derived computer program used for high-fidelity, 6 degree-of-freedom (6DOF) simulation for aerospace vehicle flights and analyses of guidance and control performance with built-in mathematical modeling of environmental effects such as wind, atmosphere, and gravity as well as dispersion capability for Monte Carlo analysis. MAVERIC-II is modular in the sense that each component software element of the simulation engine may be supplanted for a higher or lower fidelity version. The design flow of the development of these models is often performed in high-level languages as mentioned previously, which must then be translated into C or C++ code to be integrated into MAVERIC-II. Using principles of model-based design, we propose a unified method of auto-coding and interfacing between several languages and MAVERIC-II, which may be generalized further to any type of 6DOF simulation engine.

Mason Nixon↗

PolyFit: A C++ code for Polynomial Curve Fit with Calculation of Error Bars

In radiobiology, many dose-response results are modeled using the so-called linear-quadratic(LQ)model, which means that results are modeled as a function of dose Das 𝑅(𝐷)=𝛽0+𝛽1𝐷+𝛽2𝐷2. The coefficients 𝛽0, 𝛽1and 𝛽2are obtained from fitting a series of data points (𝑥𝑖,𝑦𝑖), which is usually done using a least-square method. The LQ and more generally the polynomial fit capability is implemented in many software that analyzes data. However, it is often convenient to do the fitting programmatically, especially when a large number of datasets should be analyzed. Furthermore, depending on the software used, some features may not be implemented. In this mini-review, I discuss the basis of polynomial fitting, including the calculation of errors on the coefficients and results, use of weighting and fixing the intercept value (the coefficient 𝛽0). A simple C++ code to perform the polynomial curve fitting is also provided. This code should be useful not only in radiobiology but in other fields of science as well.

Ianik Plante↗

Adding GPU Support to the Markov Chain Monte Carlo Code Catmip

In geophysics, we are confronted with many under-determined inverse problems. For example, all of our observations of earthquakes are made at the Earth’s surface. So, when we try to infer how slip during an earthquake evolves in space and time, we find that there are many potential slip histories that are consistent with our limited observations and our understanding of earthquake physics. One way to approach these problems is with Bayesian analysis which allows us to infer the ensemble of all potential slip models that satisfy the observations and our prior knowledge of earthquake physics. In Bayesian analysis, our prior knowledge is known as the prior probability density function or prior PDF, the fit to the data is known as the data likelihood, and the target PDF that satisfies both the prior PDF and data likelihood is known as the posterior PDF. However, simulating the posterior PDF typically requires using Markov Chain Monte Carlo (MCMC) to draw tens of billions of random realizations of earthquake slip models, which may not be computationally feasible. To make this and similar geophysical inversions computationally tractable, we developed the Cascading Adaptive Transitional Metropolis In Parallel (CATMIP) algorithm. CATMIP is an efficient parallel Markov Chain Monte Carlo (MCMC) sampler that is used for model fitting and uncertainty quantification in geophysics. Example use cases are earthquake rupture modeling, determining mineral composition on Mars, reconstructing the history of ocean salinity, and historical earthquake relocation. CATMIP employs many parallel instances of the Metropolis algorithm for sampling in a transitioning framework. Transitioning is a process in which a set of random samples at equilibrium with a known probability density function (PDF) are used as seeds for the Markov chains to sample successive target PDFs that incrementally move the distribution from the starting seeds to the final desired PDF that describes the relative plausibility of potential values for the model parameters. The algorithm is implemented as a Master-Worker model employing MPI for communication. The worker processes are loosely coupled with global parameters periodically optimized by the master process. This provides a very high amount of parallelism with little communication between updates. During the presentation we will discuss the history of the algorithm and elaborate the earthquake rupture modeling use case for the CATMIP package. Our first step toward GPU optimization was to optimize the code for the CPU. CPU profiling revealed that most of the compute time is spent in calls to level 2 BLAS routines and calls to GSL random number generators. We revised the algorithm to employ level 3 BLAS routines instead. In our presentation we will describe how this was accomplished. Adding GPU support to CATMIP consisted mostly of replacing the calls to GSL with calls to GPU vendor-provided library routines. A small number of loops were directly implemented in CUDA. In the presentation will provide implementation details. Finally, we will discuss methods for profiling and opportunities for further optimizing GPU execution. By creating a code with the flexibility to run on either a CPU or GPU architecture, CATMIP can be used on systems ranging from large CPU-based HPC environments to single servers with GPU acceleration and everything in between.

HECC↗

Recent Advancements in the PATO Material Response Code

Introduction: Predicting the complicated multiphysics phenomena during atmospheric entry requires high-fidelity modeling tools to refine estimates of mission risks during entry. To this end, new capabilities are being added to the Porous-material Analysis Toolbox based on OpenFOAM (PATO). PATO is an open-source software for Computational Material Response (CMR) of reactive porous materials submitted to high-temperature environments. The objective of this work is to highlight current efforts to add to and improve upon the modeling capabilities of PATO. These include efforts to loosely couple PATO with other discipline specialized codes including hypersonic Computational Fluid Dynamics (CFD), to assess the interaction effects between pyrolysis gas blowing and the boundary layer, and Computational Solid Mechanics (CSM), to address modeling of mechanical erosion. Other refinements include surface phenomena modeling capabilities to address the effects of silicone-based coatings applied to the TPS during flight preparation, and a unified multiphase solver for a mixed porous-material and plain-fluid domain. Coupling CMR with CFD (CMR/CFD): A loose coupling between PATO and the Data Parallel Line Relaxation (DPLR) CFD code has been achieved by making use of a blowing boundary condition at the heatshield surface available in DPLR. Starting with heat flux estimates with no pyrolysis gas blowing at the surface, blowing gases are computed by the CMR and passed to the CFD such that aerothermal properties of the environment can be recomputed for a new CMR computation. This leads to an iterative process which is supplemented with an estimate of the radiative heat flux using the Nonequilibrium air radiation (NEQAIR) program. The entire iterative process is illustrated in Figure 1. This coupling strategy has been utilized in computing the MSL material response. The goal is to compare the coupled CMR/CFD results with material response results obtained using traditional blowing corrections. Coupling CMS with CMR: A mechanical erosion model is currently being implemented in PATO to account for the additional mass removal induced by high shear conditions. The modeling process at each timestep consists of updating the mechanical properties as a function of temperature and computing the stress tensor and displacement fields of the material. Then, a failure criteria model determines the regions in which the stress exceeds the ultimate strength values resulting in mesh movement to account for mass removal. This model allows the material response simulation to compute the recession due to both oxidation and shear-induced erosion. The model is demonstrated by computing material response of sphere-cone arc jet samples. Surface Modeling Capabilities: NuSil, a silicone-based coating, was sprayed onto the MSL and Mars 2020 heatshields to mitigate shedding of phenolic dust. To better understand the effects of the NuSil coating on the material response, a novel model has been implemented in PATO. In this model, the equilibrium of the charred NuSil surface is modeled as pure silica, and a constant offset, inspired by the classical spallation model, is added to the the char blowing rate and wall enthalpy to reproduce HyMETS experimental results. The model has also been used to estimate the 3D material response of the MSL heatshield. Unified Solver: In addition to the iterative loose coupling approach mentioned above, a multiphase unified solver is being developed to couple the environment (plain-fluid phase) and the porous-material phase. The solver is based on the volume averaged conservation of mass, momentum, and energy for the macroscale with closure models which include microscale effects through effective physicochemical properties. The unified solver has been used to compute flow through a porous plug and solve the Beavers and Joseph problem. Since the strong coupling between phases is inherent to this solver, modeling assumptions present in other coupling methods of material response are mitigated. This strategy also makes it feasible to capture the competition between surface and volume ablation in the same computational domain, which is usually not possible with other coupling approaches.

Material Response↗

Recent Advancements in the PATO Material Response Code

Introduction: Predicting the complicated multiphysics phenomena during atmospheric entry requires high-fidelity modeling tools to refine estimates of mission risks during entry. To this end, new capabilities are being added to the Porous-material Analysis Toolbox based on OpenFOAM (PATO) [1,2,3]. PATO is an open-source software for Computational Material Response (CMR) of reactive porous materials submitted to high-temperature environments. The objective of this work is to highlight current efforts to add to and improve upon the modeling capabilities of PATO. These include efforts to loosely couple PATO with other discipline specialized codes including hypersonic Computational Fluid Dynamics (CFD), to assess the interaction effects between pyrolysis gas blowing and the boundary layer, and Computational Solid Mechanics (CSM), to address modeling of mechanical erosion. Other refinements include surface phenomena modeling capabilities to address the effects of silicone-based coatings applied to the TPS during flight preparation, and a unified multiphase solver for a mixed porous-material and plain-fluid domain. Coupling CMR with CFD (CMR/CFD): A loose coupling between PATO and the Data Parallel Line Relaxation (DPLR) [4] CFD code has been achieved by making use of a blowing boundary condition at the heatshield surface available in DPLR. Starting with heat flux estimates with no pyrolysis gas blowing at the surface, blowing gases are computed by the CMR and passed to the CFD such that aerothermal properties of the environment can be recomputed for a new CMR computation. This leads to an iterative process which is supplemented with an estimate of the radiative heat flux using the Nonequilibrium air radiation (NEQAIR) [5] program. The entire iterative process is illustrated in Figure 1. This coupling strategy has been utilized in computing the MSL material response. The goal is to compare the coupled CMR/CFD results with material response results obtained using traditional blowing corrections. Coupling CMS with CMR: A mechanical erosion model is currently being implemented in PATO to account for the additional mass removal induced by high shear conditions. The modeling process at each timestep consists of updating the mechanical properties as a function of temperature and computing the stress tensor and displacement fields of the material. Then, a failure criteria model determines the regions in which the stress exceeds the ultimate strength values resulting in mesh movement to account for mass removal. This model allows the material response simulation to compute the recession due to both oxidation and shear-induced erosion. The model is demonstrated by computing material response of sphere-cone arc jet samples. Surface Modeling Capabilities: NuSil, a silicone-based coating, was sprayed onto the MSL and Mars 2020 heatshields to mitigate shedding of phenolic dust. To better understand the effects of the NuSil coating on the material response, a novel model has been implemented in PATO. In this model, the equilibrium of the charred NuSil surface is modeled as pure silica, and a constant offset, inspired by the classical spallation model, is added to the the char blowing rate and wall enthalpy to reproduce HyMETS experimental results. The model has also been used to estimate the 3D material response of the MSL heatshield [6]. Unified Solver: In addition to the iterative loose coupling approach mentioned above, a multiphase unified solver is being developed to couple the environment (plain-fluid phase) and the porous-material phase. The solver is based on the volume averaged conservation of mass, momentum, and energy for the macroscale with closure models which include microscale effects through effective physicochemical properties. The unified solver has been used to compute flow through a porous plug and solve the Beavers and Joseph problem [7]. Since the strong coupling between phases is inherent to this solver, modeling assumptions present in other coupling methods of material response are mitigated. This strategy also makes it feasible to capture the competition between surface and volume ablation in the same computational domain, which is usually not possible with other coupling approaches.

Thermal Protection Systems↗

Systems Analysis Office (Code AA) Vehicle and Systems Analysis

• The Systems Analysis Office (Code AA) is one of six research divisions and offices under the Ames Aeronautics Directorate (Code A) • Diverse group of early career and senior aerospace engineers • Office currently composed of 19 civil servants and 5 contractors • Wide range of aerospace disciplines and capabilities for vehicle and systems analysis • Long history of supporting NASA, DoD, and commercial projects in various design and testing phases

Susie Go↗

Comparing Performance of Coded Communications over Fading Channels between the Lunar South Pole & Earth

In this paper we design and analyze an end-to-endcommunication system between a lander/rover on the surface ofthe lunar South Pole and an Earth station. Various communicationsystems on the lander or rover could be used for the Earthto-Moon communication in both the uplink and downlink direction.To communicate to and from the lander/rover on the lunarSouth Pole, low and/or medium directional antennas onboardthe lander/rover will have to be pointed at low elevation anglesbetween 2 to 10 degrees, thus causing multipath fading effectsdue to reflection of a portion of the transmitted electromagneticwaves from the surface of the Moon. These are not commonlyencountered in traditional deep space communications betweena spacecraft and a ground station.We investigate various design methods and analyze such communicationsystems, in the presence of multipath fading. Wemodel the fading channel based on existing and simulated data.For coherent reception, the acquisition and tracking loop shouldacquire and track incoming carrier phase in presence of Ricianmultipath fading. For this communication system in additionto estimating the received carrier phase, the amplitude of thefading signal should also be estimated, in particular to be used inthe decoder. We consider simple modulation and coding schemesin particular those specified in the CCSDS standards for spaceapplications.After designing various components of the communication system,we use Simulink models to obtain the end-to-end performanceof the communication link under investigation. Basedon the available data, the fading channel can be accuratelymodeled as a Rician fading channel with various Rician parametersdepending on the Earth elevation angle, which alsoaffects the Doppler spread. Therefore, the challenge is todesign a communication system robust in the presence of themultipath fading where the channel conditions change in timeand thus produce fading. In summary, this paper comparespossible communication system designs, performance analysis,and simulations for coded system with/without interleaving withhard/soft decision and with/without channel state information(CSI), over a communication link between a lander/rover at theLunar south pole and a Deep Space Network station in presenceof Rician fading.

Cheung, Kar-Ming↗

Application of Fountain Code to High-Rate Delay Tolerant Networks

Space communication poses several unique challenges that are not always present in typical terrestrial communications. Currently, communication with satellites is based on point-to-point links, and development of an interplanetary internet is an active research area. Delay Tolerant Networking (DTN) has been proposed as a way to mitigate the long delays and disruptions found in deep space. A specialized version of DTN, called High-rate Delay Tolerant Networking (HDTN), has been developed by NASA to support a variety of missions requiring store-and-forward capability. However, there are still several features that are desired for HDTN including data fragmentation, multicast, and anycast. This project proposes the application of fountain code in HDTN as a means of fragmenting, distributing, and reassembling data (in the form of bundles) across multiple nodes (i.e. satellites) to any number of receivers (i.e. ground stations). Fountain code is shown to be a promising encoding method for use with the HDTN protocol suite due to its short runtimes, small encoded file sizes, and loss tolerance.

Noah Douglass↗

Radiative interaction of atmosphere and surface: write up with elements of code

In passive satellite remote sensing of the Earth, separation of the path radiance (atmosphere-only contribution) from the surface reflection remains a “significant challenge”. Recent literature names it among the gaps in radiative transfer (RT) topics that “require continued research in the near future”. The challenge comes from multiple reflections (bouncing) between the atmosphere and surface – radiative interaction. In this paper we use a known RT technique, the matrix-operator method (MOM), and a new modification of the monochromatic vector RT (vRT) code IPOL (Intensity and POLarization) to simulate the interaction of a plane-parallel atmosphere and a few widely used surface reflection models. Following the idea of the Green’s function method, IPOL no longer takes the surface model parameters on input. Instead, it provides the path radiance, and the atmospheric reflection and transmission matrices as output. Despite many RT codes use the MOM formalism, this output does not seem common. The surface reflection matrix is computed externally. Therefore, this paper extends the Green’s function atmospheric correction technique to the case of polarized light. Aiming clarity rather than performance, we explain in Python the structure of the surface matrices for the isotropic (Lambertian), directional unpolarized, and polarized ocean reflection models. We then combine these surface matrices and the precomputed IPOL output to get numerically accurate signal at the top of atmosphere (TOA) and test it vs. published benchmarks. Then, for each benchmark scenario we show how to get the surface from the TOA signal, i.e. perform the RT-based atmospheric correction.

radiative transfer↗

New Mission Concept: Compton Telescope with Coded Aperture Mask (GECCO) for MeV Gamma-ray Astronomy

The Galactic Explorer with a Coded Aperture Mask Compton Telescope (GECCO) is a novel Explorer-class concept for a next-generation telescope covering the poorly explored hard X-ray and soft gamma-ray energy regimes. The instrument is based on a novel CdZnTe imaging calorimeter and a deployable coded aperture mask, which enable it to reach 1 arcmin angular resolution and 1% energy resolution. GECCO will connect the arcminute angular resolution observations from X-ray telescopes to high-energy images of the Galactic plane provided by Fermi-LAT, and will focus on the exploration of heavily populated sky regions such as the Galactic Center and the Carina and Cygnus regions to decipher the nature of their emission. These measurements will probe with unprecedented capabilities the possible origin of this emission as dark matter, new types of sources, or currently unresolved populations of point sources. Uncoded observations with GECCO’s Compton telescope will provide wide field-of-view sky monitoring for transient events, synergizing with gravitational wave and high-energy neutrino facilities. In addition, GECCO will conduct a high-sensitivity search for the positron sources in the Galactic Center responsible for the enigmatic 511 keV positron annihilation line excess, will search for as-yet untested candidates for dark matter, will detect and identify high-redshift blazars with excellent angular resolution, and will explore Galactic chemical evolution and sites of explosive element synthesis.

Alexander A Moiseev↗

Improvements on Low-Density Parity-Check (LDPC) Codes and High-Performance Neuromorphic Engineering for Communication Systems

Belief propagation (BP) on LDPC codes is an iterative decoding algorithm that performs information transfer on the Tanner graph, which represents the code. In each iteration, the algorithm exchanges information (LLR) between variable nodes and check nodes through the edges of the graph. LLR values represent the probability that a given bit in a transmitted codeword equals 0 or 1, given a received word. In the hardware part, recent advancements in intelligent technologies, such as artificial intelligence, big data analytics, autonomous vehicles, and speech/image recognition, have heightened the demand for faster calculations and reduced energy consumption.

Danilo Barrionuevo↗