- x1The first independent coordinate.
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:The first independent coordinate.
- x2The second independent coordinate.
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:The second independent coordinate.
- yThe dependent values
C++ Type:std::vector<double>
Unit:(no unit assumed)
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
- normal_componentzThe component of the geometry that is normal to the spline x1/x2 values
Default:z
C++ Type:MooseEnum
Unit:(no unit assumed)
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
Unit:(no unit assumed)
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>
Unit:(no unit assumed)
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>
Unit:(no unit assumed)
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
Unit:(no unit assumed)
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>
Unit:(no unit assumed)
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>
Unit:(no unit assumed)
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>
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.