Octopus编译与安装

1. 简介

  • Ocotpus 是一款科学计算软件,可以对多种不同体系进行从头计算(ab initio)的模拟。在密度泛函理论(DFT)的理论框架下用量子力学来描述电子, 而核用经典的点粒子描述,电子-核相互作用以赝势近似来描述。Octopus可以进行基态计算,也可以利用时间密度泛函(TDDFT)进行时间依赖的模拟。

  • Octopus 还支持MPI和OpenMP来进行并行计算,也支持OpenCL和CUDA利用GPU计算

  • Octopus是一款Linux系统下的免费软件,在GNU通用公共许可证框架下发布,你可以免费下载,使用,修改。

  • Octopus的安装过程比较复杂,因为它有很多依赖库。笔者根据octopus官网提供的详细安装指南,在此分享如何在个人计算机 CentOS7.9 系统中安装Octopus的全过程。

2. 编译器相关

2.1 编译器

  • Octopus的代码使用标准 Fortran 2003写成,还有一些例程(routines)是使用C语言编写,所以我们需要一个C编译器和Fortran 2003 编译器。命令行下直接使用yum命令安装即可。

$ sudo yum install gcc           #C 编译器
$ sudo yum install gfortran      #fortran 编译器

注:最好使用gnu 8.3.0或更高版本

  • 检查是否已经安装过gcc,可以输入以下命令:

gcc --version #意为查看gcc的版本
  • 如果已经安装,则会输出相应版本号:

gcc (GCC) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

2.2 编译器标志

  • 通常编译器标志(Compiler flags)为系统自动选择的优化标志,但在安装Octopus过程中,需要我们指定标志,亲测使用不同标志会导致安装报错。这里,C编译器标志指定为 -O3(大写字母O),fortran编译器标志为 -O3 -ffree-line-length-none ,目前还不需要指定操作,在后面安装依赖库的时候才需要指定标志。


3. 依赖库

3.1 依赖库的安装

  1. 首先,make, automake, m4, libtool 这几个包是必要条件,可以直接用yum安装,使用-–version 来检查是否安装成功。

sudo yum install make
sudo yum install automake
sudo yum install m4
sudo yum install libtool
  • 其中make和automake是重要的编译工具,在linux环境下安装软件,一般都通过 配置->编译->安装 这个过程实现,即: ./configure  ->  make  ->  make install

  • m4是是一个通用的宏处理器,大多数人需要 m4 仅仅是因为 GNU autoconf中的 configure 脚本依赖它。

  • libtool是处理动态链接库的工具,可以解决库依赖的问题,将使用动态库的复杂性隐藏在统一、可移植的接口中。

  1. 接下来还有5个数学库:BLASLAPACKGSLFFTW3LibXC,下面逐一介绍。

  • 在安装数学库之前,我们先创建一个文件夹来作为各种库的安装位置,一般放在/opt/libraries

3.2 安装BLAS

  • BLAS (Basic Linear Algebra Subprograms)即基本线性代数子程序,提供用于执行基本矢量和矩阵运算的标准构建块的例程。1级BLAS执行标量,矢量和矢量-矢量运算,2级BLAS执行矩阵矢量运算,3级BLAS执行矩阵运算。 由于BLAS高效,便携且广泛可用,因此它们通常用于开发高质量线性代数软件,例如LAPACK

  • 首先在网上下载压缩包:blas.tgz[http://www.netlib.org/blas/blas.tgz]

  • 解压压缩包并进入新创建的 BLAS 文件夹

  • 编辑 make.inc 文件,并修改fortran编译器的标志为:(可以不做修改如果不报错的话)

FORTRAN  = gfortran
OPTS     = -O3 -ffree-line-length-none
DRVOPTS  = $(OPTS)
NOOPT    =
LOADER   = gfortran
LOADOPTS =
  • 接下来使用make命令来进行编译,这会花费一段时间。

make
  • 然后在当前路径下创建新文件夹 lib

mkdir lib
  • 将make命令后新产生的文件 blas_LINUX.a 复制到 ./lib/ 文件夹下并重命名

cp  blas_LINUX.a   ./lib/libblas.a
  • 注:产生的新文件总是叫blas_LINUX.a,独立于你所用的操作系统,只是叫这个名字而已。

3.3 LAPACK

  • Lapack 即 Linear Algebra PACKage,是一个线性代数包,它提供了求解联立线性方程组,线性方程组最小二乘解,特征值问题和奇异值问题的例程,还提供了相关的矩阵因子分解(LUCholeskyQRSVDSchur广义Schur),以及相关计算。

  • 首先在网上下载压缩包:lapack.tgz[http://www.netlib.org/lapack/lapack.tgz]

  • 解压压缩包并进入新产生的 lapack 文件夹

  • 复制 make.inc.example 文件为 make.inc

cp make.inc.example  make.inc
  • 编辑 make.inc 文件,并修改相应编译器的标志为:(可以不做修改如果不报错的话)

FORTRAN  = gfortran
OPTS     = -O3 -ffree-line-length-none
DRVOPTS  = $(OPTS)
NOOPT    =
LOADER   = gfortran
LOADOPTS =
  • 接下来使用 make lib 命令来进行编译,这会花费一段时间。

make lib
  • 将新产生的文件 liblapack.a 复制到 ./lib/ 文件夹下并重命名

cp liblapack.a basedir/lib/liblapack.a
  • 注:产生的新文件可能叫 lapack_LINUX.a(官方教程产生的) ,也可能叫 liblapack.a(笔者电脑产生的)

3.4 GSL

  • 这是一个GNU数学函数库,该库提供了广泛的数学例程,如随机数生成器,特殊函数和最小二乘拟合。

  • 首先下载压缩包 gsl-2.6.tar.gz[ftp://ftp.gnu.org/gnu/gsl/gsl-2.6.tar.gz]

  • 解压压缩包并进入新产生的文件夹

  • 运行配置文件:

./configure CC="gcc" --prefix=/opt/libraries/gnu8-gsl/2.7 --disable-shared --enable-static
  • 注:configure命令的参数解释之 --prefix: 该参数指定了安装路径,这里我们把库安装在之前设好的路径下。

  • 编译并安装

make
make install

3.5 FFTW 3

  • FFTW(the Fastest Fourier Transform in the West)是一个C子程序库,用于计算一个或多个维度,任意输入大小,实数和复数数据的离散傅里叶变换(DFT) 首先下载压缩包 fftw-3.3.4.tar.gz[http://www.fftw.org/fftw-3.3.4.tar.gz]

  • 解压压缩包并进入新产生的文件夹

  • 配置

./configure  --prefix=/opt/libraries/gnu8-fftw/3.3.8  CC="gcc" CFLAGS="-O3" F77="gfortran" F77FLAGS="-O3 -ffree-line-length-none"
  • 编译并安装

make
make install

—————————————————————————————————————————————————

3.6 LibXC

  • 这是一个密度泛函理论(DFT)的交换关联泛函库,其中你可以找到不同类型的泛函,例如:LDA, GGA, hybridsmGGALibxc库也可以用于Abinit软件,目前最新版本为6.1.0

  • 首先下载压缩包 libxc-4.3.4.tar.gz[http://www.tddft.org/programs/octopus/down.php?file=libxc/4.3.4/libxc-4.3.4.tar.gz]

  • 解压压缩包并进入新产生的文件夹

  • 配置

./configure --prefix=/opt/libraries/gnu8-libxc/4.3.4 CC="gcc" CFLAGS="-O3" FC="gfortran" FCFLAGS="-O3 -ffree-line-length-none"
  • 如果您没有使用稳定版本的tarball,您需要先使用“autoreconf -fi”生成configure文件。这个命令将重新生成configure文件,以便它可以适应您的环境和软件包的特定要求。在生成configure文件后,您可以运行“./configure”命令来配置软件包,并继续进行编译和安装。请注意,这个命令需要在源代码目录中运行,并且您需要安装autotools工具包才能使用它。

  • 编译并安装

make
make install

4. 编译安装Octopus

4.1 Octopus 安装

编译完这些库后,我们可以开始编译Octopus了

  • 首先下载最新版本的Octopus:octopus-12.2.tar.gz

  • 解压压缩包并进入新产生的文件夹

  • 定义几个环境变量,用来写配置脚本:

export LIBS_BLAS=/opt/libraries/gnu8-blas/3.10.0/lib/libblas.a
export LIBS_LAPACK=/opt/libraries/gnu8-lapack/3.9.1/lib/liblapack.a
export LIBS_FFT=/opt/libraries/gnu8-fftw/3.3.8/lib/libfftw3.a
  • 接下来写配置脚本:

autoreconf -i
./configure  --prefix=/opt/apps/octopus12.2  --with-gsl-prefix=/opt/libraries/gnu8-gsl/2.7 --with-libxc-prefix=/opt/libraries/gnu8-libxc/4.3.4
  • 注:configure命令的参数解释之 --with :该参数指定了配置文件时去哪里寻找对应的库

  • 编译并安装

make
make install
  • 如果一切都进展顺利的话,Octopus应该会成功安装在你一开始设定的 路径 文件夹内,可执行文件放在 /opt/apps/octopus12.2 文件夹内,接下来将其路径添加到环境变量里,以便你可以只输入 octopus 就可运行, 而非每次都要输入 /opt/apps/octopus12.2/octopus 才行。

export PATH=$PATH:/opt/apps/octopus12.2/bin/octopus

最终整个软件的环境变量为(可能与前面的有差别,读者仔细阅读自行斟酌):

export LIBS_BLAS=/opt/libraries/gnu8-blas/3.10.0/lib/libblas.a
export LIBS_LAPACK=/opt/libraries/gnu8-lapack/3.9.1/lib/liblapack.a
export LIBS_FFT=/opt/libraries/gnu8-fftw/3.3.8/lib/libfftw3.a

export GSL_HOME=/opt/libraries/gnu8-gsl/2.7 && \
export PATH=$GSL_HOME/bin:$PATH && \
export LD_LIBRARY_PATH=$GSL_HOME/lib:$LD_LIBRARY_PATH && \
export LIBRARY_PATH=$GSL_HOME/lib:$LIBRARY_PATH && \
export INCLUDE=$GSL_HOME/include:$INCLUDE && \
export C_INCLUDE_PATH=$GSL_HOME/include:$C_INCLUDE_PATH && \
export MANPATH=$GSL_HOME/share/man:$MANPATH

export LIBXC_HOME=/opt/libraries/gnu8-libxc/4.3.4 && \
export PATH=$LIBXC_HOME/bin:$PATH && \
export LD_LIBRARY_PATH=$LIBXC_HOME/lib:$LD_LIBRARY_PATH && \
export LIBRARY_PATH=$LIBXC_HOME/lib:$LIBRARY_PATH && \
export INCLUDE=$LIBXC_HOME/include:$INCLUDE && \
export C_INCLUDE_PATH=$LIBXC_HOME/include:$C_INCLUDE_PATH && \

export OCTOPUS_HOME=/opt/apps/octopus12.2  && \
export PATH=$OCTOPUS_HOME/bin:$PATH && \
export LD_LIBRARY_PATH=$OCTOPUS_HOME/lib:$LD_LIBRARY_PATH && \
export INCLUDE=$OCTOPUS_HOME/include:$INCLUDE && \
export MANPATH=$OCTOPUS_HOME/share/man:$MANPATH

alias octopus='/opt/apps/octopus12.2/bin/octopus'
  • 该软件的安装就完成了,接下来我们来测试一下。其中环境变量的设置可以写入 ~/.bashrc 文件中,这样每次打开终端都会自动加载环境变量,不用每次都手动输入;也可以单独写为一个文件,之后使用软件时单独source该文件即可。

4.2 简单例子运行测试

  • 新建一空文件夹并进入,建立一个文件,命名为 inp ,并将其内容编辑为:

CalculationMode = gs

%Coordinates
 'H' | 0 | 0 | 0
%

Spacing = 0.25 * angstrom
Radius = 4.0 * angstrom
  • 注:文件只能命名为 inp, Octopus 只识别这个输入文件名

  • 接下来试运行:

octopus &> output
  • 即可运行octopus并将输出结果重定向到新建的 output 文件中。

  • 将会在产生一个 output 文件的同时产生一些文件夹:execrestartstatic

  • 若只运行, 则输出会在屏幕上实时显示。

octopus
  • 注:&> 表示将标准输出和错误输出都重定向到文件中,若只想重定向标准输出,可以使用 > ;若只想重定向错误输出,可以使用 2>

  • 以下是output 文件输出内容(仅供参考):

    <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
                                ___
                             .-'   `'.
                            /         \
                            |         ;
                            |         |           ___.--,
                   _.._     |0) ~ (0) |    _.---'`__.-( (_.
            __.--'`_.. '.__.\    '--. \_.-' ,.--'`     `""`
           ( ,.--'`   ',__ /./;   ;, '.__.'`    __
           _`) )  .---.__.' / |   |\   \__..--""  """--.,_
          `---' .'.''-._.-'`_./  /\ '.  \ _.-~~~````~~~-._`-.__.'
                | |  .' _.-' |  |  \  \  '.               `~---`
                 \ \/ .'     \  \   '. '-._)
                  \/ /        \  \    `=.__`~-.
             jgs  / /\         `) )    / / `"".`\
            , _.-'.'\ \        / /    ( (     / /
             `--~`   ) )    .-'.'      '.'.  | (
                    (/`    ( (`          ) )  '-;
                     `      '-;         (-'

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2, or (at your option)
    any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA

    <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>

                           Running octopus

Version                : 12.2
Commit                 :
Build time             : Sun May  7 09:37:39 EDT 2023
Configuration options  : maxdim3 sse2 libxc_fxc libxc_kxc
Optional libraries     :
Architecture           : x86_64
C compiler             : gcc
C compiler flags       : -g -O2
C++ compiler           : g++
C++ compiler flags     : -g -O2
Fortran compiler       : gfortran (GCC version 8.3.0)
Fortran compiler flags : -pipe -O3 -funroll-loops -ffast-math -ffree-line-length-none

              The octopus is swimming in master (Linux)


            Calculation started on 2023/05/09 at 07:09:08


************************** Calculation Mode **************************
Input: [CalculationMode = gs]
**********************************************************************


******************************* Space ********************************
Octopus will run in 3 dimension(s).
Octopus will treat the system as periodic in 0 dimension(s).
**********************************************************************

Input: [PseudopotentialSet = standard]
Reading Coordinates from Coordinates block

****************************** Species *******************************
  Species 'H'
    type             : pseudopotential
    file             : '/opt/apps/octopus12.2/share/octopus/pseudopotentials/PSF/H.psf'
    file format      : PSF
    valence charge   : 1.0
    atomic number    :   1
    form on file     : semilocal
    orbital origin   : calculated
    lmax             : 0
    llocal           : 0
    projectors per l : 1
    total projectors : 0
    application form : local
    orbitals         : 16
    bound orbitals   :  1

**********************************************************************


***************************** Symmetries *****************************
Symmetry elements : (i) (Cinf) (sigma)
Symmetry group    : Kh
**********************************************************************

Input: [CurvMethod = curv_affine]
Input: [DerivativesStencil = stencil_star]
Input: [SpinComponents = unpolarized]
Input: [SmearingFunction = semiconducting]
Input: [SymmetrizeDensity = no]

******************************* States *******************************
Total electronic charge  =        1.000
Number of states         =        1
States block-size        =        1
**********************************************************************


************************** Parallelization ***************************
Info: Octopus will run in *serial*
**********************************************************************

Info: Generating weights for finite-difference discretization of x-gradient
Info: Generating weights for finite-difference discretization of y-gradient
Info: Generating weights for finite-difference discretization of z-gradient
Info: Generating weights for finite-difference discretization of Laplacian

******************************** Grid ********************************
Simulation Box:
  Type = minimum
  Radius  [b] =   7.559
Main mesh:
  Spacing [b] = ( 0.472, 0.472, 0.472)    volume/point [b^3] =      0.10544
  # inner mesh =      17077
  # total mesh =      30461
  Grid Cutoff [H] =    22.110166    Grid Cutoff [Ry] =    44.220331
**********************************************************************

Info: states-block size = 0.2 MiB
Input: [StatesPack = yes]
Input: [StatesOrthogonalization = cholesky_serial]
Info: the XCFunctional has been selected to match the pseudopotentials
      used in the calculation.

**************************** Theory Level ****************************
Input: [TheoryLevel = kohn_sham]

Exchange-correlation:
  Exchange
    Slater exchange (LDA)
    [1] P. A. M. Dirac, Math. Proc. Cambridge Philos. Soc. 26, 376 (1930)
    [2] F. Bloch, Z. Phys. 57, 545 (1929)
  Correlation
    Perdew & Zunger (Modified) (LDA)
    [1] J. P. Perdew and A. Zunger, Phys. Rev. B 23, 5048 (1981), modified to improve the matching between the low- and high-rs

Input: [SICCorrection = sic_none]
**********************************************************************


****************************** Hartree *******************************
Input: [DressedOrbitals = no]
The chosen Poisson solver is 'interpolating scaling functions'
**********************************************************************

Input: [FilterPotentials = filter_TS]
Info: Pseudopotential for H
  Radii for localized parts:
    local part     =  1.9 b
    non-local part =  0.0 b
    orbitals       =  8.8 b

Input: [RelativisticCorrection = non_relativistic]
Input: [DFTULevel = dft_u_none]
Input: [MagneticConstrain = 0]

****************** Approximate memory requirements *******************
Mesh
  global  :       0.5 MiB
  local   :       1.2 MiB
  total   :       1.6 MiB

States
  real    :       0.2 MiB (par_kpoints + par_states + par_domains)
  complex :       0.5 MiB (par_kpoints + par_states + par_domains)

**********************************************************************

Info: Generating external potential
      done.
Info: Octopus initialization completed.
Info: Starting calculation mode.
Info: Allocating ground state wave-functions
Info: Blocks of states
      Block       1 contains       1 states:       1 -       1
Info: Ground-state allocation done.

** Warning:
**   Could not find 'restart/gs' directory for restart.
**   No restart information will be read.


** Warning:
**   Unable to read wavefunctions.
**   Starting from scratch!

Input: [MixField = potential] (what to mix during SCF cycles)
Input: [MixingScheme = broyden]
Info: Mixing uses    4 steps and restarts after   20 steps.

**************************** Eigensolver *****************************
Input: [Eigensolver = cg]
Input: [Preconditioner = pre_filter]
Info: Generating weights for finite-difference discretization of Preconditioner
Input: [PreconditionerFilterFactor = 0.5000]
Input: [SubspaceDiagonalization = standard]
**********************************************************************

Input: [EigensolverSkipKpoints = no]
Input: [LCAOStart = lcao_states]
Input: [LCAOScaleFactor = 1.000]
Input: [LCAOMaximumOrbitalRadius = 20.00 b]
Info: Unnormalized total charge =      0.999707
Info: Renormalized total charge =      1.000000
Info: Setting up Hamiltonian.
Info: Performing initial LCAO calculation with      1 orbitals.
Info: Getting Hamiltonian matrix elements.
ETA: .......1......2.......3......4......5.......6......7.......8......9......0

Eigenvalues [H]
 #st  Spin   Eigenvalue      Occupation
   1   --    -0.233499       1.000000
Info: Ground-state restart information will be written to 'restart/gs'.
Info: SCF using real wavefunctions.
Info: Starting SCF iteration.
ETA: .......1......2.......3......4......5.......6......7.......8......9......0


*********************** SCF CYCLE ITER #    1 ************************
 etot  = -4.47162815E-01 abs_ev   =  1.12E-03 rel_ev   =  4.78E-03
 ediff =        4.47E-01 abs_dens =  5.51E-03 rel_dens =  5.51E-03
Matrix vector products:      4
Converged eigenvectors:      0

#  State  Eigenvalue [H]  Occupation    Error
      1       -0.234620    1.000000   ( 1.0E-02)

Elapsed time for SCF step     1:          0.01
**********************************************************************

ETA: .......1......2.......3......4......5.......6......7.......8......9......0


*********************** SCF CYCLE ITER #    2 ************************
 etot  = -4.47913928E-01 abs_ev   =  1.33E-04 rel_ev   =  5.67E-04
 ediff =        7.51E-04 abs_dens =  5.10E-03 rel_dens =  5.10E-03
Matrix vector products:      8
Converged eigenvectors:      0

#  State  Eigenvalue [H]  Occupation    Error
      1       -0.234487    1.000000   ( 1.6E-03)

Elapsed time for SCF step     2:          0.02
**********************************************************************

ETA: .......1......2.......3......4......5.......6......7.......8......9......0


*********************** SCF CYCLE ITER #    3 ************************
 etot  = -4.47846438E-01 abs_ev   =  3.20E-04 rel_ev   =  1.36E-03
 ediff =        6.75E-05 abs_dens =  1.61E-03 rel_dens =  1.61E-03
Matrix vector products:      7
Converged eigenvectors:      0

#  State  Eigenvalue [H]  Occupation    Error
      1       -0.234168    1.000000   ( 1.9E-04)

Elapsed time for SCF step     3:          0.02
**********************************************************************

ETA: .......1......2.......3......4......5.......6......7.......8......9......0


*********************** SCF CYCLE ITER #    4 ************************
 etot  = -4.46399340E-01 abs_ev   =  1.28E-03 rel_ev   =  5.51E-03
 ediff =        1.45E-03 abs_dens =  1.11E-03 rel_dens =  1.11E-03
Matrix vector products:      7
Converged eigenvectors:      0

#  State  Eigenvalue [H]  Occupation    Error
      1       -0.232885    1.000000   ( 1.6E-04)

Elapsed time for SCF step     4:          0.02
**********************************************************************

ETA: .......1......2.......3......4......5.......6......7.......8......9......0


*********************** SCF CYCLE ITER #    5 ************************
 etot  = -4.46409404E-01 abs_ev   =  3.21E-05 rel_ev   =  1.38E-04
 ediff =        1.01E-05 abs_dens =  1.26E-04 rel_dens =  1.26E-04
Matrix vector products:      7
Converged eigenvectors:      0

#  State  Eigenvalue [H]  Occupation    Error
      1       -0.232917    1.000000   ( 4.3E-05)

Elapsed time for SCF step     5:          0.02
**********************************************************************

ETA: .......1......2.......3......4......5.......6......7.......8......9......0


*********************** SCF CYCLE ITER #    6 ************************
 etot  = -4.46589950E-01 abs_ev   =  1.62E-04 rel_ev   =  6.97E-04
 ediff =        1.81E-04 abs_dens =  1.18E-04 rel_dens =  1.18E-04
Matrix vector products:      6
Converged eigenvectors:      0

#  State  Eigenvalue [H]  Occupation    Error
      1       -0.233080    1.000000   ( 3.5E-05)

Elapsed time for SCF step     6:          0.02
**********************************************************************

ETA: .......1......2.......3......4......5.......6......7.......8......9......0


*********************** SCF CYCLE ITER #    7 ************************
 etot  = -4.46647763E-01 abs_ev   =  4.58E-05 rel_ev   =  1.96E-04
 ediff =        5.78E-05 abs_dens =  7.06E-05 rel_dens =  7.06E-05
Matrix vector products:      8
Converged eigenvectors:      0

#  State  Eigenvalue [H]  Occupation    Error
      1       -0.233125    1.000000   ( 1.6E-05)

Elapsed time for SCF step     7:          0.02
**********************************************************************

ETA: .......1......2.......3......4......5.......6......7.......8......9......0


*********************** SCF CYCLE ITER #    8 ************************
 etot  = -4.46634762E-01 abs_ev   =  1.23E-05 rel_ev   =  5.30E-05
 ediff =        1.30E-05 abs_dens =  7.34E-06 rel_dens =  7.34E-06
Matrix vector products:      6
Converged eigenvectors:      0

#  State  Eigenvalue [H]  Occupation    Error
      1       -0.233113    1.000000   ( 9.6E-06)

Elapsed time for SCF step     8:          0.02
**********************************************************************

ETA: .......1......2.......3......4......5.......6......7.......8......9......0


*********************** SCF CYCLE ITER #    9 ************************
 etot  = -4.46624331E-01 abs_ev   =  9.23E-06 rel_ev   =  3.96E-05
 ediff =        1.04E-05 abs_dens =  8.08E-06 rel_dens =  8.08E-06
Matrix vector products:      6
Converged eigenvectors:      0

#  State  Eigenvalue [H]  Occupation    Error
      1       -0.233104    1.000000   ( 6.8E-06)

Elapsed time for SCF step     9:          0.02
**********************************************************************

ETA: .......1......2.......3......4......5.......6......7.......8......9......0


*********************** SCF CYCLE ITER #   10 ************************
 etot  = -4.46629561E-01 abs_ev   =  4.73E-06 rel_ev   =  2.03E-05
 ediff =        5.23E-06 abs_dens =  3.57E-06 rel_dens =  3.57E-06
Matrix vector products:      7
Converged eigenvectors:      0

#  State  Eigenvalue [H]  Occupation    Error
      1       -0.233108    1.000000   ( 4.1E-06)

Elapsed time for SCF step    10:          0.02
**********************************************************************

ETA: .......1......2.......3......4......5.......6......7.......8......9......0


*********************** SCF CYCLE ITER #   11 ************************
 etot  = -4.46629612E-01 abs_ev   =  9.81E-09 rel_ev   =  4.21E-08
 ediff =        5.11E-08 abs_dens =  3.40E-07 rel_dens =  3.40E-07
Matrix vector products:     11
Converged eigenvectors:      0

#  State  Eigenvalue [H]  Occupation    Error
      1       -0.233108    1.000000   ( 3.9E-07)

Elapsed time for SCF step    11:          0.02
**********************************************************************

ETA: .......1......2.......3......4......5.......6......7.......8......9......0


*********************** SCF CYCLE ITER #   12 ************************
 etot  = -4.46629384E-01 abs_ev   =  1.83E-07 rel_ev   =  7.84E-07
 ediff =        2.28E-07 abs_dens =  2.71E-07 rel_dens =  2.71E-07
Matrix vector products:      9
Converged eigenvectors:      0

#  State  Eigenvalue [H]  Occupation    Error
      1       -0.233108    1.000000   ( 2.0E-07)

Elapsed time for SCF step    12:          0.03
**********************************************************************


             Info: Writing states. 2023/05/09 at 07:09:09


        Info: Finished writing states. 2023/05/09 at 07:09:09

Info: SCF converged in   12 iterations


** Warning:
**   Some of the states are not fully converged!

Info: Number of matrix-vector products:         86
Info: Finished writing information to 'restart/gs'.

             Calculation ended on 2023/05/09 at 07:09:09

                          Walltime:  00.780s

Octopus emitted 3 warnings.