2015-05-21 10:15:13 +02:00
|
|
|
program save_for_qmc
|
2016-06-06 09:31:51 +02:00
|
|
|
|
|
|
|
integer :: iunit
|
|
|
|
integer, external :: get_unit_and_open
|
|
|
|
logical :: exists
|
|
|
|
double precision :: e_ref
|
|
|
|
|
|
|
|
! Determinants
|
|
|
|
read_wf = .True.
|
|
|
|
TOUCH read_wf
|
|
|
|
print *, "N_det = ", N_det
|
|
|
|
call write_spindeterminants
|
|
|
|
|
|
|
|
! Reference Energy
|
|
|
|
if (do_pseudo) then
|
|
|
|
call write_pseudopotential
|
|
|
|
endif
|
|
|
|
call system( &
|
|
|
|
'mkdir -p '//trim(ezfio_filename)//'/simulation ;' // &
|
|
|
|
'cp '//trim(ezfio_filename)//'/.version '//trim(ezfio_filename)//'/simulation/.version ; ' // &
|
|
|
|
'mkdir -p '//trim(ezfio_filename)//'/properties ;' // &
|
|
|
|
'cp '//trim(ezfio_filename)//'/.version '//trim(ezfio_filename)//'/properties/.version ; ' // &
|
|
|
|
'echo T > '//trim(ezfio_filename)//'/properties/e_loc' &
|
|
|
|
)
|
|
|
|
iunit = 13
|
|
|
|
open(unit=iunit,file=trim(ezfio_filename)//'/simulation/e_ref',action='write')
|
|
|
|
call ezfio_has_full_ci_energy_pt2(exists)
|
|
|
|
if (exists) then
|
|
|
|
call ezfio_get_full_ci_energy_pt2(e_ref)
|
|
|
|
else
|
|
|
|
call ezfio_has_full_ci_energy(exists)
|
|
|
|
if (exists) then
|
|
|
|
call ezfio_get_full_ci_energy(e_ref)
|
|
|
|
else
|
|
|
|
call ezfio_has_hartree_fock_energy(exists)
|
|
|
|
if (exists) then
|
|
|
|
call ezfio_get_hartree_fock_energy(e_ref)
|
|
|
|
else
|
|
|
|
e_ref = 0.d0
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
write(iunit,*) e_ref
|
|
|
|
close(iunit)
|
|
|
|
|
2015-05-21 10:15:13 +02:00
|
|
|
end
|