init_sites_aim_star Subroutine

private subroutine init_sites_aim_star(this)

Type Bound

aim_star

Arguments

Type IntentOptional Attributes Name
class(aim_star) :: this

Contents

Source Code


Source Code

    subroutine init_sites_aim_star(this)
        class(aim_star) :: this
        character(*), parameter :: this_routine = "init_sites_aim_star"

        integer :: i

        if (this%get_nsites() < 2) then
            call stop_all(this_routine, &
                          "something went wrong: less than 2 sites!")
        end if

        if (this%get_n_imps() > 1) then
            call stop_all(this_routine, "more than one impurity not yet implemented!")
        end if

        ! do the first impurity
        ! the impurity is connected to all the bath sites!
        this%sites(1) = site(1, this%get_n_bath(), [(i, i=2, this%get_nsites())], &
                             site_type='impurity')

        ! and all the bath sites are just connected to the impurity
        do i = 2, this%get_nsites()
            this%sites(i) = site(i, 1, [1], site_type='bath')
        end do

    end subroutine init_sites_aim_star