Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “constructive solid geometry”

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 19 records

Point containment algorithms for constructive solid geometry with unbounded primitives

Here, we present several algorithms for evaluating point containment in constructive solid geometry (CSG) trees with unbounded primitives. Three algorithms are presented based on postfix, prefix, and infix notations of the CSG binary expression tree. We show that prefix and infix notations enable short-circuiting logic, which reduces the number of primitives that must be checked during point containment. To evaluate the performance of the algorithms, each algorithm was implemented in the OpenMC Monte Carlo particle transport code, which relies on CSG to represent solid bodies through which subatomic particles travel. Two sets of tests were carried out. First, the execution time to generate a rasterized image of a 2D slice of three CSG models of varying complexity was measured. Use of both prefix and infix notations offered significant speedup over the postfix notation that has traditionally been used in particle transport codes, with infix resulting in a 6 x reduction in execution time relative to postfix for a model of a tokamak fusion device. We then measured the execution time of neutron transport simulations of the same three models using each of the algorithms. The results and performance improvements reveal the same trends as for the rasterization test, with a 5.52 x overall speedup using the infix notation relative to the original postfix notation in OpenMC for the tokamak model.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Boundary to Constructive Solid Geometry Mappings: a Focus on 2-D Issues

The problem of converting boundary representation (B-rep) to constructive solid geometry representation (CSG-rep) (and vice versa) is discussed in two phases. The first phase entails finding a CSG-rep that defines the region bounded by a polygonal profile curve. The second phase utilizes the results of the first phase to find a CSG-rep for many non-polygonal profile curves. A mathematically concise representation of a region bounded by a polygonal is presented. Namely, any polygonal region bounded by an n sided polygon may be represented by a binary tree which has at most n planar halfspaces as leaves. A structure for this representation and an algorithm for calculating is discussed.

Peterson, D. P.↗

Program Generates Images Of Solid Surfaces

Solid Surface Modeler (SSM) computer program generates three-dimensional computer models of solid surfaces for use in visual analysis and animation. Provides advanced functions, including Constructive Solid Geometry, Skin Construction, Tube Construction, Material Property Editing, and Texture Map Tools. Allows user to change such attributes as color, reflectivity, smoothing, and position of object easily. Model saved in ASCII or binary format for use in another program or saved in edit format for reloading in SSM. Written in standard C.

Goza, Sharon P.↗

Cubit for MCNP Unstructured Mesh Analysis of Oktavian Benchmarks

The Monte Carlo N-Particle (MCNP) transport code developed by Los Alamos National Laboratory (LANL) can be used to transport various particles across user defined three dimensional (3D) geometries. Traditionally, these geometries are created as constructive solid geometry (CSG), involving the use of Boolean operators on defined surfaces to create 3D regions known as cells. A newer method of geometry definition in the MCNP code is unstructured mesh (UM) embedded within a CSG cell using the universe and fill repeated-structure features. An MCNP UM calculation requires an MCNP input file and mesh geometry file. The MCNP code cannot be used to generate UM geometry models. A computer-aided design (CAD) software is typically used to construct a solid geometry model, and a CAD file is then imported into a mesh generation software to prepare and generate a mesh model. Some mesh generation software packages have the ability to create a solid geometry and thus a separate CAD software for creating a CAD model is not needed. In this work, Cubit, a geometry creation and meshing software developed by Sandia National Laboratories, is used to construct UM models for MCNP simulations.

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

Binary space partitioning trees and their uses

Binary Space Partitioning (BSP) trees have some qualities that make them useful in solving many graphics related problems. The purpose is to describe what a BSP tree is, and how it can be used to solve the problem of hidden surface removal, and constructive solid geometry. The BSP tree is based on the idea that a plane acting as a divider subdivides space into two parts with one being on the positive side and the other on the negative. A polygonal solid is then represented as the volume defined by the collective interior half spaces of the solid's bounding surfaces. The nature of how the tree is organized lends itself well for sorting polygons relative to an arbitrary point in 3 space. The speed at which the tree can be traversed for depth sorting is fast enough to provide hidden surface removal at interactive speeds. The fact that a BSP tree actually represents a polygonal solid as a bounded volume also makes it quite useful in performing the boolean operations used in constructive solid geometry. Due to the nature of the BSP tree, polygons can be classified as they are subdivided. The ability to classify polygons as they are subdivided can enhance the simplicity of implementing constructive solid geometry.

Bell, Bradley N.↗

Enabling the broader adoption of fusion simulation on complex geometry

