Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Error correcting 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 685 records · Page 38

Generic element processor (application to nonlinear analysis)

The focus here is on one aspect of the Computational Structural Mechanics (CSM) Testbed: finite element technology. The approach involves a Generic Element Processor: a command-driven, database-oriented software shell that facilitates introduction of new elements into the testbed. This shell features an element-independent corotational capability that upgrades linear elements to geometrically nonlinear analysis, and corrects the rigid-body errors that plague many contemporary plate and shell elements. Specific elements that have been implemented in the Testbed via this mechanism include the Assumed Natural-Coordinate Strain (ANS) shell elements, developed with Professor K. C. Park (University of Colorado, Boulder), a new class of curved hybrid shell elements, developed by Dr. David Kang of LPARL (formerly a student of Professor T. Pian), other shell and solid hybrid elements developed by NASA personnel, and recently a repackaged version of the workhorse shell element used in the traditional STAGS nonlinear shell analysis code. The presentation covers: (1) user and developer interfaces to the generic element processor, (2) an explanation of the built-in corotational option, (3) a description of some of the shell-elements currently implemented, and (4) application to sample nonlinear shell postbuckling problems.

Stanley, Gary↗

Calculated X-ray Intensities Using Monte Carlo Algorithms: A Comparison to Experimental EPMA Data

Monte Carlo (MC) modeling has been used extensively to simulate electron scattering and x-ray emission from complex geometries. Here are presented comparisons between MC results and experimental electron-probe microanalysis (EPMA) measurements as well as phi(rhoz) correction algorithms. Experimental EPMA measurements made on NIST SRM 481 (AgAu) and 482 (CuAu) alloys, at a range of accelerating potential and instrument take-off angles, represent a formal microanalysis data set that has been widely used to develop phi(rhoz) correction algorithms. X-ray intensity data produced by MC simulations represents an independent test of both experimental and phi(rhoz) correction algorithms. The alpha-factor method has previously been used to evaluate systematic errors in the analysis of semiconductor and silicate minerals, and is used here to compare the accuracy of experimental and MC-calculated x-ray data. X-ray intensities calculated by MC are used to generate a-factors using the certificated compositions in the CuAu binary relative to pure Cu and Au standards. MC simulations are obtained using the NIST, WinCasino, and WinXray algorithms; derived x-ray intensities have a built-in atomic number correction, and are further corrected for absorption and characteristic fluorescence using the PAP phi(rhoz) correction algorithm. The Penelope code additionally simulates both characteristic and continuum x-ray fluorescence and thus requires no further correction for use in calculating alpha-factors.

Carpenter, P. K.↗

Where IMERG Goes Next: Version 08 and Beyond

With the Version 07 (V07) Integrated Multi-satellitE Retrievals for GPM (IMERG) algorithm finalized and production initiated, the focus turns to enhancements for Version 08. These include innovations not included in V07 due to time constraints, plus issues revealed by the initial V07 products. One high priority is to evaluate and revise the schemes in V07 that rectify temporal artifacts caused by the time interpolation that fills the gaps between the various passive microwave (PMW) sensor overpasses. A second priority is to improve the homogeneity between the TRMM and GPM eras by characterizing differences between the two eras, determining the causes of these differences, and applying corrections as feasible, perhaps by enforcing spatial scale consistency (an overarching issue). Certainly, we must account for GPROF and the Combined Radar-Radiometer Algorithm converting to Machine Learning schemes in V08. Other priority topics include additional automated quality control for artifacts in the IR brightness temperatures and PMW precipitation fields, revisions to the specification algorithm for the probability of liquid precipitation, and accommodating new PMW sensors, which include the next generation of small-sats. We also consider the post-V08 landscape; the final GPM reprocessing will be restricted to fixing known code or algorithmic errors. Nonetheless, there are several data sources on the horizon to consider, including more small-sat PMW radiometers, AVHRR-based precipitation estimates (most useful in high latitudes), and the ISCCP-Next Generation and GEO-Ring projects that could provide easy access to multiple geosynchronous satellite channels and enable significantly improved algorithms compared to GEO-IR alone.

George J. Huffman↗

Verification and benchmarking relativistic electron beam transport through a background gas

