0.6.0
Loading...
Searching...
No Matches
mod_integration_computer Module Reference

Computer for evaluating Integration Schemes. More...

Functions/Subroutines

double precision function integ_compute_from_values (scheme, values, cell_width)
 Compute the integration via the scheme by giving the associated field values.
 
double precision function integ_compute_from_array (scheme, scheme_interp, step_array, cv_array, array, index)
 Compute the integration via the scheme by giving the associated array, the index where to compute the integration.
 
double precision function integ_compute_from_field (scheme, order, pos_field_x, pos_field_y, pos_field_z, cv_field_x, cv_field_y, cv_field_z, field, i, j, k, dim)
 Integrate on the field Given a 'scheme' and the 'order' of interpolation.
 
double precision function integ_compute_from_field_with_function (scheme, order, pos_field_x, pos_field_y, pos_field_z, cv_field_x, cv_field_y, cv_field_z, field, i, j, k, dim, func, arg)
 Integrate on the field Given a 'scheme' and the 'order' of interpolation Apply the given scalar function to the interpolated values.
 
double precision function integ_compute_from_face_field (scheme, order, pos_field_x, pos_field_y, pos_field_z, cv_field_x, cv_field_y, cv_field_z, field, i, j, k, dim, comp)
 Integrate on the field Given a 'scheme' and the 'order' of interpolation Using the component 'comp' (1 for 'u', 2 for 'v', 3 for 'w')
 

Detailed Description

Computer for evaluating Integration Schemes.

Function/Subroutine Documentation

◆ integ_compute_from_array()

double precision function mod_integration_computer::integ_compute_from_array ( class(t_integ_scheme), intent(in) scheme,
class(t_int_scheme), intent(in) scheme_interp,
double precision, dimension(:), intent(in) step_array,
double precision, dimension(:), intent(in) cv_array,
double precision, dimension(:), intent(in) array,
integer, intent(in) index )

Compute the integration via the scheme by giving the associated array, the index where to compute the integration.

For that purpose, we use interpolation of the data in 'array' The integration is done around the 'index' node, ie in the interval [pos(index)-cv_array(index)/2 : pos(index)+cv_array(index)/2]

Parameters
[in]schemethe finite difference scheme
[in]scheme_interpthe interpolation scheme to use type_int_scheme
[in]step_arraythe discretization step array where step_array(i) is the step between array(i) and array(i+1)
[in]arraythe 1D array \(\phi(i)\) to which apply the scheme at the given index.
[in]cv_arrayis the control volume array, around the nodes
[in]indexthe index where to compute the integral
Returns
the value of the scheme evaluated with the input values
Precondition
the scheme has to be of dimension 1!

◆ integ_compute_from_values()

double precision function mod_integration_computer::integ_compute_from_values ( class(t_integ_scheme) scheme,
double precision, dimension(:), intent(in) values,
double precision, intent(in) cell_width )

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

Note
The integration is done between [-1:+1]
Parameters
[in]schemethe integration scheme
[in]valuesthe field values to which to apply the scheme. They must be located at the associated scheme positions. The array must be of the same dimension as the scheme.
[in]cell_widththe physical effective width (volume) of the 1D cell
Returns
the value of the scheme evaluated with the input values