Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “C CODES”

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 253 records · Page 14

Evaluation of Precision Landing Performance Using A Generalized Aerospace Simulation in Simulink Framework

NASA’s science and exploration goals to return to the Moon and beyond will need to perform precision landings to place humans and cargo supplies near places of scientific interest, surface resources, or pre-established basecamps. With the maturation of new navigation technology, such as terrain relative navigation, precision landing is now feasible, enabling new exploration sites, such as the lunar poles. However, verification of precision landing performance becomes crucial since not reaching the designated landing site would have a high risk of loss of mission. Therefore, having a high-fidelity simulation platform to evaluate six degrees of freedom vehicle performance during high-risk phases of flight such landing is a fundamental part of the system verification and risk reduction. The NASA Marshall Space Flight Center has developed the GeneraLized Aerospace Simulation in Simulink® (GLASS) tool which incorporates guidance, navigation, and control algorithms, as well as vehicle and environmental models, such as gravity, vehicle mass properties, navigation sensors, propulsion, and terrain models. GLASS uses the MathWorks® Simulink® environment which provides a model-based design framework that allows the incorporation of vehicle models in a modular architecture. The Simulink® environment provides seamless integration with all the MathWorks® capabilities and toolboxes, such as control design toolboxes and Simscape™ Multibody™ dynamics toolbox. The MathWorks® environment also allows for guidance, navigation, and control algorithms to be auto coded in C language, enabling quick software and hardware in the loop testing. This paper provides an overview of GLASS capabilities for analyzing precision landing performance, including navigation trades applied to a NASA human lander reference design architecture.

Guidance↗

Investigation of the OECD/NEA PWR MOX/UO{sub 2} core transient benchmark using a coupled whole core pin-by-pin route in WIMS

This paper investigates the new CAMELOT coupling route developed in WIMS, which uses prepared tabulated cross-sections combined with the flux solver MERLIN module and the integrated sub-channel thermal hydraulics solver ARTHUR module to solve for the coupled core state. This coupling route is applied to the OECD/NEA pressurized water reactor (PWR) core transient benchmark exercise, involving 3-D neutronics and thermal-hydraulics analysis of a full-sized PWR core featuring MOX fuel at various core states, as well as simulating a control rod ejection transient. Analysis of the results for each part of the benchmark demonstrate that the high-resolution pin-by-pin analysis used in WIMS closely matches the other participants in the benchmark, with differences of between 20-200 pcm for k-effective, 1-2.5% RMS difference for assembly-averaged powers, 2-8% difference in rod worth calculations, < 200 ppm for calculations of critical boron concentration, zero difference in delayed neutron fraction calculation and a very close match for power response to the rod ejection transient. This is the first application of the WIMS-CAMELOT approach for the transient analysis of a full-sized reactor and as such further improvements such as reducing computational cost through parallelization, optimisation and memory reduction, are currently in active development. This paper demonstrates the accuracy and flexibility of the CAMELOT coupling route, providing a straightforward and consistent user image that can be easily used for a variety of modelling problems involving coupled neutronics and thermal-hydraulics. (authors)

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

Application of linear prolongation to coarse mesh finite difference acceleration in CASMO5

The Coarse-Mesh Finite Difference (CMFD) method has been used for over a decade to accelerate the convergence of the Method of Characteristics (MOC) solution to the two- dimensional particle transport equation in CASMO5. Numerical testing, along with widespread use in production-level calculations, have shown that the current CMFD implementation provides stability and robustness for a wide range of realistic reactor physics problems. However, the recent development of linear prolongation has attracted attention from the community as a way to further improve the performance and stability of CMFD. Two interpolation methods for linear prolongation are presented in this work and implemented into a test version of CASMO5. The performance of the proposed interpolations, referred to as the bilinear and linear directional schemes, is evaluated in terms of runtime relative to the default constant or uniform scaling update. Numerical results indicate that the use of linear prolongation can reduce the transport solver runtime on average by approximately 10% when tested with two hundred randomly selected cases. The new directional linear interpolation, combined with default constant boundary updates, is found to provide the highest reduction in runtime for the cases analyzed. (authors)

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

An influence of manufacturing tolerances on Pin-Cell k-infinity of MOX fuel using data from the FUBILA experiment program

An influence of manufacturing tolerances (MTs) was evaluated on the pin-cell k-infinity of MOX fuel through the random sampling of CASMO5 calculations. The data from the FUBILA experiment program was used as the manufacturing parameters. For the uncertainties of element/isotope mass fractions, their covariance matrices were calculated by the generalized least square method. The total k-infinity uncertainty was 120-250 pcm (percent mille). From the breakdown of k-infinity uncertainty per materials, the MTs of fuel pellet had a dominant influence. The individual influences were also evaluated for element/isotope mass fractions, an inner/outer diameter, and a density. Those of element/isotope mass fractions were less than a few dozen pcm. Since the perturbations of fuel pellet diameter and density caused large variations to the total amount of heavy metals and effect of spatial self-shielding, they had a negative correlation with the k-infinity perturbation. On the AG3 (Al-Mg alloy) over-cladding, the inner/outer diameter perturbations had both negative and positive correlations. The negative one was due to decrease in amount of light water and the positive one was due to increase in amount of AG3. Since the effect of neutron slowing-down by light water had a dominant influence, the influence of the former negative correlation was larger than that of the latter positive correlation. It is, therefore, concluded that the consideration of the MTs that had a large influence on the effect of neutron slowing-down is important for precise quantification of the pin-cell k-infinity uncertainty of MOX fuel. (author)

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

On a Simplified Approach to Achieve Parallel Performance and Portability Across CPU and GPU Architectures

This paper presents software advances to easily exploit computer architectures consisting of a multi-core CPU and CPU+GPU to accelerate diverse types of high-performance computing (HPC) applications using a single code implementation. The paper describes and demonstrates the performance of the open-source C++ matrix and array (MATAR) library that uniquely offers: (1) a straightforward syntax for programming productivity, (2) usable data structures for data-oriented programming (DOP) for performance, and (3) a simple interface to the open-source C++ Kokkos library for portability and memory management across CPUs and GPUs. The portability across architectures with a single code implementation is achieved by automatically switching between diverse fine-grained parallelism backends (e.g., CUDA, HIP, OpenMP, pthreads, etc.) at compile time. The MATAR library solves many longstanding challenges associated with easily writing software that can run in parallel on any computer architecture. This work benefits projects seeking to write new C++ codes while also addressing the challenges of quickly making existing Fortran codes performant and portable over modern computer architectures with minimal syntactical changes from Fortran to C++. We demonstrate the feasibility of readily writing new C++ codes and modernizing existing codes with MATAR to be performant, parallel, and portable across diverse computer architectures.

97 MATHEMATICS AND COMPUTING↗

AirShow 1.0 CFD Software Users' Guide

AirShow is visualization post-processing software for Computational Fluid Dynamics (CFD). Upon reading binary PLOT3D grid and solution files into AirShow, the engineer can quickly see how hundreds of complex 3-D structured blocks are arranged and numbered. Additionally, chosen grid planes can be displayed and colored according to various aerodynamic flow quantities such as Mach number and pressure. The user may interactively rotate and translate the graphical objects using the mouse. The software source code was written in cross-platform Java, C++, and OpenGL, and runs on Unix, Linux, and Windows. The graphical user interface (GUI) was written using Java Swing. Java also provides multiple synchronized threads. The Java Native Interface (JNI) provides a bridge between the Java code and the C++ code where the PLOT3D files are read, the OpenGL graphics are rendered, and numerical calculations are performed. AirShow is easy to learn and simple to use. The source code is available for free from the NASA Technology Transfer and Partnership Office.

Mohler, Stanley R., Jr.↗

A Single Thread to Fortran Coarray Transition Process for the Control Algorithm in the Space Radiation Code HZETRN

Exa-scale computing is the direction by industry and government are going to generate solutions to problems they deem necessary. Computing hardware is being developed to achieve the transition from Peta-scale to Exa-scale with more CPUs (Central Processing Units) that have more cores per CPU and more accelerators (GPGPUs (General Purpose Graphics Processing Units) and MICs (Many Integrated Cores)) per node. To fully utilize the hardware available now and in the future, algorithms must become multi-threaded. There are a few methods to generate multi-threaded software such as MPI (Message Passing Interface) and OpenMP (Multi-Processing) / OpenACC (ACCelerator). This paper concentrates on using Coarray Fortran to convert the Fortran 95 based HZETRN (High Z and Energy TRaNsport) code's control algorithm from a single threaded code to a multithreaded code. The resultant Coarray code was 32.5 times faster (with a theoretical speed-up of 74.5 times) than the single threaded version on the hardware tested, as reliable as the Fortran 95 version, and, as it uses native Fortran, was as maintainable as the Fortran 95 version. The Coarray code can be maintained by the same project engineers and scientists who created the original single threaded code. This transition process can be utilized on a C language based code with a compiler that has the UPC (Universal Parallel C) extensions to C.

Singleterry, Robert C., Jr.↗

Fast BLT Code

