mimic_compute_multipoles Subroutine

public subroutine mimic_compute_multipoles(quantum_fragment, order, x_start, x_end)

compute multipoles of the quantum fragment

Arguments

TypeIntentOptionalAttributesName
type(quantum_fragment_type), intent(inout) :: quantum_fragment

quantum subsystem

integer, intent(in) :: order

order of the multipole expansion

integer, intent(in) :: x_start

index of the first yz-plane for this process

integer, intent(in) :: x_end

index of the last yz-plane for this process


Contents


Source Code

subroutine mimic_compute_multipoles(quantum_fragment, order, x_start, x_end)

    !> quantum subsystem
    type(quantum_fragment_type), intent(inout) :: quantum_fragment
    !> order of the multipole expansion
    integer, intent(in) :: order
    !> index of the first yz-plane for this process
    integer, intent(in) :: x_start
    !> index of the last yz-plane for this process
    integer, intent(in) :: x_end

    real(dp), dimension(3) :: multipole_origin

    call timer_start("mimic_compute_multipoles")

    multipole_origin = compute_centroid(quantum_fragment%nuclei)

    call quantum_fragment%compute_nuclear_multipoles(multipole_origin, order)
    call quantum_fragment%compute_electronic_multipoles(multipole_origin, order, &
                                                            x_start, x_end)

    call timer_stop

end subroutine mimic_compute_multipoles