openmc-dev / openmc

OpenMC Monte Carlo Code
https://docs.openmc.org
Other
699 stars 444 forks source link

Enhancement: Streamline Material Differentiation in DAGMC Simulations to Support Independent Cell Depletion and Temperature Fields #2923

Open azimgivron opened 1 month ago

azimgivron commented 1 month ago

Problem Description

When conducting simulations using DAGMC (Direct Accelerated Geometry Monte Carlo), we encounter a scenario where the need arises to differentiate materials that originally are identical but occupy different cells. This differentiation is crucial for allowing each cell to deplete independently or to apply unique temperature fields to each cell.

Currently, to achieve this material differentiation, one has to separate a single cell into multiple cells and generate new .h5m files with renamed materials. This process not only is cumbersome but also significantly increases disk space usage due to the storage requirements of multiple .h5m files that only differ in material names.

Proposed Enhancement

We are seeking to streamline the process of material differentiation within DAGMC simulations, similar to what is achieved with the diff_burnable_mats argument in openmc.deplete.CoupledOperator. The aim is to allow materials that are originally the same but fill different cells to deplete independently. Furthermore, this enhancement should also cater to the application of unique temperature fields to each cell, enabling a more precise simulation of thermal behaviors.

Use Cases

  1. Independent Cell Depletion: Differentiate materials within the same geometry so that each can deplete independently without the need for duplicating geometry files.
  2. Unique Temperature Fields per Cell: Apply different temperature fields to each cell, enhancing the simulation's accuracy in scenarios where thermal effects are critical.

Current Workaround

A minimal example demonstrating the current method of achieving this via file duplication can be found here: DAGMC Cell Separation Example. This example highlights the inefficiencies and the significant disk space requirement of the current approach.

Request

We request the development of a feature within OpenMC's DAGMC interface to facilitate the above-described material differentiation process without the need for generating multiple .h5m files. This would greatly enhance the usability of DAGMC for complex simulations and reduce both the computational overhead and disk space requirements.

makeclean commented 1 month ago

We already have two ways of doing this, I wonder if either would meet your need? One is to use iso surfaces to clip (embed) fields, e.g. temperature, density and use this so as an additional field lookup which sits orthogonal to cell definitions, which is nice. There is a second method which uses DAGMC geometry from tetmesh, where we can create new cells at will on the basis of a temperature binning. Would either of those suit?

Sent from Outlook for Androidhttps://aka.ms/AAb9ysg


From: azimG @.> Sent: Monday, March 25, 2024 8:15:44 AM To: openmc-dev/openmc @.> Cc: Subscribed @.***> Subject: [openmc-dev/openmc] Enhancement: Streamline Material Differentiation in DAGMC Simulations to Support Independent Cell Depletion and Temperature Fields (Issue #2923)

Problem Description

When conducting simulations using DAGMC (Direct Accelerated Geometry Monte Carlo), we encounter a scenario where the need arises to differentiate materials that originally are identical but occupy different cells. This differentiation is crucial for allowing each cell to deplete independently or to apply unique temperature fields to each cell.

Currently, to achieve this material differentiation, one has to separate a single cell into multiple cells and generate new .h5m files with renamed materials. This process not only is cumbersome but also significantly increases disk space usage due to the storage requirements of multiple .h5m files that only differ in material names.

Proposed Enhancement

We are seeking to streamline the process of material differentiation within DAGMC simulations, similar to what is achieved with the diff_burnable_mats argument in openmc.deplete.CoupledOperator. The aim is to allow materials that are originally the same but fill different cells to deplete independently. Furthermore, this enhancement should also cater to the application of unique temperature fields to each cell, enabling a more precise simulation of thermal behaviors.

Use Cases

  1. Independent Cell Depletion: Differentiate materials within the same geometry so that each can deplete independently without the need for duplicating geometry files.
  2. Unique Temperature Fields per Cell: Apply different temperature fields to each cell, enhancing the simulation's accuracy in scenarios where thermal effects are critical.

Current Workaround

A minimal example demonstrating the current method of achieving this via file duplication can be found here: DAGMC Cell Separation Examplehttps://gitlab.com/azimgivron/dagmc-cell-separation. This example highlights the inefficiencies and the significant disk space requirement of the current approach.

Request

We request the development of a feature within OpenMC's DAGMC interface to facilitate the above-described material differentiation process without the need for generating multiple .h5m files. This would greatly enhance the usability of DAGMC for complex simulations and reduce both the computational overhead and disk space requirements.

— Reply to this email directly, view it on GitHubhttps://github.com/openmc-dev/openmc/issues/2923, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AASTUSWPFLUJ46WSZH7SEILYZ7MLBAVCNFSM6AAAAABFGRPLLWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGIYDKMJVGE4TENI. You are receiving this because you are subscribed to this thread.Message ID: @.***>

azimgivron commented 1 month ago

While the suggested methods seem effective for managing temperature fields, I'm concerned they may not fully address the requirements for depletion processes. This is because depletion necessitates each cell being linked to a distinct material.