dump_response_to_file_local Subroutine

public subroutine dump_response_to_file_local(suffix)

Routine to dump the current response matrix data to file. One file per connected domain. Each written by the head of the supercell.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in), optional :: suffix

If passed then use as part of file suffix


Contents


Source Code

  subroutine dump_response_to_file_local(suffix)
    implicit none
    !> If passed then use as part of file suffix
    character(len=*), optional, intent(in) :: suffix
    integer :: ik, is

    !First we have to pull data so that head of each supercell has full data
    !Currently we are lazy and just ensure all procs in supercell has full data
    do ik=1,fieldmat%naky
       !If ik isn't local than cycle
       if(.not.fieldmat%kyb(ik)%is_local) cycle

       !Loop over supercells
       do is=1,fieldmat%kyb(ik)%nsupercell
          !If is isn't local than cycle
          if(.not.fieldmat%kyb(ik)%supercells(is)%is_local) cycle

          !Call supercell bound method to dump response
          call fieldmat%kyb(ik)%supercells(is)%dump_to_file(suffix)
       enddo
    enddo

  end subroutine dump_response_to_file_local