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

Allow SpatialUserObjectVectorPostprocessor to get points from UO #18931

Closed
aprilnovak opened this issue Sep 27, 2021 · 0 comments · Fixed by #18932
Closed

Allow SpatialUserObjectVectorPostprocessor to get points from UO #18931

aprilnovak opened this issue Sep 27, 2021 · 0 comments · Fixed by #18932
Labels
T: task An enhancement to the software.

Comments

@aprilnovak
Copy link
Contributor

Reason

The SpatialUserObjectVectorPostprocessor lets you specify a number of points at which to output the value of a spatial user object. For the spatial user objects of type NearestPointLayered..., there is one unique value of the user object in num_points * num_layers "bins." For instance, if the user object is defined like this:

[UserObjects]
  [npla]
    type = NearestPointLayeredIntegral
    direction = y
    num_layers = 3
    variable = u
    points = '0.375 0.0 0.3
              1.125 0.0 0.3
              0.375 0.0 0.9
              1.125 0.0 0.9'
  []
[]

this will result in 12 bin integrals (4 points times 3 layers). If you wanted to get the value for each user object in the SpatialUserObjectVectorPostprocessor, you'd need to provide:

[VectorPostprocessors]
  [spatial_manually_provided]
    type = SpatialUserObjectVectorPostprocessor
    userobject = npla
    points = '0.375 0.25 0.3
              0.375 0.75 0.3
              0.375 1.25 0.3

              1.125 0.25 0.3
              1.125 0.75 0.3
              1.125 1.25 0.3

              0.375 0.25 0.9
              0.375 0.75 0.9
              0.375 1.25 0.9

              1.125 0.25 0.9
              1.125 0.75 0.9
              1.125 1.25 0.9'
  []
[]

Writing a script or manually typing out these points is cumbersome. In Cardinal, we have a spatial user object that defines the "nearest point" bins based on a subchannel discretization, which is even more tedious to provide the points to the SpatialUserObjectVectorPostprocessor because the points themselves are never provided explicitly to the spatial UO.

Design

Add a UserObject::spatialPoints() interface that provides points that the SpatialUserObjectVectorPostprocessor can use instead of the user providing something via points or points_file. For the NearestPointLayered... user objects, this interface should provide the points in the above spatial_manually_provided VPP example.

Impact

Big improvement in usability for spatial user objects in Cardinal. New feature.

@aprilnovak aprilnovak added the T: task An enhancement to the software. label Sep 27, 2021
aprilnovak added a commit to aprilnovak/moose that referenced this issue Sep 27, 2021
aprilnovak added a commit to aprilnovak/moose that referenced this issue Sep 27, 2021
aprilnovak added a commit to aprilnovak/moose that referenced this issue Sep 27, 2021
aprilnovak added a commit to aprilnovak/moose that referenced this issue Sep 27, 2021
aprilnovak added a commit to aprilnovak/moose that referenced this issue Sep 27, 2021
aprilnovak added a commit to aprilnovak/moose that referenced this issue Sep 27, 2021
aprilnovak added a commit to aprilnovak/moose that referenced this issue Sep 27, 2021
aprilnovak added a commit to aprilnovak/moose that referenced this issue Sep 27, 2021
aprilnovak added a commit to aprilnovak/moose that referenced this issue Sep 27, 2021
aprilnovak added a commit to aprilnovak/moose that referenced this issue Sep 27, 2021
aprilnovak pushed a commit to aprilnovak/moose that referenced this issue Sep 27, 2021
aprilnovak added a commit to aprilnovak/moose that referenced this issue Sep 27, 2021
aprilnovak added a commit to aprilnovak/moose that referenced this issue Sep 27, 2021
aprilnovak added a commit to aprilnovak/moose that referenced this issue Sep 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T: task An enhancement to the software.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant