1! ---
2! Copyright (C) 1996-2016	The SIESTA group
3!  This file is distributed under the terms of the
4!  GNU General Public License: see COPYING in the top directory
5!  or http://www.gnu.org/copyleft/gpl.txt .
6! See Docs/Contributors.txt for a list of contributors.
7! ---
8
9      SUBROUTINE REINITSTM( MAXO, MAXA, MAXUO, MAXNH, MAXNA, NSPIN)
10
11C **********************************************************************
12C Read some variables from SIESTA in order to define
13C the dimensions of some arrays in STM
14C
15C Coded by P. Ordejon, November 2004
16C Based on reinit by J. Junquera 07/01
17C **********************************************************************
18
19      USE FDF
20
21      IMPLICIT NONE
22
23      INTEGER, INTENT(OUT) ::
24     .  MAXO, MAXA, MAXUO, NSPIN, MAXNH, MAXNA
25
26C **********************************************************************
27C INTEGER MAXO           : Maximum number of atomic orbitals in supercell
28C INTEGER MAXA           : Maximum number of atoms in supercell
29C INTEGER MAXUO          : Number of atomic orbitals in unit cell.
30C INTEGER MAXNH          : Maximum number
31C                          of basis orbitals interacting, either directly
32C                          or through a KB projector, with any orbital
33C INTEGER MAXNA          : Maximum number of neighbour of any atom
34C INTEGER NSPIN          : Number of different spin polarizations
35C                          Nspin = 1 => Non polarized. Nspin = 2 => Polarized
36C **********************************************************************
37
38C Internal variables --------------------------------------------------
39
40      CHARACTER*30
41     .  SNAME, FNAME1
42
43
44      INTEGER
45     .  UNIT1
46
47      EXTERNAL
48     .  IO_ASSIGN, IO_CLOSE
49
50C Assign the name of the output file -----------------------------------
51      SNAME = FDF_STRING('SystemLabel','siesta')
52      FNAME1 = TRIM(sname)//'.DIM'
53
54      CALL IO_ASSIGN(UNIT1)
55        OPEN ( UNIT = UNIT1, FILE = FNAME1, FORM = 'UNFORMATTED',
56     .         STATUS = 'UNKNOWN' )
57
58          READ(UNIT1)MAXA
59          READ(UNIT1)MAXO
60          READ(UNIT1)MAXUO
61          READ(UNIT1)NSPIN
62          READ(UNIT1)MAXNH
63          READ(UNIT1)MAXNA
64
65      CALL IO_CLOSE(UNIT1)
66
67      RETURN
68
69      END
70