- x1The first independent coordinate.
C++ Type:std::vector<double>
Controllable:No
Description:The first independent coordinate.
- x2The second independent coordinate.
C++ Type:std::vector<double>
Controllable:No
Description:The second independent coordinate.
- yThe dependent values
C++ Type:std::vector<double>
Controllable:No
Description:The dependent values
BicubicSplineFunction
Define a bicubic spline function from interpolated data defined by input parameters.
The BicubicSplineFunction
defines a 2D spline shape, which can be evaluated everywhere in the domain by translation. The 2D plane for defining the spline is set by specifying the normal
parameter.
The spline is uniquely defined by:
its values the 2D plane at the (
x1
,x2
) points, given by they
parameter. The points form a 2D grid, which eachx1
being the abscissa for a line in this grid, with points at eachx2
specifiedits derivatives along
x1
andx2
at the points on each extremity, given byyx11
,yx1n
,yx21
,yx2n
a functional form for the derivative along both directions, given by
yx1
andyx2
From this information the bicubic spline is automatically generated. Both the first and second order derivatives of the spline are defined.
Example input syntax
In this example, we define a bicubic spline from a list of points and derivatives. The z
normal is assumed by default and the bicubic spline is defined in the XY plane. The grid for the points has 3 points along the x
direction and 4 points along the y
direction.
[Functions]
[./yx1]
type = ParsedFunction
expression = '3*x^2'
[../]
[./yx2]
type = ParsedFunction
expression = '6*y^2'
[../]
[./spline_fn]
type = BicubicSplineFunction
x1 = '0 2 4'
x2 = '0 2 4 6'
y = '0 16 128 432 8 24 136 440 64 80 192 496'
yx11 = '0 0 0 0'
yx1n = '48 48 48 48'
yx21 = '0 0 0'
yx2n = '216 216 216'
yx1 = 'yx1'
yx2 = 'yx2'
[../]
[./u_func]
type = ParsedFunction
expression = 'x^3 + 2*y^3'
[../]
[./u2_forcing_func]
type = ParsedFunction
expression = '-6*x - 12*y'
[../]
[]
(../moose/test/tests/utils/spline_interpolation/bicubic_spline_interpolation.i)Input Parameters
- execute_onLINEARThe list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM, ALWAYS.
Default:LINEAR
C++ Type:ExecFlagEnum
Controllable:No
Description:The list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM, ALWAYS.
- normal_componentzThe component of the geometry that is normal to the spline x1/x2 values
Default:z
C++ Type:MooseEnum
Controllable:No
Description:The component of the geometry that is normal to the spline x1/x2 values
- yx11e30The functional form of the derivative with respect to x1.
Default:1e30
C++ Type:FunctionName
Controllable:No
Description:The functional form of the derivative with respect to x1.
- yx11The values of the derivative wrt x1 on the lower interpolation grid points.
C++ Type:std::vector<double>
Controllable:No
Description:The values of the derivative wrt x1 on the lower interpolation grid points.
- yx1nThe values of the derivative wrt x1 on the upper interpolation grid points.
C++ Type:std::vector<double>
Controllable:No
Description:The values of the derivative wrt x1 on the upper interpolation grid points.
- yx21e30The functional form of the derivative with respect to x2.
Default:1e30
C++ Type:FunctionName
Controllable:No
Description:The functional form of the derivative with respect to x2.
- yx21The values of the derivative wrt x2 on the lower interpolation grid points.
C++ Type:std::vector<double>
Controllable:No
Description:The values of the derivative wrt x2 on the lower interpolation grid points.
- yx2nThe values of the derivative wrt x2 on the upper interpolation grid points.
C++ Type:std::vector<double>
Controllable:No
Description:The values of the derivative wrt x2 on the upper interpolation grid points.
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.