Hello world

As a first example, we will take a sodium atom. With your favourite text editor, create the file inp .

 CalculationMode = gs
 %Coordinates
     'Na' | 0.0 | 0.0 | 0.0
 %

This input file should be essentially self-explanatory.

Note that when a species is not specified in the Species block, octopus reads the information of pseudopotentials from the defaults file (located under PREFIX/share/octopus/PP/ . This file also contains default values for Radius and Spacing.

Then run octopus – for example, do


octopus > out

so that the output is stored in out file. If everything goes OK, out should look like:


    <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
                                ___
                             .-'   `'.
                            /         \
                            |         ;
                            |         |           ___.--,
                   _.._     |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                : 5.0.1
Revision               : 15042
Configuration time     : Tue Jan 12 11:04:57 EST 2016
Configuration options  : max-dim=3 mpi sse2
Optional libraries     : arpack berkeleygw etsf_io gdlib metis mpi2 netcdf newuoa parmetis parpack pfft scalapack sparskit
Architecture           : x86_64
C compiler             : /opt/local/bin/mpicc-mpich-mp (/usr/bin/clang)
C compiler flags       :  -pipe -O3 -arch x86_64
Fortran compiler       : /opt/local/bin/mpif90-mpich-mp (/opt/local/bin/gfortran-mp-5)
Fortran compiler flags : -pipe -O3

  The octopus is swimming in dhcp-18-189-27-45.dyn.MIT.EDU (Darwin)


            Calculation started on 2016/01/13 at 20:24:58


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

Reading Coordinates from Coordinates block

****************************** Species *******************************
Reading pseudopotential from file:
      '/opt/local/share/octopus/PP/PSF/Na.psf'
      Calculating atomic pseudo-eigenfunctions for species Na....
Info: l =  0 component used as local potential.
Info: l =  0 is maximum angular momentum considered.
Number of orbitals: total =     16, bound =      4
**********************************************************************


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

Input: [SpinComponents = unpolarized]
Input: [SmearingFunction = semiconducting]
Input: [SymmetrizeDensity = no]

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

Info: Using default spacing(1) [b] =  0.567
Info: Using default spacing(2) [b] =  0.567
Info: Using default spacing(3) [b] =  0.567
Input: [CurvMethod = curv_uniform]
Input: [DerivativesStencil = stencil_star]

************************** Parallelization ***************************
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
  Species =    Na     Radius =  13.228 b
  Octopus will run in 3 dimension(s).
  Octopus will treat the system as periodic in 0 dimension(s).
Main mesh:
  Spacing [b] = ( 0.567, 0.567, 0.567)    volume/point [b^3] =      0.18221
  - inner mesh =      52971
  - total mesh =      79699
  Grid Cutoff [H] =    15.354165    Grid Cutoff [Ry] =    30.708329
**********************************************************************

Info: states-block size = 0.6 MiB
Input: [StatesOrthogonalization = gram_schmidt]

****************************** Hartree *******************************
The chosen Poisson solver is 'interpolating scaling functions'
**********************************************************************


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

Exchange-correlation:
  Exchange
    Slater exchange (LDA)
    [1] PAM Dirac, Proceedings of the Cambridge Philosophical Society 26, 376 (1930)
    [2] F Bloch, Zeitschrift fuer Physik 57, 545 (1929)
  Correlation
    Perdew & Zunger (Modified) (LDA)
    [1] Perdew and Zunger, Phys. Rev. B 23, 5048 (1981)
    [2] Modified to improve the matching between the low- and high-rs parts

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

Input: [FilterPotentials = filter_none]
Info: Pseudopotential for Na
  Radii for localized parts:
    local part     =  3.5 b
    non-local part =  0.0 b
    orbitals       = 19.9 b

Input: [RelativisticCorrection = non_relativistic]
Input: [AbsorbingBoundaries = not_absorbing]

****************** Approximate memory requirements *******************
Mesh
  global  :       1.5 MiB
  local   :       1.8 MiB
  total   :       3.4 MiB

States
  real    :       0.6 MiB (par_kpoints + par_states + par_domains)
  complex :       1.2 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 = density] (what to mix during SCF cycles)
