mirror of
https://github.com/TREX-CoE/fparser.git
synced 2024-08-24 22:21:45 +02:00
some cleanup, more keywords added, input file shortened
This commit is contained in:
parent
0321cdfdfe
commit
d5d2dd3c4a
@ -1,18 +1,27 @@
|
||||
|
||||
|
||||
ianalyt_lap 1 isc 2 nspin1 1 nspin2 1 ifock 0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## file ends here
|
||||
|
||||
# global vmc/dmc settings
|
||||
|
||||
&general unit Hartrees mass 0.5 nforce 1
|
||||
&general seed 1837465927472523
|
||||
&general ipr -1
|
||||
# &general unit Hartrees mass 0.5 nforce 1
|
||||
# &general seed 1837465927472523
|
||||
# &general ipr -1
|
||||
|
||||
&dmc idmc 2
|
||||
&dmc nfprod 100
|
||||
&dmc ipq 1 itau_eff 1 iacc_rej 1 icross 1
|
||||
&dmc icuspg 0 idiv_v 0 icut_br 0 icut_e 0
|
||||
#&dmc idmc 2
|
||||
#&dmc nfprod 100
|
||||
#&dmc ipq 1 itau_eff 1 iacc_rej 1 icross 1
|
||||
#&dmc icuspg 0 idiv_v 0 icut_br 0 icut_e 0
|
||||
|
||||
&vmc imetro 6
|
||||
&vmc deltar 5. deltat 1.
|
||||
&vmc delta 1. fbias 1.
|
||||
#&vmc imetro 6
|
||||
#&vmc deltar 5. deltat 1.
|
||||
#&vmc delta 1. fbias 1.
|
||||
|
||||
&pseudo nloc 4 nquad 6
|
||||
|
||||
&jastrow ianalyt_lap 1 isc 2 nspin1 1 nspin2 1 ifock 0
|
||||
#&pseudo nloc 4 nquad 6
|
||||
|
271
src/iochamp.f90
271
src/iochamp.f90
@ -31,10 +31,9 @@ PROGRAM iochamp
|
||||
type(block_fdf) :: bfdf, bfdf2
|
||||
type(parsed_line), pointer :: pline, pline2
|
||||
!type(fdf_file) :: fdffile
|
||||
integer :: nextorb, nblk_max, nopt_iter, max_iteration, max_iter, linecount, argument(5)
|
||||
real(dp) :: energy_tol, float_value
|
||||
real(dp) :: sr_tau, sr_eps, sr_adiag
|
||||
character(len=20) :: real_format = '(A, T20, F14.5)'
|
||||
integer :: max_iteration, max_iter, linecount, argument(5)
|
||||
real(dp) :: float_value
|
||||
character(len=20) :: real_format = '(A, T20, F14.8)'
|
||||
character(len=20) :: int_format = '(A, T20, I8)'
|
||||
|
||||
! for determinants sections
|
||||
@ -73,13 +72,35 @@ PROGRAM iochamp
|
||||
write(6,'(A)') 'filename jastrow derivatives :: ', file_jastrow_deriv
|
||||
|
||||
|
||||
! &optwf ioptwf 1 ioptci 1 ioptjas 1 ioptorb 1
|
||||
optimize_wavefunction = fdf_boolean("optimize_wavefunction", .false.)
|
||||
write(6,*) ' optimize_wavefunction = ', optimize_wavefunction
|
||||
|
||||
optimize_ci = fdf_boolean('optimize_ci', .false.)
|
||||
write(6,*) ' optimize_ci = ', optimize_ci
|
||||
|
||||
optimize_jastrow = fdf_boolean('optimize_jastrow', .false.)
|
||||
write(6,*) ' optimize_jastrow = ', optimize_jastrow
|
||||
|
||||
optimize_orbitals = fdf_boolean('optimize_orbitals', .false.)
|
||||
write(6,*) ' optimize_orbitals = ', optimize_orbitals
|
||||
|
||||
write(6,'(A)')
|
||||
write(6,*) '------------------------------------------------------'
|
||||
|
||||
|
||||
!Integer numbers (keyword, default_value). The variable is assigned default_value when keyword is not present
|
||||
! &optwf ncore 0 nextorb 280 no_active 0
|
||||
! &optwf nblk_max 200 nopt_iter 2
|
||||
ncore = fdf_integer('ncore', 0)
|
||||
write(6,fmt=int_format) 'NCore =', ncore
|
||||
|
||||
nextorb = fdf_integer('nextorb', 0)
|
||||
write(6,fmt=int_format) 'Next Orb =', nextorb
|
||||
|
||||
no_active = fdf_integer('no_active', 0)
|
||||
write(6,fmt=int_format) 'no_active =', no_active
|
||||
|
||||
nblk_max = fdf_integer('nblk_max', 0)
|
||||
write(6,fmt=int_format) 'nblk max =', nblk_max
|
||||
|
||||
@ -88,6 +109,10 @@ PROGRAM iochamp
|
||||
|
||||
|
||||
! floats (keyword, default_value) variable is assigned default_value when keyword is not present
|
||||
|
||||
! &optwf sr_tau 0.025 sr_eps 0.001 sr_adiag 0.01
|
||||
! &optwf isample_cmat 0 energy_tol 0.0
|
||||
|
||||
sr_tau = fdf_get('sr_tau', 0.025d0)
|
||||
write(6,fmt=real_format) 'sr_tau:', sr_tau
|
||||
|
||||
@ -100,11 +125,15 @@ PROGRAM iochamp
|
||||
energy_tol = fdf_get('energy_tol', 0.00001d0)
|
||||
write(6,fmt=real_format) 'energy_tol:', energy_tol
|
||||
|
||||
nopt_iter = fdf_integer('a', 0)
|
||||
write(6,fmt=int_format) 'a =', nopt_iter
|
||||
! &optwf method sr_n multiple_adiag 0
|
||||
|
||||
opt_method = fdf_get('opt_method', "sr_n")
|
||||
write(6,*) 'Optimization method ', opt_method
|
||||
|
||||
multiple_adiag = fdf_get('multiple_adiag', .false.)
|
||||
write(6,*) 'multiple_adiag:', multiple_adiag
|
||||
|
||||
|
||||
nopt_iter = fdf_integer('b', 0)
|
||||
write(6,fmt=int_format) 'b =', nopt_iter
|
||||
|
||||
|
||||
|
||||
@ -113,44 +142,34 @@ PROGRAM iochamp
|
||||
write(6,'(A, L2)') 'Debug:', debug
|
||||
|
||||
|
||||
|
||||
|
||||
! ianalyt_lap 1 isc 2 nspin1 1 nspin2 1 ifock 0
|
||||
analytic_laplacian = fdf_get('ianalyt_lap', 1)
|
||||
write(6,*) 'analytic laplacian from global.fdf pointer explained ', ianalyt_lap
|
||||
|
||||
nspin1 = fdf_get('nspin1', 1)
|
||||
write(6,*) 'nspin1 from global.fdf ', nspin1
|
||||
|
||||
nspin2 = fdf_get('nspin2', 1)
|
||||
write(6,*) 'nspin2 from global.fdf ', nspin2
|
||||
|
||||
ifock = fdf_get('ifock', 1)
|
||||
write(6,*) 'ifock from global.fdf ', ifock
|
||||
|
||||
|
||||
! mixed types in one line (for example, reading a number with units)
|
||||
tau = fdf_get('tau', 0.05)
|
||||
write(6,fmt=real_format) 'DMC tau = ', tau
|
||||
|
||||
max_iter = fdf_integer('max_iteration', 100)
|
||||
write(6,*) 'Examples: maximum_iter =', max_iter
|
||||
|
||||
|
||||
float_value = fdf_get('float_value', 0.00001d0)
|
||||
write(6,*) 'float_value :: ', float_value
|
||||
|
||||
|
||||
cutoff = fdf_physical('Energy_Cutoff', 8.d0, 'Ry')
|
||||
write(6,fmt=real_format) 'Energy CutOff in Rydberg :: ', cutoff
|
||||
|
||||
phonon_energy = fdf_physical('phonon-energy', 0.01d0, 'eV')
|
||||
write(6,fmt=real_format) 'Phonon Energy in eV :: ', phonon_energy
|
||||
etrial = fdf_physical('etrial', -20.d0, 'eV')
|
||||
write(6,fmt=real_format) 'Energy CutOff in eV :: ', energy_trial
|
||||
|
||||
write(6,'(A)')
|
||||
|
||||
write(6,*) '------------------------------------------------------'
|
||||
|
||||
|
||||
! block containing logical key-value pairs
|
||||
doit = fdf_boolean("optimize_wavefunction", .True.)
|
||||
write(6,*) ' optimize_wavefunction = ', doit
|
||||
|
||||
doit = fdf_get('optimize_ci', .True.)
|
||||
write(6,*) ' optimize_ci = ', doit
|
||||
|
||||
doit = fdf_get('optimize_jastrow', .True.)
|
||||
write(6,*) ' optimize_jastrow = ', doit
|
||||
|
||||
doit = fdf_get('optimize_orbitals', .True.)
|
||||
write(6,*) ' optimize_orbitals = ', doit
|
||||
|
||||
|
||||
|
||||
write(6,'(A)')
|
||||
write(6,*) '------------------------------------------------------'
|
||||
|
||||
|
||||
! write(6,'(A,4X)') 'optimize_wavefunction using bline', (subblock(i), i = 1, 4)
|
||||
@ -219,17 +238,16 @@ PROGRAM iochamp
|
||||
ia = ia + 1
|
||||
enddo
|
||||
na = ia - 1
|
||||
|
||||
endif
|
||||
|
||||
if (fdf_block('Coordinates', bfdf)) then
|
||||
write(6,*) 'Coordinates:'
|
||||
do ia = 1, na
|
||||
write(6,'(A, 4x, 3F10.6)') symbol(ia), (xa(i,ia),i=1,3)
|
||||
enddo
|
||||
endif
|
||||
|
||||
! Molecule coordinate block ends here
|
||||
write(6,*) '------------------------------------------------------'
|
||||
|
||||
write(6,'(A)')
|
||||
|
||||
write(6,*) '------------------------------------------------------'
|
||||
|
||||
@ -268,72 +286,72 @@ PROGRAM iochamp
|
||||
|
||||
|
||||
|
||||
if (fdf_block('inline_xyz2', bfdf)) then
|
||||
! Forward reading
|
||||
write(6,*) 'Reading an inline_xyz2 block '
|
||||
ia = 1
|
||||
! if (fdf_block('inline_xyz2', bfdf)) then
|
||||
! ! Forward reading
|
||||
! write(6,*) 'Reading an inline_xyz2 block '
|
||||
! ia = 1
|
||||
|
||||
do while(fdf_bline(bfdf, pline))
|
||||
! do while(fdf_bline(bfdf, pline))
|
||||
|
||||
if (pline%ntokens == 1) then
|
||||
number_of_atoms = fdf_bintegers(pline, 1)
|
||||
write(*,*) "Number of atoms", number_of_atoms
|
||||
endif
|
||||
na = number_of_atoms
|
||||
! if (pline%ntokens == 1) then
|
||||
! number_of_atoms = fdf_bintegers(pline, 1)
|
||||
! write(*,*) "Number of atoms", number_of_atoms
|
||||
! endif
|
||||
! na = number_of_atoms
|
||||
|
||||
if (pline%ntokens == 4) then
|
||||
symbol(ia) = fdf_bnames(pline, 1)
|
||||
do i= 1, 3
|
||||
xa(i,ia) = fdf_bvalues(pline, i)
|
||||
enddo
|
||||
ia = ia + 1
|
||||
endif
|
||||
enddo
|
||||
! if (pline%ntokens == 4) then
|
||||
! symbol(ia) = fdf_bnames(pline, 1)
|
||||
! do i= 1, 3
|
||||
! xa(i,ia) = fdf_bvalues(pline, i)
|
||||
! enddo
|
||||
! ia = ia + 1
|
||||
! endif
|
||||
! enddo
|
||||
|
||||
write(6,*) 'Inline XYZ2 Coordinates block:'
|
||||
do ia= 1, na
|
||||
write(6,'(A4,3F10.6)') symbol(ia), (xa(i,ia),i=1,3)
|
||||
enddo
|
||||
endif
|
||||
! write(6,*) 'Inline XYZ2 Coordinates block:'
|
||||
! do ia= 1, na
|
||||
! write(6,'(A4,3F10.6)') symbol(ia), (xa(i,ia),i=1,3)
|
||||
! enddo
|
||||
! endif
|
||||
|
||||
write(6,'(A)')
|
||||
! write(6,'(A)')
|
||||
|
||||
write(6,*) '------------------------------------------------------'
|
||||
! write(6,*) '------------------------------------------------------'
|
||||
|
||||
|
||||
if (fdf_block('molecule2', bfdf)) then
|
||||
! External file reading
|
||||
write(6,*) 'beginning of external file coordinates block '
|
||||
ia = 1
|
||||
! write(*,*) "linecount", fdf_block_linecount("molecule")
|
||||
! if (fdf_block('molecule2', bfdf)) then
|
||||
! ! External file reading
|
||||
! write(6,*) 'beginning of external file coordinates block '
|
||||
! ia = 1
|
||||
! ! write(*,*) "linecount", fdf_block_linecount("molecule")
|
||||
|
||||
do while((fdf_bline(bfdf, pline)))
|
||||
! do while((fdf_bline(bfdf, pline)))
|
||||
|
||||
if (pline%ntokens == 1) then
|
||||
number_of_atoms = fdf_bintegers(pline, 1)
|
||||
write(*,*) "number of atoms", number_of_atoms
|
||||
endif
|
||||
na = number_of_atoms
|
||||
! if (pline%ntokens == 1) then
|
||||
! number_of_atoms = fdf_bintegers(pline, 1)
|
||||
! write(*,*) "number of atoms", number_of_atoms
|
||||
! endif
|
||||
! na = number_of_atoms
|
||||
|
||||
if (pline%ntokens == 4) then
|
||||
symbol(ia) = fdf_bnames(pline, 1)
|
||||
do i= 1, 3
|
||||
xa(i,ia) = fdf_bvalues(pline, i)
|
||||
enddo
|
||||
ia = ia + 1
|
||||
endif
|
||||
enddo
|
||||
endif
|
||||
write(6,*) 'Coordinates from Molecule2 block: External file'
|
||||
do ia= 1, na
|
||||
write(6,'(A4,3F10.6)') symbol(ia), (xa(i,ia),i=1,3)
|
||||
enddo
|
||||
! if (pline%ntokens == 4) then
|
||||
! symbol(ia) = fdf_bnames(pline, 1)
|
||||
! do i= 1, 3
|
||||
! xa(i,ia) = fdf_bvalues(pline, i)
|
||||
! enddo
|
||||
! ia = ia + 1
|
||||
! endif
|
||||
! enddo
|
||||
! endif
|
||||
! write(6,*) 'Coordinates from Molecule2 block: External file'
|
||||
! do ia= 1, na
|
||||
! write(6,'(A4,3F10.6)') symbol(ia), (xa(i,ia),i=1,3)
|
||||
! enddo
|
||||
|
||||
|
||||
|
||||
write(6,'(A)')
|
||||
! write(6,'(A)')
|
||||
|
||||
write(6,*) '------------------------------------------------------'
|
||||
! write(6,*) '------------------------------------------------------'
|
||||
|
||||
|
||||
|
||||
@ -341,41 +359,41 @@ PROGRAM iochamp
|
||||
|
||||
|
||||
|
||||
if ( fdf_block('ListBlock',bfdf) ) then
|
||||
i = 0
|
||||
do while ( fdf_bline(bfdf,pline) )
|
||||
i = i + 1
|
||||
na = fdf_bnlists(pline)
|
||||
write(*,'(2(a,i0),a)') 'Listblock line: ',i,' has ',na,' lists'
|
||||
do ia = 1 , na
|
||||
j = -1
|
||||
! if ( fdf_block('ListBlock',bfdf) ) then
|
||||
! i = 0
|
||||
! do while ( fdf_bline(bfdf,pline) )
|
||||
! i = i + 1
|
||||
! na = fdf_bnlists(pline)
|
||||
! write(*,'(2(a,i0),a)') 'Listblock line: ',i,' has ',na,' lists'
|
||||
! do ia = 1 , na
|
||||
! j = -1
|
||||
|
||||
call fdf_bilists(pline,ia,j,isa)
|
||||
write(*,'(tr5,2(a,i0),a)') 'list ',ia,' has ',j,' entries'
|
||||
call fdf_bilists(pline,ia,j,isa)
|
||||
write(*,'(tr5,a,1000(tr1,i0))') 'list: ',isa(1:j)
|
||||
! call fdf_bilists(pline,ia,j,isa)
|
||||
! write(*,'(tr5,2(a,i0),a)') 'list ',ia,' has ',j,' entries'
|
||||
! call fdf_bilists(pline,ia,j,isa)
|
||||
! write(*,'(tr5,a,1000(tr1,i0))') 'list: ',isa(1:j)
|
||||
|
||||
end do
|
||||
end do
|
||||
end if
|
||||
! end do
|
||||
! end do
|
||||
! end if
|
||||
|
||||
|
||||
if ( fdf_islreal('list_floats') .and. fdf_islist('list_floats') &
|
||||
.and. (.not. fdf_islinteger('list_floats')) ) then
|
||||
na = -1
|
||||
call fdf_list('list_floats',na,listr)
|
||||
write(*,'(tr1,a,i0,a)') 'list_floats has ',na,' entries'
|
||||
if ( na < 2 ) stop 1
|
||||
call fdf_list('list_floats',na,listr)
|
||||
write(*,'(tr5,a,1000(tr1,f12.8))') 'list_floats: ',listr(1:na)
|
||||
else
|
||||
write(*,*)'list_floats was not recognized'
|
||||
stop 1
|
||||
end if
|
||||
! if ( fdf_islreal('list_floats') .and. fdf_islist('list_floats') &
|
||||
! .and. (.not. fdf_islinteger('list_floats')) ) then
|
||||
! na = -1
|
||||
! call fdf_list('list_floats',na,listr)
|
||||
! write(*,'(tr1,a,i0,a)') 'list_floats has ',na,' entries'
|
||||
! if ( na < 2 ) stop 1
|
||||
! call fdf_list('list_floats',na,listr)
|
||||
! write(*,'(tr5,a,1000(tr1,f12.8))') 'list_floats: ',listr(1:na)
|
||||
! else
|
||||
! write(*,*)'list_floats was not recognized'
|
||||
! stop 1
|
||||
! end if
|
||||
|
||||
write(6,'(A)')
|
||||
! write(6,'(A)')
|
||||
|
||||
write(6,*) '------------------------------------------------------'
|
||||
! write(6,*) '------------------------------------------------------'
|
||||
|
||||
write(6,'(A)') " Determinants Block"
|
||||
|
||||
@ -384,7 +402,7 @@ PROGRAM iochamp
|
||||
|
||||
if (fdf_block('determinants', bfdf)) then
|
||||
! External file reading
|
||||
write(6,*) 'beginning of external file determinant block '
|
||||
write(6,*) 'Beginning of external file determinant block '
|
||||
ia = 1
|
||||
|
||||
! call io_status()
|
||||
@ -437,13 +455,6 @@ PROGRAM iochamp
|
||||
! enddo
|
||||
endif
|
||||
|
||||
! write(6,*) 'Coordinates from Molecule block: External file'
|
||||
! do ia= 1, na
|
||||
! write(6,'(A4,3F10.6)') symbol(ia), (xa(i,ia),i=1,3)
|
||||
! enddo
|
||||
|
||||
|
||||
|
||||
write(6,'(A)')
|
||||
|
||||
write(6,*) '------------------------------------------------------'
|
||||
|
@ -95,7 +95,7 @@ MODULE keywords
|
||||
public :: iworbd ! which orbitals enter in which determinants
|
||||
public :: ianalyt_lap, analytic_laplacian ! analytic laplacian or not
|
||||
|
||||
|
||||
public :: nspin1, ifock
|
||||
public :: nspin2 ! 1,2,3,-1,-2 -> nspin2b=abs(nspin2)
|
||||
! nspin2 > 0 nspin2 sets of a, c parms, nspin2b sets of b parms
|
||||
! nocuspb=0 parallel e-e cusp conditions satisfied (b=1/2,1/4)
|
||||
@ -117,6 +117,24 @@ MODULE keywords
|
||||
public :: cutjas, cutoff_jastrow ! cutoff for Jastrow4,5,6 if cutjas=6,7
|
||||
public :: itau_eff, itau_effective
|
||||
|
||||
public :: optimize_wavefunction
|
||||
public :: optimize_ci
|
||||
public :: optimize_jastrow
|
||||
public :: optimize_orbitals
|
||||
|
||||
public :: ncore
|
||||
public :: nextorb
|
||||
public :: nopt_iter
|
||||
public :: no_active
|
||||
public :: nblk_max
|
||||
|
||||
public :: sr_tau
|
||||
public :: sr_eps
|
||||
public :: sr_adiag
|
||||
public :: energy_tol
|
||||
public :: opt_method
|
||||
public :: multiple_adiag
|
||||
|
||||
! Following not yet added
|
||||
! rlobx(y) Lobachevsky parameters for Fock expansion
|
||||
! ipq,iacc_rej,icross,icuspg,idiv_v
|
||||
@ -255,7 +273,7 @@ MODULE keywords
|
||||
integer, target :: ianalyt_lap
|
||||
integer, pointer :: analytic_laplacian => ianalyt_lap
|
||||
|
||||
integer :: nspin2
|
||||
integer :: nspin1, nspin2 , ifock
|
||||
|
||||
integer, target :: nord
|
||||
integer, pointer :: order_poly => nord
|
||||
@ -286,4 +304,24 @@ MODULE keywords
|
||||
real(dp), target :: itau_eff
|
||||
real(dp), pointer :: itau_effective => itau_eff
|
||||
|
||||
|
||||
logical :: optimize_wavefunction
|
||||
logical :: optimize_ci
|
||||
logical :: optimize_jastrow
|
||||
logical :: optimize_orbitals
|
||||
logical :: multiple_adiag
|
||||
|
||||
integer :: ncore
|
||||
integer :: nextorb
|
||||
integer :: nopt_iter
|
||||
integer :: no_active
|
||||
integer :: nblk_max
|
||||
|
||||
real(dp) :: sr_tau
|
||||
real(dp) :: sr_eps
|
||||
real(dp) :: sr_adiag
|
||||
real(dp) :: energy_tol
|
||||
|
||||
character(len=20) :: opt_method
|
||||
|
||||
end module
|
@ -6,105 +6,29 @@ basis BFD-T-normf0
|
||||
|
||||
# %include global.fdf
|
||||
|
||||
|
||||
sr_tau 1.023
|
||||
sr_eps 0.001
|
||||
sr_adiag 0.05
|
||||
energy_tol 0.004
|
||||
|
||||
a = 20
|
||||
b = 30
|
||||
|
||||
%block molecule < caffeine.xyz
|
||||
%block determinants < sample.det
|
||||
|
||||
optimize_wavefunction 1
|
||||
optimize_ci 0
|
||||
optimize_ci = false
|
||||
optimize_jastrow yes
|
||||
optimize_orbitals false
|
||||
optimize_orbitals true
|
||||
|
||||
|
||||
nextorb 280
|
||||
nblk_max 200
|
||||
nopt_iter 20
|
||||
sr_tau 0.025
|
||||
sr_eps 0.001
|
||||
sr_adiag 0.01
|
||||
energy_tol 1.0E-5
|
||||
|
||||
|
||||
ncore 0 no_active 0
|
||||
nextorb 280 ; nblk_max 200
|
||||
nopt_iter 2
|
||||
|
||||
opt_method sr_n
|
||||
multiple_adiag no
|
||||
|
||||
|
||||
# The sub blocks currently does not parse.
|
||||
tau = 0.04
|
||||
etrial = -15 Ha
|
||||
|
||||
%block general
|
||||
pool_directory pool
|
||||
pseudopotential BFD
|
||||
basis BFD-T-normf0
|
||||
%endblock
|
||||
|
||||
|
||||
# Initial spaces, in-between tabs do not matter
|
||||
max_iteration 2147483647 # Max allowed int
|
||||
Energy_Cutoff 500.0 eV
|
||||
float_value 3.14e10
|
||||
filename 'sample read input.txt'
|
||||
phonon-energy 344 cm**-1
|
||||
|
||||
|
||||
# An alternative way to provide coordinates
|
||||
|
||||
%block Coordinates
|
||||
C 0.00000 1.40272 0 # can have comments in between or after the data
|
||||
H 0.00000 2.49029 0
|
||||
C -1.21479 0.70136 0
|
||||
H -2.15666 1.24515 0
|
||||
C -1.21479 -0.70136 0
|
||||
H -2.15666 -1.24515 0
|
||||
C 0.00000 -1.40272 0
|
||||
H 0.00000 -2.49029 0
|
||||
C 1.21479 -0.70136 0
|
||||
H 2.15666 -1.24515 0
|
||||
C 1.21479 0.70136 0
|
||||
H 2.15666 1.24515 0
|
||||
%endblock
|
||||
|
||||
|
||||
|
||||
%block inline_xyz
|
||||
3
|
||||
sample comment
|
||||
O 4.013 0.831 -9.083
|
||||
H 4.941 0.844 -8.837
|
||||
H 3.750 -0.068 -9.293
|
||||
%endblock inline_xyz
|
||||
|
||||
|
||||
|
||||
### Read molecule's geometry directly from the xyz file (filename should be given as is.)
|
||||
|
||||
%block molecule < caffeine.xyz
|
||||
|
||||
|
||||
|
||||
### Two blocks with the same name not supported. Ignored without warning
|
||||
|
||||
%block molecule2 < benzene.xyz %dump
|
||||
|
||||
|
||||
|
||||
## To include another file having fdf syntax
|
||||
|
||||
%include temp.fdf
|
||||
|
||||
|
||||
|
||||
## Lists
|
||||
|
||||
%block ListBlock
|
||||
list_integers [1 to 6 7 9 10 ] [ 1 to 7 8 9 11 12 ]
|
||||
%endblock ListBlock
|
||||
|
||||
|
||||
list_floats [ 0.94725807 -0.09274559 -0.05238276 -0.05238264 -0.04867531 -0.04162750 -0.04054186 -0.04017050 -0.04017045 -0.02963522 -0.02749165 -0.02351945 0.02056895 0.02056894 -0.01996166 0.01987062 0.01987060]
|
||||
|
||||
|
||||
### Read determinants directly from the .det file
|
||||
|
||||
#%block determinants < TZ_1M_500.det # sample.det
|
||||
|
||||
%block determinants < sample.det
|
||||
|
97
src/test-champ.inp.backup
Normal file
97
src/test-champ.inp.backup
Normal file
@ -0,0 +1,97 @@
|
||||
title "A Sample QMC input file parsed by libfdf interfaced to CHAMP"
|
||||
|
||||
pool ./pool
|
||||
pseudopot BFD
|
||||
basis BFD-T-normf0
|
||||
|
||||
# %include global.fdf
|
||||
|
||||
%block molecule < caffeine.xyz
|
||||
|
||||
|
||||
optimize_wavefunction 1
|
||||
optimize_ci = false
|
||||
optimize_jastrow yes
|
||||
optimize_orbitals true
|
||||
|
||||
|
||||
sr_tau 0.025
|
||||
sr_eps 0.001
|
||||
sr_adiag 0.01
|
||||
energy_tol 1.0E-5
|
||||
|
||||
|
||||
ncore 0 no_active 0
|
||||
nextorb 280 ; nblk_max 200
|
||||
nopt_iter 2
|
||||
|
||||
opt_method sr_n
|
||||
multiple_adiag no
|
||||
|
||||
|
||||
|
||||
# Initial spaces, in-between tabs do not matter
|
||||
max_iteration 2147483647 # Max allowed int
|
||||
Energy_Cutoff 500.0 eV
|
||||
float_value 3.14e10
|
||||
filename 'sample read input.txt'
|
||||
|
||||
|
||||
|
||||
# An alternative way to provide coordinates
|
||||
|
||||
%block Coordinates
|
||||
C 0.00000 1.40272 0 # can have comments in between or after the data
|
||||
H 0.00000 2.49029 0
|
||||
C -1.21479 0.70136 0
|
||||
H -2.15666 1.24515 0
|
||||
C -1.21479 -0.70136 0
|
||||
H -2.15666 -1.24515 0
|
||||
C 0.00000 -1.40272 0
|
||||
H 0.00000 -2.49029 0
|
||||
C 1.21479 -0.70136 0
|
||||
H 2.15666 -1.24515 0
|
||||
C 1.21479 0.70136 0
|
||||
H 2.15666 1.24515 0
|
||||
%endblock
|
||||
|
||||
%block inline_xyz
|
||||
3
|
||||
sample comment
|
||||
O 4.013 0.831 -9.083
|
||||
H 4.941 0.844 -8.837
|
||||
H 3.750 -0.068 -9.293
|
||||
%endblock inline_xyz
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### Two blocks with the same name not supported. Ignored without warning
|
||||
|
||||
%block molecule2 < benzene.xyz %dump
|
||||
|
||||
|
||||
|
||||
## To include another file having fdf syntax
|
||||
|
||||
%include temp.fdf
|
||||
|
||||
|
||||
|
||||
## Lists
|
||||
|
||||
%block ListBlock
|
||||
list_integers [1 to 6 7 9 10 ] [ 1 to 7 8 9 11 12 ]
|
||||
%endblock ListBlock
|
||||
|
||||
|
||||
list_floats [ 0.94725807 -0.09274559 -0.05238276 -0.05238264 -0.04867531 -0.04162750 -0.04054186 -0.04017050 -0.04017045 -0.02963522 ]
|
||||
|
||||
|
||||
### Read determinants directly from the .det file
|
||||
|
||||
#%block determinants < TZ_1M_500.det # sample.det
|
||||
|
||||
%block determinants < sample.det
|
@ -6,31 +6,29 @@ determinants # default value
|
||||
orbitals # default value
|
||||
jastrow # default value
|
||||
jastrow_deriv # default value
|
||||
nextorb 280
|
||||
nblk_max 200
|
||||
nopt_iter 20
|
||||
sr_tau 1.023000000
|
||||
sr_eps 0.1000000000E-02
|
||||
sr_adiag 0.5000000000E-01
|
||||
energy_tol 0.4000000000E-02
|
||||
a 20
|
||||
b 30
|
||||
Debug T # default value
|
||||
max_iteration 2147483647
|
||||
float_value 0.3140000000E+11
|
||||
Energy_Cutoff 36.74899422 Ry
|
||||
# above item originally: Energy_Cutoff 500.0000000 eV
|
||||
phonon-energy 0.4264063563E-01 eV
|
||||
# above item originally: phonon-energy 344.0000000 cm**-1
|
||||
optimize_wavefunction T
|
||||
optimize_ci F
|
||||
optimize_jastrow T
|
||||
optimize_orbitals F
|
||||
%block general
|
||||
pool_directory pool
|
||||
pseudopotential BFD
|
||||
basis BFD-T-normf0
|
||||
%endblock general
|
||||
optimize_orbitals T
|
||||
ncore 0
|
||||
nextorb 280
|
||||
no_active 0 # default value
|
||||
nblk_max 0 # default value
|
||||
nopt_iter 2
|
||||
sr_tau 0.2500000000E-01
|
||||
sr_eps 0.1000000000E-02
|
||||
sr_adiag 0.1000000000E-01
|
||||
energy_tol 0.1000000000E-04
|
||||
opt_method sr_n
|
||||
multiple_adiag F
|
||||
Debug T # default value
|
||||
ianalyt_lap 1 # default value
|
||||
nspin1 1 # default value
|
||||
nspin2 1 # default value
|
||||
ifock 1 # default value
|
||||
tau 0.3999999911E-01
|
||||
etrial -408.1744362 eV
|
||||
# above item originally: etrial -15.00000000 Ha
|
||||
%block molecule
|
||||
24
|
||||
molecule 1,3,7-Trimethylpurine-2,6-dione
|
||||
@ -59,59 +57,5 @@ optimize_orbitals F
|
||||
H 3.2249 1.5791 0.8255
|
||||
H 2.6431 2.5130 -0.5793
|
||||
%endblock molecule
|
||||
%block Coordinates
|
||||
C 0.00000 1.40272 0 # can have comments in between or after the data
|
||||
H 0.00000 2.49029 0
|
||||
C -1.21479 0.70136 0
|
||||
H -2.15666 1.24515 0
|
||||
C -1.21479 -0.70136 0
|
||||
H -2.15666 -1.24515 0
|
||||
C 0.00000 -1.40272 0
|
||||
H 0.00000 -2.49029 0
|
||||
C 1.21479 -0.70136 0
|
||||
H 2.15666 -1.24515 0
|
||||
C 1.21479 0.70136 0
|
||||
H 2.15666 1.24515 0
|
||||
%endblock Coordinates
|
||||
%block inline_xyz
|
||||
3
|
||||
sample comment
|
||||
O 4.013 0.831 -9.083
|
||||
H 4.941 0.844 -8.837
|
||||
H 3.750 -0.068 -9.293
|
||||
%endblock inline_xyz
|
||||
%block inline_xyz2
|
||||
6
|
||||
C 3.402 0.773 -9.252
|
||||
C 4.697 0.791 -8.909
|
||||
H 2.933 -0.150 -9.521
|
||||
H 2.837 1.682 -9.258
|
||||
H 5.262 -0.118 -8.904
|
||||
H 5.167 1.714 -8.641
|
||||
%endblock inline_xyz2
|
||||
%block molecule2
|
||||
12
|
||||
benzene example
|
||||
C 0.00000 1.40272 0.00000
|
||||
H 0.00000 2.49029 0.00000
|
||||
C -1.21479 0.70136 0.00000
|
||||
H -2.15666 1.24515 0.00000
|
||||
C -1.21479 -0.70136 0.00000
|
||||
H -2.15666 -1.24515 0.00000
|
||||
C 0.00000 -1.40272 0.00000
|
||||
H 0.00000 -2.49029 0.00000
|
||||
C 1.21479 -0.70136 0.00000
|
||||
H 2.15666 -1.24515 0.00000
|
||||
C 1.21479 0.70136 0.00000
|
||||
H 2.15666 1.24515 0.00000
|
||||
%endblock molecule2
|
||||
%block ListBlock
|
||||
list_integers [1 to 6 7 9 10 ] [ 1 to 7 8 9 11 12 ]
|
||||
%endblock ListBlock
|
||||
#:lreal? list_floats T
|
||||
#:list? list_floats T
|
||||
#:linteger? list_floats F
|
||||
list_floats 17
|
||||
list_floats 17
|
||||
%block determinants
|
||||
&electrons nelec 22 nup 11
|
||||
|
Loading…
Reference in New Issue
Block a user