This project addressed a key barrier to advanced fusion and nuclear simulation: the difficulty of performing high-fidelity Monte Carlo neutronics directly on complex, real-world CAD geometry. Traditional workflows require engineers to rebuild CAD models as simplified constructive solid geometry, a time-consuming and error-prone process that limits design iteration and broader adoption of simulation tools. The goal of this Phase I SBIR was to make CAD-based neutronics practical, accessible, and robust for industrial and research users. During the project, Coreform significantly enhanced the Direct Accelerated Geometry Monte Carlo (DAGMC) workflow and fully integrated it into Coreform Cubit as a first-class capability. Major achievements include optimized material assignment and surface meshing workflows, substantial performance improvements to geometry imprinting and preparation, native export of DAGMC models, and new visualization tools to support OpenMC source definition and lost-particle debugging. Coreform also expanded Cubit’s capabilities as a full OpenMC preprocessor, including the ability to convert OpenMC constructive solid geometry models back into CAD for visualization, multiphysics coupling, and debugging. In collaboration with Argonne National Laboratory, the project delivered comprehensive new DAGMC documentation and training materials, transforming DAGMC from a research-oriented tool into a production-ready workflow. Results were disseminated through tutorials, conference training, and multiple well-attended webinars demonstrating integrated CAD-based neutronics and multiphysics workflows. Overall, this project demonstrated that high-fidelity Monte Carlo simulations can be performed directly on complex CAD geometry, reducing setup time, improving usability, and enabling faster, more informed design decisions for fusion and nuclear energy systems.

42 ENGINEERING↗

Testing the Activation Analysis for Fusion in OpenMC

OpenMC is a community-developed Monte Carlo neutron and photon transport simulation code. It can perform fission simulations such as fixed-source, k-eigenvalue, and subcritical multiplication calculations on models built using either a constructive solid geometry or CAD representation. To explore the use of OpenMC for fusion activation analysis, a detailed model of the Fusion Neutronics Science Facility (FNSF) was first developed for comparisons against an existing SERPENT model. A 90-degree model of FNSF in Standard-Triangle-Language (STL) CAD format was converted to Constructive Solid Geometry (CSG) using each code's built-in functions, and the geometries were validated by ensuring no cells overlapped and no particles were lost during simulations. The neutron fluxes were calculated and compared for multiple components close to the plasma. The results show differences mostly below 1% in fluxes and averaged 8% for activity and decay heat. Here, the work described in this study tests the CAD-based geometry using the DagMC toolkit in OpenMC and compares the activation analysis of OpenMC to SERPENT code.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Generating MCNP Input Files for Unstructured Mesh Geometries

The Los Alamos National Laboratory’s (LANL) Monte Carlo N-Particle (MCNP)1 transport code version 6.3 (also known as MCNP6.3) has the capability for tracking particles on unstructured mesh (UM) geometry models embedded into constructive solid geometry (CSG) cells. This feature has been developed for performing calculations of complex geometry models because manually creating CSG models is time-consuming and error-prone as the complexities of geometries increase. A UM geometry model is a collection of finite elements representing a solid geometry. The first step of the MCNP UM calculation is using other software packages to create a finite element mesh representation of a solid 3D geometry because the MCNP code cannot be used to generate a UM model. Computer-aided design (CAD) software is typically used to create a solid geometry model, which is later imported into mesh generation software to create a UM model. Some mesh generation software packages may also be used to create solid geometries and thus CAD files are not needed. The MCNP UM feature was originally designed for models generated by the Abaqus/CAE software suite. The MCNP code version 6.0 and later can process UM models formatted as Abaqus input files. Starting with a 6.3 version, the MCNP code can process HDF5 mesh input files. We only focus on the UM models formatted as Abaqus input files in this report since currently no external software can be used to generate HDF5 mesh input files for MCNP UM calculations. The MCNP code version 6.3 can be used to convert the Abaqus mesh input files into the HDF5 mesh input files, but this option is typically used by the MCNP code development team to test the HDF5 mesh input file feature. Several software packages (such as Abaqus, Attila4MC, or Cubit) can be used to create the Abaqus input files for MCNP UM calculations. An MCNP UM calculation using an Abaqus model requires two input file types: MCNP and Abaqus input files. The Abaqus input files needed for MCNP UM calcu lations must have the correct Abaqus syntax and meet the additional requirements by the MCNP code. The MCNP code can process only Abaqus input files that make use of part and assembly definitions, where elements in each part must be grouped into one or more element sets (i.e., elset) using *Elset keyword lines with specified naming formats. The MCNP and Abaqus input files required for MCNP UM simulations must be related; pseudo-cells in an MCNP input file must be constructed from mesh model data from an Abaqus input file. For large complex UM models, it is tedious to manually create MCNP UM input files. The um pre op (unstructured mesh pre operations) program with the -m option can be used to create a skeleton MCNP input file from an Abaqus input file [6]. Since the um pre op program was written in Fortran and was not written for optimized performance, this program is a deprecated feature in the MCNP code version 6.3 and may be removed in the next release of the code. To improve calculation flow of multiphysics calculations, a Python3 code called write mcnp um input has been developed to generate an MCNP input file instead of using the um_pre_op -m option. This Python code was initially released to the public in 2020. We have updated this Python code for MCNP6.3 and it was used to generate the MCNP input files used to verify the MCNP6.3 code. The write_mcnp_um_input code is included with the MCNP6.3 code package which will be released to the public through the Radiation Safety Information Computational Center (RSICC) at Oak Ridge National Laboratory. This report is a revision of LA-UR-20-27139 report.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Using CUBIT to Create Unstructured Mesh Models for MCNP Simulations

The Monte Carlo N-Particle (MCNP) transport code version 6 (also known as MCNP6) has the capability for tracking particles on unstructured mesh (UM) geometry models embedded into constructive solid geometry (CSG) cells. This feature has been developed for performing calculations of complex geometry models because creating CSG models is a time-consuming and error-prone process as the complexities of geometries increase. An MCNP UM calculation requires UM geometry input files. The UM capability was originally designed to work with UM models created with the Abaqus/CAE software and ASCII input files that it generates. The Abaqus-formatted input files needed for MCNP UM calculations must have the correct Abaqus syntax and meet the additional MCNP requirements. Several software packages can generate a UM model formatted as an Abaqus input file. Cubit, the Sandia National Laboratory automated mesh generation toolkit, can generate a UM model formatted as an Abaqus input file. However, the Abaqus input files created by Cubit cannot be used for MCNP simulations. A Python script has been developed to convert an Abaqus file created by Cubit to an Abaqus file that the MCNP code can process. This report describes the process of using Cubit to create UM models for MCNP calculations.

97 MATHEMATICS AND COMPUTING↗

Processing MCNP Elemental Edit Outputs

The Monte Carlo N-Particle (MCNP) transport code version 6 (also known as MCNP6) has the capability for tracking particles on unstructured mesh (UM) geometry models embedded into constructive solid geometry (CSG) cells. A UM geometry is a collection of elements representing a solid geometry. The first step of MCNP UM modeling is using other software packages to create a finite element mesh representation of a solid 3D geometry. Computer-aided design (CAD) or computer-aided manufacturing (CAM) software is typically used to create a solid geometry model, which is later imported into mesh generation software to create a UM model. The MCNP UM feature was originally designed for models generated by the Abaqus/CAE software. The MCNP code version 6.0 and later can process UM models formatted as Abaqus input files. MCNP can process a UM model consisting of several different element types including linear tetrahedral or hexahedral elements and calculate quantities of interest such as flux and energy deposition at elements. An MCNP UM simulation provides high-fidelity elemental edit (i.e., tally) outputs, which can be further used in multiphysics calculations. The MCNP UM feature was used for multiphysics simulations where quantities of interest calculated by MCNP are used as inputs for heat transfer calculations in Abaqus. MCNP6.3 can produce two types of elemental edit output (EEOUT) file formats: ASCII and HDF5. An EEOUT file type must be requested on an EMBED card while output type (flux or energy deposition) must be requested on an EMBEE card. We wrote Python3 scripts to extract energy deposition values in an ASCII or HDF5 EEOUT file and compute a heat flux profile for an Abaqus heat transfer calculation.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Hardware-Accelerated Ray Tracing of CAD-Based Geometry for Monte Carlo Radiation Transport

Monte Carlo radiation transport (MCRT) methods have been used to simulate radiation environments for many decades by tracking individual particles through a model to accumulate statistical information. MCRT geometry is historically formed using the constructive solid geometry (CSG). Recently, significant work has been performed to support simulations using computer-aided design (CAD)-based tessellated surfaces to support highly complex geometries. Ray tracing acceleration data structures from the rendering and visualization community are applied to accelerate particle tracking in CAD-based models. Despite these efforts, CSG representations provide the superior performance in surface intersection operations during particle flight. Concurrently, pseudo Monte Carlo methods have become prevalent in rendering applications to support more realistic models for scattering media, motivating innovations that are advantageous for MCRT simulations. Finally, the authors’ work extends these innovations by employing Intel’s Embree ray tracing kernel within a geometry toolkit for Monte Carlo to improve the simulation performance using CAD-based models by factors of 1.5 to 2.

42 ENGINEERING↗

OpenMC

