![]() |
(git:9ccafda)
|
Coordinate and basis-center derivative ladders for Cartesian Gaussian integrals. Derivatives act on a basis function with the integral operator held fixed. Electronic-coordinate derivatives have the opposite sign. More...
Data Types | |
| interface | cartesian_ladder |
| interface | apply_cartesian_1d |
Functions/Subroutines | |
| subroutine, public | cartesian_ladder_map (lmax, lmin, axis, map, source_lmin) |
| Construct base, raised, lowered and degree indices for a Cartesian ladder. | |
| subroutine, public | apply_cartesian_operator (la_max, la_min, npgfa, lb_max, lb_min, npgfb, ab, values, right, derivative, exponents, origin) |
| Apply a Cartesian operator on either side of a primitive integral block. The input includes one extra shell on both sides. Coordinate multiplication uses the supplied shell-range layout; derivative inputs extend the lowest shell by one on the selected side for lowering. Screened primitive blocks must be zero in the input, including their raised and lowered functions. | |
| subroutine, public | cartesian_polynomial_1d (source, values, la_max, lb_max, powers, origin) |
| Form requested coordinate powers from separable Cartesian integral tables. Only requested powers are stored. With the origin on A, each power is a direct shift of the bra degree; other origins use the binomial expansion. | |
Coordinate and basis-center derivative ladders for Cartesian Gaussian integrals. Derivatives act on a basis function with the integral operator held fixed. Electronic-coordinate derivatives have the opposite sign.
| subroutine, public ai_cartesian_operators::cartesian_ladder_map | ( | integer, intent(in) | lmax, |
| integer, intent(in) | lmin, | ||
| integer, intent(in) | axis, | ||
| integer, dimension(:, :), intent(out) | map, | ||
| integer, intent(in), optional | source_lmin ) |
Construct base, raised, lowered and degree indices for a Cartesian ladder.
| lmax | highest output shell or one-dimensional degree |
| lmin | lowest output shell (zero for one-dimensional tables) |
| axis | Cartesian axis, or zero for a one-dimensional table |
| map | rows contain base, raised, lowered and degree indices |
| source_lmin | optional lowest input shell; defaults to lmin for Cartesian blocks |
Definition at line 45 of file ai_cartesian_operators.F.
| subroutine, public ai_cartesian_operators::apply_cartesian_operator | ( | integer, intent(in) | la_max, |
| integer, intent(in) | la_min, | ||
| integer, intent(in) | npgfa, | ||
| integer, intent(in) | lb_max, | ||
| integer, intent(in) | lb_min, | ||
| integer, intent(in) | npgfb, | ||
| real(kind=dp), dimension(:, :), intent(in) | ab, | ||
| real(kind=dp), dimension(:, :, :), intent(out) | values, | ||
| logical, intent(in) | right, | ||
| logical, intent(in) | derivative, | ||
| real(kind=dp), dimension(:), intent(in), optional | exponents, | ||
| real(kind=dp), dimension(3), intent(in), optional | origin ) |
Apply a Cartesian operator on either side of a primitive integral block. The input includes one extra shell on both sides. Coordinate multiplication uses the supplied shell-range layout; derivative inputs extend the lowest shell by one on the selected side for lowering. Screened primitive blocks must be zero in the input, including their raised and lowered functions.
| la_max | highest output shell on A |
| la_min | lowest output shell on A |
| npgfa | number of primitives on A |
| lb_max | highest output shell on B |
| lb_min | lowest output shell on B |
| npgfb | number of primitives on B |
| ab | input integral block with raised shells |
| values | three Cartesian components in the output shell-range layout |
| right | act on the ket rather than the bra |
| derivative | select a basis-center derivative |
| exponents | Gaussian exponents on the selected side, required for derivatives |
| origin | displacement of the selected center from the coordinate reference point |
Definition at line 190 of file ai_cartesian_operators.F.
| subroutine, public ai_cartesian_operators::cartesian_polynomial_1d | ( | real(kind=dp), dimension(0:, 0:, :), intent(in) | source, |
| real(kind=dp), dimension(0:, 0:, 0:, :), intent(out) | values, | ||
| integer, intent(in) | la_max, | ||
| integer, intent(in) | lb_max, | ||
| integer, dimension(0:), intent(in) | powers, | ||
| real(kind=dp), dimension(3), intent(in) | origin ) |
Form requested coordinate powers from separable Cartesian integral tables. Only requested powers are stored. With the origin on A, each power is a direct shift of the bra degree; other origins use the binomial expansion.
| source | input tables with enough raised bra degrees for the largest power |
| values | tables indexed by bra degree, ket degree, requested power and axis |
| la_max | highest output degree on A |
| lb_max | highest output degree on B |
| powers | nonnegative coordinate powers to evaluate |
| origin | displacement of A from the coordinate reference point |
Definition at line 321 of file ai_cartesian_operators.F.