mirror of
https://github.com/TREX-CoE/fparser.git
synced 2025-01-05 02:49:03 +01: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
|
# global vmc/dmc settings
|
||||||
|
|
||||||
&general unit Hartrees mass 0.5 nforce 1
|
# &general unit Hartrees mass 0.5 nforce 1
|
||||||
&general seed 1837465927472523
|
# &general seed 1837465927472523
|
||||||
&general ipr -1
|
# &general ipr -1
|
||||||
|
|
||||||
&dmc idmc 2
|
#&dmc idmc 2
|
||||||
&dmc nfprod 100
|
#&dmc nfprod 100
|
||||||
&dmc ipq 1 itau_eff 1 iacc_rej 1 icross 1
|
#&dmc ipq 1 itau_eff 1 iacc_rej 1 icross 1
|
||||||
&dmc icuspg 0 idiv_v 0 icut_br 0 icut_e 0
|
#&dmc icuspg 0 idiv_v 0 icut_br 0 icut_e 0
|
||||||
|
|
||||||
&vmc imetro 6
|
#&vmc imetro 6
|
||||||
&vmc deltar 5. deltat 1.
|
#&vmc deltar 5. deltat 1.
|
||||||
&vmc delta 1. fbias 1.
|
#&vmc delta 1. fbias 1.
|
||||||
|
|
||||||
&pseudo nloc 4 nquad 6
|
#&pseudo nloc 4 nquad 6
|
||||||
|
|
||||||
&jastrow ianalyt_lap 1 isc 2 nspin1 1 nspin2 1 ifock 0
|
|
||||||
|
273
src/iochamp.f90
273
src/iochamp.f90
@ -31,10 +31,9 @@ PROGRAM iochamp
|
|||||||
type(block_fdf) :: bfdf, bfdf2
|
type(block_fdf) :: bfdf, bfdf2
|
||||||
type(parsed_line), pointer :: pline, pline2
|
type(parsed_line), pointer :: pline, pline2
|
||||||
!type(fdf_file) :: fdffile
|
!type(fdf_file) :: fdffile
|
||||||
integer :: nextorb, nblk_max, nopt_iter, max_iteration, max_iter, linecount, argument(5)
|
integer :: max_iteration, max_iter, linecount, argument(5)
|
||||||
real(dp) :: energy_tol, float_value
|
real(dp) :: float_value
|
||||||
real(dp) :: sr_tau, sr_eps, sr_adiag
|
character(len=20) :: real_format = '(A, T20, F14.8)'
|
||||||
character(len=20) :: real_format = '(A, T20, F14.5)'
|
|
||||||
character(len=20) :: int_format = '(A, T20, I8)'
|
character(len=20) :: int_format = '(A, T20, I8)'
|
||||||
|
|
||||||
! for determinants sections
|
! for determinants sections
|
||||||
@ -73,13 +72,35 @@ PROGRAM iochamp
|
|||||||
write(6,'(A)') 'filename jastrow derivatives :: ', file_jastrow_deriv
|
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
|
!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)
|
nextorb = fdf_integer('nextorb', 0)
|
||||||
write(6,fmt=int_format) 'Next Orb =', nextorb
|
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)
|
nblk_max = fdf_integer('nblk_max', 0)
|
||||||
write(6,fmt=int_format) 'nblk max =', nblk_max
|
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
|
! 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)
|
sr_tau = fdf_get('sr_tau', 0.025d0)
|
||||||
write(6,fmt=real_format) 'sr_tau:', sr_tau
|
write(6,fmt=real_format) 'sr_tau:', sr_tau
|
||||||
|
|
||||||
@ -100,11 +125,15 @@ PROGRAM iochamp
|
|||||||
energy_tol = fdf_get('energy_tol', 0.00001d0)
|
energy_tol = fdf_get('energy_tol', 0.00001d0)
|
||||||
write(6,fmt=real_format) 'energy_tol:', energy_tol
|
write(6,fmt=real_format) 'energy_tol:', energy_tol
|
||||||
|
|
||||||
nopt_iter = fdf_integer('a', 0)
|
! &optwf method sr_n multiple_adiag 0
|
||||||
write(6,fmt=int_format) 'a =', nopt_iter
|
|
||||||
|
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
|
write(6,'(A, L2)') 'Debug:', debug
|
||||||
|
|
||||||
|
|
||||||
! mixed types in one line (for example, reading a number with units)
|
|
||||||
|
|
||||||
max_iter = fdf_integer('max_iteration', 100)
|
|
||||||
write(6,*) 'Examples: maximum_iter =', max_iter
|
|
||||||
|
|
||||||
|
|
||||||
float_value = fdf_get('float_value', 0.00001d0)
|
! ianalyt_lap 1 isc 2 nspin1 1 nspin2 1 ifock 0
|
||||||
write(6,*) 'float_value :: ', float_value
|
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
|
||||||
|
|
||||||
|
|
||||||
cutoff = fdf_physical('Energy_Cutoff', 8.d0, 'Ry')
|
! mixed types in one line (for example, reading a number with units)
|
||||||
write(6,fmt=real_format) 'Energy CutOff in Rydberg :: ', cutoff
|
tau = fdf_get('tau', 0.05)
|
||||||
|
write(6,fmt=real_format) 'DMC tau = ', tau
|
||||||
|
|
||||||
phonon_energy = fdf_physical('phonon-energy', 0.01d0, 'eV')
|
etrial = fdf_physical('etrial', -20.d0, 'eV')
|
||||||
write(6,fmt=real_format) 'Phonon Energy in eV :: ', phonon_energy
|
write(6,fmt=real_format) 'Energy CutOff in eV :: ', energy_trial
|
||||||
|
|
||||||
write(6,'(A)')
|
write(6,'(A)')
|
||||||
|
|
||||||
write(6,*) '------------------------------------------------------'
|
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)
|
! write(6,'(A,4X)') 'optimize_wavefunction using bline', (subblock(i), i = 1, 4)
|
||||||
@ -219,17 +238,16 @@ PROGRAM iochamp
|
|||||||
ia = ia + 1
|
ia = ia + 1
|
||||||
enddo
|
enddo
|
||||||
na = ia - 1
|
na = ia - 1
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
write(6,*) 'Coordinates:'
|
if (fdf_block('Coordinates', bfdf)) then
|
||||||
do ia = 1, na
|
write(6,*) 'Coordinates:'
|
||||||
write(6,'(A, 4x, 3F10.6)') symbol(ia), (xa(i,ia),i=1,3)
|
do ia = 1, na
|
||||||
enddo
|
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,*) '------------------------------------------------------'
|
write(6,*) '------------------------------------------------------'
|
||||||
|
|
||||||
@ -268,72 +286,72 @@ PROGRAM iochamp
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (fdf_block('inline_xyz2', bfdf)) then
|
! if (fdf_block('inline_xyz2', bfdf)) then
|
||||||
! Forward reading
|
! ! Forward reading
|
||||||
write(6,*) 'Reading an inline_xyz2 block '
|
! write(6,*) 'Reading an inline_xyz2 block '
|
||||||
ia = 1
|
! ia = 1
|
||||||
|
|
||||||
do while(fdf_bline(bfdf, pline))
|
! do while(fdf_bline(bfdf, pline))
|
||||||
|
|
||||||
if (pline%ntokens == 1) then
|
! if (pline%ntokens == 1) then
|
||||||
number_of_atoms = fdf_bintegers(pline, 1)
|
! number_of_atoms = fdf_bintegers(pline, 1)
|
||||||
write(*,*) "Number of atoms", number_of_atoms
|
! write(*,*) "Number of atoms", number_of_atoms
|
||||||
endif
|
! endif
|
||||||
na = number_of_atoms
|
! na = number_of_atoms
|
||||||
|
|
||||||
if (pline%ntokens == 4) then
|
! if (pline%ntokens == 4) then
|
||||||
symbol(ia) = fdf_bnames(pline, 1)
|
! symbol(ia) = fdf_bnames(pline, 1)
|
||||||
do i= 1, 3
|
! do i= 1, 3
|
||||||
xa(i,ia) = fdf_bvalues(pline, i)
|
! xa(i,ia) = fdf_bvalues(pline, i)
|
||||||
enddo
|
! enddo
|
||||||
ia = ia + 1
|
! ia = ia + 1
|
||||||
endif
|
! endif
|
||||||
enddo
|
! enddo
|
||||||
|
|
||||||
write(6,*) 'Inline XYZ2 Coordinates block:'
|
! write(6,*) 'Inline XYZ2 Coordinates block:'
|
||||||
do ia= 1, na
|
! do ia= 1, na
|
||||||
write(6,'(A4,3F10.6)') symbol(ia), (xa(i,ia),i=1,3)
|
! write(6,'(A4,3F10.6)') symbol(ia), (xa(i,ia),i=1,3)
|
||||||
enddo
|
! enddo
|
||||||
endif
|
! endif
|
||||||
|
|
||||||
write(6,'(A)')
|
! write(6,'(A)')
|
||||||
|
|
||||||
write(6,*) '------------------------------------------------------'
|
! write(6,*) '------------------------------------------------------'
|
||||||
|
|
||||||
|
|
||||||
if (fdf_block('molecule2', bfdf)) then
|
! if (fdf_block('molecule2', bfdf)) then
|
||||||
! External file reading
|
! ! External file reading
|
||||||
write(6,*) 'beginning of external file coordinates block '
|
! write(6,*) 'beginning of external file coordinates block '
|
||||||
ia = 1
|
! ia = 1
|
||||||
! write(*,*) "linecount", fdf_block_linecount("molecule")
|
! ! write(*,*) "linecount", fdf_block_linecount("molecule")
|
||||||
|
|
||||||
do while((fdf_bline(bfdf, pline)))
|
! do while((fdf_bline(bfdf, pline)))
|
||||||
|
|
||||||
if (pline%ntokens == 1) then
|
! if (pline%ntokens == 1) then
|
||||||
number_of_atoms = fdf_bintegers(pline, 1)
|
! number_of_atoms = fdf_bintegers(pline, 1)
|
||||||
write(*,*) "number of atoms", number_of_atoms
|
! write(*,*) "number of atoms", number_of_atoms
|
||||||
endif
|
! endif
|
||||||
na = number_of_atoms
|
! na = number_of_atoms
|
||||||
|
|
||||||
if (pline%ntokens == 4) then
|
! if (pline%ntokens == 4) then
|
||||||
symbol(ia) = fdf_bnames(pline, 1)
|
! symbol(ia) = fdf_bnames(pline, 1)
|
||||||
do i= 1, 3
|
! do i= 1, 3
|
||||||
xa(i,ia) = fdf_bvalues(pline, i)
|
! xa(i,ia) = fdf_bvalues(pline, i)
|
||||||
enddo
|
! enddo
|
||||||
ia = ia + 1
|
! ia = ia + 1
|
||||||
endif
|
! endif
|
||||||
enddo
|
! enddo
|
||||||
endif
|
! endif
|
||||||
write(6,*) 'Coordinates from Molecule2 block: External file'
|
! write(6,*) 'Coordinates from Molecule2 block: External file'
|
||||||
do ia= 1, na
|
! do ia= 1, na
|
||||||
write(6,'(A4,3F10.6)') symbol(ia), (xa(i,ia),i=1,3)
|
! write(6,'(A4,3F10.6)') symbol(ia), (xa(i,ia),i=1,3)
|
||||||
enddo
|
! enddo
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
write(6,'(A)')
|
! write(6,'(A)')
|
||||||
|
|
||||||
write(6,*) '------------------------------------------------------'
|
! write(6,*) '------------------------------------------------------'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -341,41 +359,41 @@ PROGRAM iochamp
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ( fdf_block('ListBlock',bfdf) ) then
|
! if ( fdf_block('ListBlock',bfdf) ) then
|
||||||
i = 0
|
! i = 0
|
||||||
do while ( fdf_bline(bfdf,pline) )
|
! do while ( fdf_bline(bfdf,pline) )
|
||||||
i = i + 1
|
! i = i + 1
|
||||||
na = fdf_bnlists(pline)
|
! na = fdf_bnlists(pline)
|
||||||
write(*,'(2(a,i0),a)') 'Listblock line: ',i,' has ',na,' lists'
|
! write(*,'(2(a,i0),a)') 'Listblock line: ',i,' has ',na,' lists'
|
||||||
do ia = 1 , na
|
! do ia = 1 , na
|
||||||
j = -1
|
! j = -1
|
||||||
|
|
||||||
call fdf_bilists(pline,ia,j,isa)
|
! call fdf_bilists(pline,ia,j,isa)
|
||||||
write(*,'(tr5,2(a,i0),a)') 'list ',ia,' has ',j,' entries'
|
! write(*,'(tr5,2(a,i0),a)') 'list ',ia,' has ',j,' entries'
|
||||||
call fdf_bilists(pline,ia,j,isa)
|
! call fdf_bilists(pline,ia,j,isa)
|
||||||
write(*,'(tr5,a,1000(tr1,i0))') 'list: ',isa(1:j)
|
! write(*,'(tr5,a,1000(tr1,i0))') 'list: ',isa(1:j)
|
||||||
|
|
||||||
end do
|
! end do
|
||||||
end do
|
! end do
|
||||||
end if
|
! end if
|
||||||
|
|
||||||
|
|
||||||
if ( fdf_islreal('list_floats') .and. fdf_islist('list_floats') &
|
! if ( fdf_islreal('list_floats') .and. fdf_islist('list_floats') &
|
||||||
.and. (.not. fdf_islinteger('list_floats')) ) then
|
! .and. (.not. fdf_islinteger('list_floats')) ) then
|
||||||
na = -1
|
! na = -1
|
||||||
call fdf_list('list_floats',na,listr)
|
! call fdf_list('list_floats',na,listr)
|
||||||
write(*,'(tr1,a,i0,a)') 'list_floats has ',na,' entries'
|
! write(*,'(tr1,a,i0,a)') 'list_floats has ',na,' entries'
|
||||||
if ( na < 2 ) stop 1
|
! if ( na < 2 ) stop 1
|
||||||
call fdf_list('list_floats',na,listr)
|
! call fdf_list('list_floats',na,listr)
|
||||||
write(*,'(tr5,a,1000(tr1,f12.8))') 'list_floats: ',listr(1:na)
|
! write(*,'(tr5,a,1000(tr1,f12.8))') 'list_floats: ',listr(1:na)
|
||||||
else
|
! else
|
||||||
write(*,*)'list_floats was not recognized'
|
! write(*,*)'list_floats was not recognized'
|
||||||
stop 1
|
! stop 1
|
||||||
end if
|
! end if
|
||||||
|
|
||||||
write(6,'(A)')
|
! write(6,'(A)')
|
||||||
|
|
||||||
write(6,*) '------------------------------------------------------'
|
! write(6,*) '------------------------------------------------------'
|
||||||
|
|
||||||
write(6,'(A)') " Determinants Block"
|
write(6,'(A)') " Determinants Block"
|
||||||
|
|
||||||
@ -384,7 +402,7 @@ PROGRAM iochamp
|
|||||||
|
|
||||||
if (fdf_block('determinants', bfdf)) then
|
if (fdf_block('determinants', bfdf)) then
|
||||||
! External file reading
|
! External file reading
|
||||||
write(6,*) 'beginning of external file determinant block '
|
write(6,*) 'Beginning of external file determinant block '
|
||||||
ia = 1
|
ia = 1
|
||||||
|
|
||||||
! call io_status()
|
! call io_status()
|
||||||
@ -437,13 +455,6 @@ PROGRAM iochamp
|
|||||||
! enddo
|
! enddo
|
||||||
endif
|
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,'(A)')
|
||||||
|
|
||||||
write(6,*) '------------------------------------------------------'
|
write(6,*) '------------------------------------------------------'
|
||||||
|
@ -95,7 +95,7 @@ MODULE keywords
|
|||||||
public :: iworbd ! which orbitals enter in which determinants
|
public :: iworbd ! which orbitals enter in which determinants
|
||||||
public :: ianalyt_lap, analytic_laplacian ! analytic laplacian or not
|
public :: ianalyt_lap, analytic_laplacian ! analytic laplacian or not
|
||||||
|
|
||||||
|
public :: nspin1, ifock
|
||||||
public :: nspin2 ! 1,2,3,-1,-2 -> nspin2b=abs(nspin2)
|
public :: nspin2 ! 1,2,3,-1,-2 -> nspin2b=abs(nspin2)
|
||||||
! nspin2 > 0 nspin2 sets of a, c parms, nspin2b sets of b parms
|
! 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)
|
! nocuspb=0 parallel e-e cusp conditions satisfied (b=1/2,1/4)
|
||||||
@ -117,7 +117,25 @@ MODULE keywords
|
|||||||
public :: cutjas, cutoff_jastrow ! cutoff for Jastrow4,5,6 if cutjas=6,7
|
public :: cutjas, cutoff_jastrow ! cutoff for Jastrow4,5,6 if cutjas=6,7
|
||||||
public :: itau_eff, itau_effective
|
public :: itau_eff, itau_effective
|
||||||
|
|
||||||
! Following not yet added
|
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
|
! rlobx(y) Lobachevsky parameters for Fock expansion
|
||||||
! ipq,iacc_rej,icross,icuspg,idiv_v
|
! ipq,iacc_rej,icross,icuspg,idiv_v
|
||||||
|
|
||||||
@ -255,7 +273,7 @@ MODULE keywords
|
|||||||
integer, target :: ianalyt_lap
|
integer, target :: ianalyt_lap
|
||||||
integer, pointer :: analytic_laplacian => ianalyt_lap
|
integer, pointer :: analytic_laplacian => ianalyt_lap
|
||||||
|
|
||||||
integer :: nspin2
|
integer :: nspin1, nspin2 , ifock
|
||||||
|
|
||||||
integer, target :: nord
|
integer, target :: nord
|
||||||
integer, pointer :: order_poly => nord
|
integer, pointer :: order_poly => nord
|
||||||
@ -286,4 +304,24 @@ MODULE keywords
|
|||||||
real(dp), target :: itau_eff
|
real(dp), target :: itau_eff
|
||||||
real(dp), pointer :: itau_effective => 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
|
end module
|
@ -6,105 +6,29 @@ basis BFD-T-normf0
|
|||||||
|
|
||||||
# %include global.fdf
|
# %include global.fdf
|
||||||
|
|
||||||
|
%block molecule < caffeine.xyz
|
||||||
sr_tau 1.023
|
|
||||||
sr_eps 0.001
|
|
||||||
sr_adiag 0.05
|
|
||||||
energy_tol 0.004
|
|
||||||
|
|
||||||
a = 20
|
|
||||||
b = 30
|
|
||||||
|
|
||||||
|
|
||||||
optimize_wavefunction 1
|
|
||||||
optimize_ci 0
|
|
||||||
optimize_jastrow yes
|
|
||||||
optimize_orbitals false
|
|
||||||
|
|
||||||
|
|
||||||
nextorb 280
|
|
||||||
nblk_max 200
|
|
||||||
nopt_iter 20
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# The sub blocks currently does not parse.
|
|
||||||
|
|
||||||
%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
|
%block determinants < sample.det
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
tau = 0.04
|
||||||
|
etrial = -15 Ha
|
||||||
|
|
||||||
|
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
|
orbitals # default value
|
||||||
jastrow # default value
|
jastrow # default value
|
||||||
jastrow_deriv # 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_wavefunction T
|
||||||
optimize_ci F
|
optimize_ci F
|
||||||
optimize_jastrow T
|
optimize_jastrow T
|
||||||
optimize_orbitals F
|
optimize_orbitals T
|
||||||
%block general
|
ncore 0
|
||||||
pool_directory pool
|
nextorb 280
|
||||||
pseudopotential BFD
|
no_active 0 # default value
|
||||||
basis BFD-T-normf0
|
nblk_max 0 # default value
|
||||||
%endblock general
|
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
|
%block molecule
|
||||||
24
|
24
|
||||||
molecule 1,3,7-Trimethylpurine-2,6-dione
|
molecule 1,3,7-Trimethylpurine-2,6-dione
|
||||||
@ -59,59 +57,5 @@ optimize_orbitals F
|
|||||||
H 3.2249 1.5791 0.8255
|
H 3.2249 1.5791 0.8255
|
||||||
H 2.6431 2.5130 -0.5793
|
H 2.6431 2.5130 -0.5793
|
||||||
%endblock molecule
|
%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
|
%block determinants
|
||||||
&electrons nelec 22 nup 11
|
&electrons nelec 22 nup 11
|
||||||
|
Loading…
Reference in New Issue
Block a user