It is necessary to establish confidence in high-consequence codes containing an extensive suite of physics algorithms in the regimes of interest. Verification problems allow code developers to assess numerical accuracy and increase confidence that specific sets of model physics were implemented correctly in the code. The two main verification techniques are code verification and solution verification. In this work, we present verification problems that can be used in other codes to increase confidence in simulations of relativistic beam transport. Specifically, we use the general plasma code EMPIRE to model and compare with the analytical solution to the evolution of the outer radial envelope of a relativistic charged particle beam. Additionally, we also outline a benchmark test of a relativistic beam propagating through a vacuum and pressurized gas cell, and present the results between EMPIRE and the hybrid code GAZEL. Further, we discuss the subtle errors that were caught with these problems and detail lessons learned.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

Neutrinos in N -body simulations

In the next decade, cosmological surveys will have the statistical power to detect the absolute neutrino mass scale. N-body simulations of large-scale structure formation play a central role in interpreting data from such surveys. Yet these simulations are Newtonian in nature. We provide a quantitative study of the limitations to treating neutrinos, implemented as N-body particles, in N-body codes, focusing on the error introduced by neglecting special relativistic effects. Special relativistic effects are potentially important due to the large thermal velocities of neutrino particles in the simulation box. We derive a self-consistent theory of linear perturbations in Newtonian and nonrelativistic neutrinos and use this to demonstrate that N-body simulations overestimate the neutrino free-streaming scale, and cause errors in the matter power spectrum that depend on the initial redshift of the simulations. For z i ≲ 100, and neutrino masses within the currently allowed range, this error is ≲ 0.5%, though represents an up to ~10 % correction to the shape of the neutrino-induced suppression to the cold dark matter power spectrum. Here, we argue that the simulations accurately model nonlinear clustering of neutrinos so that the error is confined to linear scales.

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

CFD Modeling of Launch Vehicle Aerodynamic Heating

The Loci-CHEM 3.2 Computational Fluid Dynamics (CFD) code is being used to predict Ares-I launch vehicle aerodynamic heating. CFD has been used to predict both ascent and stage reentry environments and has been validated against wind tunnel tests and the Ares I-X developmental flight test. Most of the CFD predictions agreed with measurements. On regions where mismatches occurred, the CFD predictions tended to be higher than measured data. These higher predictions usually occurred in complex regions, where the CFD models (mainly turbulence) contain less accurate approximations. In some instances, the errors causing the over-predictions would cause locations downstream to be affected even though the physics were still being modeled properly by CHEM. This is easily seen when comparing to the 103-AH data. In the areas where predictions were low, higher grid resolution often brought the results closer to the data. Other disagreements are attributed to Ares I-X hardware not being present in the grid, as a result of computational resources limitations. The satisfactory predictions from CHEM provide confidence that future designs and predictions from the CFD code will provide an accurate approximation of the correct values for use in design and other applications

Tashakkor, Scott B.↗

Mixed Linear/Square-Root Encoded Single-Slope Ramp Provides Low-Noise ADC with High Linearity for Focal Plane Arrays

Single-slope analog-to-digital converters (ADCs) are particularly useful for onchip digitization in focal plane arrays (FPAs) because of their inherent monotonicity, relative simplicity, and efficiency for column-parallel applications, but they are comparatively slow. Squareroot encoding can allow the number of code values to be reduced without loss of signal-to-noise ratio (SNR) by keeping the quantization noise just below the signal shot noise. This encoding can be implemented directly by using a quadratic ramp. The reduction in the number of code values can substantially increase the quantization speed. However, in an FPA, the fixed pattern noise (FPN) limits the use of small quantization steps at low signal levels. If the zero-point is adjusted so that the lowest column is onscale, the other columns, including those at the center of the distribution, will be pushed up the ramp where the quantization noise is higher. Additionally, the finite frequency response of the ramp buffer amplifier and the comparator distort the shape of the ramp, so that the effective ramp value at the time the comparator trips differs from the intended value, resulting in errors. Allowing increased settling time decreases the quantization speed, while increasing the bandwidth increases the noise. The FPN problem is solved by breaking the ramp into two portions, with some fraction of the available code values allocated to a linear ramp and the remainder to a quadratic ramp. To avoid large transients, both the value and the slope of the linear and quadratic portions should be equal where they join. The span of the linear portion must cover the minimum offset, but not necessarily the maximum, since the fraction of the pixels above the upper limit will still be correctly quantized, albeit with increased quantization noise. The required linear span, maximum signal and ratio of quantization noise to shot noise at high signal, along with the continuity requirement, determines the number of code values that must be allocated to each portion. The distortion problem is solved by using a lookup table to convert captured code values back to signal levels. The values in this table will be similar to the intended ramp value, but with a correction for the finite bandwidth effects. Continuous-time comparators are used, and their bandwidth is set below the step rate, which smoothes the ramp and reduces the noise. No settling time is needed, as would be the case for clocked comparators, but the low bandwidth enhances the distortion of the non-linear portion. This is corrected by use of a return lookup table, which differs from the one used to generate the ramp. The return lookup table is obtained by calibrating against a stepped precision DC reference. This results in a residual non-linearity well below the quantization noise. This method can also compensate for differential non-linearity (DNL) in the DAC used to generate the ramp. The use of a ramp with a combination of linear and quadratic portions for a single-slope ADC is novel. The number of steps is minimized by keeping the step size just below the photon shot noise. This in turn maximizes the speed of the conversion. High resolution is maintained by keeping small quantization steps at low signals, and noise is minimized by allowing the lowest analog bandwidth, all without increasing the quantization noise. A calibrated return lookup table allows the system to maintain excellent linearity.

