Line data Source code
1 : !--------------------------------------------------------------------------------
2 : ! Copyright (c) 2016 Peter Grünberg Institut, Forschungszentrum Jülich, Germany
3 : ! This file is part of FLEUR and available as free software under the conditions
4 : ! of the MIT license as expressed in the LICENSE file in more detail.
5 : !--------------------------------------------------------------------------------
6 :
7 : MODULE m_writexcstuff
8 : !
9 : ! write out a file "fleur2tddft.dat" with data for Manni's TDDFT
10 : !
11 : CONTAINS
12 0 : SUBROUTINE write_xcstuff(&
13 : & sphhar,atoms,sym,&
14 : & stars,vacuum,input)
15 :
16 : USE m_types
17 : IMPLICIT NONE
18 :
19 : TYPE(t_input),INTENT(IN) :: input
20 : TYPE(t_vacuum),INTENT(IN) :: vacuum
21 : TYPE(t_sym),INTENT(IN) :: sym
22 : TYPE(t_stars),INTENT(IN) :: stars
23 : TYPE(t_sphhar),INTENT(IN) :: sphhar
24 : TYPE(t_atoms),INTENT(IN) :: atoms
25 :
26 :
27 : INTEGER :: i,i1,i2,i3
28 : !
29 : ! write out file
30 : !
31 : OPEN (741,file='fleur2tddft.dat',&
32 0 : & form='unformatted',status='unknown')
33 0 : WRITE (741) sphhar%memd,atoms%lmaxd,sphhar%nlhd,atoms%ntype,sym%nsymt
34 0 : WRITE (741) input%jspins,stars%ng3,stars%ng2,vacuum%nmzxyd,vacuum%nmzd,atoms%jmtd,&
35 0 : & input%jspins,stars%ng3,stars%ng2,vacuum%nvac,atoms%ntype,sphhar%ntypsd,atoms%nat,&
36 0 : & sym%invs,sym%invs2,input%film
37 0 : WRITE (741) sphhar%clnu, sphhar%nmem,sphhar%nlh,sphhar%mlh,sphhar%llh,atoms%jri,sym%ntypsy,atoms%neq
38 0 : WRITE (741) stars%mx1,stars%mx2,stars%mx3,stars%ng3,(2*stars%mx1+1)* (2*stars%mx2+1)* (2*stars%mx3+1)-1
39 : !WRITE (741) stars%igfft,stars%pgfft,stars%nstr
40 0 : WRITE (741) stars%kv3,stars%ig
41 0 : CLOSE (741)
42 : !
43 : ! debugging only
44 : !
45 : IF (.false.) THEN
46 :
47 : WRITE (335,*) 'these are the prime elements of the stars'
48 : WRITE (335,*) 'number of stars: ', stars%ng3
49 : DO i = 1, stars%ng3
50 : WRITE (335,'(i5,10x,3i5)') i, stars%kv3(1:3,i)
51 : ENDDO
52 : WRITE (335,*)
53 : WRITE (335,*)'mapping from larger mesh to prime elements of stars'
54 : WRITE (335,*) 'mesh size k1,k2,k3 =', stars%mx1,stars%mx2,stars%mx3
55 : DO i1 = -stars%mx1,stars%mx1
56 : DO i2 = -stars%mx2,stars%mx2
57 : DO i3 = -stars%mx3,stars%mx3
58 : WRITE (335,'(4i5)') i1,i2,i3,stars%ig(i1,i2,i3)
59 : ENDDO
60 : ENDDO
61 : ENDDO
62 : WRITE (335,*)
63 : WRITE (335,*) 'number of stars'
64 : DO i = 1,stars%ng3
65 : WRITE (335,'(2i5)') i, stars%nstr(i)
66 : ENDDO
67 : WRITE (335,*)
68 : !These do no longer exist TODO!?
69 : !WRITE (335,*) 'igfft', (2*stars%mx1+1)* (2*stars%mx2+1)* (2*stars%mx3+1)
70 : !WRITE (335,'(3i15)') stars%igfft(:,1)
71 : !WRITE (335,*) 'second part'
72 : !WRITE (335,'(3i15)') stars%igfft(:,2)
73 : !WRITE (335,*) 'pgfft', (2*stars%mx1+1)* (2*stars%mx2+1)* (2*stars%mx3+1)
74 : !WRITE (335,'(3f12.6)') stars%pgfft(:)
75 : WRITE (335,*)
76 : WRITE (335,*) 'stars%kimax: ', (2*stars%mx1+1)* (2*stars%mx2+1)* (2*stars%mx3+1)-1
77 :
78 : ENDIF
79 :
80 0 : END SUBROUTINE write_xcstuff
81 : END MODULE m_writexcstuff
|