1
0
mirror of https://github.com/TREX-CoE/fparser.git synced 2024-11-03 12:43:58 +01:00

keywords list updated; issues with allocatable pointes to be solved

This commit is contained in:
Ravindra Shinde 2021-02-25 11:16:21 +01:00
parent 14a34e7902
commit ddc5b4ac49
2 changed files with 163 additions and 74 deletions

View File

@ -78,11 +78,11 @@ MODULE keywords
public :: ncent, natoms, ncenters, ncentres ! number of atoms/centers public :: ncent, natoms, ncenters, ncentres ! number of atoms/centers
public :: iwctype ! specify atom-type for each atom public :: iwctype ! specify atom-type for each atom
public :: znuc, znuclear, atomic_number ! nuclear charge public :: znuc, znuclear, atomic_number ! nuclear charge
public :: cent, atom_coords ! atom positions public :: cent !atom_coords ! atom positions
public :: ndet, ndeterminants ! number of determinants in wavefunction public :: ndet, ndeterminants ! number of determinants in wavefunction
public :: nbasis ! number of basis functions public :: nbasis ! number of basis functions
public :: norb, norbitals ! number of orbitals public :: norb, norbitals ! number of orbitals
public :: cdet, det_coeffs ! coefficients of determinants public :: cdet !det_coeffs ! coefficients of determinants
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
@ -104,7 +104,7 @@ MODULE keywords
public :: scalek, scaling_jastrow ! scale factor for Jastrow public :: scalek, scaling_jastrow ! scale factor for Jastrow
public :: a1,a2 ! Jastrow parameters for Jastrow2 public :: a1,a2 ! Jastrow parameters for Jastrow2
public :: a,b,c ! Jastrow parameters for Jastrow3 public :: a,b,c ! Jastrow parameters for Jastrow3
public :: a4,b,c ! Jastrow parameters for Jastrow4,5,6 public :: a4 ! Jastrow parameters for Jastrow4,5,6
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
@ -112,81 +112,161 @@ MODULE keywords
! 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
! private variables private :: sp, dp
private :: integer, parameter :: sp = kind(1.0)
integer, parameter :: dp = kind(1.0d0)
interface fdf_bnames
module procedure names
end interface
! derived data types
type, public :: atom_t
character(len=:) :: name
character(len=:) :: symbol
integer(int32) :: znuclear
real(real64) :: atomic_mass
end type atom_t
! declarations ! declarations
public :: title character(len=132) :: title
public :: irn, rand_seed
public :: ijas, form_jastrow integer, target :: irn
public :: isc, form_jastrow_scaling integer, pointer :: rand_seed => irn
public :: iperiodic, periodic
public :: ibasis, form_basis integer, target :: ijas
public :: hb, hbar integer, pointer :: form_jastrow => ijas
public :: etrial, energy_trial
public :: eunit, energy_unit integer, target :: isc
public :: nstep, nsteps integer, pointer :: form_jastrow_scaling => isc
public :: nblk, nblocks
public :: nblkeq, nequil_blocks integer, target :: iperiodic
public :: nconf, nconfigs integer, pointer :: periodic => iperiodic
public :: nconf_new, nconfigs_new
public :: idump, unit_restart_dump integer, target :: ibasis
public :: irstar, restart integer, pointer :: form_basis => ibasis
public :: isite, generate_config
public :: ipr, print_level real(dp), target :: hb
public :: imetro, form_metropolis real(dp), pointer :: hbar => hb
public :: delta, step_size
public :: deltar, step_size_radial real(dp), target :: etrial
public :: deltat, step_size_angular real(dp), pointer :: energy_trial => etrial
public :: fbias, force_bias
public :: idmc, form_dmc integer, target :: eunit
public :: nfprod integer, pointer :: energy_unit => eunit
public :: tau
public :: nloc, pseudo_format integer, target :: nstep
public :: nquad, nquadrature integer, pointer :: nsteps => nstep
public :: nelec
public :: nup, nalpha integer, target :: nblk
public :: ndown, nbeta integer, pointer :: nblocks => nblk
public :: nctype, ntypes_atom
public :: ncent, natoms, ncenters, ncentres integer, target :: nblkeq
public :: iwctype integer, pointer :: nequil_blocks => nblkeq
public :: znuc, znuclear, atomic_number
public :: cent, atom_coords integer, target :: nconf
public :: ndet, ndeterminants integer, pointer :: nconfigs => nconf
public :: nbasis
public :: norb, norbitals integer, target :: nconf_new
public :: cdet, det_coeffs integer, pointer :: nconfigs_new => nconf_new
public :: iworbd
public :: ianalyt_lap, analytic_laplacian integer, target :: idump
public :: nspin2 integer, pointer :: unit_restart_dump => idump
public :: nord, order_poly
public :: norda, order_poly_en integer, target :: irstar
public :: nordb, order_poly_ee integer, pointer :: restart => irstar
public :: nordc, order_poly_een
public :: cjas1 integer, target :: isite
public :: cjas2 integer, pointer :: generate_config => isite
public :: scalek, scaling_jastrow
public :: a1,a2 integer, target :: ipr
public :: a,b,c integer, pointer :: print_level => ipr
public :: a4,b,c
public :: cutjas, cutoff_jastrow integer, target :: imetro
public :: itau_eff, itau_effective integer, pointer :: form_metropolis => imetro
integer, target :: delta
integer, pointer :: step_size => delta
integer, target :: deltar
integer, pointer :: step_size_radial => deltar
integer, target :: deltat
integer, pointer :: step_size_angular => deltat
integer, target :: fbias
integer, pointer :: force_bias => fbias
integer, target :: idmc
integer, pointer :: form_dmc => idmc
integer :: nfprod
real(sp) :: tau
integer, target :: nloc
integer, pointer :: pseudo_format => nloc
integer, target :: nquad
integer, pointer :: nquadrature => nquad
integer :: nelec
integer, target :: nup
integer, pointer :: nalpha => nup
integer, target :: ndown
integer, pointer :: nbeta => ndown
integer, target :: nctype
integer, pointer :: ntypes_atom => nctype
integer, target :: ncent
integer, pointer :: natoms => ncent, ncenters => ncent, ncentres => ncent
integer :: iwctype
integer, target :: znuc
integer, pointer :: znuclear => znuc, atomic_number => znuc
real(dp), allocatable :: cent(:,:)
! real(dp), pointer :: atom_coords => cent !! this might have issues in performance
integer, target :: ndet
integer, pointer :: ndeterminants => ndet
integer :: nbasis
integer, target :: norb
integer, pointer :: norbitals => norb
real(dp), allocatable :: cdet(:)
! integer, pointer :: det_coeffs => cdet ! issues in performance
integer :: iworbd
integer, target :: ianalyt_lap
integer, pointer :: analytic_laplacian => ianalyt_lap
integer :: nspin2
integer, target :: nord
integer, pointer :: order_poly => nord
integer, target :: norda
integer, pointer :: order_poly_en => norda
integer, target :: nordb
integer, pointer :: order_poly_ee => nordb
integer, target :: nordc
integer, pointer :: order_poly_een => nordc
integer, target :: scalek
integer, pointer :: scaling_jastrow => scalek
integer :: cjas1
integer :: cjas2
real(dp) :: a1,a2
real(dp) :: a,b,c
real(dp) :: a4
contains real(dp), target :: cutjas
real(dp), pointer :: cutoff_jastrow => cutjas
real(dp), target :: itau_eff
real(dp), pointer :: itau_effective => itau_eff
end module

View File

@ -7,6 +7,10 @@ program trial_reading
character(40) :: temp1, temp2, temp3, fmt character(40) :: temp1, temp2, temp3, fmt
real(selected_real_kind(6,15)), allocatable :: det_coeff(:) real(selected_real_kind(6,15)), allocatable :: det_coeff(:)
integer, target :: irn
integer, pointer :: rand_seed => irn
type(atom_t) :: atom1 type(atom_t) :: atom1
atom1 = element("sulfur") atom1 = element("sulfur")
@ -18,6 +22,11 @@ program trial_reading
print*, atom1 print*, atom1
irn = 132432
print *, "irn ", irn
print *, "rand_seed ", rand_seed
open (unit=11,file='TZ_1M_500.det', iostat=iostat, action='read' ) open (unit=11,file='TZ_1M_500.det', iostat=iostat, action='read' )
read(11,*) temp1, temp2, nelectrons, temp3, nalpha read(11,*) temp1, temp2, nelectrons, temp3, nalpha
write(*,'(a,1x,i3,1x,i3)') "write after read1", nelectrons, nalpha write(*,'(a,1x,i3,1x,i3)') "write after read1", nelectrons, nalpha