OpenMC is an open source, community-developed framework for performing Monte Carlo particle transport calculations.It is capable of simulating neutron and photon transport below ~50 MeV and also includes a model for bremsstrahlung production of photons by electrons/positrons. Fixed source, k-eigenvalue, and subcritical multiplication problems can be solved. Problem geometries can be modeled either using constructive solid geometry or a CAD representation. A flexible and efficient tally system enables a wide variety of physical quantities to be tallied and analyzed. OpenMC can run in parallel using a hybrid MPI and OpenMP programming model and has been extensively tested on leadership class supercomputers. A built-in Bateman equation solver enables the modeling of material composition changes due to irradiation. One of the unique features of OpenMC is its rich, extensible Python and C/C++ programming interfaces that enable programming pre- and post-processing, multigroup cross section generation, workflow automation, multiphysics coupling, and the visualization of geometry and tally results. In addition to the core Monte Carlo transport solver and associated APIs, OpenMC includes a Python-based nuclear data interface that enables power users to inspect, modify,and perform various types of nuclear data processing on ENDF, ACE, and OpenMC¿s native HDF5 files

ROMANO, PaulK.↗

Optimization of the moderators in the STS preliminary design

This report details the results for an optimization of the dimensions of the moderators in the preliminary design of the Spallation Neutron Source Second Target Station (STS). This study uses the optimization algorithms of Dakota and an unstructured mesh model for the moderators in MCNP. More details on the unstructured mesh model and the automated mesh generation can be found in [3]. Parallel to this effort, the same moderator geometries have been optimized using a constructive solid geometry (CSG) MCNP model. More details on this model and its results can be found in [4]. Three optimal designs are selected for each moderator: one that is optimized for maximum peak brightness, one for maximum time-integrated brightness, and one for a combination of peak and time-integrated brightness. The backbone of the optimization work flow is provided by Dakota. For each set of design parameters requested by Dakota, a new solid geometry is automatically built in Creo and SpaceClaim, and subsequently exported to Attila4MC to generate an unstructured mesh geometry for MCNP. After the MCNP calculation is finished, the objective function (e.g., brightness metric) is returned to Dakota. After the new design has been evaluated, a result-file is written, and Dakota proposes the next set of design parameters to be evaluated. The loop continues until a specified convergence criterion has been met. The design parameters of the cylindrical (upper) moderator include the hydrogen radius, the premoderator thickness (top, bottom, radial), the beryllium radius and the horizontal position of the moderator. The crucial design choice is the hydrogen radius. A radius of 62 mm is shown to provide the maximum time-integrated brightness. The maximum peak brightness occurs with a radius of 40 mm. A combined (middle) design, which balances peak and time-integrated brightnesses, is obtained with a hydrogen radius of 50 mm. The premoderator thicknesses and the beryllium radius are slightly larger in the design optimized for time-integrated brightness than in the design optimized for peak brightness. The sensitivity to these two parameters is relatively small close to the optimal configurations. The hydrogen vessel and vacuum vessel wall thicknesses are dependent on the radius of the liquid hydrogen due to structural integrity requirements. The increased wall thicknesses for larger vessels significantly penalize the time-integrated brightness, with the maximum obtainable value reduced by more than 10% relative to earlier studies which used fixed vessel wall thicknesses. The impact of the variable wall thicknesses is much less for the peak brightness and combined brightness designs. The design parameters of the tube (lower) moderator selected for the optimization are the tube length, the annular premoderator thickness, the beryllium radius and the horizontal position of the moderator. The tube length is the crucial parameter and is chosen large (210 mm) and small (125 mm) in the designs optimized for time-integrated and peak brightness respectively. A combined optimal design has a tube length of 170 mm. The premoderator thickness and the beryllium radius are chosen larger in the design optimized for time-integrated brightness.

42 ENGINEERING↗

Reducing Memory Consumption in Calico with Shared Memory

This document details the work to reduce memory consumption in Calico. Calico is SimTools’ Constructive Solid Geometry (CSG) and geometry painting library. It is primarily used to paint material volume fractions in the Eulerian meshes of the physics codes. Calico provides point-in-body checks for the geometry supplied by an Oso model, which are then aggregated by the host codes. In addition, Calico can be used to build Oso models and is used by Ingen for that purpose. Oso models, and thus Calico, provide support for various CSG primitives such as spheres, cylinders, surfaces generated by rotating tabular curve data, and STL files as well as binary combinations of those primitives. Prior to refactoring Calico will run out of memory on CTS-1 machines when 36 MPI ranks are used per node when reading STL models on the order of 1.5 GB. This limitation is a bottleneck in designer workflow. This problem has been alleviated through the use of data structures to both reduce memory consumption and to leverage MPI-3 shared memory. This report details the data structures targeted for refactoring in Calico, the methods and implementation details for reducing memory consumption and leveraging shared memory, and results for one test problem. Results show a memory reduction when loading a 1 GB STL file by a factor of 27.5, from 93.4 to 3.4 GB.

