The Elk Code
plotpt3d.f90
Go to the documentation of this file.
1 
2 ! Copyright (C) 2015 J. K. Dewhurst, S. Sharma and E. K. U. Gross.
3 ! This file is distributed under the terms of the GNU General Public License.
4 ! See the file COPYING for license details.
5 
6 pure subroutine plotpt3d(vpl)
7 use modmain
8 implicit none
9 ! arguments
10 real(8), intent(out) :: vpl(3,np3d(1)*np3d(2)*np3d(3))
11 ! local variables
12 integer ip,i1,i2,i3
13 real(8) v1(3),v2(3),v3(3)
14 real(8) t1,t2,t3
15 ! generate 3D grid from corner vectors
16 v1(:)=vclp3d(:,1)-vclp3d(:,0)
17 v2(:)=vclp3d(:,2)-vclp3d(:,0)
18 v3(:)=vclp3d(:,3)-vclp3d(:,0)
19 ip=0
20 do i3=0,np3d(3)-1
21  t3=dble(i3)/dble(np3d(3))
22  do i2=0,np3d(2)-1
23  t2=dble(i2)/dble(np3d(2))
24  do i1=0,np3d(1)-1
25  t1=dble(i1)/dble(np3d(1))
26  ip=ip+1
27  vpl(:,ip)=t1*v1(:)+t2*v2(:)+t3*v3(:)+vclp3d(:,0)
28  end do
29  end do
30 end do
31 end subroutine
32 
real(8), dimension(3, 0:3) vclp3d
Definition: modmain.f90:1130
pure subroutine plotpt3d(vpl)
Definition: plotpt3d.f90:7
integer, dimension(3) np3d
Definition: modmain.f90:1132