Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Constructive Solid Geometry (CSG)”

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.

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↗

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↗

Improving the Effectiveness of Integral Property Calculation in a CSG Solid Modeling System by Exploiting Predictability

Integral property calculation is an important application for solid modeling systems. Algorithms for computing integral properties for various solid representation schemes are fairly well known. It is important to deigners and users of solid modeling systems to understand the behavior of such algorithms. Specifically the trade-off between execution time and accuracy is critical to effective use of integral property calculation. The average behavior of two algorithms for Constructive Solid Geometry (CSG) representations is investigated. Experimental results from the PADL-2 solid modeling system show that coarse decompositions can be used to predict execution time and error estimates for finer decompositions. Exploiting this predictability allow effective use of the algorithms in a solid modeling system.

Clark, A. L.↗

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↗

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↗

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↗

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↗

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 ↗

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↗

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↗

Two MCNP Models for Computational Performance Benchmarking

The purpose of this report is to describe two non-trivial MCNP models and execution configurations that are suitable to characterizing computational performance. To that end, this report uses a constructive solid geometry (CSG) representation of the Oak Ridge National Laboratory (ORNL) Pool Critical Assembly (PCA) [1–3] to perform a k-eigenvalue calculation and an unstructured mesh (UM) representation of the International Commission on Radiological Protection (ICRP) publication 145 (ICRP145) male human phantom [4, 5] to perform a fixed-source calculation assuming that a 1 MeV photon source is distributed throughout the phantom’s liver.

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↗

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↗

FY25 MOOSE Usability Improvements: 3D Meshing Capabilities, Initiation of Geometry Support for Monte Carlo Tools, and Enhancement of MOOSE/Workbench User Input Interactions

Usability improvements have been made to MOOSE and Workbench in FY25 to enhance usability and user workflows. Assorted enhancement have been made to MOOSE’s intrinsic meshing capabilities in order to enable more flexible and complex meshing of nuclear reactor systems, in particular for 3D applications. Mesh generators have been added to perform operations such as batch mesh generation, surface mesh generation, and creation of 3D transition layers. These mesh generation capabilities make it much easier to generate high quality non-extruded 3D meshes. Additionally, work to integrate Monte Carlo reactor physics simulations into MOOSE-based multi-physics workflows has reached another milestone with the implementation of the Constructive Solid Geometry (CSG) base framework. This framework lays the foundation for mesh generators to offer the user a generic CSG output option (as opposed to a finite element mesh). To support users, workshop on the MOOSE Reactor Module was delivered which featured hands-on examples using the NEAMS Workbench on INL’s High Performance Computing system. Recent updates to the NEAMS Workbench, WASP, and the MOOSE language server have introduced several improvements aimed at making MOOSE-based simulation setup and input management faster, more accurate, and easier to use. Key capabilities that have been added include multi-tab-stop autocompletion, visual input diagnostics, developer-directed data visualizations, upgraded ParaView integration, and Workspace-level file tracking. Together, these changes make it easier for users to build, validate, and manage complex MOOSE-based simulation models — especially those involving reusable components, included files, and datasets. The improvements are designed to save time, reduce input errors, and help users get to a successful simulation run faster, with more confidence in the results.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Verification and validation testing and tools: comparison between MCNP code versions and nuclear data libraries [Slides]

This presentation discusses the primary goal of software testing which is to test the code for correctness. It also discusses the results for individual suites and the role of validation and verification also referred to in the presentation as V&V. In summation, the V&V framework enables easy comparison between calculations performed with different code versions and/or nuclear data libraries. This entire framework will be distributed with the upcoming MCNP6.3 release. V&V test suites shown and several that were not (Criticality, LAQGSM, Lockwood) will be distributed in the new framework.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

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.↗

Octree based automatic meshing from CSG models

Finite element meshes derived automatically from solid models through recursive spatial subdivision schemes (octrees) can be made to inherit the hierarchical structure and the spatial addressability intrinsic to the underlying grid. These two properties, together with the geometric regularity that can also be built into the mesh, make octree based meshes ideally suited for efficient analysis and self-adaptive remeshing and reanalysis. The element decomposition of the octal cells that intersect the boundary of the domain is emphasized. The problem, central to octree based meshing, is solved by combining template mapping and element extraction into a procedure that utilizes both constructive solid geometry and boundary respresentation techniques. Boundary cells that are not intersected by the edge of the domain boundary are easily mapped to predefined element topology. Cells containing edges (and vertices) are first transformed into a planar polyhedron and then triangulated via element extractors. The modeling environments required for the derivation of planar polyhedra and for element extraction are analyzed.

Perucchio, Renato↗