| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(in), | optional | :: | initial |
subroutine write_local_spin_stats(initial) logical, intent(in), optional :: initial type(write_state_t), save :: state logical, save :: inited = .false. integer :: i if (present(initial)) then state%init = initial else state%init = .false. end if if (iProcIndex == root .and. .not. inited) then state%funit = get_free_unit() call init_local_spin_output(state%funit) inited = .true. end if if (iProcIndex == root) then if (state%init .or. state%prepend) then write(state%funit, '("#")', advance='no') state%prepend = state%init elseif (.not. state%prepend) then write(state%funit, '(" ")', advance = 'no') end if state%cols = 0 state%cols_mc = 0 state%mc_out = tMCOutput call stats_out(state, .false., iter + PreviousCycles, 'Iter.') do i = 1, nSpatOrbs call stats_out(state, .false., all_local_spin(i) / & (real(StepsSft,dp) * sum(all_norm_psi_squared) / real(inum_runs, dp)), 'Local Spin') end do write(state%funit, *) call neci_flush(state%funit) end if end subroutine write_local_spin_stats