Spatial Fourier Functional Expansion Tally#3899
Conversation
Copy-paste SpatialLegendreFilter. No other changes needed. Could be combined to a SpatialExpansionFilter header?
|
I'll give this a look as well. @pshriwise and @magnoxemo might be interested as well. |
Would @MicahGale, @pshriwise, or @magnoxemo like to review this (at least as a first pass)? |
|
I can do a "conceptual review" for sure, but no guarantees on competence of the review. |
|
@tjlaboss Just one quick question, are you planning to implement multi-D support in a following PR? or this is gonna be 1D for now? |
|
No, 1D. Multiple dimensions are left as an exercise to the reader. |
You need to write the M&C paper first to say that. |
MicahGale
left a comment
There was a problem hiding this comment.
Just a few comments. I don't understand the tally infrastructure well enough to have strong opinions. Though I couldn't find where you actually calculate the Fourier series.
| @order.setter | ||
| def order(self, order): |
There was a problem hiding this comment.
Should this make a call to check_value?
There was a problem hiding this comment.
Not in openmc.lib I think.
|
Went ahead and made Also fixed some C API stuff, doc references, etc. that I missed previously. |
Description
Addresses Part 1 of #3815 . Implements a new functional expansion tally basis in space: spatial Fourier. This borrows heavily from the implementation of spatial Legendre.
SpatialFourierFilter.SpatialExpansionFilteras a parent ofSpatialFourierFilterandSpatialLegendreFilteron both the C++ and Python sides. Moved most ofSpatialLegendreFilterto its parent.Checklist
Discussion
sqrt(2). I believe that the convention for FETs in OpenMC is to normalize in postprocessing (though I'm not sure if this is explicitly established: see Return actual functional representation of funcational expansion tallies in Python API #3419).Results
Details
Unhashed _results_true.dat_:Details
Running on the example problem from example-filters.ipynb: