Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “syntactics”

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 55 records · Page 3

Improved control of atomic layering in perovskite-related homologous series

Homologous series are layered phases that can have a range of stoichiometries depending on an index n. Examples of perovskite-related homologous series include (ABO 3 )nAO Ruddlesden–Popper phases and (Bi 2 O 2 ) (A n-1 B n O 3n+1 ) Aurivillius phases. It is challenging to precisely control n because other members of the homologous series have similar stoichiometry and a phase with the desired n is degenerate in energy with syntactic intergrowths among similar n values; this challenge is amplified as n increases. To improve the ability to synthesize a targeted phase with precise control of the atomic layering, we apply the x-ray diffraction (XRD) approach developed for superlattices of III–V semiconductors to measure minute deviations from the ideal structure so that they can be quantitatively eradicated in subsequent films. We demonstrate the precision of this approach by improving the growth of known Ruddlesden–Popper phases and ultimately, by synthesizing an unprecedented n = 20 Ruddlesden–Popper phase, (ATiO 3 ) 20 AO where the A-site occupancy is Ba 0.6 Sr 0.4 . We demonstrate the generality of this method by applying it to Aurivillius phases and the Bi 2 Sr 2 Ca n–1 Cu n O 2n+4 series of high-temperature superconducting phases.

36 MATERIALS SCIENCE↗

Enhancing Monte Carlo Workflows for Nuclear Reactor Analysis with Metamodel-Driven Modeling

Monte Carlo codes are essential components of many reactor physics simulation workflows as high-fidelity continuous-energy neutron transport solvers. Among Monte Carlo radiation transport codes, MCNP is particularly notable due to its diverse simulation capabilities, large user base, and long validation history. Despite being a powerful simulation tool, MCNP provides limited capabilities to allow automated execution, model transformation, or support for user-defined logic and abstractions that limit its compatibility with modern workflows. Here, to better integrate MCNP into a modern scientific workflow, we have developed an intuitive yet full-featured MCNP Application Program Interface (API) in Python, named MCNPy, which provides a specialized set of classes for MCNP input development. Moreover, to guarantee that our reading, writing, and modeling capabilities remain self-consistent (and to render the huge scope of the MCNP API manageable), we have adopted a strategy of model-driven software development in which a generalized model of the MCNP input format has been created. From this generalized model, or “metamodel,” problem-specific implementations such as an engine for input validation or a codebase for programmatic operations may be automatically generated. Since MCNPy primarily acts as a Python front-end to the underlying Java API that directly interfaces with the metamodel, it is intrinsically linked to the metamodel and thus remains maintainable. With MCNPy, users can programmatically read, write, and modify any syntactically valid MCNP input file regardless of its origin. These capabilities allow users to automate complicated tasks like design optimization and model translation for nuclear systems. As examples, this work demonstrates the use of MCNPy to find the critical radius of a plutonium sphere and to translate a 9000+ line MCNP input file into a corresponding OpenMC model.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Towards Automated Reasoning Chains for Verification of LLM-Generated Scientific Code

With the rise of Large Language Model (LLM) generated code, including in domains like scientific computing, ensuring not only syntactical, but also mathematical correctness, has become a critical task. Traditional formal methods approaches often struggle with the ambiguity of floating-point code, and full symbolic execution is extremely costly and limited. We propose a chain-of-reasoning approach that iteratively lifts basic semantics from code into the SPIRAL system and then establishes numerical equivalency to the desired mathematical operation. Here, we leverage the ample mathematical knowledge already formalized in SPIRAL to enable the system to recognize not just different implementations of the same algorithm but fully separate approaches to solving the given problem. The chain establishes tight error bounds on the output of given code with respect to the true continuous solution it approximates, quantifying all sources of error. We demonstrate this approach by establishing the correctness of a pseudospectral solver for a simple 1-dimensional Poisson problem.

