The Elk Code
 
Loading...
Searching...
No Matches
writeforces.f90
Go to the documentation of this file.
1
2! Copyright (C) 2004-2008 J. K. Dewhurst, S. Sharma and C. Ambrosch-Draxl.
3! This file is distributed under the terms of the GNU General Public License.
4! See the file COPYING for license details.
5
6subroutine writeforces(fnum)
7use modmain
8implicit none
9! arguments
10integer, intent(in) :: fnum
11! local variables
12integer is,ia,ias
13write(fnum,*)
14write(fnum,'("Forces :")')
15do is=1,nspecies
16 write(fnum,'(" species : ",I4," (",A,")")') is,trim(spsymb(is))
17 do ia=1,natoms(is)
18 ias=idxas(ia,is)
19 write(fnum,'(" atom : ",I4)') ia
20 write(fnum,'(" Hellmann-Feynman",T30,": ",3F14.8)') forcehf(:,ias)
21 write(fnum,'(" IBS",T30,": ",3F14.8)') forcetot(:,ias)-forcehf(:,ias)
22 write(fnum,'(" total force",T30,": ",3F14.8)') forcetot(:,ias)
23 write(fnum,'(" total magnitude",T30,": ",F14.8)') norm2(forcetot(1:3,ias))
24 end do
25end do
26end subroutine
27
integer, dimension(maxspecies) natoms
Definition modmain.f90:36
integer, dimension(maxatoms, maxspecies) idxas
Definition modmain.f90:42
character(64), dimension(maxspecies) spsymb
Definition modmain.f90:78
real(8), dimension(:,:), allocatable forcetot
Definition modmain.f90:990
real(8), dimension(:,:), allocatable forcehf
Definition modmain.f90:988
integer nspecies
Definition modmain.f90:34
subroutine writeforces(fnum)