enrico icon indicating copy to clipboard operation
enrico copied to clipboard

Extend `SurrogateHeatDriver` to support multiple assemblies

Open paulromano opened this issue 1 year ago • 0 comments

Right now the SurrogateHeatDriver class is hardwired to work for a single assembly. To extend support to multiple assemblies, we'll need to add new input options in enrico.xml for specifying the placement of assemblies and an assembly pitch. In terms of changes needed in the SurrogateHeatDriver class itself, @kkiesling and I talked over a few different options:

  • One option would be to add an extra dimension on the various data members that corresponds to the different assemblies, e.g., pin_centers_ would go from being xt::xtensor<double, 2> to xt::xtensor<double, 3>. The loops over pins/channels would then just need to account for the extra dimension for assemblies
  • Alternatively, we could keep the SurrogateHeatDriver exactly as is, but introduce a new class on top of it that keeps a vector of SurrogateHeatDriver instances, one for each assembly. The new class would be what actually interfaces with CoupledDriver.

paulromano avatar Jul 14 '22 02:07 paulromano