97 MATHEMATICS AND COMPUTING↗

Neutronics Analysis of Heating and DPA of the Proton Beam Window and Core Vessel Nozzle Neutronics Heating Analysis for the Second Target Station

This reports details the analysis of the heating rates, dpa values and He production in the Proton Beam Window (PBW) assembly and the Core Vessel (CV) nozzle for the preliminary design for the Second Target Station (STS). This analysis focuses on the heating rates in the cooled beltline component of the CV. Neutronics calculations use a detailed unstructured mesh (UM) converted from a CAD model in SpaceClaim of the PBW and CV design of February 2024. The rest of the geometry is taken from the STS master model in constructive solid geometry (CSG). Heating is evaluated for four beam profiles, which are chosen as the most likely to produce the highest heating in the beltline component. The maximum energy deposition values in the beltline are 0.02-0.08 J/cc/pulse, depending on the beam profile. Detailed point cloud data of the full UM geometry is made available for mechanical analysis. The maximum dpa rate in the beltline steel is approximately 0.02 dpa/year, which corresponds to a lifetime of 3,000 years. These results are in good agreement with previous results for the CV. For the PBW itself, maximal heating, dpa, and He production rates are very similar to the previous analysis.

43 PARTICLE ACCELERATORS↗

Layered CAD/CSG geometry for spatially complex radiation transport scenarios

Many spatially complex fission, fusion, and national security Monte Carlo (MC) radiation transport scenarios involve combining computer-aided design (CAD) models with constructive solid geometry (CSG) models. A layered geometry method has been implemented in the Shift MC code to address this need. With layered geometry, multiple CAD and/or CSG models can be clipped, translated, rotated, and placed in overlapping layers to form transport-ready geometries. Here, the utility of this method is demonstrated with two problems: (1) a fixed-source simulation with a layered geometry consisting of a LiDAR-generated CAD model of the Combined Arms Collective Training Facility urban environment overlaid with CSG models of a mock hotel and a detector apparatus, and (2) a k-eigenvalue calculation using a layered geometry model of the Transformational Challenge Reactor consisting of CAD fuel elements placed in a CSG core. Tallied particle flux distributions match expectations, but tracking robustness must be improved prior to general-purpose use.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

MCNP6.3 Unstructured Mesh Verification: GodivR and CANDU Models

A geometric cell of the Monte Carlo N-Particle (MCNP)1 transport code is traditionally created by using Boolean operators on defined surfaces. This constructive solid geometry (CSG) capability has been available in the MCNP code since its beginning. However, a CSG model approach is limited when it comes to constructing a representative geometry for a complex model in its ability to capture a correct model representation. Starting with the version 6.0, the MCNP code has the ability of embedding an unstructured mesh (UM) model into a CSG cell to create a hybrid geometry [1]. The MCNP UM feature provides the flexibility of defining very complex geometries because computer aided design (CAD) and mesh generation software packages can be utilized to construct UM models for MCNP simulations.

97 MATHEMATICS AND COMPUTING↗

An unstructured mesh based neutronics optimization workflow

We have developed a fully automated workflow to optimize the neutronics performance of the Second Target Station (STS) at the Oak Ridge National Laboratory’s Spallation Neutron Source. The optimization workflow starts with the parametrized solid CAD engineering models and converts them into the unstructured mesh (UM) models for the neutronics calculations with MCNP6.2. Calculations are executed and their results are loaded into the Dakota optimization toolkit. Dakota analyzes the results and proposes new geometry parameters for the next design iteration. The cycle repeats until the optimal parameters are found. The automated CAD to MCNP conversion, the use of high-fidelity UM models, and the use of modern optimizer are the key elements that advance the entire optimization workflow in comparison with the original workflow. The original workflow was based on a simplified constructive solid geometry (CSG) modeling with MCNPX, mcnp_pstudy tool, and an in-house optimizer. Herein to demonstrate the new workflow, we present a case of neutronics optimization of the moderator–reflector assembly (MRA). Apart from the MRA, the workflow can optimize other major STS components, such as the spallation target, neutron beamlines, radiation shielding, and various accelerator components. Importantly, the new workflow opens the door to the advanced multi-physics multi-parameter optimization and has the potential for use in other nuclear physics and accelerator applications.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