PiecewiseMultilinear

The PiecewiseMultilinear function provides the capability of multi-dimensional piecewise linear interpolation. The data is read from file provided in the data_file argument. Interpolation axes can be a selection of one or multiple of x, y, z, t, the number of interpolation axes is referred to as dimension of the interpolation.

Formatting instructions for the data_file (reproduced from data_file docstring): any empty line and any line beginning with # are ignored, all other lines are assumed to contain relevant information. The file must begin with specification of the grid. This is done through lines containing the keywords: AXIS X; AXIS Y; AXIS Z; or AXIS T. Immediately following the keyword line must be a space-separated line of real numbers which define the grid along the specified axis. These data must be monotonically increasing. After all the axes and their grids have been specified, there must be a line that is DATA. Following that line, function values are given in the correct order (they may be on individual lines, or be space-separated on a number of lines). When the function is evaluated, f(i,j,k,l) corresponds to the i + j*Ni + k*Ni*Nj + l*Ni*Nj*Nk data value. Here i>0 corresponding to the index along the first AXIS, j>0 corresponding to the index along the second AXIS, etc, and Ni = number of grid points along the first AXIS, etc.

PiecewiseMultilinear performs linear interpolation on 1D, 2D, 3D or 4D data. The data_file specifies the axes directions and the function values. If a point lies outside the data range, the appropriate end value is used.

Input Parameters

  • data_fileFile holding data for use with PiecewiseMultiInterpolation. Format: any empty line and any line beginning with # are ignored, all other lines are assumed to contain relevant information. The file must begin with specification of the grid. This is done through lines containing the keywords: AXIS X; AXIS Y; AXIS Z; or AXIS T. Immediately following the keyword line must be a space-separated line of real numbers which define the grid along the specified axis. These data must be monotonically increasing. After all the axes and their grids have been specified, there must be a line that is DATA. Following that line, function values are given in the correct order (they may be on individual lines, or be space-separated on a number of lines). When the function is evaluated, f[i,j,k,l] corresponds to the i + j*Ni + k*Ni*Nj + l*Ni*Nj*Nk data value. Here i>=0 corresponding to the index along the first AXIS, j>=0 corresponding to the index along the second AXIS, etc, and Ni = number of grid points along the first AXIS, etc.

    C++ Type:FileName

    Controllable:No

    Description:File holding data for use with PiecewiseMultiInterpolation. Format: any empty line and any line beginning with # are ignored, all other lines are assumed to contain relevant information. The file must begin with specification of the grid. This is done through lines containing the keywords: AXIS X; AXIS Y; AXIS Z; or AXIS T. Immediately following the keyword line must be a space-separated line of real numbers which define the grid along the specified axis. These data must be monotonically increasing. After all the axes and their grids have been specified, there must be a line that is DATA. Following that line, function values are given in the correct order (they may be on individual lines, or be space-separated on a number of lines). When the function is evaluated, f[i,j,k,l] corresponds to the i + j*Ni + k*Ni*Nj + l*Ni*Nj*Nk data value. Here i>=0 corresponding to the index along the first AXIS, j>=0 corresponding to the index along the second AXIS, etc, and Ni = number of grid points along the first AXIS, etc.

  • epsilon1e-12Finite differencing parameter for gradient and time derivative

    Default:1e-12

    C++ Type:double

    Controllable:No

    Description:Finite differencing parameter for gradient and time derivative

  • execute_onLINEARThe list of flag(s) indicating when this object should be executed, the available options include FORWARD, ADJOINT, HOMOGENEOUS_FORWARD, ADJOINT_TIMESTEP_BEGIN, ADJOINT_TIMESTEP_END, NONE, INITIAL, LINEAR, NONLINEAR, POSTCHECK, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM.

    Default:LINEAR

    C++ Type:ExecFlagEnum

    Options:FORWARD, ADJOINT, HOMOGENEOUS_FORWARD, ADJOINT_TIMESTEP_BEGIN, ADJOINT_TIMESTEP_END, NONE, INITIAL, LINEAR, NONLINEAR, POSTCHECK, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM

    Controllable:No

    Description:The list of flag(s) indicating when this object should be executed, the available options include FORWARD, ADJOINT, HOMOGENEOUS_FORWARD, ADJOINT_TIMESTEP_BEGIN, ADJOINT_TIMESTEP_END, NONE, INITIAL, LINEAR, NONLINEAR, POSTCHECK, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM.

Optional Parameters

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

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

    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

    Controllable:No

    Description:Set the enabled status of the MooseObject.

Advanced Parameters

Input Files

References

No citations exist within this document.