Oschatz, Quentin [Carnegie Mellon University,Pitts↗

Learning-Based Quantum Compilation: Translating QASM to QIR with CodeBERT

We propose a learning-based approach to quantum compilation by translating OpenQASM to Quantum Intermediate Representation (QIR) using a fine-tuned CodeBERT model. Trained on 10,000 synthetic QASM-QIR pairs, the model captures code semantics while addressing QIR verbosity and the 512-token limit via a custom token compression scheme. Finetuning was performed on the Frontier supercomputer, with results showing syntactic correctness and stable validation loss reduction. Our method moves toward enabling flexible, language-modeldriven quantum software tools. It also introduces syntax error handling and the possibility of incorporating classical control constructs, addressing limitations in existing rule-based compilers like qBraid-QIR. While the current model has been validated on quantum-only circuits, we propose future evaluations on hybrid quantum-classical examples. This poster will provide architecture insights, compression examples, training loss plots, and QIR outputs. Our work highlights the potential for scalable, adaptable compilation in future quantum toolchains.

Afrose, Sharmin [ORNL]↗

Do Programmers Prefer Predictable Expressions in Code?

Source code is a form of human communication, albeit one where the information shared between the programmers reading and writing the code is constrained by the requirement that the code executes correctly. Programming languages are more syntactically constrained than natural languages, but they are also very expressive, allowing a great many different ways to express even very simple computations. Still, code written by developers is highly predictable, and many programming tools have taken advantage of this phenomenon, relying on language model surprisal as a guiding mechanism. Additionally, while surprisal has been validated as a measure of cognitive load in natural language, its relation to human cognitive processes in code is still poorly understood. In this paper, we explore the relationship between surprisal and programmer preference at a small granularity—do programmers prefer more predictable expressions in code? Using meaning-preserving transformations, we produce equivalent alternatives to developer-written code expressions and run a corpus study on Java and Python projects. In general, language models rate the code expressions developers choose to write as more predictable than these transformed alternatives. Then, we perform two human subject studies asking participants to choose between two equivalent snippets of Java code with different surprisal scores (one original and transformed). We find that programmers do prefer more predictable variants, and that stronger language models like the transformer align more often and more consistently with these preferences.

97 MATHEMATICS AND COMPUTING↗

Atomically engineered cobaltite layers for robust ferromagnetism

Emergent phenomena at heterointerfaces are directly associated with the bonding geometry of adjacent layers. Effective control of accessible parameters, such as the bond length and bonding angles, offers an elegant method to tailor competing energies of the electronic and magnetic ground states. In this study, we construct unit-thick syntactic layers of cobaltites within a strongly tilted octahedral matrix via atomically precise synthesis. The octahedral tilt patterns of adjacent layers propagate into cobaltites, leading to a continuation of octahedral tilting while maintaining substantial misfit tensile strain. These effects induce severe rumpling within an atomic plane of neighboring layers, further triggering the electronic reconstruction between the splitting orbitals. First-principles calculations reveal that the cobalt ions transit to a higher spin state level upon octahedral tilting, resulting in robust ferromagnetism in ultrathin cobaltites. This work demonstrates a design methodology for fine-tuning the lattice and spin degrees of freedom in correlated quantum heterostructures by exploiting epitaxial geometric engineering.

36 MATERIALS SCIENCE↗

LANL contribution to ryujin, an open source finite element solver

Ryujin (https://github.com/conservation-laws/ryujin) is a high-performance finite-element software for solving mathematical partial differential equations (PDEs) with dominant hyperbolic structures. The author of this request, Eric Tovar, is using Ryujin as a high-performance tool for his Mark Kac postdoctoral fellowship research at LANL. Eric would like to contribute openly to the ryujin software without changing its core functionality. This includes: (i) bug fixes; (ii) re-organization of code for performance and syntactic updates including documentation; (iii) implementation of new PDE numerical methods that align with the core solver; (iv) implementation of new initial state configurations for target applications.

Tovar, Eric↗

LLM Benchmarking with LLaMA2: Evaluating Code Development Performance Across Multiple Programming Languages

The rapid evolution of large language models (LLMs) has opened new possibilities for automating various tasks in software development. This paper evaluates the capabilities of the LLaMA 2-70B model in automating these tasks for scientific applications written in commonly used programming languages. Using representative test problems, we assess the model's capacity to generate code, documentation, and unit tests, as well as its ability to translate existing code between commonly used programming languages. Our comprehensive analysis evaluates the compilation, runtime behavior, and correctness of the generated and translated code. Additionally, we assess the quality of automatically generated code, documentation, and unit tests. Here, our results indicate that while LLaMA 2-70B frequently generates syntactically correct and functional code for simpler numerical tasks, it encounters substantial difficulties with more complex, parallelized, or distributed computations, requiring considerable manual corrections. We identify key limitations and suggest areas for future improvements to better leverage AI-driven automation in scientific computing workflows.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Specification, Revision 2020.10.0

UPC++ is a C++11 library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.

97 MATHEMATICS AND COMPUTING↗

P2355R0: Postfix fold expressions

Fold expressions work with binary operators, but not with unary operators: you can write !!…!!x, but there’s still only one x. However, there are other kinds of operators to which they might apply. In particular, there are several plausible use cases for the postfix operators [ ] and ( ) (function call). This paper proposes extending the fold-expression syntax to support these two operators. The rationale for the syntactical structure is also presented.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Specification, Revision 2021.9.0

UPC++ is a C++ library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.

96 KNOWLEDGE MANAGEMENT AND PRESERVATION↗

UPC++ v1.0 Specification (Rev. 2023.9.0)

UPC++ is a C++ library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Programmer’s Guide (Rev. 2023.9.0)

UPC++ is a C++ library that supports Partitioned Global Address Space (PGAS) programming. It is designed for writing efficient, scalable parallel programs on distributed-memory parallel computers. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). The UPC++ control model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. The PGAS memory model additionally provides one-sided RMA communication to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ also features Remote Procedure Call (RPC) communication, making it easy to move computation to operate on data that resides on remote processes. UPC++ was designed to support exascale high-performance computing, and the library interfaces and implementation are focused on maximizing scalability. In UPC++, all communication operations are syntactically explicit, which encourages programmers to consider the costs associated with communication and data movement. Moreover, all communication operations are asynchronous by default, encouraging programmers to seek opportunities for overlapping communication latencies with other useful work. UPC++ provides expressive and composable abstractions designed for efficiently managing aggressive use of asynchrony in programs. Together, these design principles are intended to enable programmers to write applications using UPC++ that perform well even on hundreds of thousands of cores.

97 MATHEMATICS AND COMPUTING↗

MOOSE-Workbench integration and MOOSE meshing capability enhancements to facilitate inputs and outputs for multiphysics modeling

The Multiphysics Object-Oriented Simulation Environment (MOOSE) is an open-source framework that supports many of the US Department of Energy’s (DOE’s) Nuclear Energy Advanced Modeling and Simulation (NEAMS) technical areas (TA). These TAs develop and use NEAMS physics and coupling modules in multiple ways to enable the research and development of complex physics models. In addition to the MOOSE framework, the NEAMS Workbench user interface provides a common analysis environment with user-interaction accelerators that streamline the tasks of model creation, review, execution, and out put inspection. In FY 2024, objectives were realized in the MOOSE framework application development support and user-oriented improvements. Application development improvements support both developers and users with an expanded Reactor Module and Mesh System, stateful material property support for mortar contact, and customizable convergence criteria. Additionally, new user-oriented features were implemented in the MOOSE framework language server, including autocompletion snippets, definition from source and find reference navigations, and syntax overrides. Lastly, improvements were made to the input interpreter necessary to support the MOOSE language server and the NEAMS Workbench so that they can interact with syntactically incomplete user inputs. These improvements and more were intended to address stakeholder feedback and improve developer and user ability to conduct advanced nuclear energy modeling and simulation in support of DOE and industry needs.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Comparing Synthetic Routes and Thermal Characteristics of Alternate APO Variants

Low density, high-strength, temperature-resistant foams see widespread application in the aerospace and weapons fields due to their excellent qualities as structural supports. In these demanding environments, the most common formulation is a three-phase syntactic foam containing APOCure-601, BMI, and carbon or glass microballoons. Of these, APOCure-601 and BMI form the polymer resin amino-poly(oxadiazole) bismaleimide (APO-BMI), also known as Legacy APO or S-1,2-Ethyl-APO. In manufacturing this foam, the selective laser sintering (SLS) additive manufacturing technique is quickly gaining prominence, over more traditional injection molding since SLS allows for 3D printing of materials and reduces overall cost and waste production. That said, SLS also requires a narrow window between the melt and cure temperatures for a successful print. SLS printing of APO-BMI is therefore difficult since the compound possesses a broad window between its melting and curing temperatures, and also requires several post-cure steps or complete polymerization. This work explores synthesis optimization and thermal characteristics for variant Apo-BMI structures by observing the effect that alternative heteroatoms in the APO linkages, geometries 0f the BMI groups, and bridge structure identities impart on the resultant material. Synthetic methods for these altered structures were established in batch, with some others further converted to continuous flow chemistry, a method that produces materials in a continuous stream and is highly reproducible and readily scaled. Additionally, each structural change significantly altered the melt and cure properties for each APO variant, which is advantageous for SLS manufacturing.

60 APPLIED LIFE SCIENCES↗

MOOSE–Workbench Integration and MOOSE Meshing Capability Enhancements to Facilitate Inputs and Outputs for Multiphysics Modeling

The Multiphysics Object-Oriented Simulation Environment (MOOSE) is an open-source framework that supports many of the US Department of Energy’s (DOE’s) Nuclear Energy Advanced Modeling and Simulation (NEAMS) technical areas (TA). These TAs develop and use NEAMS physics and coupling modules in multiple ways to enable the research and development of complex physics models. In addition to the MOOSE framework, the NEAMS Workbench user interface provides a common analysis environment with user-interaction accelerators that streamline the tasks of model creation, review, execution, and output inspection. In FY 2024, objectives were realized in the MOOSE framework application development support and user-oriented improvements. Application development improvements support both developers and users with an expanded Reactor Module and Mesh System, stateful material property support for mortar contact, and customizable convergence criteria. Additionally, new user-oriented features were implemented in the MOOSE framework language server, including autocompletion snippets, definition from source and find reference navigations, and syntax overrides. Lastly, improvements were made to the input interpreter necessary to support the MOOSE language server and the NEAMS Workbench so that they can interact with syntactically incomplete user inputs. These improvements and more were intended to address stakeholder feedback and improve developer and user ability to conduct advanced nuclear energy modeling and simulation in support of DOE and industry needs.

97 - MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Programmer’s Guide (Revision 2022.3.0)

UPC++ is a C++ library that supports Partitioned Global Address Space (PGAS) programming. It is designed for writing efficient, scalable parallel programs on distributed-memory parallel computers. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). The UPC++ control model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. The PGAS memory model additionally provides one-sided RMA communication to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ also features Remote Procedure Call (RPC) communication, making it easy to move computation to operate on data that resides on remote processes. UPC++ was designed to support exascale high-performance computing, and the library interfaces and implementation are focused on maximizing scalability. In UPC++, all communication operations are syntactically explicit, which encourages programmers to consider the costs associated with communication and data movement. Moreover, all communication operations are asynchronous by default, encouraging programmers to seek opportunities for overlapping communication latencies with other useful work. UPC++ provides expressive and composable abstractions designed for efficiently managing aggressive use of asynchrony in programs. Together, these design principles are intended to enable programmers to write applications using UPC++ that perform well even on hundreds of thousands of cores.

97 MATHEMATICS AND COMPUTING↗

UPC++ v1.0 Programmer’s Guide, Revision 2023.3.0

UPC++ is a C++ library that supports Partitioned Global Address Space (PGAS) programming. It is designed for writing efficient, scalable parallel programs on distributed-memory parallel computers. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). The UPC++ control model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. The PGAS memory model additionally provides one-sided RMA communication to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ also features Remote Procedure Call (RPC) communication, making it easy to move computation to operate on data that resides on remote processes. UPC++ was designed to support exascale high-performance computing, and the library interfaces and implementation are focused on maximizing scalability. In UPC++, all communication operations are syntactically explicit, which encourages programmers to consider the costs associated with communication and data movement. Moreover, all communication operations are asynchronous by default, encouraging programmers to seek opportunities for overlapping communication latencies with other useful work. UPC++ provides expressive and composable abstractions designed for efficiently managing aggressive use of asynchrony in programs. Together, these design principles are intended to enable programmers to write applications using UPC++ that perform well even on hundreds of thousands of cores.

97 MATHEMATICS AND COMPUTING↗