Wrigley, Chris J.↗

Scalable line and plane relaxation in a parallel structured multigrid solver

The efficient solution of sparse, linear systems that arise through the discretization of partial differential equations remains a key challenge for a range of high performance scientific simulations. One approach for reducing data movement and improving performance is by exposing and exploiting structure in a problem through the use of robust structured multilevel solvers. By choosing coarsening that preserves the structure of the problem, these methods maintain efficient structured computation and communication throughout the multigrid hierarchy. However, when coarsening is not permitted to be dependent on the operator, anisotropy must be addressed by the smoother — producing error compatible for coarse-grid correction with structured coarsening. Here, the components required in a scalable parallel structured solver are described with a focus on memory and communication efficiency of robust smoothers. While the implementation of communication and memory reduction techniques in smoothers integrated in a complete 3D solver present a significant engineering challenge, a novel approach is proposed that addresses these challenges systematically through a change to the solver’s execution model. Enabled by user-level threading paired with a set of data and communication abstractions, this approach permits seamless aggregation of communication in plane smoothers — directly reusing code for a 2D distributed multilevel cycle. Results show an effective reduction in communication costs for coarse-grid problems, and result in a speedup of 8.7x in smoothing routines shown in Fig. 12 using this approach. This produces a significant improvement to strong scalability while maintaining favorable weak scaling behavior. Finally, a parallel scaling study using a series of refined meshes is included that demonstrates the effectiveness of this approach in an application of interest.

97 MATHEMATICS AND COMPUTING↗

The two-way time synchronization system via a satellite voice channel

A newly developed two-way time synchronization system is described in this paper. The system uses one voice channel at a SCPC satellite digital communication earth station, whose bandwidth is only 45 kHz, thus saving satellite resources greatly. The system is composed of one master station and one or several, up to sixty-two, secondary stations. The master and secondary stations are equipped with the same equipment, including a set of timing equipment, a synthetic data terminal for time synchronizing, and a interface unit between the data terminal and the satellite earth station. The synthetic data terminal for time synchronization also has an IRIG-B code generator and a translator. The data terminal of master station is the key part of whole system. The system synchronization process is full automatic, which is controlled by the master station. Employing an autoscanning technique and conversational mode, the system accomplishes the following tasks: linking up liaison with each secondary station in turn, establishing a coarse time synchronization, calibrating date (years, months, days) and time of day (hours, minutes, seconds), precisely measuring the time difference between local station and the opposite station, exchanging measurement data, statistically processing the data, rejecting error terms, printing the data, calculating the clock difference and correcting the phase, thus realizing real-time synchronization from one point to multiple points. We also designed an adaptive phase circuit to eliminate the phase ambiguity of the PSK demodulator. The experiments have shown that the time synchronization accuracy is better than 2 mu S. The system has been put into regular operation.

Heng-Qiu, Zheng↗

Adjoint Algorithm for CAD-Based Shape Optimization Using a Cartesian Method

Adjoint solutions of the governing flow equations are becoming increasingly important for the development of efficient analysis and optimization algorithms. A well-known use of the adjoint method is gradient-based shape optimization. Given an objective function that defines some measure of performance, such as the lift and drag functionals, its gradient is computed at a cost that is essentially independent of the number of design variables (geometric parameters that control the shape). More recently, emerging adjoint applications focus on the analysis problem, where the adjoint solution is used to drive mesh adaptation, as well as to provide estimates of functional error bounds and corrections. The attractive feature of this approach is that the mesh-adaptation procedure targets a specific functional, thereby localizing the mesh refinement and reducing computational cost. Our focus is on the development of adjoint-based optimization techniques for a Cartesian method with embedded boundaries.12 In contrast t o implementations on structured and unstructured grids, Cartesian methods decouple the surface discretization from the volume mesh. This feature makes Cartesian methods well suited for the automated analysis of complex geometry problems, and consequently a promising approach to aerodynamic optimization. Melvin et developed an adjoint formulation for the TRANAIR code, which is based on the full-potential equation with viscous corrections. More recently, Dadone and Grossman presented an adjoint formulation for the Euler equations. In both approaches, a boundary condition is introduced to approximate the effects of the evolving surface shape that results in accurate gradient computation. Central to automated shape optimization algorithms is the issue of geometry modeling and control. The need to optimize complex, "real-life" geometry provides a strong incentive for the use of parametric-CAD systems within the optimization procedure. In previous work, we presented an effective optimization framework that incorporates a direct-CAD interface. In this work, we enhance the capabilities of this framework with efficient gradient computations using the discrete adjoint method. We present details of the adjoint numerical implementation, which reuses the domain decomposition, multigrid, and time-marching schemes of the flow solver. Furthermore, we explain and demonstrate the use of CAD in conjunction with the Cartesian adjoint approach. The final paper will contain a number of complex geometry, industrially relevant examples with many design variables to demonstrate the effectiveness of the adjoint method on Cartesian meshes.

Nemec, Marian↗

Streamlined Convergence Acceleration for CFD Codes

Enigma, a simplified interface to the PETSc library, is shown to enable the rapid solution of discrete partial differential equations. Two CFD codes, LAURA and HyperSolve, use Enigma to compute steady solutions of the Navier-Stokes equations. Using PETSc, Enigma is shown to provide a Jacobian-Free Newton-Krylov method (JFNK), globalized with pseudotransient continuation, that improves efficiency over the point-implicit relaxation method traditionally used by LAURA. It is shown that iterative error has a large impact on surface heat transfer predicted by LAURA on an axisymmetric sphere-cone geometry. Also, the convergence rate of HyperSolve simulating subsonic flow over a delta wing geometry with the JFNK method is shown to be more efficient than employing a defect correction method as the nonlinear solver.

Thompson, Kyle B.↗

Impact of error fields and error field correction on heat fluxes in SPARC

Using a single toroidal array of coils to reduce the m,n = 2,1 resonant error field (EF) produced by the misalignment of the axisymmetric coils in SPARC can result in the enhancement of the local divertor heat fluxes. Managing high divertor heat fluxes (q ∥ $\simeq$ 10 GW m -2 ) poses a challenge for compact tokamak devices such as SPARC. The presence of non-axisymmetric magnetic field perturbations adds complexity to the problem by generating intricate 3D edge magnetic topologies that alter the heat flux distributions on the target plates. The aim of this work is to investigate the impact of the EF correction (EFC) on the heat fluxes at the divertor plates in SPARC. The MHD code M3DC1 has been used to simulate the 3D magnetic perturbations generated by the shift and tilt of several axisymmetric coils within specified tolerances, as well as from the array of EFC coils located at the midplane. Using a heuristic model that extends the concept of an axisymmetric heat flux layer to 3D plasmas, the resultant heat flux distributions is derived from magnetic footprints calculated with the MAFOT code. The results show that the EFC could either decrease or further enhance the local heat flux when used to correct the m,n = 2,1 resonant EF to enhance the core plasma performance.

3D fields↗

Verification of MOOSE/Bison's Heat Conduction Solver Using Combined Spatiotemporal Convergence Analysis

Bison is a computational physics code that uses the finite element method to model the thermo-mechanical response of nuclear fuel. Since Bison is used to inform high-consequence decisions, it is important that its computational results are reliable and predictive. One important step in assessing the reliability and predictive capabilities of a simulation tool is the verification process, which quantifies numerical errors in a discrete solution relative to the exact solution of the mathematical model. One step in the verification process—called code verification—ensures that the implemented numerical algorithm is a faithful representation of the underlying mathematical model, including partial differential or integral equations, initial and boundary conditions, and auxiliary relationships. In this paper, the code verification process is applied to spatiotemporal heat conduction problems in Bison. Simultaneous refinement of the discretization in space and time is employed to reveal any potential mistakes in the numerical algorithms for the interactions between the spatial and temporal components of the solution. For each verification problem, the correct spatial and temporal order of accuracy is demonstrated for both first- and second-order accurate finite elements and a variety of time-integration schemes. Furthermore, these results provide strong evidence that the Bison numerical algorithm for solving spatiotemporal problems reliably represents the underlying mathematical model in MOOSE. The selected test problems can also be used in other simulation tools that numerically solve for conduction or diffusion.

11 NUCLEAR FUEL CYCLE AND FUEL MATERIALS↗

ChatMPI: LLM-Driven MPI Code Generation for HPC Workloads

The Message Passing Interface (MPI) standard plays a crucial role in enabling scientific applications for parallel computing and is an essential component in high-performance computing (HPC). However, implementing MPI code manually—especially applying a proper domain decomposition and communication pattern—is a challenging and error-prone task. We present ChatMPI, an AI assistant for MPI parallelization of sequential C codes. In our analysis, we focus on testing six essential HPC workloads, which are based on Basic Linear Algebra Subprograms levels 1, 2, and 3 as well as sparse, stencil, and iterative operations. We analyze the process of creating ChatMPI by using the ChatHPC library. This lightweight large language model (LLM)–based infrastructure enables HPC experts to efficiently create and supervise trustworthy AI capabilities for critical HPC software tasks. We study the data required for training (fine-tuning) ChatMPI to generate parallel codes that not only use MPI syntax correctly but also apply HPC techniques to reduce memory communication and maximize performance by using proper work decomposition. With a relatively small training dataset composed of a few dozen prompts and fewer than 15 minutes of fine-tuning on one node equipped with two NVIDIA H100 GPUs, ChatMPI elevates trustworthiness for MPI code generation of current LLMs (e.g., Code Llama, ChatGPT-4o and ChatGPT 5). Additionally, we evaluate the performance of the MPI codes generated by ChatMPI in comparison with the ones generated by ChatGPT-4o and ChatGPT-5. The codes generated by ChatMPI provide up to a 4 × boost in performance by using better problem decomposition, communication patterns, and HPC techniques (e.g., communication avoiding).

Valero Lara, Pedro [ORNL] (ORCID:0000000214794310)↗

Attention to quantum complexity

The imminent era of error-corrected quantum computing demands robust methods to characterize quantum state complexity from limited, noisy measurements. We introduce the Quantum Attention Network (QuAN), a classical artificial intelligence (AI) framework leveraging attention mechanisms tailored for learning quantum complexity. Inspired by large language models, QuAN treats measurement snapshots as tokens while respecting permutation invariance. Combined with our parameter-efficient miniset self-attention block, this enables QuAN to access high-order moments of bit-string distributions and preferentially attend to less noisy snapshots. We test QuAN across three quantum simulation settings: driven hard-core Bose-Hubbard model, random quantum circuits, and toric code under coherent and incoherent noise. QuAN directly learns entanglement and state complexity growth from experimental computational basis measurements, including complexity growth in random circuits from noisy data. In regimes inaccessible to existing theory, QuAN unveils the complete phase diagram for noisy toric code data as a function of both noise types, highlighting AI’s transformative potential for assisting quantum hardware.

Kim, Hyejin [Cornell Univ., Ithaca, NY (United Sta↗

Use Computer-Aided Tools to Parallelize Large CFD Applications

Porting applications to high performance parallel computers is always a challenging task. It is time consuming and costly. With rapid progressing in hardware architectures and increasing complexity of real applications in recent years, the problem becomes even more sever. Today, scalability and high performance are mostly involving handwritten parallel programs using message-passing libraries (e.g. MPI). However, this process is very difficult and often error-prone. The recent reemergence of shared memory parallel (SMP) architectures, such as the cache coherent Non-Uniform Memory Access (ccNUMA) architecture used in the SGI Origin 2000, show good prospects for scaling beyond hundreds of processors. Programming on an SMP is simplified by working in a globally accessible address space. The user can supply compiler directives, such as OpenMP, to parallelize the code. As an industry standard for portable implementation of parallel programs for SMPs, OpenMP is a set of compiler directives and callable runtime library routines that extend Fortran, C and C++ to express shared memory parallelism. It promises an incremental path for parallel conversion of existing software, as well as scalability and performance for a complete rewrite or an entirely new development. Perhaps the main disadvantage of programming with directives is that inserted directives may not necessarily enhance performance. In the worst cases, it can create erroneous results. While vendors have provided tools to perform error-checking and profiling, automation in directive insertion is very limited and often failed on large programs, primarily due to the lack of a thorough enough data dependence analysis. To overcome the deficiency, we have developed a toolkit, CAPO, to automatically insert OpenMP directives in Fortran programs and apply certain degrees of optimization. CAPO is aimed at taking advantage of detailed inter-procedural dependence analysis provided by CAPTools, developed by the University of Greenwich, to reduce potential errors made by users. Earlier tests on NAS Benchmarks and ARC3D have demonstrated good success of this tool. In this study, we have applied CAPO to parallelize three large applications in the area of computational fluid dynamics (CFD): OVERFLOW, TLNS3D and INS3D. These codes are widely used for solving Navier-Stokes equations with complicated boundary conditions and turbulence model in multiple zones. Each one comprises of from 50K to 1,00k lines of FORTRAN77. As an example, CAPO took 77 hours to complete the data dependence analysis of OVERFLOW on a workstation (SGI, 175MHz, R10K processor). A fair amount of effort was spent on correcting false dependencies due to lack of necessary knowledge during the analysis. Even so, CAPO provides an easy way for user to interact with the parallelization process. The OpenMP version was generated within a day after the analysis was completed. Due to sequential algorithms involved, code sections in TLNS3D and INS3D need to be restructured by hand to produce more efficient parallel codes. An included figure shows preliminary test results of the generated OVERFLOW with several test cases in single zone. The MPI data points for the small test case were taken from a handcoded MPI version. As we can see, CAPO's version has achieved 18 fold speed up on 32 nodes of the SGI O2K. For the small test case, it outperformed the MPI version. These results are very encouraging, but further work is needed. For example, although CAPO attempts to place directives on the outer- most parallel loops in an interprocedural framework, it does not insert directives based on the best manual strategy. In particular, it lacks the support of parallelization at the multi-zone level. Future work will emphasize on the development of methodology to work in a multi-zone level and with a hybrid approach. Development of tools to perform more complicated code transformation is also needed.

Jin, H.↗

Density Matrix Implementation of the Fermi–Löwdin Orbital Self-Interaction Correction Method

The Fermi–Löwdin orbital self-interaction correction (FLOSIC) method effectively provides a transformation from canonical orbitals to localized Fermi–Löwdin orbitals which are used to remove the self-interaction error in the Perdew–Zunger (PZ) framework. This transformation is solely determined by a set of points in space, called Fermi–Löwdin descriptors (FODs), and the occupied canonical orbitals or the density matrix. In this work, we provide a detailed workflow for the implementation of the FLOSIC method for removal of self-interaction error in DFT calculations in an orbital-by-orbital basis that takes advantage of the unitary invariant nature of the FLOSIC method. In this way, it is possible to cast the self-consistent energy minimization at fixed FODs in the same manner than standard Kohn–Sham with one additional term in the Kohn–Sham Hamiltonian that introduces the PZ self-interaction correction. Each energy minimization iteration is divided in two substeps, one for the density matrix and one for the FODs. Expressions for the effective Kohn–Sham matrix and FOD gradients are provided such that its implementation is suitable for most electronic structure codes. Here, we analyze the convergence characteristics of the algorithm and present applications for the evaluation of NMR shielding constants and real-time time-dependent DFT simulations based on the Liouville–von Neumann equation to calculate excitation energies.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

FPP: A Modeling Language for F Prime

We present F Prime Prime (FPP), a new open-source modeling language for F Prime. F Prime is an open-source flight software framework developed at JPL and deployed, among other places, on the Mars helicopter Ingenuity. FPP provides a convenient way to model the architectural elements of an F Prime application, e.g., components, ports, and their connections. It has a succinct and readable syntax, a well- defined semantics, and robust error checking and reporting. The FPP tool suite, written in Scala, analyzes FPP models, reports errors, and translates correct FPP models to a combination of XML and C++. Existing F Prime tools translate the XML to a partial implementation in C++, to be completed by the developers. The model elements have clean interfaces and are highly reusable. An accompanying visualization tool constructs diagrams of components and connections that FSW developers can use to understand and communicate their designs, for ex- ample at reviews. We discuss the design and implementation of FPP and the integration of FPP into F Prime. We also discuss our experience using FPP to construct F Prime models. Finally, we discuss our plans for future work, including improved code generation, improved visualization, and more advanced analysis capabilities.

Starch, Michael D.↗