![]() |
(git:b77b4be)
|
Adaptive Clenshaw-Curtis quadrature algorithm to integrate a complex-valued function in a complex plane. More...
Data Types | |
type | ccquad_type |
Adaptive Clenshaw-Curtis environment. More... | |
Functions/Subroutines | |
subroutine, public | ccquad_init (cc_env, xnodes, nnodes, a, b, interval_id, shape_id, weights, tnodes_restart) |
Initialise a Clenshaw-Curtis quadrature environment variable. | |
subroutine, public | ccquad_release (cc_env) |
Release a Clenshaw-Curtis quadrature environment variable. | |
subroutine, public | ccquad_double_number_of_points (cc_env, xnodes_next) |
Get the next set of points at which the integrand needs to be computed. These points are then can be used to refine the integral approximation. | |
subroutine, public | ccquad_reduce_and_append_zdata (cc_env, zdata_next) |
Prepare Clenshaw-Curtis environment for the subsequent refinement of the integral. | |
subroutine, public | ccquad_refine_integral (cc_env) |
Refine approximated integral. | |
Variables | |
integer, parameter, public | cc_interval_full = 0 |
integer, parameter, public | cc_interval_half = 1 |
integer, parameter, public | cc_shape_linear = contour_shape_linear |
integer, parameter, public | cc_shape_arc = contour_shape_arc |
Adaptive Clenshaw-Curtis quadrature algorithm to integrate a complex-valued function in a complex plane.
subroutine, public negf_integr_cc::ccquad_init | ( | type(ccquad_type), intent(out) | cc_env, |
complex(kind=dp), dimension(nnodes), intent(out) | xnodes, | ||
integer, intent(inout) | nnodes, | ||
complex(kind=dp), intent(in) | a, | ||
complex(kind=dp), intent(in) | b, | ||
integer, intent(in) | interval_id, | ||
integer, intent(in) | shape_id, | ||
type(cp_fm_type), intent(in) | weights, | ||
real(kind=dp), dimension(nnodes), intent(in), optional | tnodes_restart | ||
) |
Initialise a Clenshaw-Curtis quadrature environment variable.
cc_env | environment variable to initialise |
xnodes | points at which an integrand needs to be computed (initialised on exit) |
nnodes | initial number of points to compute (initialised on exit) |
a | integral lower bound |
b | integral upper bound |
interval_id | full [-1 .. 1] or half [-1 .. 0] interval |
shape_id | shape of a curve along which the integral will be evaluated |
weights | weights associated with matrix elements; used to compute cumulative error |
tnodes_restart | list of nodes over the interval [-1 .. 1] from a previous integral evaluation. If present, the same set of 'xnodes' will be used to compute this integral. |
Definition at line 113 of file negf_integr_cc.F.
subroutine, public negf_integr_cc::ccquad_release | ( | type(ccquad_type), intent(inout) | cc_env | ) |
Release a Clenshaw-Curtis quadrature environment variable.
cc_env | environment variable to release (modified on exit) |
Definition at line 202 of file negf_integr_cc.F.
subroutine, public negf_integr_cc::ccquad_double_number_of_points | ( | type(ccquad_type), intent(inout) | cc_env, |
complex(kind=dp), dimension(:), intent(inout), allocatable | xnodes_next | ||
) |
Get the next set of points at which the integrand needs to be computed. These points are then can be used to refine the integral approximation.
cc_env | environment variable (modified on exit) |
xnodes_next | set of additional points (allocated and initialised on exit) |
Definition at line 250 of file negf_integr_cc.F.
subroutine, public negf_integr_cc::ccquad_reduce_and_append_zdata | ( | type(ccquad_type), intent(inout) | cc_env, |
type(cp_cfm_type), dimension(:), intent(inout) | zdata_next | ||
) |
Prepare Clenshaw-Curtis environment for the subsequent refinement of the integral.
cc_env | environment variable (modified on exit) |
zdata_next | additional integrand value at additional points (modified on exit) |
Definition at line 333 of file negf_integr_cc.F.
subroutine, public negf_integr_cc::ccquad_refine_integral | ( | type(ccquad_type), intent(inout) | cc_env | ) |
Refine approximated integral.
cc_env | environment variable (modified on exit) |
Definition at line 428 of file negf_integr_cc.F.
integer, parameter, public negf_integr_cc::cc_interval_full = 0 |
Definition at line 49 of file negf_integr_cc.F.
integer, parameter, public negf_integr_cc::cc_interval_half = 1 |
Definition at line 49 of file negf_integr_cc.F.
integer, parameter, public negf_integr_cc::cc_shape_linear = contour_shape_linear |
Definition at line 52 of file negf_integr_cc.F.
integer, parameter, public negf_integr_cc::cc_shape_arc = contour_shape_arc |
Definition at line 52 of file negf_integr_cc.F.