![]() |
(git:c01e6a4)
|
Adaptive Simpson's rule algorithm to integrate a complex-valued function in a complex plane. More...
Data Types | |
| type | simpsonrule_type |
| A structure to store data needed for adaptive Simpson's rule algorithm. More... | |
Functions/Subroutines | |
| subroutine, public | simpsonrule_init (sr_env, xnodes, nnodes, a, b, shape_id, conv, weights, tnodes_restart) |
| Initialise a Simpson's rule environment variable. | |
| subroutine, public | simpsonrule_release (sr_env) |
| Release a Simpson's rule environment variable. | |
| subroutine, public | simpsonrule_get_next_nodes (sr_env, xnodes_next, nnodes) |
| Get the next set of nodes where to compute integrand. | |
| subroutine, public | simpsonrule_refine_integral (sr_env, zdata_next) |
| Compute integral using the simpson's rules. | |
Variables | |
| integer, parameter, public | sr_shape_linear = contour_shape_linear |
| integer, parameter, public | sr_shape_arc = contour_shape_arc |
Adaptive Simpson's rule algorithm to integrate a complex-valued function in a complex plane.
| subroutine, public negf_integr_simpson::simpsonrule_init | ( | type(simpsonrule_type), intent(out) | sr_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) | shape_id, | ||
| real(kind=dp), intent(in) | conv, | ||
| type(cp_fm_type), intent(in) | weights, | ||
| real(kind=dp), dimension(nnodes), intent(in), optional | tnodes_restart | ||
| ) |
Initialise a Simpson's rule environment variable.
| sr_env | Simpson's rule environment (initialised on exit) |
| 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 boundary |
| b | integral upper boundary |
| shape_id | shape of a curve along which the integral will be evaluated |
| conv | convergence threshold |
| 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 121 of file negf_integr_simpson.F.
| subroutine, public negf_integr_simpson::simpsonrule_release | ( | type(simpsonrule_type), intent(inout) | sr_env | ) |
Release a Simpson's rule environment variable.
| sr_env | Simpson's rule environment (modified on exit) |
Definition at line 188 of file negf_integr_simpson.F.
| subroutine, public negf_integr_simpson::simpsonrule_get_next_nodes | ( | type(simpsonrule_type), intent(inout) | sr_env, |
| complex(kind=dp), dimension(nnodes), intent(out) | xnodes_next, | ||
| integer, intent(inout) | nnodes | ||
| ) |
Get the next set of nodes where to compute integrand.
| sr_env | Simpson's rule environment (modified on exit) |
| xnodes_next | list of additional points (initialised on exit) |
| nnodes | actual number of points to compute (modified on exit) |
Definition at line 259 of file negf_integr_simpson.F.
| subroutine, public negf_integr_simpson::simpsonrule_refine_integral | ( | type(simpsonrule_type), intent(inout) | sr_env, |
| type(cp_cfm_type), dimension(:), intent(inout) | zdata_next | ||
| ) |
Compute integral using the simpson's rules.
| sr_env | Simpson's rule environment |
| zdata_next | precomputed integrand values at points xnodes_next (nullified on exit) |
Definition at line 340 of file negf_integr_simpson.F.
| integer, parameter, public negf_integr_simpson::sr_shape_linear = contour_shape_linear |
Definition at line 46 of file negf_integr_simpson.F.
| integer, parameter, public negf_integr_simpson::sr_shape_arc = contour_shape_arc |
Definition at line 46 of file negf_integr_simpson.F.