calc_nsites_aim Function

private function calc_nsites_aim(this, length_x, length_y, length_z) result(n_sites)

Type Bound

aim

Arguments

Type IntentOptional Attributes Name
class(aim) :: this
integer, intent(in) :: length_x
integer, intent(in) :: length_y
integer, intent(in), optional :: length_z

Return Value integer


Contents

Source Code


Source Code

    function calc_nsites_aim(this, length_x, length_y, length_z) result(n_sites)
        class(aim) :: this
        integer, intent(in) :: length_x, length_y
        integer, intent(in), optional :: length_z
        integer :: n_sites
        character(*), parameter :: this_routine = "calc_nsites_aim"
        unused_var(this)
        if (present(length_z)) then
            unused_var(length_z)
        end if

        unused_var(this)
        unused_var(length_z)

        ! for AIM systems assume first length input is number of impurity
        ! sites and bath sites are number of path sites per impurity!!
        if (length_x <= 0) then
            call stop_all(this_routine, &
                          "incorrect aim_sites input <= 0!")
        end if
        if (length_y <= 0) then
            call stop_all(this_routine, &
                          "incorrect bath_sites input <= 0!")
        end if

        n_sites = length_x * length_y + length_x

    end function calc_nsites_aim