This note discusses numerical algorithmic software design considerations and performance estimates for a fast BLT coupling code [1] written in c++. The aim of this code is to conduct faster parameter studies over line orientations. The original matlab code was written by Mike Rivera. Art Barnes ported this code to julia. I rewrote portions of the code for speed improvement, mainly to eliminate some redundant computation when calculating many line orientations. But this code is still far from optimal.

97 MATHEMATICS AND COMPUTING↗

Implementation of a C-1 triangular element based on the P-version of the finite element method

The implementation of a computer code CONE (for C(1) continuity) based on the p-version of the finite element method is described. A hierarchic family of triangular finite elements of degree p 5 is used. This family enforces C(1)-continuity across interelement boundaries, and the code is applicable to fourth order partial differential equations in two independent variables, in particular to the biharmonic equation. Applications to several benchmark problems in plate bending are presented. Sample results are examined and compared with theoretical predictions. In particular the analysis of the bending of a rhombic plate shows a significant improvement over othr published results.

Wang, D. W.↗

A generic archive protocol and an implementation

Archiving vast amounts of data has become a major part of every scientific space mission today. The Generic Archive/Retrieval Services Protocol (GRASP) addresses the question of how to archive the data collected in an environment where the underlying hardware archives may be rapidly changing. GRASP is a device independent specification defining a set of functions for storing and retrieving data from an archive, as well as other support functions. GRASP is divided into two levels: the Transfer Interface and the Action Interface. The Transfer Interface is computer/archive independent code while the Action Interface contains code which is dedicated to each archive/computer addressed. Implementations of the GRASP specification are currently available for DECstations running Ultrix, Sparcstations running SunOS, and microVAX/VAXstation 3100's. The underlying archive is assumed to function as a standard Unix or VMS file system. The code, written in C, is a single suite of files. Preprocessing commands define the machine unique code sections in the device interface. The implementation was written, to the greatest extent possible, using only ANSI standard C functions.

Jordan, J. M.↗

Interfacing with Legacy using Remote Method Invocation

The assignment described was enough to make a neophyte Java developer bolt for the door: provide a remote method for use by an applet which invokes a native method that wraps a function in an existing legacy library. The purpose of the remote method is to return an instance of a class object whose contents reflect the data structure returned by the legacy function. While embroiled in implementation, I would have spent the time wading through their JNI use group archive as well, but I couldn't seem to locate one. Subsequently, I made the decision to try to document my findings in order to assist others. Before we start on the class design, let's look at what the existing legacy code does. The C function to be called, Get-Legacy-Data, consists of two steps: an ASII file is read from the local disk and its contents are parsed into a Legacy_Type structure whose address is passed as an argument by the caller. The legacy code was compiled into a shared object library, legacy. so, using the IRIX 6.2 compiler and then loaded onto the Web server, a Silicon Graphics Indy station loaded with the IRIX 6.4 operating system. As far as the class design is concerned, the first thing required is a class to act as a template for the data structure returned by the legacy function. This class, JLegacy, declares a series of public instance variables which correspond to the members of Legacy_Type and provides a parameterless constructor. This constructor is never called, not even by the native method which allocates the object for return to the remote method. Next, the remote interface declaration for the remote object must be defined. In order for JLegacyRO to implement getJLegacy, JLegacyRO must interface with the existing legacy code through a native method, getn. getn is declared in the JLegacyRO class but implemented in C, just like the legacy code. getn returns a JLegacy instance and is declared static since its implementation is the same for all instances of the JLegacyRO class.

Howard, Scott M.↗

Code Migration and Optimization for Calculating Atmospheric Attenuation in RF Link Budgets Within Glenn Research Center Communication Analysis Suite

This technical report encompasses development completed on the Glenn Research Center Communication Analysis Suite (GCAS) as it relates to converting code from the original MATLAB® (The MathWorks, Inc.) GCAS code base to C++. It focuses on a majority of the functions, structures, and intermediate code developed for radiofrequency (RF) links calculations. The report serves as a comprehensive record of the current progress and outlines the technical challenges overcome during this research. Throughout this project, numerous functions and structures were migrated end to end, with validation test cases conducted in accordance with NASA’s verification and validation efforts for standard models and simulations. This report also provides high-level documentation of the completed work; detailed low-level documentation has been compiled to provide a line-by-line explanation in alignment with NASA’s goals. This development has largely been focused on atmospheric effects on calculating RF link budgets for both terrestrial and space links. Some developments outside of atmospheric functions are also covered throughout this report; these are largely related to mathematical operations and MATLAB® structure conversions.

Brady M. Phelps↗

Axisymmetric simulations of vertical displacement events in tokamaks: A benchmark of M3D-C 1 , NIMROD, and JOREK

A benchmark exercise for the modeling of vertical displacement events (VDEs) is presented and applied to the 3D nonlinear magnetohydrodynamic codes M3D-C 1 , JOREK, and NIMROD. The simulations are based on a vertically unstable NSTX equilibrium enclosed by an axisymmetric resistive wall with a rectangular cross section. A linear dependence of the linear VDE growth rates on the resistivity of the wall is recovered for sufficiently large wall conductivity and small temperatures in the open field line region. We report the benchmark results show good agreement between the VDE growth rates obtained from linear NIMROD and M3D-C 1 simulations and from the linear phase of axisymmetric nonlinear JOREK, NIMROD, and M3D-C 1 simulations. Axisymmetric nonlinear simulations of a full VDE performed with the three codes are compared, and an excellent agreement is found regarding the plasma location and plasma currents, as well as eddy and halo currents in the wall.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

TCGRID: A three dimensional C-grid generator for turbomachinery

A fast 3-D grid code for turbomachinery was developed. The code, TCGRID (Turbomachinery C-GRID), can generate either C or H type grids for fairly arbitrary axial or radical turbomachinery geometries. The code also has limited blocked grid capability and can generate an axisymmetric H type grid upstream of the blade row or an O type grid within the tip clearance region. Hub and tip geometries are input as a simple list of pairs. All geometric data is handled using parametric splines so that geometries that turn 90 degrees can be handled without difficulty. Blade input is in standard MERIDL or Lewis compressor design code format. TCGRID adds leading and trailing edge circles to MERIDL geometries and intersects the blade with the hub and tip if necessary using a novel intersection algorithm. The procedure used to generate the grid is given. Output is in PLOT3D format, which can also be read by the RVC3D (Rotor Viscous Code 3-D) Navier-Stokes code for turbomachinery. Intermediate 2-D or 3-D grids useful for debug and other purposes can also be output using a convenient output flag. A grid generated figure is given.

Chima, Rodrick V.↗

Advanced information processing system: Hosting of advanced guidance, navigation and control algorithms on AIPS using ASTER

This program demonstrated the integration of a number of technologies that can increase the availability and reliability of launch vehicles while lowering costs. Availability is increased with an advanced guidance algorithm that adapts trajectories in real-time. Reliability is increased with fault-tolerant computers and communication protocols. Costs are reduced by automatically generating code and documentation. This program was realized through the cooperative efforts of academia, industry, and government. The NASA-LaRC coordinated the effort, while Draper performed the integration. Georgia Institute of Technology supplied a weak Hamiltonian finite element method for optimal control problems. Martin Marietta used MATLAB to apply this method to a launch vehicle (FENOC). Draper supplied the fault-tolerant computing and software automation technology. The fault-tolerant technology includes sequential and parallel fault-tolerant processors (FTP & FTPP) and authentication protocols (AP) for communication. Fault-tolerant technology was incrementally incorporated. Development culminated with a heterogeneous network of workstations and fault-tolerant computers using AP. Draper's software automation system, ASTER, was used to specify a static guidance system based on FENOC, navigation, flight control (GN&C), models, and the interface to a user interface for mission control. ASTER generated Ada code for GN&C and C code for models. An algebraic transform engine (ATE) was developed to automatically translate MATLAB scripts into ASTER.

Brenner, Richard↗

A Benchmark Example for Delamination Propagation Predictions Based on the Calibrated End-Loaded Split Specimen

A benchmark example based on the Calibrated End-Loaded Split (C-ELS) specimen is developed and used to assess the performance of recently developed delamination propagation capabilities in the Abaqus/Standard finite element code. The C-ELS specimen has the advantage of a longer region of stable delamination propagation compared to the existing mode II benchmark case. The new benchmark example may therefore provide a better assessment tool by enabling more stable crack growth in regions further away from the boundary conditions or load application. First, a benchmark result is created manually using two-dimensional finite element models of the C-ELS specimen with different delamination lengths. Second, the performance of the delamination propagation capabilities in the Abaqus/Standard finite element code are assessed by comparing the results to the benchmark case. Two examples with different starter delamination lengths are studied. A shorter starter length is chosen to create a scenario with unstable delamination propagation. A longer delamination causes stable delamination propagation. Detailed results from three-dimensional analyses with aligned and mis-aligned meshes and two levels of mesh refinement are provided for several permutations of numerical input parameters. In general, good agreement can be achieved between the results obtained from the quasi-static propagation analysis and the benchmark analysis. However, particular non-default settings are found to be most reliable, accurate, and numerically efficient. Numerical artifacts including anomalous unreleased nodes in the crack wake and zig-zag crack fronts occur, and further development of the Abaqus/Standard VCCT propagation may be required. Use of the benchmark case to assess the continuous improvements in one finite element code illustrates the value of establishing benchmark solutions.

delamination↗