program phmc_main
!
!== HMC Algorithm
!
!=== Version
!
! $Id: phmc_main.F90,v 1.11 2010/07/30 10:20:40 ishikawa Exp $
!
use hmc_identity
use lattice_class, only : nodeid, CHARLEN
use hmc_class
implicit none
type(hmc_algorithm) :: hmc
character(CHARLEN) :: ver(2)
call new(hmc)
!**************************************
!* program version
!**************************************
ver(1)=hmc_vers
ver(2)="$Id: phmc_main.F90,v 1.11 2010/07/30 10:20:40 ishikawa Exp $"
if (nodeid == 0) then
write(*,'(80("-"))')
write(*,'(1X,A)')TRIM(ver(1))
write(*,'(1X,A)')TRIM(ver(2))
endif
!**************************************
!* read program parameters and
!* configuration
!**************************************
call read(hmc)
!**************************************
!* print parameters
!**************************************
call print(hmc)
!**************************************
!* Update gauge and bosons
!**************************************
call run(hmc)
!**************************************
!* save job parameter and configuration
!**************************************
call save(hmc)
!**************************************
!* print statistical information
!**************************************
call print_statistics(hmc)
call delete(hmc)
stop
end program