Releases: molgw/molgw
Releases · molgw/molgw
MOLGW version 3.4
What's new in version 3.4
Overview
- Complex wavefunctions
- X2C relativistic wavefunctions for HF/DFT calculations
- Possibility to link with LIBCINT whatever the p-orbital ordering
- Support for alternate compilers: LLVM flang/clang++ and Intel ifx/icx
Contributors
- Fabien Bruneval (SRMP, CEA, Université Paris-Saclay, France)
- Mauricio Rodriguez-Mayorga (Institut Néel, Grenoble, France)
Changes affecting the results
- bug fix in Crank-Nicholson propagator in RT-TDDFT with spin
Changes affecting the usage
- RT-TDDFT input variables have been renamed with
tddft_
prefix.pred_corr
->tddft_predictor_corrector
prop_type
->tddft_propagator
n_hist
->tddft_history
Changes affecting the compilation
- Intel ifx compiler is supported
- LLVM/flang compiler is supported
- Different p-orbital orderings are handled. It's not necessary to compile LIBCINT with
-DPYPZPX=1
anymore.
Changes affecting the developers
- Source files have been cleaned up. Please use a space after comma
,
MOLGW version 3.3
What's new in version 3.3
Overview
- G3W2 and 2SOSEX self-energies
- Range-separated hybrid are compatible with RT-TDDFT and LR-TDDFT
- The pCCD method is now available as a NOFT functional
- BSE correlation energy computed in a similar fashion to the RPAx-I one
- Python scripting improved using molgw.py
- Support for HDF5 files in RT-TDDFT
- Unifying the Makefile variables to point to the libraries
Contributors
- Fabien Bruneval (SRMP, CEA, Université Paris-Saclay, France)
- Mauricio Rodriguez-Mayorga (Institut Néel, Grenoble, France)
- Ivan Maliyov (Université Aix-Marseille, France)
Changes affecting the usage
- G3W2 and 2SOSEX self-energies can be evaluated with
postscf='GW+G3W2'
orpostscf='GW+2SOSEX'
. The formulas can be found in https://doi.org/10.1021/acs.jctc.4c00090.
Two implementations are available: either fully analytic or imaginary frequencies quadratures withpostscf='GW+G3W2_PADE'
. - Running with python or jupyter notebook is more complete.
New classes for input (Molgw_input
), output (Molgw_output
), and collection of ouputs (Molgw_output_collection
)
Check out jupyter notebooks in~molgw/docs/running_molgw_with_jupyter.ipynb
and~molgw/docs/gw100_benchmark.ipynb
. - Python function
molgw.spectrum.evaluate()
as replacement for spectrum fortran code - The pair-Coupled Cluster Doubles (pCCD) method is now available including orbital optimization (with the NOFT module).
- Possibility to use range-separated hybrid in LR-TDDFT and RT-TDDFT
- Updated format for RT-TDDFT file
dipole_time.dat
Changes affecting the compilation
- For LIBCINT, LIBINT, HDF5, LIBXC, one may either specify the location of the installation folder with variable
LIBCINT_ROOT=/path/to/libcint/installation/
or specify explicitly the include and linking lines with variables:
LIBCINT= -L/path/to/libcint/installation/lib64/ -lcint
LIBCINT_INCS= -I/path/to/libcint/installation/include/
Changes affecting the developers
- HDF5 fortran sequential writing and reading subroutines can be used
- spectrum fortran code eliminated, no dependance on FFTW any longer
MOLGW version 3.2
What's new in version 3.2
Overview
- Double-hybrid functionals (and more range-sep hybs.)
- Finite electric field with
electric_field_x
,electric_field_y
,electric_field_z
- More standard compilation variables
Contributors
- Fabien Bruneval (SRMP, CEA, Université Paris-Saclay, France)
- Mauricio Rodriguez-Mayorga (Universitat d'Alacant, Alicante, Spain)
Changes affecting the usage
electric_field_x
,electric_field_y
,electric_field_z
trigger a finite external electric fieldPBEsol
functional available
Changes affecting the compilation
- LIBXC should be version 5 or newer
- Makefile has been standardized to help spack packaging
HAVE_MPI
automatically impliesHAVE_SCALAPACK
and vice-versa
Changes affecting the developers
- Nucleus-nucleus and nucleus-electron energies also contain the interaction with the external electric field interaction if any
MOLGW version 3.1
What's new in version 3.1
Overview
- Simplified compilation
- Even-tempered basis
- RPA, RPA+, RPAx (RPAx-II), RPAx-I correlation energies
- Double-hybrid functionals (e.g. B2PLYP, PBE0-DH, PBE-QIDH, etc.)
- Inclusion of more RDMFT functionals (e.g. CGA, CA, GU, and GNOF)
- GTH pseudo potentials in CP2K format
- New functionalities in
molgw.py
for running and post-processing series of calculations
Contributors
- Fabien Bruneval (SRMP, CEA, Université Paris-Saclay, France)
- Mauricio Rodriguez-Mayorga (Universitat d'Alacant, Alicante, Spain)
Changes affecting the usage
- Even-tempered basis sets can be set with input variables:
even_tempered_alpha
,even_tempered_beta
,even_tempered_n_list
. - RPA, RPA+, RPAx (RPAx-II) are triggered with
postscf
values:RPA
,RPA+
,RPAx-II
,RPAx-I
- Double-hybrids (e.g. B2PLYP, PBE0-DH, PBE-QIDH, etc.) require the postscf='MP2' keyword and the amount of EXX and MP2 correlation
- GNOF has become the default one in RDMFT calculations.
- GTH pseudo potentials are assumed when the ECP root name in
ecp_type
contains "GTH" or "gth".
Changes affecting the compilation
- Compilation is by default with LIBXC and LIBCINT. Use preprocessor variable
-DNO_LIBXC
or-DNO_LIBCINT
if you want to do otherwise.
Do not use-DHAVE_LIBCINT
any longer, else a series of warnings may be issued. - A global Makefile has been created in the root.
Changes affecting the developers
- Use
#if !defined(NO_LIBXC)
instead of#if defined(HAVE_LIBXC)
MOLGW version 3.0
What's new in version 3.0
Overview
- LIBCINT library as an alternative to LIBINT
- Natural Orbital Functional Theory (NOFT)
- GW calculations with W from TDDFT
- pseudopotential in numerical format PSP6 or PSP8 can be used
- LIBXC functionals can be called directly if one knows their unique LIBXC index
- expansion of the python utilities in molgw.py
- new basis functions (Dunning 7Z)
- various bug fixes, typos
Contributors
- Fabien Bruneval (SRMP, CEA, Université Paris-Saclay, France)
- Mauricio Rodriguez-Mayorga (Vrije Universiteit, Amsterdam, Netherlands)
- Nike Dattani (HPQC Labs, Waterloo, Canada)
- Zohreh Hashemi (University of Bayreuth, Germany)
Changes affecting the usage
- Natural orbital functional theory (a.k.a. reduced density matrix functional theory) approximations are now available for singlet-states.
NOFT calculations are triggered withpostscf='NOFT'
.
The corresponding input variables start withnoft_
. Available functionals include: Muller, power, PNOF5, and PNOF7. - Dynamical self-energy correlation contribution and Spectral weight Z are now reported for omega=E_qp instead of omega=E_gKS.
postscf='GWTDDFT'
triggers the calculation of W with HF or TDDFT kernel included.- MOLGW can use "solid-state" norm-conserving pseudopotentials in the PSP6 or PSP8 format (from pseudo-dojo.org for instance).
This is slow but functional. It is intended for tests. - Python script to extract the basis set from a Gaussian formatted checkpoint file (.fchk):
create_basis_from_gaussian_fchk.py
. - All the LIBXC functionals can be called directly with syntax:
scf='LIBXC:101+130'
for PBE for instance. - Possibility to tune the cube file output with new input variables
cube_nx
,cube_ny
,cube_nz
,cube_state_min
,cube_state_max
. - Possibility to output the transition density in BSE/TDDFT.
- Possibility to read Gaussian cube files with molgw.py
Changes affecting the compilation
- The C library LIBCINT can replace LIBINT with noticeable advantages.
LIBCINT is easy to compile on any architecture (it's coded in plain C) and its compilation time is low.
According to our tests, LIBCINT appears as twice faster than LIBINT at runtime.
To use LIBCINT,my_machine.arch
should containLIBCINT=-lcint
and preprocessing option-DHAVE_LIBCINT
Changes affecting the developers
- LIBCINT library offers many integral types that were not available with LIBINT. New opportunities are open.
MOLGW version 2.F
What's new in version 2.F
Overview
- MOLGW is now compatible with LIBXC 5
- MOLGW automatically detects the LIBINT configuration. Easier compilation
- Possibility to add point charges in the structure
Contributors
- Fabien Bruneval (CEA SRMP, France)
Changes affecting the usage
- Fractional point charges (without basis functions) can be specified in the structure using the syntax:
q x y z none none
Changes affecting the compilation
- MOLGW can be linked against LIBXC 5
- MOLGW detects LIBINT configuration to know wheter the one-body integrals and the gradients are available. Preprocessor instructions such as
-DHAVE_LIBNIT_ONEDOBY
are not needed anymore.
MOLGW version 2.E
What's new in version 2.E
Overview
- MOLGW proposes automatically an extrapolated GW energy to the Complete Basis Set limit when using Dunning basis sets
- GW with analytic continuation is now robust for the HOMO-LUMO gap region. Tested for C60 in aug-cc-pV5Z (>7500 basis functions)
- small bug fixes, speed-ups, memory reductions
Contributors
- Fabien Bruneval (CEA SRMP, France)
- Xixi Qi (CEA SRMP, France)
- Mauricio Rodriguez-Mayorga (CEA SRMP, France)
Changes affecting the usage
- Automatic suggestion of an extrapolation to the Complete Basis Set limit for GW energies
- GW analytic continuation technique is fully functional. Use postscf='G0W0_pade'. It is much faster than the analytic formula but it is mostly reliable close to the HOMO-LUMO gap.
- Reduced memory consumption in the Pulay history (SCALAPACK distribution of the large arrays)
- Improved OPENMP
Changes affecting the compilation
- Assuming now that all Fortran compilers have Fortran 2008 capabilities. Preprocessor key FORTRAN2008 has been removed.
Changes affecting the developers
- Introduce high-level mpi tools for instance, world%sum() for reduction, world%nproc, world%rank for information
MOLGW version 2.D
What's new in version 2.D
Overview
- Compatibility with gcc/gfortran 10
- Basis files location can be set from an environment variable MOLGW_BASIS_PATH
- Printing of standard WFN files
Contributors
- Fabien Bruneval (CEA SRMP, France)
- Mauricio Rodriguez-Mayorga (CEA SRMP, France)
Changes affecting the usage
- Keyword
print_wfn_file
triggers the output of a standard WFN file that can be read with external visualization softwares. - Environment variable
MOLGW_BASIS_PATH
sets the path to the basis files. It is still be overridden by the input keywordbasis_path
. - New default value for
postscf_diago_flavor=' '
. Though faster, the former default value was not stable enough for large systems.
Changes affecting the compilation
- GCC 10 is very picky on the routine calls without an interfaces. Many existing calls to BLAS/LAPACK/SCALAPACK had to be fixed.
- Makefile, my_machine.arch use more standard
FCFLAGS
andCXXFLAGS
variables instead ofFCOPTS
andCXXOPTS
- Fortran long lines have been chopped into pieces so to comply with the 132 character limit of Fortran.
Compiler options such as-ffree-line-length-none
are not needed any more.
Changes affecting the developers
- Please respect the 132-character limit of Fortran.
MOLGW version 2.C
What's new in version 2.C
Overview
- Real-time TDDFT is made available
- speed-up in the Hartree, Exchange and AO to MO transform
- calculation of the generalized oscillator strengths (q-dependent) and linear-response stopping power
- use of LIBXC through the C interface
- compibility with the latest LIBINT versions restored
- creation of a YAML output file gathers many information that can be easily processed via python
- bug fixes
Contributors
- Fabien Bruneval (CEA SRMP, France)
- Ivan Maliyov (CEA SRMP, France)
- Young-Moo Byun (U. Illinois@Chicago, USA)
Changes affecting the usage
- Post-processing is not performed if the SCF cycles are not converged within
tolscf
(save user CPU time when a job went wrong) - Keywords
scalapack_nprow
andscalapack_npcol
have been eliminated - Keyword
stopping
triggers the linear-response stopping power calculation - Value
postscf='real_time'
triggers real-time TDDFT (RT-TDDFT) - New default value for
postscf_diago_flavor='D'
- OPENMP parallelisation effort is pursued
- Bug fix of the output of the COHSEX energies (bug discovered by Arjan Berger)
Changes affecting the compilation
- LIBXC is now linked through the C interface. Therefore, LIBXC compilation does not need to be consistent with MOLGW compilation.
The latest version of LIBXC can be used. Preprocessing flag-DLIBXC4
is no longer needed. - Preprocessing option
-DHAVE_MKL
allows for the use of MKL extensions and in particular ofDGEMMT
. - Use of modern Fortran2008 syntax, such as c%re to obtain the real part of a complex number. Code imcompatible with older compilers (gfortran > 9.0 necessary)
Changes affecting the developers
- The list of all the input variables is now stored in a YAML file ~molgw/src/input_variables.yaml that is processed with the python script ~molgw/utils/input_variables.py
MOLGW version 2.B
What's new in version 2.B
Overview
- automatic generation of an auxiliary basis following the "Auto" and "PAuto" recipes of Gaussian
- output the Galitskii-Migdal correlation energy = 1/2 Tr[ Sigmac * G ]
- non HF starting points for perturbation theory density matrices
- speed-up in RT-TDDFT
- bug fixes
Contributors
- Fabien Bruneval (CEA SRMP, France)
- Young-Moo Byun (U. Illinois@Chicago, USA)
- Ivan Maliyov (CEA SRMP, France)
Changes affecting the usage
- Keyword
auxil_basis='auto'
orauxil_basis='pauto'
triggers automatic generation of an auxiliary basis