The type for generic 1D point reconstruction that has to be derived. More...
Functions/Subroutines | |
subroutine | rec_point_lagrange_1d_construct (self, index_start, index_end) |
Initialize a 1D point reconstructant. | |
subroutine | rec_point_1d_place (self, x, coordinates, control_volumes) |
Place (position) the interpolant to the corresponding 'index' given the coordinate 'X' of the point and the discrete nodes. The resulting index corresponds to the node that is just before (less than or equal) the point. | |
double precision function | rec_point_1d_interpolate (self, x, coordinates, values, derivative, control_volumes) |
Directly compute the reconstruction at the given position. | |
subroutine | rec_point_lagrange_1d_compute_stencil (self, coordinates, derivative, control_volumes) |
pure integer function | rec_compute_point_index_sorted_array_dichotomic (x, coordinates, control_volumes) |
Returns the index of the node that is just before (<=) 'X'. | |
This type is based on the same principle as the t_int_point_lagrange_1D and uses an underlying t_rec_scheme for computing the 1D reconstruction. However, we have to deal with the particular of the reconstruction control volumes. Hence, the functions place
and interpolate
are redefined. The generic compute_stencil
has also been redefined.
pure integer function type_rec_point_lagrange_1d::rec_compute_point_index_sorted_array_dichotomic | ( | double precision, intent(in) | x, |
double precision, dimension(:), intent(in) | coordinates, | ||
double precision, dimension(:), intent(in) | control_volumes ) |
[in] | X | the point position |
[in] | coordinates | the control_volumes centroids array |
[in] | control_volumes | the control_volumes (width) array |
double precision function type_rec_point_lagrange_1d::rec_point_1d_interpolate | ( | class(t_rec_point_lagrange_1d), intent(inout) | self, |
double precision, intent(in) | x, | ||
double precision, dimension(:), intent(in) | coordinates, | ||
double precision, dimension(:), intent(in) | values, | ||
integer, intent(in), optional | derivative, | ||
double precision, dimension(:), intent(in), optional | control_volumes ) |
[in,out] | self | the element |
[in] | X | the position where to reconstruct |
[in] | coordinates | the coordinates of the cell centers (in the interval '1:nx') |
[in] | values | the mean values of the field (in the interval '1:nx') |
[in] | derivative | *(optional)* the derivative number: 0 (default) for value interpolation, 1 for first derivative, etc. |
[in] | control_volumes | the control volumes |
subroutine type_rec_point_lagrange_1d::rec_point_1d_place | ( | class(t_rec_point_lagrange_1d), intent(inout) | self, |
double precision, intent(in) | x, | ||
double precision, dimension(:), intent(in) | coordinates, | ||
double precision, dimension(:), intent(in), optional | control_volumes ) |