From 344bd9b26dc1ad08d44d872637d92904991c2e70 Mon Sep 17 00:00:00 2001 From: Ravindra Shinde Date: Wed, 24 Feb 2021 09:47:16 +0100 Subject: [PATCH] keywords list updated --- src/iochamp.f90 | 16 +++--- src/keywords.F90 | 127 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 136 insertions(+), 7 deletions(-) create mode 100644 src/keywords.F90 diff --git a/src/iochamp.f90 b/src/iochamp.f90 index e8281fd..07969f2 100644 --- a/src/iochamp.f90 +++ b/src/iochamp.f90 @@ -11,7 +11,7 @@ PROGRAM iochamp integer, parameter :: maxa = 100 logical :: doit, debug, check, val, logic(10) logical :: beginning, ending - character(len=72) :: fname, axis, status, filename, title + character(len=72) :: fname, axis, status, filename, title, fmt character(len=72) :: molecule_name, key, comment character(2) :: symbol(maxa) character(len=20) :: chunks(10), subblock(10) @@ -35,7 +35,7 @@ PROGRAM iochamp ! for determinants sections integer :: nelectrons, nalpha, nbeta, ndeterminants, nexcitation, iostat integer, allocatable :: det_alpha(:), det_beta(:) - real(dp), allocatable :: det_coeff(:) + real(selected_real_kind(6,15)), allocatable :: det_coeff(:) character(len=20) :: temp1, temp2, temp3, temp4, temp5 !------------------------------------------------------------------------- BEGIN @@ -369,12 +369,14 @@ PROGRAM iochamp open (unit=11,file='TZ_1M_500.det', iostat=iostat, action='read' ) read(11,*) temp1, temp2, nelectrons, temp3, nalpha -! write(*,'(a,1x,i3,1x,i3)') "write after read1", nelectrons, nalpha - read(11,*) temp1, ndeterminants, nexcitation -! write(*,'(a,1x,i3, 1x, i3)') "write after read2", ndeterminants, nexcitation + write(*,'(a,1x,i3,1x,i3)') "write after read1", nelectrons, nalpha + read(11,*) temp1, ndeterminants, nexcitation + allocate(det_coeff(ndeterminants)) + write(*,'(a,1x,i3, 1x, i3)') "write after read2", ndeterminants, nexcitation read(11,*) (det_coeff(i), i=1,ndeterminants) - write(*,'((f11.8,1x))') (det_coeff(i), i=1,ndeterminants) -! write(*,'((f10.8, 1x))') (det_coeff(i), i=1,ndeterminants) + write(fmt,*) '(', ndeterminants, '(f11.8,1x))' + write(*,fmt) (det_coeff(i), i=1,ndeterminants) +! write(*,'((f11.8, 1x))') (det_coeff(i), i=1,ndeterminants) ! for Intel Fortran close(11) diff --git a/src/keywords.F90 b/src/keywords.F90 new file mode 100644 index 0000000..f142c4e --- /dev/null +++ b/src/keywords.F90 @@ -0,0 +1,127 @@ +! Licence information goes here +! +! + +#if defined HAVE_CONFIG_H +# include "config.h" +#endif + +#define THIS_FILE "keywords.F90" + +!===================================================================== +! +! This file is a part of parser module of CHAMP +! It contains the variables, their default values, a short descriptions. +! The variables are initiazed with their default values here. +! These values will be changed by the parsed input +! +! Ravindra Shinde +! +!===================================================================== + +MODULE keywords + +! use iochamp + + implicit none + + public :: + + private :: + + interface fdf_bnames + module procedure names + end interface + + +! Dynamic list for parsed_line structures + type, public :: line_dlist + character(len=MAX_LENGTH) :: str + type(parsed_line), pointer :: pline => null() + ! + type(line_dlist), pointer :: next => null() + type(line_dlist), pointer :: prev => null() + end type line_dlist + + contains + + + +! title title +! irn random number seeds (four 4-digit integers) +! ijas form of Jastrow. (between 1 and 6, mostly we use 4) +! isc form of scaling function for ri,rj,rij in Jastrow (between 1 and 7, mostly use 2,4,6,7,16,17) +! iperiodic 0 finite system +! >0 periodic system +! ibasis form of basis +! hb hbar=0.5 for Hartree units +! etrial guess for energy +! eunit 'Hartree' +! nstep number of steps per block +! nblk number of blocks +! nblkeq number of equilibration blocks +! nconf target number of MC configurations in dmc +! nconf_new number of new MC configs. saved per processor. +! idump dump restart file +! irstar restart from restart file +! isite call sites to generate starting MC config. in vmc +! ipr print level +! imetro form of Metropolis (6 is most efficient choice for most systems) +! 1 simple algorithm with force-bias +! 6 accelerated Metropolis algorithm from Cyrus' 1993 PRL +! delta step-size for simple algorithm +! deltar radial step-size for accelerated algorithm +! deltat angular step-size for accelerated algorithm +! fbias force-bias. (Use 1 always). +! idmc form of dmc algorithm +! 1 simple dmc +! 2 improved dmc from Umrigar, Nightingale, Runge 1993 JCP +! ipq,itau_eff,iacc_rej,icross,icuspg,idiv_v +! nfprod number of products to undo for estimating population control bias in dmc +! tau time-step in dmc +! nloc nonlocal pseudopotential +! 0 local +! 1 in Fahy format +! 2 in Troullier-Martins format (unformatted) +! 3 in Troullier-Martins format (formatted) +! nquad number of angular quadrature points for nonlocal psp. +! nelec number of electrons +! nup number of up-spin electrons +! nctype number of atom/center types +! ncent number of atoms/centers +! iwctype specify atom-type for each atom +! znuc nuclear charge +! cent atom positions +! ndet number of determinants in wavefunction +! nbasis number of basis functions +! norb number of orbitals +! cdet coefficients of determinants +! iworbd which orbitals enter in which determinants +! ianalyt_lap analytic laplacian or not +! ijas form of Jastrow. (between 1 and 6, mostly we use 4) +! isc form of scaling function for ri,rj,rij in Jastrow (between 1 and 7, mostly use 2,4,6,7) +! 2 [1-exp(scalek*r)]/scalek +! 3 [1-exp{-scalek*r-(scalek*r)**2/2}]/scalek +! 4 r/(1+scalek*r) +! 5 r/{1+(scalek*r)**2}**.5 +! 6 Short-range version of 2 (range given bu cutjas) +! 7 Short-range version of 4 (range given bu cutjas) +! 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) +! nspin2 < 0 -> nspin2=1 +! nspin2=1 sets of a and c parms, nspin2b sets of b parms +! -1 nocuspb=1 parallel e-e cusp conditions not satisfied (1/2,1/2) +! -2 nocuspb=0 parallel e-e cusp conditions satisfied (1/2,1/4) +! nord order of the polynmial +! norda order of the e-n polynmial in Jastrow4 +! nordb order of the e-e polynmial in Jastrow4 +! nordc order of the e-e-n polynmial in Jastrow4 +! cjas1 simple jastrow1 (0.5 to satisfy cusps, parallel-spins automatically take half this value) +! cjas2 simple jastrow1 parameter +! scalek scale factor for Jastrow +! a1,a2 Jastrow parameters for Jastrow2 +! a,b,c Jastrow parameters for Jastrow3 +! a4,b,c Jastrow parameters for Jastrow4,5,6 +! cutjas cutoff for Jastrow4,5,6 if cutjas=6,7 +! rlobx(y) Lobachevsky parameters for Fock expansion \ No newline at end of file