mirror of
https://github.com/LCPQ/quantum_package
synced 2024-10-19 22:41:48 +02:00
Documentation
This commit is contained in:
parent
cea7813857
commit
536ac314b1
1
TODO
1
TODO
@ -45,3 +45,4 @@
|
|||||||
|
|
||||||
* Doc des executables
|
* Doc des executables
|
||||||
* Il faut que le programme ait le meme nom que la subroutine
|
* Il faut que le programme ait le meme nom que la subroutine
|
||||||
|
* EZFIO sans fork
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
program fcidump
|
program fcidump
|
||||||
implicit none
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! Produce a FCIDUMP file
|
||||||
|
END_DOC
|
||||||
character*(128) :: output
|
character*(128) :: output
|
||||||
integer :: i_unit_output,getUnitAndOpen
|
integer :: i_unit_output,getUnitAndOpen
|
||||||
output=trim(ezfio_filename)//'.FCIDUMP'
|
output=trim(ezfio_filename)//'.FCIDUMP'
|
||||||
|
@ -1,41 +1,44 @@
|
|||||||
program print_mos
|
program print_mos
|
||||||
implicit none
|
implicit none
|
||||||
character*(128) :: output
|
BEGIN_DOC
|
||||||
integer :: i_unit_output,getUnitAndOpen
|
! Produce a Molden file
|
||||||
provide ezfio_filename
|
END_DOC
|
||||||
|
character*(128) :: output
|
||||||
|
integer :: i_unit_output,getUnitAndOpen
|
||||||
|
provide ezfio_filename
|
||||||
|
|
||||||
integer :: i
|
integer :: i
|
||||||
print*,trim(ezfio_filename)
|
print*,trim(ezfio_filename)
|
||||||
output=trim(ezfio_filename)//'.mol'
|
output=trim(ezfio_filename)//'.mol'
|
||||||
print*,'output = ',trim(output)
|
print*,'output = ',trim(output)
|
||||||
i_unit_output = getUnitAndOpen(output,'w')
|
i_unit_output = getUnitAndOpen(output,'w')
|
||||||
print*,'i_unit_output = ',i_unit_output
|
print*,'i_unit_output = ',i_unit_output
|
||||||
call write_intro_gamess(i_unit_output)
|
call write_intro_gamess(i_unit_output)
|
||||||
call write_geometry(i_unit_output)
|
call write_geometry(i_unit_output)
|
||||||
call write_Ao_basis(i_unit_output)
|
call write_Ao_basis(i_unit_output)
|
||||||
call write_Mo_basis(i_unit_output)
|
call write_Mo_basis(i_unit_output)
|
||||||
|
|
||||||
|
|
||||||
write(i_unit_output,*)''
|
write(i_unit_output,*)''
|
||||||
write(i_unit_output,*)''
|
write(i_unit_output,*)''
|
||||||
write(i_unit_output,*)' ------------------------'
|
write(i_unit_output,*)' ------------------------'
|
||||||
|
|
||||||
close(i_unit_output)
|
close(i_unit_output)
|
||||||
end
|
end
|
||||||
|
|
||||||
subroutine write_intro_gamess(i_unit_output)
|
subroutine write_intro_gamess(i_unit_output)
|
||||||
implicit none
|
implicit none
|
||||||
integer, intent(in) :: i_unit_output
|
integer, intent(in) :: i_unit_output
|
||||||
integer :: i,j,k,l
|
integer :: i,j,k,l
|
||||||
|
|
||||||
write(i_unit_output,*)' * GAMESS VERSION = 22 FEB 2006 (R5) *'
|
write(i_unit_output,*)' * GAMESS VERSION = 22 FEB 2006 (R5) *'
|
||||||
write(i_unit_output,*)' * FROM IOWA STATE UNIVERSITY *'
|
write(i_unit_output,*)' * FROM IOWA STATE UNIVERSITY *'
|
||||||
write(i_unit_output,*)' * M.W.SCHMIDT, K.K.BALDRIDGE, J.A.BOATZ, S.T.ELBERT, *'
|
write(i_unit_output,*)' * M.W.SCHMIDT, K.K.BALDRIDGE, J.A.BOATZ, S.T.ELBERT, *'
|
||||||
write(i_unit_output,*)' * M.S.GORDON, J.H.JENSEN, S.KOSEKI, N.MATSUNAGA, *'
|
write(i_unit_output,*)' * M.S.GORDON, J.H.JENSEN, S.KOSEKI, N.MATSUNAGA, *'
|
||||||
write(i_unit_output,*)' * K.A.NGUYEN, S.J.SU, T.L.WINDUS, *'
|
write(i_unit_output,*)' * K.A.NGUYEN, S.J.SU, T.L.WINDUS, *'
|
||||||
write(i_unit_output,*)' * TOGETHER WITH M.DUPUIS, J.A.MONTGOMERY *'
|
write(i_unit_output,*)' * TOGETHER WITH M.DUPUIS, J.A.MONTGOMERY *'
|
||||||
write(i_unit_output,*)' * J.COMPUT.CHEM. 14, 1347-1363(1993) *'
|
write(i_unit_output,*)' * J.COMPUT.CHEM. 14, 1347-1363(1993) *'
|
||||||
write(i_unit_output,*)''
|
write(i_unit_output,*)''
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -43,97 +46,97 @@ end
|
|||||||
|
|
||||||
|
|
||||||
subroutine write_geometry(i_unit_output)
|
subroutine write_geometry(i_unit_output)
|
||||||
implicit none
|
implicit none
|
||||||
integer, intent(in) :: i_unit_output
|
integer, intent(in) :: i_unit_output
|
||||||
integer :: i,j,k,l, getUnitAndOpen
|
integer :: i,j,k,l, getUnitAndOpen
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
write(i_unit_output,*)'ATOM ATOMIC COORDINATES (BOHR) '
|
write(i_unit_output,*)'ATOM ATOMIC COORDINATES (BOHR) '
|
||||||
write(i_unit_output,*)' CHARGE X Y Z'
|
write(i_unit_output,*)' CHARGE X Y Z'
|
||||||
do i = 1, nucl_num
|
do i = 1, nucl_num
|
||||||
! write(i_unit_output,'(A2 I3 X F3.1 X 3(F16.10))') trim(element_name(int(nucl_charge(i)))),i,(nucl_charge(i)), nucl_coord(i,1), nucl_coord(i,2), nucl_coord(i,3)
|
! write(i_unit_output,'(A2 I3 X F3.1 X 3(F16.10))') trim(element_name(int(nucl_charge(i)))),i,(nucl_charge(i)), nucl_coord(i,1), nucl_coord(i,2), nucl_coord(i,3)
|
||||||
write(i_unit_output,'(A2,I1, 9X F5.1 X 3(F16.10 ,4X))') trim(element_name(int(nucl_charge(i)))),i,(nucl_charge(i)), nucl_coord(i,1), nucl_coord(i,2), nucl_coord(i,3)
|
write(i_unit_output,'(A2,I1, 9X F5.1 X 3(F16.10 ,4X))') trim(element_name(int(nucl_charge(i)))),i,(nucl_charge(i)), nucl_coord(i,1), nucl_coord(i,2), nucl_coord(i,3)
|
||||||
enddo
|
enddo
|
||||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
subroutine write_Ao_basis(i_unit_output)
|
subroutine write_Ao_basis(i_unit_output)
|
||||||
implicit none
|
implicit none
|
||||||
integer, intent(in) :: i_unit_output
|
integer, intent(in) :: i_unit_output
|
||||||
integer :: i,j,k,l, getUnitAndOpen
|
integer :: i,j,k,l, getUnitAndOpen
|
||||||
character*(128) :: character_shell
|
character*(128) :: character_shell
|
||||||
integer :: i_shell,i_prim,i_ao
|
integer :: i_shell,i_prim,i_ao
|
||||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
write(i_unit_output,*)''
|
write(i_unit_output,*)''
|
||||||
write(i_unit_output,*)''
|
write(i_unit_output,*)''
|
||||||
write(i_unit_output,*)' ATOMIC BASIS SET'
|
write(i_unit_output,*)' ATOMIC BASIS SET'
|
||||||
write(i_unit_output,*)' ----------------'
|
write(i_unit_output,*)' ----------------'
|
||||||
write(i_unit_output,*)'THE CONTRACTED PRIMITIVE FUNCTIONS HAVE BEEN UNNORMALIZED'
|
write(i_unit_output,*)'THE CONTRACTED PRIMITIVE FUNCTIONS HAVE BEEN UNNORMALIZED'
|
||||||
write(i_unit_output,*)'THE CONTRACTED BASIS FUNCTIONS ARE NOW NORMALIZED TO UNITY'
|
write(i_unit_output,*)'THE CONTRACTED BASIS FUNCTIONS ARE NOW NORMALIZED TO UNITY'
|
||||||
write(i_unit_output,*)''
|
write(i_unit_output,*)''
|
||||||
write(i_unit_output,*)'SHELL TYPE PRIMITIVE EXPONENT CONTRACTION COEFFICIENT(S)'
|
write(i_unit_output,*)'SHELL TYPE PRIMITIVE EXPONENT CONTRACTION COEFFICIENT(S)'
|
||||||
write(i_unit_output,*)''
|
write(i_unit_output,*)''
|
||||||
write(i_unit_output,*)''
|
write(i_unit_output,*)''
|
||||||
|
|
||||||
i_shell = 0
|
i_shell = 0
|
||||||
i_prim = 0
|
i_prim = 0
|
||||||
do i = 1, Nucl_num
|
do i = 1, Nucl_num
|
||||||
write(i_unit_output,'(A2,I1)') trim(element_name(int(nucl_charge(i)))),i
|
write(i_unit_output,'(A2,I1)') trim(element_name(int(nucl_charge(i)))),i
|
||||||
write(i_unit_output,*)' '
|
write(i_unit_output,*)' '
|
||||||
! write(i_unit_output,*)'Nucl_num_shell_Aos(i) = ',Nucl_num_shell_Aos(i)
|
! write(i_unit_output,*)'Nucl_num_shell_Aos(i) = ',Nucl_num_shell_Aos(i)
|
||||||
do j = 1, Nucl_num_shell_Aos(i)
|
do j = 1, Nucl_num_shell_Aos(i)
|
||||||
i_shell +=1
|
i_shell +=1
|
||||||
i_ao = Nucl_list_shell_Aos(i,j)
|
i_ao = Nucl_list_shell_Aos(i,j)
|
||||||
character_shell = trim(ao_l_char(i_ao))
|
character_shell = trim(ao_l_char(i_ao))
|
||||||
! write(i_unit_output,*),j,i_shell,i_ao!trim(character_shell)
|
! write(i_unit_output,*),j,i_shell,i_ao!trim(character_shell)
|
||||||
do k = 1, ao_prim_num(i_ao)
|
do k = 1, ao_prim_num(i_ao)
|
||||||
i_prim +=1
|
i_prim +=1
|
||||||
if(i_prim.lt.100)then
|
if(i_prim.lt.100)then
|
||||||
write(i_unit_output,'(4X,I3,3X,A1,6X,I2,6X,F16.7,2X,F16.12)')i_shell,character_shell,i_prim,ao_expo(i_ao,k),ao_coef(i_ao,k)
|
write(i_unit_output,'(4X,I3,3X,A1,6X,I2,6X,F16.7,2X,F16.12)')i_shell,character_shell,i_prim,ao_expo(i_ao,k),ao_coef(i_ao,k)
|
||||||
else
|
else
|
||||||
write(i_unit_output,'(4X,I3,3X,A1,5X,I3,6X,F16.7,2X,F16.12)')i_shell,character_shell,i_prim,ao_expo(i_ao,k),ao_coef(i_ao,k)
|
write(i_unit_output,'(4X,I3,3X,A1,5X,I3,6X,F16.7,2X,F16.12)')i_shell,character_shell,i_prim,ao_expo(i_ao,k),ao_coef(i_ao,k)
|
||||||
endif
|
endif
|
||||||
|
enddo
|
||||||
|
write(i_unit_output,*)''
|
||||||
enddo
|
enddo
|
||||||
write(i_unit_output,*)''
|
enddo
|
||||||
enddo
|
|
||||||
enddo
|
|
||||||
|
|
||||||
write(i_unit_output,*)''
|
write(i_unit_output,*)''
|
||||||
write(i_unit_output,'(A47,2X,I3)')'TOTAL NUMBER OF BASIS SET SHELLS =', i_shell
|
write(i_unit_output,'(A47,2X,I3)')'TOTAL NUMBER OF BASIS SET SHELLS =', i_shell
|
||||||
write(i_unit_output,'(A47,2X,I3)')'NUMBER OF CARTESIAN GAUSSIAN BASIS FUNCTIONS =', ao_num
|
write(i_unit_output,'(A47,2X,I3)')'NUMBER OF CARTESIAN GAUSSIAN BASIS FUNCTIONS =', ao_num
|
||||||
! this is for the new version of molden
|
! this is for the new version of molden
|
||||||
write(i_unit_output,'(A12)')'PP =NONE'
|
write(i_unit_output,'(A12)')'PP =NONE'
|
||||||
write(i_unit_output,*)''
|
write(i_unit_output,*)''
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
subroutine write_Mo_basis(i_unit_output)
|
subroutine write_Mo_basis(i_unit_output)
|
||||||
implicit none
|
implicit none
|
||||||
integer, intent(in) :: i_unit_output
|
integer, intent(in) :: i_unit_output
|
||||||
integer :: i,j,k,l, getUnitAndOpen
|
integer :: i,j,k,l, getUnitAndOpen
|
||||||
integer :: i_5,i_mod
|
integer :: i_5,i_mod
|
||||||
|
|
||||||
write(i_unit_output,*) ' ----------------------'
|
write(i_unit_output,*) ' ----------------------'
|
||||||
write(i_unit_output,*) ' MCSCF NATURAL ORBITALS'
|
write(i_unit_output,*) ' MCSCF NATURAL ORBITALS'
|
||||||
write(i_unit_output,*) ' ----------------------'
|
write(i_unit_output,*) ' ----------------------'
|
||||||
write(i_unit_output,*) ' '
|
write(i_unit_output,*) ' '
|
||||||
|
|
||||||
do j = 1, mo_tot_num
|
do j = 1, mo_tot_num
|
||||||
write(i_unit_output,'(18X,I3)')j
|
write(i_unit_output,'(18X,I3)')j
|
||||||
write(i_unit_output,*)''
|
write(i_unit_output,*)''
|
||||||
write(i_unit_output,'(18X,F8.5)')-1.d0
|
write(i_unit_output,'(18X,F8.5)')-1.d0
|
||||||
write(i_unit_output,*)''
|
write(i_unit_output,*)''
|
||||||
do i = 1, ao_num
|
do i = 1, ao_num
|
||||||
! write(i_unit_output,'(2X,I3, 2X A1, I3, 2X A4 , F9.6)')i,trim(element_name(int(nucl_charge(ao_nucl(i))))),ao_nucl(i),(ao_l_char_space(i)),mo_coef(i,j)
|
! write(i_unit_output,'(2X,I3, 2X A1, I3, 2X A4 , F9.6)')i,trim(element_name(int(nucl_charge(ao_nucl(i))))),ao_nucl(i),(ao_l_char_space(i)),mo_coef(i,j)
|
||||||
! F12.6 for larger coefficients...
|
! F12.6 for larger coefficients...
|
||||||
write(i_unit_output,'(2X,I3, 2X A1, I3, 2X A4 , F12.6)')i,trim(element_name(int(nucl_charge(ao_nucl(i))))),ao_nucl(i),(ao_l_char_space(i)),mo_coef(i,j)
|
write(i_unit_output,'(2X,I3, 2X A1, I3, 2X A4 , F12.6)')i,trim(element_name(int(nucl_charge(ao_nucl(i))))),ao_nucl(i),(ao_l_char_space(i)),mo_coef(i,j)
|
||||||
! write(i_unit_output,'(I3, X A1, X I3, X A4 X F16.8)')i,trim(element_name(int(nucl_charge(ao_nucl(i))))),ao_nucl(i),(ao_l_char_space(i))
|
! write(i_unit_output,'(I3, X A1, X I3, X A4 X F16.8)')i,trim(element_name(int(nucl_charge(ao_nucl(i))))),ao_nucl(i),(ao_l_char_space(i))
|
||||||
|
enddo
|
||||||
|
write(i_unit_output,*)''
|
||||||
enddo
|
enddo
|
||||||
write(i_unit_output,*)''
|
|
||||||
enddo
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
program save_natorb
|
program save_natorb
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! Save natural MOs into the EZFIO
|
||||||
|
END_DOC
|
||||||
read_wf = .True.
|
read_wf = .True.
|
||||||
touch read_wf
|
touch read_wf
|
||||||
call save_natural_mos
|
call save_natural_mos
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
program save_ortho_mos
|
program save_ortho_mos
|
||||||
call orthonormalize_mos
|
implicit none
|
||||||
call save_mos
|
BEGIN_DOC
|
||||||
|
! Save orthonormalized MOs in the EZFIO.
|
||||||
|
END_DOC
|
||||||
|
call orthonormalize_mos
|
||||||
|
call save_mos
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user