30real(8),
allocatable :: rvfmt(:,:,:),rvfir(:,:)
36 write(*,
'("Error(vecplot): spin-unpolarised magnetisation/field is zero")')
49 rvfmt(:,:,:)=
magmt(:,:,:)
55 rvfmt(:,:,3)=
magmt(:,:,1)
62 rvfmt(:,:,:)=
bxcmt(:,:,:)
68 rvfmt(:,:,3)=
bxcmt(:,:,1)
75 rvfmt(:,:,:)=-rvfmt(:,:,:)
76 rvfir(:,:)=-rvfir(:,:)
80 write(*,
'("Error(vecplot): collinear m(r) x B_xc(r) is zero")')
89 open(50,file=
'MAG1D.OUT',form=
'FORMATTED')
90 open(51,file=
'MAGLINES.OUT',form=
'FORMATTED')
91 else if (
task == 81)
then
92 open(50,file=
'BXC1D.OUT',form=
'FORMATTED')
93 open(51,file=
'BXCLINES.OUT',form=
'FORMATTED')
94 else if (
task == 141)
then
95 open(50,file=
'EF1D.OUT',form=
'FORMATTED')
96 open(51,file=
'EFLINES.OUT',form=
'FORMATTED')
98 open(50,file=
'MCBXC1D.OUT',form=
'FORMATTED')
99 open(51,file=
'MCBXCLINES.OUT',form=
'FORMATTED')
101 call plot1d(50,51,3,rvfmt,rvfir)
104 write(*,
'("Info(vecplot):")')
106 write(*,
'(" 1D magnetisation density written to MAG1D.OUT")')
107 write(*,
'(" vertex location lines written to MAGLINES.OUT")')
108 else if (
task == 81)
then
109 write(*,
'(" 1D exchange-correlation field written to BXC1D.OUT")')
110 write(*,
'(" vertex location lines written to BXCLINES.OUT")')
111 else if (
task == 141)
then
112 write(*,
'(" 1D electric field written to EF1D.OUT")')
113 write(*,
'(" vertex location lines written to EFLINES.OUT")')
115 write(*,
'(" 1D m(r) x B_xc(r) written to MCBXC1D.OUT")')
116 write(*,
'(" vertex location lines written to MCBXCLINES.OUT")')
120 open(50,file=
'MAG2D.OUT',form=
'FORMATTED')
121 else if (
task == 82)
then
122 open(50,file=
'BXC2D.OUT',form=
'FORMATTED')
123 else if (
task == 142)
then
124 open(50,file=
'EF2D.OUT',form=
'FORMATTED')
126 open(50,file=
'MCBXC2D.OUT',form=
'FORMATTED')
128 call plot2d(.true.,50,3,rvfmt,rvfir)
131 write(*,
'("Info(vecplot):")')
133 write(*,
'(" 2D magnetisation density written to MAG2D.OUT")')
134 else if (
task == 82)
then
135 write(*,
'(" 2D exchange-correlation field written to BXC2D.OUT")')
136 else if (
task == 142)
then
137 write(*,
'(" 2D electric field written to EF2D.OUT")')
139 write(*,
'(" 2D m(r) x B_xc(r) written to MCBXC2D.OUT")')
141 write(*,
'(" Note that the 3D vector field has been locally projected")')
142 write(*,
'(" onto the 2D plotting plane axes")')
145 open(50,file=
'MAG3D.OUT',form=
'FORMATTED')
146 else if (
task == 83)
then
147 open(50,file=
'BXC3D.OUT',form=
'FORMATTED')
148 else if (
task == 143)
then
149 open(50,file=
'EF3D.OUT',form=
'FORMATTED')
151 open(50,file=
'MCBXC3D.OUT',form=
'FORMATTED')
153 call plot3d(50,3,rvfmt,rvfir)
156 write(*,
'("Info(vecplot):")')
158 write(*,
'(" 3D magnetisation density written to MAG3D.OUT")')
159 else if (
task == 83)
then
160 write(*,
'(" 3D exchange-correlation field written to BXC3D.OUT")')
161 else if (
task == 143)
then
162 write(*,
'(" 3D electric field written to EF3D.OUT")')
164 write(*,
'(" 3D m(r) x B_xc(r) written to MCBXC3D.OUT")')
167deallocate(rvfmt,rvfir)
subroutine gradrf(rfmt, rfir, grfmt, grfir)
real(8), dimension(:,:,:), allocatable bxcmt
real(8), dimension(:,:,:), pointer, contiguous magmt
real(8), dimension(:,:), allocatable bxcir
real(8), dimension(:), allocatable vclir
real(8), dimension(:,:), pointer, contiguous magir
real(8), dimension(:,:), allocatable vclmt
subroutine plot1d(fnum1, fnum2, nf, rfmt, rfir)
subroutine plot2d(tproj, fnum, nf, rfmt, rfir)
subroutine plot3d(fnum, nf, rfmt, rfir)
subroutine rvfcross(rvfmt1, rvfir1, rvfmt2, rvfir2, rvfmt3, rvfir3)