10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-22 20:34:58 +01:00

Merge branch 'dev-stable' into dev-stable-tc-scf

This commit is contained in:
Anthony Scemama 2023-03-28 14:36:34 +02:00
commit 65598f02d3
7 changed files with 71 additions and 72 deletions

View File

@ -1,52 +0,0 @@
#sudo: true
#before_script:
# - sudo apt-get update -q
# - sudo apt-get remove curl
# - sudo apt-get remove zlib1g-dev
# - sudo apt-get install autoconf
# - sudo rm /usr/local/bin/bats
os: linux
dist: bionic
sudo: false
compiler: gfortran
addons:
apt:
packages:
- gfortran
- gcc
- libatlas-base-dev
# - liblapack-dev
# - libblas-dev
- wget
env:
- OPAMROOT=$HOME/.opam
cache:
directories:
- $HOME/.opam/
- $HOME/cache
language: python
python:
- "3.7"
stages:
- configuration
- compilation
- testing
jobs:
include:
- stage: configuration
script: travis/configuration.sh
- stage: compilation
script: travis/compilation.sh
- stage: testing
script: travis/testing.sh

View File

@ -9,15 +9,23 @@
- Configure adapted for ARM - Configure adapted for ARM
- Added many types of integrals - Added many types of integrals
- Accelerated four-index transformation - Accelerated four-index transformation
*** TODO: take from dev
- [ ] Added GTOs with complex exponent
- Updated version of f77-zmq
- Added transcorrelated SCF - Added transcorrelated SCF
- Added transcorrelated CIPSI - Added transcorrelated CIPSI
- Added CCSD and CCSD(T)
- Added MO localization
- Changed coupling parameters for ROHF
- General Davidson algorithm
- Accelerated restore_symmetry
- Point charges in the Hamiltonian
- Removed cryptokit dependency in OCaml
- Using now standard convention in RDM
- Added molecular properties
- [ ] Added GTOs with complex exponent
*** TODO: take from dev
- Updated version of f77-zmq
- Started to introduce shells in AOs - Started to introduce shells in AOs
- Added ECMD UEG functional - Added ECMD UEG functional
- General Davidson algorithm
* Version 2.2 * Version 2.2

View File

@ -52,7 +52,7 @@ BEGIN_PROVIDER [ %(type)s, %(name)s %(size)s ]
%(test_null_size)s %(test_null_size)s
call ezfio_has_%(ezfio_dir)s_%(ezfio_name)s(has) call ezfio_has_%(ezfio_dir)s_%(ezfio_name)s(has)
if (has) then if (has) then
write(6,'(A)') '.. >>>>> [ IO READ: %(name)s ] <<<<< ..' ! write(6,'(A)') '.. >>>>> [ IO READ: %(name)s ] <<<<< ..'
call ezfio_get_%(ezfio_dir)s_%(ezfio_name)s(%(name)s) call ezfio_get_%(ezfio_dir)s_%(ezfio_name)s(%(name)s)
else else
print *, '%(ezfio_dir)s/%(ezfio_name)s not found in EZFIO file' print *, '%(ezfio_dir)s/%(ezfio_name)s not found in EZFIO file'
@ -117,7 +117,7 @@ END_PROVIDER
output = self.output output = self.output
name = self.name name = self.name
l_write = ["", l_write = ["",
" call write_time(%(output)s)", "! call write_time(%(output)s)",
""] ""]
self.write = "\n".join(l_write) % locals() self.write = "\n".join(l_write) % locals()
@ -129,7 +129,7 @@ END_PROVIDER
write = self.write_correspondance[self.type] write = self.write_correspondance[self.type]
l_write = ["", l_write = ["",
" call write_time(%(output)s)", "! call write_time(%(output)s)",
" call %(write)s(%(output)s, %(name)s, &", " call %(write)s(%(output)s, %(name)s, &",
" '%(name)s')", " '%(name)s')",
""] ""]

View File

@ -0,0 +1,54 @@
#!/usr/bin/env python3
import re
import sys
# Read output file
with open(sys.argv[1], 'r') as file:
output = file.read()
def extract_data(output):
lines = output.split("\n")
data = []
n_det = None
e = None
pt2 = None
err_pt2 = None
rpt2 = None
err_rpt2 = None
e_ex = None
reading = False
for iline, line in enumerate(lines):
if not reading and line.startswith(" N_det "):
n_det = int(re.search(r"N_det\s+=\s+(\d+)", line).group(1))
reading = True
if reading:
if line.startswith(" E "):
e = float(re.search(r"E\s+=\s+(-?\d+\.\d+)", line).group(1))
elif line.startswith(" PT2 "):
pt2 = float(re.search(r"PT2\s+=\s+(-?\d+\.\d+E?.\d*)", line).group(1))
err_pt2 = float(re.search(r"\+/-\s+(-?\d+\.\d+E?.\d*)", line).group(1))
elif line.startswith(" rPT2 "):
rpt2 = float(re.search(r"rPT2\s+=\s+(-?\d+\.\d+E?.\d*)", line).group(1))
err_rpt2 = float(re.search(r"\+/-\s+(-?\d+\.\d+E?.\d*)", line).group(1))
elif "minimum PT2 Extrapolated energy" in line:
e_ex_line = lines[iline+2]
e_ex = float(e_ex_line.split()[1])
reading = False
data.append((n_det, e, pt2, err_pt2, rpt2, err_rpt2, e_ex))
n_det = e = pt2 = err_pt2 = rpt2 = err_rpt2 = e_ex = None
return data
data = extract_data(output)
for item in data:
print(" ".join(str(x) for x in item))

View File

@ -30,10 +30,5 @@ BEGIN_PROVIDER [ integer, n_states_diag ]
endif endif
IRP_ENDIF IRP_ENDIF
call write_time(6)
if (mpi_master) then
write(6, *) 'Read n_states_diag'
endif
END_PROVIDER END_PROVIDER

View File

@ -1,8 +1,3 @@
! DO NOT MODIFY BY HAND
! Created by $QP_ROOT/scripts/ezfio_interface/ei_handler.py
! from file /home/eginer/programs/qp2/src/mo_basis/EZFIO.cfg
BEGIN_PROVIDER [ character*(32), mo_class , (mo_num) ] BEGIN_PROVIDER [ character*(32), mo_class , (mo_num) ]
implicit none implicit none
BEGIN_DOC BEGIN_DOC
@ -35,6 +30,4 @@ BEGIN_PROVIDER [ character*(32), mo_class , (mo_num) ]
endif endif
IRP_ENDIF IRP_ENDIF
call write_time(6)
END_PROVIDER END_PROVIDER

View File

@ -12,6 +12,7 @@ program save_natorb
! matrices of each state with the corresponding ! matrices of each state with the corresponding
! :option:`determinants state_average_weight` ! :option:`determinants state_average_weight`
END_DOC END_DOC
PROVIDE nucl_coord
read_wf = .True. read_wf = .True.
touch read_wf touch read_wf
call save_natural_mos call save_natural_mos