PiecewiseLinearFromVectorPostprocessor

Provides piecewise linear interpolation of from two columns of a VectorPostprocessor

Description

The PiecewiseLinearFromVectorPostprocessor function performs linear interpolations between pairs of data generated by a vector post-processor object. The abscissa ("argument_column") and the ordinate ("value_column") values should correspond to the names of member vectors of the object specified for the "vectorpostprocessor_name" parameter. By default, the abscissa values correspond to time, and the data will be interpolated at the actual simulation time-step values. However, it is possible to interpolate over spatial (x, y, or z) coordinates by specifying a direction with the "component" parameter, where the inputs, 0, 1, and 2, correspond to the x, y, and z directions, respectively.

Example Input Syntax

In this example, three PiecewiseLinearFromVectorPostprocessors are created and take data from three distinct vector postprocessors. All three functions use a "component" parameter, which is set so they are functions of space rather than time (y for first two, x for the last one).

[Functions]
  [ramp_u]
    type = ParsedFunction
    expression = 't'
  []
  [point_value_function_u]
    type = VectorPostprocessorFunction
    component = y
    argument_column = y
    value_column = u
    vectorpostprocessor_name = point_value_vector_postprocessor_u
  []
  [line_value_function_v]
    type = VectorPostprocessorFunction
    component = y
    argument_column = y
    value_column = v
    vectorpostprocessor_name = line_value_vector_postprocessor_v
  []
  [test_parallel_func]
    type = VectorPostprocessorFunction
    component = x
    argument_column = xx
    value_column = qq
    vectorpostprocessor_name = test_parallel_vpp
  []
  [function_v]
    type = PiecewiseLinear
    x = '0 0.008'
    y = '1 2'
    axis = y
  []
[]

[VectorPostprocessors]
  [point_value_vector_postprocessor_u]
    type = PointValueSampler
    variable = u
    points = '0 0.001 0 0 0.004 0 0 0.008 0'
    #points = '0.001 0 0 0.002 0 0'
    sort_by = y
    execute_on = linear
  []
  [line_value_vector_postprocessor_v]
    type = LineValueSampler
    variable = v
    start_point = '0 0.001 0'
    end_point = '0 0.008 0'
    num_points = 5
    sort_by = y
    execute_on = linear
  []
  [test_parallel_vpp]
    type = ConstantVectorPostprocessor
    vector_names = 'xx qq'
    value = '0    1;
             1000 1000'
    execute_on = 'initial timestep_begin'
  []
[]
(moose/test/tests/functions/piecewise_linear_from_vectorpostprocessor/vector_postprocessor_function.i)

Input Parameters

  • argument_columnVectorPostprocessor column tabulating the abscissa of the sampled function

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:VectorPostprocessor column tabulating the abscissa of the sampled function

  • value_columnVectorPostprocessor column tabulating the ordinate (function values) of the sampled function

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:VectorPostprocessor column tabulating the ordinate (function values) of the sampled function

  • vectorpostprocessor_nameThe name of the VectorPostprocessor that you want to use

    C++ Type:VectorPostprocessorName

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of the VectorPostprocessor that you want to use

Required Parameters

  • componenttimeComponent of the function evaluation point used to sample the VectorPostprocessor

    Default:time

    C++ Type:MooseEnum

    Unit:(no unit assumed)

    Options:x, y, z, time

    Controllable:No

    Description:Component of the function evaluation point used to sample the VectorPostprocessor

  • parallel_syncTrueWhether or not this Function should be synced to all processors when running in parallel.

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not this Function should be synced to all processors when running in parallel.

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Set the enabled status of the MooseObject.

Advanced Parameters