0.6.0
Loading...
Searching...
No Matches
mod_extrapolation_computer::ext_compute Interface Reference

Public Member Functions

double precision function ext_compute_from_values (scheme, ext_step, steps, values)
 Compute the extrapolation via the scheme by giving the associated field values.
 
double precision function ext_compute_from_scheme (scheme, values)
 Compute the extrapolation of the scheme by giving the associated field values.
 
double precision function ext_compute_from_field (scheme, ext_step, x_step_array, y_step_array, z_step_array, field, i, j, k, axis)
 Compute the extrapolation via the scheme by giving the associated field, the step arrays for each dimension, the indices (position) and the direction (x,y or z).
 
double precision function ext_compute_from_face_field (scheme, ext_step, x_step_array, y_step_array, z_step_array, field, i, j, k, axis)
 Compute the extrapolation via the scheme by giving the associated face field, the step arrays for each dimension, the indices (position) and the direction (x,y or z).
 
double precision function ext_compute_with_neumann (scheme, ext_step, steps, values, derivative_value)
 Compute the extrapolation of the scheme by giving the associated field values and the derivative value (ie. Neumann constraint).
 

Member Function/Subroutine Documentation

◆ ext_compute_from_face_field()

double precision function mod_extrapolation_computer::ext_compute::ext_compute_from_face_field ( class(t_ext_scheme), intent(inout) scheme,
double precision, intent(in) ext_step,
double precision, dimension(:), intent(in) x_step_array,
double precision, dimension(:), intent(in) y_step_array,
double precision, dimension(:), intent(in) z_step_array,
type(t_face_field), intent(in) field,
integer, intent(in) i,
integer, intent(in) j,
integer, intent(in) k,
integer, intent(in) axis )

Compute the extrapolation via the scheme by giving the associated face field, the step arrays for each dimension, the indices (position) and the direction (x,y or z).

Parameters
[in]schemethe extrapolation scheme
[in]ext_stepthe extrapolation step (gap)
[in]x_step_arraythe discretization step array in the x direction ; x_step_array(i) is the distance from face(i+1) to face(i) (different from the cell field definition)
[in]y_step_arraythe discretization step array in the y direction
[in]z_step_arraythe discretization step array in the z direction
[in]fieldthe field \(\phi\) to which to apply the scheme at the given indices.
[in]i,j,kthe indices where to compute the FD
[in]axisthe axis (direction) \(axis={1,2,3}\) for \({x,y,z}\)
Returns
the value of the scheme evaluated with the input values
Warning
This function is not the most efficient, especialy when used in a i,j,k loop, because it switches for each direction!

◆ ext_compute_from_field()

double precision function mod_extrapolation_computer::ext_compute::ext_compute_from_field ( class(t_ext_scheme), intent(inout) scheme,
double precision, intent(in) ext_step,
double precision, dimension(:), intent(in) x_step_array,
double precision, dimension(:), intent(in) y_step_array,
double precision, dimension(:), intent(in) z_step_array,
double precision, dimension(:,:,:), intent(in) field,
integer, intent(in) i,
integer, intent(in) j,
integer, intent(in) k,
integer, intent(in) axis )

Compute the extrapolation via the scheme by giving the associated field, the step arrays for each dimension, the indices (position) and the direction (x,y or z).

Parameters
[in]schemethe extrapolation scheme
[in]ext_stepthe extrapolation step (gap)
[in]x_step_arraythe discretization step array in the x direction ; x_step_array(i) is the distance from cell(i) to cell(i-1)
[in]y_step_arraythe discretization step array in the y direction
[in]z_step_arraythe discretization step array in the z direction
[in]fieldthe field \(\phi\) to which to apply the scheme at the given indices.
[in]i,j,kthe indices where to compute the FD
[in]axisthe axis (direction) \(axis={1,2,3}\) for \({x,y,z}\)
Returns
the value of the scheme evaluated with the input values
Warning
This function is not the most efficient, especialy when used in a i,j,k loop, because it switches for each direction!

◆ ext_compute_from_scheme()

double precision function mod_extrapolation_computer::ext_compute::ext_compute_from_scheme ( class(t_ext_scheme), intent(inout) scheme,
double precision, dimension(:), intent(in) values )

Compute the extrapolation of the scheme by giving the associated field values.

Parameters
[in]schemethe extrapolation scheme (previously defined)
[in]valuesthe field values to which to apply the scheme. They must be of the same dimension as the scheme
Returns
the value of the scheme evaluated with the input values
Precondition
the scheme has already been init and filled!

◆ ext_compute_from_values()

double precision function mod_extrapolation_computer::ext_compute::ext_compute_from_values ( class(t_ext_scheme), intent(inout) scheme,
double precision, intent(in) ext_step,
double precision, dimension(:), intent(in) steps,
double precision, dimension(:), intent(in) values )

Compute the extrapolation via the scheme by giving the associated field values.

Parameters
[in]schemethe extrapolation scheme
[in]ext_stepthe extrapolation step (gap)
[in]stepsthe discretization steps, with size(steps)==size(values)-1
[in]valuesthe field values to which to apply the scheme. They must be of the same dimension as the scheme
Returns
the value of the scheme evaluated with the input values
Precondition
the scheme has already been init

◆ ext_compute_with_neumann()

double precision function mod_extrapolation_computer::ext_compute::ext_compute_with_neumann ( class(t_ext_neumann_scheme), intent(inout) scheme,
double precision, intent(in) ext_step,
double precision, dimension(:), intent(in) steps,
double precision, dimension(:), intent(in) values,
double precision, intent(in) derivative_value )

Compute the extrapolation of the scheme by giving the associated field values and the derivative value (ie. Neumann constraint).

Warning
Of course, only first derivative backward/forward schemes can be used! See
See also
Extrapolation documentation for the method's principle.
Parameters
[in]schemethe extrapolation scheme
[in]ext_stepthe extrapolation step (gap)
[in]stepsthe discretization steps excluding the extrapolation step included, hence with size(steps)==size(values)-1
[in]valuesthe known function values to which to apply the scheme
[in]derivative_valuethe value of the derivative at the extrapolated point
Returns
the extrapolated value
Precondition
the scheme has already been init
the scheme has to be forward or backward, starting or ending exactly at index==0

The documentation for this interface was generated from the following file: