Skip to content

General sorting capabilities for VectorPostprocessor CSV output #31913

@GiudGiud

Description

@GiudGiud

Motivation

Currently sampler VPPs sort output by either id (can mean different thing depending on the sampler), x, y or z of the samples
This can be insufficient when ids are not consistent in parallel, or points are grouped in groups with the same x y z and the order is insufficiently described
But simply sorting by x then y would let you get a reproducibly-sorted output for a grid, and creating a dummy auxvariable with the desired sampling order would let you sample in any way you want.

@roystgnr came up with the proposed capability in a PR a couple months ago

Note: this is already possible using the MeshDivisions system and sampling using this VPP
https://mooseframework.inl.gov/source/vectorpostprocessors/MeshDivisionFunctorReductionVectorPostprocessor.html
The order is then defined by the order of the mesh division.
However, this might be a little too complicated for users?

Design

Add general sorting logic based on a vector of variables to sort with
Some code is SamplerBase to do that, all samplers benefit

Impact

More flexible postprocessing
CSV output is VERY common and very useful

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions