Code Monkey home page Code Monkey logo

abacus-develop's Introduction

About ABACUS

ABACUS (Atomic-orbital Based Ab-initio Computation at UStc) is an open-source package based on density functional theory (DFT). The package utilizes both plane wave and numerical atomic basis sets with the usage of norm-conserving pseudopotentials to describe the interactions between nuclear ions and valence electrons. ABACUS supports LDA, GGA, meta-GGA, and hybrid functionals. Apart from single-point calculations, the package allows geometry optimizations and ab-initio molecular dynamics with various ensembles. The package also provides a variety of advanced functionalities for simulating materials, including the DFT+U, VdW corrections, and implicit solvation model, etc. In addition, ABACUS strives to provide a general infrastructure to facilitate the developments and applications of novel machine-learning-assisted DFT methods (DeePKS, DP-GEN, DeepH, etc.) in molecular and material simulations.

Online Documentation

For detailed documentation, please refer to our documentation website.

abacus-develop's People

Contributors

1041176461 avatar abacus-ustc avatar alcanderian avatar baixiaokuang avatar caic99 avatar darelbeida avatar ddhhss avatar denghuilu avatar dyzheng avatar haozhihan avatar hongritianqi avatar jieli-matrix avatar jinzx10 avatar kirk0830 avatar liu-rx avatar lyb9812 avatar maki49 avatar mohanchen avatar ouqi0711 avatar peizelin avatar pplab avatar pxlxingliang avatar qianruipku avatar sunliang98 avatar tansongchen avatar wenfei-li avatar whuweiqingzhou avatar wszhang avatar xinyangd avatar yuliu98 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

abacus-develop's Issues

PBE band structures diagonalization of H(R) and nscf calculation are different

Describe the Bug

@PeizeLin and I compare PBE band structures from diagonalization of H(R) matrix and nscf calculation, among three versions of ABACUS (21-12-04, 22-04-25 and 22-07-11). We found that results of version 22-07-11 are different from the other two, especically, hr-results of 22-07-11 are different from nscf-results of 22-07-11 while such a big difference do not appear in the old versions.
Here we provide the pairwise MAEs:
band_compare
and input files:
input.zip

ABACUS v2.3.0 no longer outputs orbital definitions for H(R) like older versions of ABACUS

Describe the Bug

I want to get the Kohn-Sham matrix element in real space H(R) by ABACUS, and I need to figure out which orbtial each line of H(R) corresponds to.

In the past, I used an old version of ABACUS. If I set out_hs2 1, I could get an output file in OUT.ABACUS/Orbital recording the orbtial definition. However, when I switch to the new version of v2.3.0 and set out_mat_hs2 1, the file OUT.ABACUS/Orbital no longer appears after the scf calculation is complete.

Maybe this is because out_hs2 was renamed out_mat_hs2.

To Reproduce

Steps to reproduce the behavior:

  1. Download the code from https://github.com/abacusmodeling/abacus-develop/archive/refs/tags/v2.3.0.tar.gz
  2. Build ABACUS with intel oneapi MKL 2022.0.2 + MPI 2021.5.1
  3. Run scf calculation using ABACUS with the input file from BN.zip
  4. There is no file Orbital in OUT.ABACUS/
  5. If I use an older version of ABAUCS to perform the calculate for the above flow, I can get a file OUT.ABACUS/Orbital like:
     io    spec    l    m    z  sym
      0       B    0    0    1    s          
      0       B    0    0    2    s          
      0       B    1    0    1    px         
      0       B    1    1    1    py         
      0       B    1    2    1    pz         
      0       B    1    0    2    px         
      0       B    1    1    2    py         
      0       B    1    2    2    pz         
      0       B    2    0    1    d3z^2-r^2  
      0       B    2    1    1    dxy        
      0       B    2    2    1    dxz        
      0       B    2    3    1    dx^2-y^2   
      0       B    2    4    1    dyz        
      1       N    0    0    1    s          
      1       N    0    0    2    s          
      1       N    1    0    1    px         
      1       N    1    1    1    py         
      1       N    1    2    1    pz         
      1       N    1    0    2    px         
      1       N    1    1    2    py         
      1       N    1    2    2    pz         
      1       N    2    0    1    d3z^2-r^2  
      1       N    2    1    1    dxy        
      1       N    2    2    1    dxz        
      1       N    2    3    1    dx^2-y^2   
      1       N    2    4    1    dyz        
    
    
     io =Orbital index in supercell
    spec =Atomic species label
      l =Angular mumentum quantum number
      m =Magnetic quantum number
      z =Zeta index of orbital
    sym =Symmetry name of real orbital
    

Environment

  • openSUSE Leap 15.3
  • icpc version 2021.5.0 (gcc version 7.5.0 compatibility)
  • Intel oneapi MKL 2022.0.2, MPI 2021.5.1

Transform from wfc_dm_2d.dm_gamma to LOC.DM

In the GAMMA_ONLY line, there is a function "cal_dk_gamma_from_2D" to transform wfc_dm_2d.dm_gamma to LOC.DM, how to transform wfc_dm_2d.dm_k to LOC.DM_R in k-points line?

cell-relax do not converge with L(S)DA+U in spin=2 system

Describe the bug

  • comparison tests of cell-relax calculation in MnSbTe system

  • nspin=2 without L(S)DA+U in ABACUS version abacus-develop-3.0.3

  • converge with force and stress

  • test file MnSbTe_1.zip

  • nspin=2 with L(S)DA+U in ABACUS version abacus-2022-9-30-3.0.0

  • converge with force in every step with lattice vector constrained while stress do not converge

  • test file MnSbTe_2.zip

Expected behavior

No response

To Reproduce

MnSbTe_1.zip

https://www.jianguoyun.com/p/DXx0D9QQ7fzGCBjTuekEIAA

Environment

No response

Additional Context

No response

Difference in the calculation results (total energy and charge density) between v2.2.0 and v2.1.0

There are some differences in the calculation results between v2.2.0 and v2.1.0.
For example, a system with 64 Si atoms,
Total Energy

Total energy (eV)
v2.1.0 (genelpa) -6886.141105681941
v2.2.0 (genelpa) -6886.143459123970
v2.2.0 (scalapack) -6886.143459124583

Charge Density
Si64

Other systems, like with 128/256/512/1024 Si atoms, have the same problem. Please refer to the attached files.
results_difference.zip

The ocp function is aimed at the difficulty of multiple k points

Background

The ocp function can manually set the occupy number of each wave function in the form of an array, but the length of the array can only be 10000 at most. Once the wave function of 10000 is encountered in heavy rain, the ocp function cannot be used

Describe the solution you'd like

It is hoped to make the array length become dynamic or the upper limit of the array have a large value, because in some special cases, the corresponding occupation of each k point will appear different, and the reading of individual k points cannot adapt to this situation

Additional Context

No response

There is no `.cube` file output with `out_chg=1`

Describe the bug

Iwant to plot charge using Vesta. So I used version in develop branch, with the following input parameters:
4bc1ea039871d2cb1fd01a83ae21679
to output charge. There is no .cube file output, though I set out_chg=1.
Here is my OUT.ABACUS directory:
image

Expected behavior

A charge file in .cube format can be obtained from ABACUS

To Reproduce

run ABACUS with out_chg=1

Environment

No response

Additional Context

No response

Compilation error w/ latest elpa code

Hi

I run the installation of elpa lib by clone the official repo (https://gitlab.mpcdf.mpg.de/elpa/elpa) and compile it w/ the following options:

--enable-openmp --enable-nvidia-gpu --with-mpi=yes CFLAGS='-mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq'

and the destination dir locates at /software/elpa/commit_d6dacc08bc1729583308d2ac6cef7211d3113b4e

then i simply run command of abacus installation:

cmake -B build -DCMAKE_INSTALL_PREFIX=/software/abacus/2.2.3/  -DUSE_LIBXC=1 -DUSE_CUDA=1 -DELPA_LIBRARY=/software/elpa/commit_d6dacc08bc1729583308d2ac6cef7211d3113b4e/lib/ -DELPA_INCLUDE_DIR=/software/elpa/commit_d6dacc08bc1729583308d2ac6cef7211d3113b4e/include/elpa_openmp-2022.05.001.rc1/

cmake --build build -j19
cmake --install build

and the error occurs:

[100%] Built target pw
[100%] Built target ri
[100%] Built target io
Scanning dependencies of target abacus
[100%] Building CXX object CMakeFiles/abacus.dir/source/main.cpp.o
[100%] Linking CXX executable abacus
/usr/bin/ld: cannot find /software/elpa/commit_d6dacc08bc1729583308d2ac6cef7211d3113b4e/lib: file format not recognized
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/abacus.dir/build.make:931: abacus] Error 1
make[1]: *** [CMakeFiles/Makefile2:618: CMakeFiles/abacus.dir/all] Error 2
make: *** [Makefile:149: all] Error 2

Can somebody please help me with that?

There is an error when use ABACUS to do HSE+SOC calculation

Describe the bug

When I use ABACUS (version: cb47661) to do HSE+SOC, there is an error reported as follows:

WARNING: Total thread number on this node mismatches with hardware availability. This may cause poor performance.
Info: Local MPI proc number: 3,OpenMP thread number: 9,Total thread number: 27,Local thread limit: 28
ABACUS.mpi: ./module_base/complexmatrix.cpp:145: ModuleBase::ComplexMatrix ModuleBase::operator+(const ModuleBase::ComplexMatrix &, const ModuleBase::ComplexMatrix &): Assertion `m1.nr == m2.nr' failed.
ABACUS.mpi: ./module_base/complexmatrix.cpp:145: ModuleBase::ComplexMatrix ModuleBase::operator+(const ModuleBase::ComplexMatrix &, const ModuleBase::ComplexMatrix &): Assertion `m1.nr == m2.nr' failed.
ABACUS.mpi: ./module_base/complexmatrix.cpp:145: ModuleBase::ComplexMatrix ModuleBase::operator+(const ModuleBase::ComplexMatrix &, const ModuleBase::ComplexMatrix &): Assertion `m1.nr == m2.nr' failed.

Here are my input and output files:
hse-soc.zip

I also try to use charge files output by the old version from last year to do HSE+SOC band structure calculation with new version, and there is also a wrong band structure obtained. Here, I upload the old and new BANDS_1.dat files:
bands.zip

However, a correct band structure obtained when I use new version to do standard HSE band structure calculation based on old charge files. So I think there may be some errors in HSE+SOC codes of new version.

I optimized ABACUS interfaces for ASE and Phonopy, but more tests are needed

I optimized ABACUS interfaces for ASE and Phonopy. One can use ASE and Phonopy modules to parse and generate ABACUS input and output files more directly. If someone takes interest in these two interfaces, one can download codes from my github repositories: abacus-ase and abacus-phonopy.

Due to my limited abilities, i didn't do many tests for these two interfaces, thus, if one have some problems, please submit issues to corresponding repositories.

Incorrect total enery output when using tddft

Describe the bug

The oscillation of the total enery read from running_md.log is too large to be normal. I found this problem when doing a ground state tddft calculation of H2 molecular.

Expected behavior

Without excitation, the tddft calculation should have simliar result with md calculation. So I compare their result using the same STRU and INPUT file (except keyword "tddft").
2
1
Although they are close when calculating bond length oscilation, the total energy oscilation in tddft is much more larger than which in md. The result in md are more reliable cause the NVE ensemble (md_type = 0) was used.

To Reproduce

Input file of these two.
INPUT.zip

Environment

No response

Additional Context

No response

The initial magnetic moment is set in STRU, but the magnetic moment is always zero during the electronic step iteration process.

Describe the Bug

When doing a self-consistent calculation with soc, I set the initial magnetic moment in the STRU file, but during the running of the program, the total magnetism and absolute magnetism are always 0 0 0, which causes the calculation to fail to converge. And in the running_scf.log file, the magnetic moment information read is also zero.

To Reproduce

Steps to reproduce the behavior:

  1. git clone the latest ABACUS-develop branch on December 7, 2021.
  2. use ABACUS to run the test case I uploaded.

Environment

  • OS: CentOS Linux release 7.6.1810 (Core)
  • Compiler: intel compiler
  • Optional Dependencies: intel mkl, elpa-2021.05.002

test case

MnBiTe.zip

Running MD simulations for argyrodites Li6PS5Cl bulk, MSD shows that all ions travel over large distances

I am running MD simulations for argyrodites Li6PS5Cl bulk, and the MSD results fell far from expectations. Li6PS5Cl is a Li-ion electrolyte. Only Li-ions should move significantly, other ions vibrate in their equilibrium positions, and in fact, the simulation results of VASP are also the same. But the result I got in ABACUS was that all ions move. The specific results are as follows:
The MSD results are using VASP:
vasp
There are the MSD results of Li and S using ABACUS:
Li
S
It's not just S that has a large MSD, it has a large MSD for P and Cl. The MSD of Li ions is also much larger than expected.

The structure of ABACUS and VASP, respectively:
STRU.txt
INPUT.txt
POSCAR.txt
INCAR.txt

Both VSAP and ABACUS use NVT ensemble with Nose Hoover Chain, and VASP still has a scaling. The version of the ABACUS is 2.2.1, and the version of the VASP is 5.4.4. Both units of MSD are squared Angstrom.
On ABACUS, I tried to increase/decrease the convergence accuracy and change the initial structure, but the MSD is much larger than the distance between two neighboring sites.

"envelope" feature has been broken

Describe the bug

In examples/wfc/lcao_ienvelope_Si2/ case, there would be failure with "bash run.sh".

Expected behavior

No response

To Reproduce

No response

Environment

No response

Additional Context

No response

cell-relax is difficult to converge

Details

I have a bulk material and use ABACUS to optimize the structure. The stress can converge to be lower than the threshold, but the force can't go down. So how should I adjust the parameters to reduce the force below the threshold?

Here are my input and output files
I2BF4.zip

Eu pseudopotential converted from CP2K GTH format cannot used by ABACUS

Describe the Bug

I used an Eu pseudopotential converted from CP2K GTH format to run ABACUS, but some errors reported:

  1. ABACUS reads parameter of <PP_BETA> named cutoff_radius_index in the UPF file, which can be deduced from module_cell/read_pp_upf201.cpp:208. However, cutoff_radius_index is not set in Eu pseudopotential file, I guess this parameter may not be necessary. To overcome this, I set the cutoff_radius_index in this Eu pseudopotential file manually, then another question raised.

  2. The job failed with error:

ABACUS.mpi: ./src_pw/charge.cpp:256: lambda []()->std::vector<double, std::allocator<double>>::operator()()->std::vector<double, std::allocator<double>>: Assertion \`charge!=0.0 || charge==atom->zv\' failed.

And I checked the charge, its output was zero.

Then I used Quantum Espresso to test this UPF file, the job finished successfully, though the parameter cutoff_radius_index was not set.

Expected behavior

The job finishes successfully.

To Reproduce

  1. Attached file is 'PROJECT-Eu.UPF-1.txt' in which the the parameter cutoff_radius_index is set by myself. And original set of pseudopotential files can be obtained from https://github.com/simonpintarelli/lanthanides-nc-pseudos
  2. The example for this test is a simple system of two Eu atoms
  3. SCF calculation with PW basis

Version

Additional Context

PROJECT-Eu.UPF-1.txt

Symmetry precision and symmetry test

Is your feature request related to a problem? Please describe.
Symmetry is very important in DFT, the method to find symmetry of structure depends on the threshold precision.
Tests of Searching symmetry method in ABACUS is significant.

**New Set of parameter 'symmetry_prec' **

  • type : double
  • default : 1.0e-5
    #47

Additional context
100 tests have been calculated to confirm this symmetry searching method .

Failed to calculate band structure using nscf calculation with ABACUS v2.3.0

Describe the Bug

I use ABACUS to perform scf and nscf calculation with HSE functional to calculate the band structure of GeS. During the nscf calculation, I got an error:

 *********************************************************
 *                                                       *
 *                  WELCOME TO ABACUS                    *
 *                                                       *
 *            'Atomic-orbital Based Ab-initio            *
 *                  Computation at UStc'                 *
 *                                                       *
 *          Website: http://abacus.ustc.edu.cn/          *
 *                                                       *
 *********************************************************
 Sat Jul  2 21:23:44 2022
 MAKE THE DIR         : OUT.ABACUS/
 dft_functional readin is: hse
 dft_functional in pseudopot file is: PBE
In Pseudopot_upf::read_pseudo_header : dft_functional from INPUT does not match that in pseudopot file
Please make sure this is what you need
 dft_functional readin is: hse
 dft_functional in pseudopot file is: PBE
In Pseudopot_upf::read_pseudo_header : dft_functional from INPUT does not match that in pseudopot file
Please make sure this is what you need
 UNIFORM GRID DIM     : 32 * 32 * 250
 UNIFORM GRID DIM(BIG): 16 * 16 * 125
 DONE(0.752866   SEC) : SETUP UNITCELL
 DONE(0.757325   SEC) : INIT K-POINTS
 ---------------------------------------------------------
 ---------------------------------------------------------
 SPIN    KPOINTS         PROCESSORS  NBASE       
 1       61              2           26          
 ---------------------------------------------------------
 Use Systematically Improvable Atomic bases
 ---------------------------------------------------------
 ELEMENT ORBITALS        NBASE       NATOM       XC          
 B       2s2p1d-8au      13          1           
 N       2s2p1d-6au      13          1           
 ---------------------------------------------------------
 Initial plane wave basis and FFT box
 ---------------------------------------------------------
 DONE(0.783077   SEC) : INIT PLANEWAVE
 DONE(0.813701   SEC) : INIT CHARGE
 START POTENTIAL      : file
 DONE(1.10344    SEC) : INIT POTENTIAL
 -------------------------------------------
 NONSELF-CONSISTENT : 
 -------------------------------------------
===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   RANK 0 PID 2654 RUNNING AT node2.cluster
=   KILLED BY SIGNAL: 8 (Floating point exception)
===================================================================================

To Reproduce

Steps to reproduce the behavior:

  1. Download the code from https://github.com/abacusmodeling/abacus-develop/archive/refs/tags/v2.3.0.tar.gz
  2. Build ABACUS with intel oneapi MKL 2022.0.2 + MPI 2021.5.1
  3. Run scf calculation using ABACUS with the input file INPUT.scf, KPT.scf and STRU from hse_nscf.zip
  4. Run nscf calculation using ABACUS with the input file INPUT.nscf, KPT.nscf and STRU from hse_nscf.zip, and get an error

Environment

  • openSUSE Leap 15.3
  • icpc version 2021.5.0 (gcc version 7.5.0 compatibility)
  • Intel oneapi MKL 2022.0.2, MPI 2021.5.1

Additional Context

  • I can get the correct result with the same input file using an older version of ABACUS (2021.5 from Github)
  • I can get the correct result if the xc is set to PBE rather than HSE using ABACUS v2.3.0

Tests of SOC modulate

Is your feature request related to a problem? Please describe.
The self-consistent calculation of DFT with spin-orbit coupling is always hard to converge.
But usually, DFT without SOC can be easy to converge.
If we can modulate SOC effect, we might figure out how to get convergence with SOC on.

Describe the solution you'd like

  • Now, SOC modulation method is implement in ABACUS (develop branch).
  • Only SG15 and DOJO pseudopotential is supported.
  • Set parameter "soc_lambda" in INPUT file to use that method. Double value from (0, 1).
  • In fact, there are three method to implement SOC effect from full relativistic(FR) effect:
    • full soc method, read non-local part in pseudopotential directly and treat it. (need to use FR pseudopotential and set lspinorb as 1)
    • average SOC method, average non-local part with SOC to no SOC term, then treat it as no SOC calculation, quarter hamiltonian is calculated only. (FR and SR pseudopotential need to be same performance, set lspinorb as 0)
    • modulate SOC method, modulate non-local part with part of SOC effect. (need to use FR pseudopotential and set lspinorb as 1, set soc_lambda as value (0, 1))

Additional context

  1. Test 1: use FR and SR pseudopotential with 'lspinorb=0' to do SCF calcualtion, check if the two results is correspond with each other.
  2. Test 2: use FR pseudopotential with 'lspinorb=1' and 'soc_lambda = 0.0001 0.1 0.2 0.3 ...... 0.9 0.9999' to study the relation of Energy and soc_lambda, don't forget to check if soc_lambda = 0 and 1 is continuous.

Put your test progress in comment of this issue please

'running_md.log' will be concatenated when set `md_restart=1`

Describe Current Status and Possible Solution

I find that 'running_md.log' will be concatenated when set md_restart=1 to restart MD calculation, using ABACUS v3.0.0. This will result in a huge file generated, if users run a number of MD steps.

I suggest that it can be split into a number of log documents with different document names that mark which step the calculation restarts from, such as 'running_md_0.log' , 'running_md_500.log', 'running_md_1140.log' and so on.

Additional Context

No response

Can not read KPT file with `Line` mode by LibRI version

Describe the bug

I used ABACUS with external library LibRI to do HSE calculation. When I want to do NSCF calculation based on KPT file with Line mode:
image
there is an error reported:
image
And I checked the warning.log file:
image
Then I added some output information in src_pw/klist.cpp to check if there is something wrong in symmetry settings:
image
I found the error may be caused by ModuleSymmetry::Symmetry::symm_flag=-1 and return 0 in above if block:
image
However, I also used version (9.23) in develop branch, bands data can be output successfully. I guess there are some inconsistencies between LibRI and develop branches.

Expected behavior

KPT with Line mode can be read successfully

To Reproduce

These are my input and output files (I delete HSE density matrix files to control size of zip)
libri-test.zip

Environment

No response

Additional Context

No response

SCF calculation do not converge with L(S)DA+U in nspin=2 system

Describe the bug

  • abacus version abacus-develop-3.0.3
  • nspin=2 system without soc (MnSbTe system)
  • wrong with local occupation matrices in LDA+U
  • correct with old abacus version (abacus-develop-master_2.2.0)

Expected behavior

No response

To Reproduce

MnSbTe.zip

Environment

No response

Additional Context

No response

Wrong band structure obtained by HSE

Describe the bug

I use HSE to calculate a layer pervoskite, SCF ends successfully and a correct bandgap can be obtained from 'running_scf.log'
image
but band structure obtained from NSCF or HR diagonalization is wrong
image
I also do PBE calculation, the band structure is corrected
image
Here are input files
NPB.zip

Expected behavior

The dispersion of HSE band structure is similar to the PBE's, but the band gap is larger than the PBE's (2.783eV)

To Reproduce

Version: 7c806eb
build ABACUS with Libxc 6.0.0, LibRI and LibComm

Environment

No response

Additional Context

No response

The ocp function is aimed at the difficulty of multiple k points

Background

The ocp function can manually set the occupy number of each wave function in the form of an array, but the length of the array can only be 10000 at most. Once the wave function of 10000 is encountered in heavy rain, the ocp function cannot be used

Describe the solution you'd like

It is hoped to make the array length become dynamic or the upper limit of the array have a large value, because in some special cases, the corresponding occupation of each k point will appear different, and the reading of individual k points cannot adapt to this situation

Additional Context

No response

Something wrong when installing ABACUS.

Details

We encountered the following issue when installing ABACUS according to the online documentation:

  • sudo apt update && sudo apt install -y libopenblas-openmp-dev liblapack-dev libscalapack-mpi-dev libelpa-dev libfftw3-dev libcereal-dev libxc-dev g++ make cmake bc git.
    We used yum instead of apt because our system is Centos, The following message appeared , I am not sure if this will affect the installation later.1
  • Then we used wget l_BaseKit_p_2021.4.0.3422_offline.sh, sudo bash l_BaseKit_p_2021.4.0.3422_offline.sh, wget l_HPCKit_p_2021.4.0.3347_offline.sh, sudo bash l_HPCKit_p_2021.4.0.3347_offline.sh to install the whole Toolkit. For gcc compiler, we used the configure command :../configure CFLAGS="-O3 -march=native -funsafe-loop-optimizations -funsafe-math-optimizations -ftree-vect-loop-version -ftree-vectorize" \ FCFLAGS="-O2 -mavx" --disable-avx512 . The following message appeared:2
  • Finally we used Intel oneAPI: CC=mpiicc CXX=mpiicpc FC=mpiifort ../configure FCFLAGS="-mkl=cluster", and we got:3

then we make it, but we got another error again:
4
We have no idea about this, and came here to ask for everyone's advice.

MD calculation is failed using ABACUS in develop branch

Describe the bug

@HeFuxiang94 and I do MD calculation using ABACUS in develop branch, but there is a bug reported as follows:

image

We test two examples (H2 and CO), the calculations are both ended unexpectedly after the initial MD step.

Here are the input and output files:
bug_MD_test.zip

Expected behavior

No response

To Reproduce

No response

Environment

No response

Additional Context

No response

Convergence of self-consistent computation of the slab model of TaAs

Details

scf_TaAs-slab.zip

The mixing parameter of my slab model will have a trend of convergence only when it is 0.01, and will fluctuate between e-04 and e-05 in the future, even if the mixing parameter is lower than 0.01. I don't know why.

Setting "scf_thr 1.0e-4" can converge, and I have calculated the band, and the result should be correct. The following is my band without considering SOC (left figure). I think that considering SOC should be consistent with the literature (right figure, literature: Lv B Q, Weng H M, Fu B B, et al. Experimental discovery of Weyl semimetal TaAs[J]. Physical Review X, 2015, 5(3): 031013. )!

band

The information of bravais lattice and point group is incorrect

Describe the bug

For the below triclinic structure, the bravais lattice and point group judged by ABACUS is 'Monoclinic A (base-center)' and 'C_2h', and the right value should be 'Triclinic' and 'C_i' or 'S_2', which has been verified by VASP and SPGLIB.

image

image

bravais14.zip

Expected behavior

No response

To Reproduce

No response

Environment

No response

Additional Context

No response

The ground-state energy decreases after structural relaxation

I recently did 100 fs AIMD at 400K and optimized the geometry. I found the ground-state energy decreases after structural relaxation. The following is the FINAL_ETOT obtained calculating the SCF before and after the relaxation:
The SCF before relaxing:
image

The SCF after relaxing:
image

I wonder whether it is a bug of ABACUS. And the basis_type all I used is 'lcao'.

Bug "double free or corruption" happens with OpenMP

Describe the Bug

In this case, bug "double free or corruption" can be reproduced.
The bug may be in Gint_Gamma::gamma_vlocal();

To Reproduce

When running in some of the nodes with OMP_NUM_THREADS >= 24, this bug may happen.
mpirun -n 1 -env OMP_NUM_THREADS=24 ABACUS.mpi
Running in other nodes works successfully.

Environment

  • OS: CentOS Linux release 7.4.1708
  • Compiler: mpiicpc 19.0.3.199

test case

Zn3.zip

Different converged PW energe for Se dimer structure by using v2.3.0 and v2.0.0

Describe the bug

ABACUS v2.3.0 and 2.0.0 produced different converged PW energes for Se dimer structure.

for v2.0.0:
charge density convergence is achieved
final etot is -512.815324635547 eV

STATE ENERGY(eV) AND OCCUPATIONS. 1/1 kpoint (Cartesian) = 0.00000 0.00000 0.00000 (13507 pws)
[spin1_state] 1 -20.934722 2.000000
[spin1_state] 2 -14.542070 2.000000
[spin1_state] 3 -8.612504 2.000000
[spin1_state] 4 -8.211223 2.000000
[spin1_state] 5 -8.211148 2.000000
[spin1_state] 6 -4.085818 1.000268
[spin1_state] 7 -4.085753 0.999732
[spin1_state] 8 -3.489782 0.000000
[spin1_state] 9 -1.978077 0.000000
[spin1_state] 10 -1.977633 0.000000

for 2.3.0:
charge density convergence is achieved
final etot is -513.726514779 eV

STATE ENERGY(eV) AND OCCUPATIONS NSPIN == 1
1/1 kpoint (Cartesian) = 0 0 0 (13506 pws)
1 -18.7319 2.00000
2 -12.8708 2.00000
3 -7.20274 2.00000
4 -7.20257 2.00000
5 -6.95123 2.00000
6 -3.32170 1.28991
7 -3.19708 0.355689
8 -3.19684 0.354400
9 -0.284140 0.00000
10 0.369519 0.00000

Expected behavior

No response

To Reproduce

The input fils and output files:
spin1_abacus-pw_2.0vs3.0.zip

Environment

The following modulefiles were used in Hanhai20@USTC:

for abacus 2.0.0:
module load intel/2018.update4 intelmpi/2018.update4 mkl/2018.update4
module load /opt/Modules/lib/elpa/2016.05.004/intel-2018.update4

for abacus 3.0.0:
module load intel/2019.update5 intelmpi/2019.update5 mkl/2019.update5 gcc/9.2.0 elpa/2021.05.002/intelmpi2018

Additional Context

No response

Incorrect SCF energys for some STRU using the version 2.0 TZDP orbitals

Describe the bug

By using the new version2.0 TZDP 8au orbital, several lower SCF energys can be obtained compared with the results of PW calculations for STRUs with shorter bond-length:
21_Sc_E100_TZDP_add_1z1p_BE VE

The results are reproducible with ABACUS v2.0.0, v2.2.2 and v2.3.0.

When using DZP orbitals, the results of SCF are correct:
21_Sc_E100_DZP_add_1z1p_BE VE

Expected behavior

For version 2.0 orbitals, each TZDP orbital-file includes the orbitals of related DZP orbital-file, one should obtain good VE results by using the TZDP orbitals if good VE results had been obtained by using DZP orbitals.

To Reproduce

The input files:
input_files.zip

Environment

Hanhai20 @ USTC:
module load abacus/2.3.0/intel-2019.update5
or
module load abacus/2.2.2/intelmpi2018u4_elpa202105
or
module load abacus/2.0.0/intel-2018.update4

Additional Context

No response

Failed to output H(R) and S(R) using HSE functional

Bug description

When I set out_mat_hs2 1 and out_mat_r 1 with dft_functional hse in INPUT, an error reported as follows:

ABACUS.mpi: ./module_orbital/ORB_atomic_lm.cpp:181: void Numerical_Orbital_Lm::copy_parameter(const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> &, const int &, const int &, const int &, const int &, const double *, const double *, const int &, const double &, const double &): Assertion `nk_in<10000' failed.

Then I comment out this line, the H(R) and S(R) matrices can be output successfully. So can this assertion be deleted in the future?

Version

The latest development version of ABACUS in 2022/7/11

how to choose a good parameter to calculate the MD interface structure faster with more than 500 atoms ?

dear prof.
Now I am simulating the MD of the interface structure. At present, it takes a long time to calculate the system of about 500 atoms. And the interface is LiCoO2-Li6PS5Cl.
After 4 steps, it needs 23 electronic steps for each ion step. Only 50 ion steps can be calculated in a day if I use 160 cores.
Below are the parameters I used in the INPUT and .log files:

INPUT.txt
job-5204013.log
(but running.log file can't upload)
If I use more cores, the program would be killed or don't work.
How to choose an excellent parameter to calculate the interface structure faster with more than 500 atoms?

Bad results of V-E curves for Fe LCAO/PW calculations

Describe the bug

Compared with ABACUS v2.0, ABACUS v2.2.2 gives wrong VE results (should also exist in later versions), shown as the follows:

bad VE abacus v2 2 2 compared with v2 0
Left: ABACUS v2.0 results, Right: ABAUCS v2.2.2 results.

The data for above plotting:
Fe_gga_10au_100Ry_TZDP_VE0.94_lcao.zip

Expected behavior

No response

To Reproduce

Here is the input files for calculation:
inputs.zip

Environment

For ABACUS v2.0:
module load elpa/2016.05.004/intel-2018.update4 intel/2018.update4 intelmpi/2018.update4 mkl/2018.update4

For ABACUS v2.2.2:
module load gcc/9.2.0 elpa/2021.05.002/intelmpi2018 intelmpi/2018.update4

Additional Context

No response

Bad results of band structure for SCAN calculations

Describe the bug

I use SCAN functional to output band structure of CsAgInCl, but its result (left) is quite different from HSE (right):
image
especially there is a large gap in valence bands which is incorrect.

Here are my input and output files:
Uploading test.zip…

Expected behavior

I have compared PBE and HSE band structures, the dispersion is similar, except for the band gaps. Thus, we can expect that the same conclusion can be obtained by using SCAN.

To Reproduce

No response

Environment

No response

Additional Context

No response

PBEsol+SOC cannot converge

Describe the bug

I use PBEsol+SOC to do SCF calculation for CsAgBiBr, but iterations cannot converge within 100 electric steps.
Here are my input files:
input.zip

Expected behavior

No response

To Reproduce

No response

Environment

No response

Additional Context

No response

File already exists but no hash specified (use URL_HASH)

Details

When installed Abacus 3.0.0 offline, I download https://github.com/USCiLab/cereal/archive/refs/tags/v1.3.0.tar.gz and put it in abacus-develop-3.0.0/build/_deps/cereal-subbuild/cereal-populate-prefix/src/v1.3.0.tar.gz. And reported -- File already exists but no hash specified (use URL_HASH):
file='/public/software/abinitio/Abacus/abacus-develop-3.0.0/build/_deps/cereal-subbuild/cereal-populate-prefix/src/v1.3.0.tar.gz'
Old file will be removed and new file downloaded from URL.
How to solve this offline install issue

Program exits abnormally

Describe the bug

  • Program exits abnormally with mpi error in scf calculation
  • Charge density output is normal
  • H,S matrix output is normal
  • ABACUS version is 3.0.1

Expected behavior

No response

To Reproduce

Fe.tar.gz

Environment

No response

Additional Context

No response

incorrect error: "two atoms are too close!"

INPUT file:

INPUT_PARAMETERS
#Created by Atomic Simulation Enviroment
atom_file STRU
kpoint_file KPT
pseudo_dir ./
calculation scf
ntype 1
nspin 1
symmetry 1
ecutwfc 60
dr2 1e-06
ks_solver genelpa
niter 100
basis_type lcao
smearing gauss
sigma 0.002 // in Ry
gamma_only 1
mixing_type pulay
mixing_beta 0.7

KPT file:

K_POINTS
0
Gamma
1 1 1 0 0 0

STRU file:

ATOMIC_SPECIES
Si 28.085 Si_ONCV_PBE-1.0.upf

NUMERICAL_ORBITAL
Si_gga_8au_60Ry_2s2p1d.orb

LATTICE_CONSTANT
81.3288040161 // in bohr

LATTICE_VECTORS
1.0000000000 0.0000000000 0.0000000000
0.0000000000 1.0000000000 0.0000000000
0.0000000000 0.0000000000 1.0000000000

ATOMIC_POSITIONS
Direct //Cartesian or Direct coordinate.
Si // spfname
0.0 // magnetism
4
0.000000000 0.000000000 0.000000000 0 0 0
0.000000000 0.874999989 0.874999989 0 0 0
0.125000011 0.000000000 0.000000000 0 0 0
0.125000011 0.000000000 0.125000011 0 0 0

Output file: OUT.ABACUS/warning.log:

AUTO_SET lcao_ecut to 60
two atoms are too close!
type:Si atom 1
type:Si atom 3
distance = 0 Bohr
UnitCell_pseudo::setup_cell warning : Something wrong during read_atom_positions.

word = relax_new Fail to read parameters.

Describe the bug

I want to use the bfgs algorithm to relax structure and have to set "relax_new = false", but abacus can't read the paramter.
image
image
image

Expected behavior

No response

To Reproduce

No response

Environment

No response

Additional Context

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.