Input: [TypeOfMixing = broyden]

**************************** Eigensolver *****************************
Input: [Eigensolver = cg]
Input: [Preconditioner = pre_filter]
Input: [SubspaceDiagonalization = standard]
**********************************************************************

Input: [LCAOStart = lcao_full]
Input: [LCAOScaleFactor = 1.000]
Input: [LCAOMaximumOrbitalRadius = 20.00 b]
Info: Single-precision storage for     1 extra orbitals will be allocated.
Info: Unnormalized total charge =      0.999665
Info: Renormalized total charge =      1.000000
Info: Setting up Hamiltonian.
Info: Performing initial LCAO calculation with      2 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.103066       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 = -1.84238245E-01 abs_ev   =  3.88E-04 rel_ev   =  3.75E-03
                        abs_dens =  6.54E-03 rel_dens =  6.54E-03
Matrix vector products:     27
Converged eigenvectors:      0
Eigenvalues [H]
 -st  Spin   Eigenvalue      Occupation     Error
   1   --    -0.103455       1.000000      (5.5E-05)

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

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


*********************** SCF CYCLE ITER -    2 ************************
 etot = -1.84238838E-01 abs_ev   =  1.02E-04 rel_ev   =  9.88E-04
                        abs_dens =  4.55E-03 rel_dens =  4.55E-03
Matrix vector products:     27
Converged eigenvectors:      0
Eigenvalues [H]
 -st  Spin   Eigenvalue      Occupation     Error
   1   --    -0.103353       1.000000      (1.3E-06)

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

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


*********************** SCF CYCLE ITER -    3 ************************
 etot = -1.84239600E-01 abs_ev   =  2.23E-04 rel_ev   =  2.16E-03
                        abs_dens =  4.35E-04 rel_dens =  4.35E-04
Matrix vector products:     19
Converged eigenvectors:      1
Eigenvalues [H]
 -st  Spin   Eigenvalue      Occupation     Error
   1   --    -0.103130       1.000000      (9.3E-07)

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

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


*********************** SCF CYCLE ITER -    4 ************************
 etot = -1.84239592E-01 abs_ev   =  2.81E-07 rel_ev   =  2.73E-06
                        abs_dens =  6.62E-04 rel_dens =  6.62E-04
Matrix vector products:     12
Converged eigenvectors:      1
Eigenvalues [H]
 -st  Spin   Eigenvalue      Occupation     Error
   1   --    -0.103130       1.000000      (7.2E-07)

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

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


*********************** SCF CYCLE ITER -    5 ************************
 etot = -1.84239609E-01 abs_ev   =  6.42E-06 rel_ev   =  6.23E-05
                        abs_dens =  9.12E-06 rel_dens =  9.12E-06
Matrix vector products:     15
Converged eigenvectors:      1
Eigenvalues [H]
 -st  Spin   Eigenvalue      Occupation     Error
   1   --    -0.103123       1.000000      (8.7E-07)

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


             Info: Writing states. 2016/01/13 at 20:24:59


        Info: Finished writing states. 2016/01/13 at 20:24:59

Info: SCF converged in    5 iterations

Info: Finished writing information to 'restart/gs'.

             Calculation ended on 2016/01/13 at 20:24:59

                          Walltime:  01.  6s

Octopus emitted 2 warnings.

Take now a look at the working directory. Besides the initial file (inp ) and the out file, three new directories appear. In static/ , you will find the file info , with information about the static calculation (it should be hopefully self-explanatory, otherwise please complain to the authors…). In restart/ , you will find the gs directory that contains restart information about the ground-state, which is used if, for example, you want to start a time-dependent calculation afterwards. Finally, the exec directory has information about the run of octopus; inside the parser.log contains all the input variables parsed by octopus.

Exercises