Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HistogramVectorPostprocessor only works with VPPs whose vectors are defined at construction #18459

Closed
bwspenc opened this issue Jul 27, 2021 · 3 comments · Fixed by #18470
Closed
Labels
P: normal A defect affecting operation with a low possibility of significantly affects. T: defect An anomaly, which is anything that deviates from expectations.

Comments

@bwspenc
Copy link
Contributor

bwspenc commented Jul 27, 2021

Bug Description

HistogramVectorPostprocessor computes a histogram from the values in the vectors computed by another VectorPostprocessor. The HistogramVectorPostprocessor declares its vectors based on the names of the vectors in the other VPP at construction time. If those are not yet created at that time, it errors out.

Steps to Reproduce

Use HistogramVectorPostprocessor with a VPP that delays its creation of vectors. I ran into this problem in Grizzly with a VPP that has to delay when it declares its vectors because the number of vectors is only known at the initialize() phase. I don't know whether there are VPPs like that in MOOSE.

Impact

This is preventing us from using this VPP.

@bwspenc bwspenc added T: defect An anomaly, which is anything that deviates from expectations. P: normal A defect affecting operation with a low possibility of significantly affects. labels Jul 27, 2021
@bwspenc
Copy link
Contributor Author

bwspenc commented Jul 27, 2021

@hoffwm @aeslaughter

@bwspenc
Copy link
Contributor Author

bwspenc commented Jul 27, 2021

The fix for this is pretty simple -- we just move some code that was run at construction to initialize(). We tested that and it works fine. I'm just not sure whether that's an acceptable solution. @aeslaughter, maybe you have thoughts on that.

@bwspenc
Copy link
Contributor Author

bwspenc commented Jul 28, 2021

Turns out that we can actually solve this problem by having our other VPP figure out its vectors at construction time. However, I'm keeping this ticket open because we should improve the error behavior of this. Currently, this is the error message you get if your other VPP doesn't have any vectors:

application called MPI_Abort(MPI_COMM_WORLD, 1) - process 0
[unset]: write_line error; fd=-1 buf=:cmd=abort exitcode=1
:
system msg for write_line failure : Bad file descriptor

We need to change this to give an error message that actually tells you what is going on here.

bwspenc added a commit to bwspenc/moose that referenced this issue Jul 29, 2021
idaholab#18459

- Generate an error if no vectors are provided in the VPP that is used
  as input.
- Move the initialization to initialSetup() to remove order dependence
  of VPPs in input file.
- Add a test of the newly-added error.
- Add empty VPP testing object used by this test.
bwspenc added a commit to bwspenc/moose that referenced this issue Jul 29, 2021
idaholab#18459

- Generate an error if no vectors are provided in the VPP that is used
  as input.
- Move the initialization to initialSetup() to remove order dependence
  of VPPs in input file.
- Add a test of the newly-added error.
- Add empty VPP testing object used by this test.
bwspenc added a commit to bwspenc/moose that referenced this issue Jul 29, 2021
idaholab#18459

- Generate an error if no vectors are provided in the VPP that is used
  as input.
- Move the initialization to initialSetup() to remove order dependence
  of VPPs in input file.
- Add a test of the newly-added error.
- Add empty VPP testing object used by this test.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P: normal A defect affecting operation with a low possibility of significantly affects. T: defect An anomaly, which is anything that deviates from expectations.
Projects
None yet
1 participant