~jose-soler/siesta/unfolding

« back to all changes in this revision

Viewing changes to Util/TBTrans/paste.f

TS manual and updates. Building rationalization. Hsparse speedup

* Added TranSIESTA sections to the manual (Docs/siesta.tex) (by
  J.A. Torres).

* TranSIESTA and TBTrans updates (by F.D. Novaes):

- Reimplementation of getGF_Tri, that obtains the Green's Function
 using the fact that the Hamiltonian is tridiagonal.

- Fixed the generation of listudg in the transiesta routine
 (m_ts_in_siesta.F).  Now, when the TS.UpdateDMCR is set to
 .false. the cross terms between the electrodes and the contact region
 of the density matrix are also updated in the TS iteration
 process. If set to .true., only the elements of the contact region
 are changed during the self consistent cycle.

- In weightDM and weightDMC (m_ts_scattering.F), changed the weights
 of the cross terms elements, since when using Tri_Diag the
 non-equilibrium contributions are zero the way it used to be.

- In new_dm.F, added a condition that does not sets the energy-density
 matrix to zero in the first iteration of the SCF cycle.

- (with A. Garcia) New building scheme for TBTrans.

* Building rationalization (by A. Garcia):

- Move auxiliary programs from Src to individual directories in Util

 -- gen-basis and ioncat now live in Util/Gen-basis
 -- mixps and fractional have been moved to Util/VCA
 -- The programs to test the MPI installation are now in Util/MPI_test

- Update building mechanisms in Util/STM

(Some of the above building improvements use new functionality in
the fdf and MPI makefiles that allows these modules to be compiled in
"private subdirectories" anywhere: see Denchar and TBTrans for examples.)

* Hsparse has been dramatically speeded-up by removing a superfluous
  inner loop (by A. Garcia).

* Other updates to the manual by A. Garcia
 

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
2
 
! Copyright (c) Fundacion General Universidad Autonoma de Madrid:
3
 
! E.Artacho, J.Gale, A.Garcia, J.Junquera, P.Ordejon, D.Sanchez-Portal
4
 
! and J.M.Soler, 1996-2003
5
 
6
 
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
7
 
! "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
8
 
! LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
9
 
! A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT
10
 
! OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
11
 
! SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
12
 
! LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
13
 
! DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
14
 
! THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
15
 
! (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
16
 
! OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
17
 
!
18
 
C $Id: paste.f,v 1.2 1999/01/31 11:20:13 emilio Exp $
19
 
 
20
 
      CHARACTER*(*) FUNCTION PASTE( STR1, STR2 )
21
 
 
22
 
C CONCATENATES THE STRINGS STR1 AND STR2 REMOVING BLANKS IN BETWEEN
23
 
C Written by J. Soler
24
 
 
25
 
      CHARACTER*(*) STR1, STR2
26
 
      DO 10 L = LEN( STR1 ), 1, -1
27
 
         IF (STR1(L:L) .NE. ' ') GOTO 20
28
 
   10 CONTINUE
29
 
   20 PASTE = STR1(1:L)//STR2
30
 
      END
31
 
 
32
 
 
33
 
 
34
 
 
35
 
      CHARACTER*(*) FUNCTION PASTEB( STR1, STR2 )
36
 
 
37
 
C CONCATENATES THE STRINGS STR1 AND STR2 LEAVING ONLY ONE BLANK IN BETWEEN
38
 
C Written by J. Soler
39
 
 
40
 
      CHARACTER*(*) STR1, STR2 
41
 
      CHARACTER*1 BLANK
42
 
      DATA BLANK /' '/
43
 
      DO 10 L = LEN( STR1 ), 1, -1
44
 
         IF (STR1(L:L) .NE. ' ') GOTO 20
45
 
   10 CONTINUE
46
 
   20 PASTEB = STR1(1:L)//BLANK
47
 
      PASTEB = PASTEB(1:L+1)//STR2
48
 
      END
49
 
 
50
 
 
51
 
 
52