~siesta-sip/siesta/sip-solver

« back to all changes in this revision

Viewing changes to Util/Vibra/Src/vibra.f

  • Committer: Alberto Garcia
  • Date: 2015-06-22 09:32:02 UTC
  • Revision ID: albertog@icmab.es-20150622093202-enhjztqfku2e976q
Revert previous change affecting FA and FC files. FAC/FCC files.

* At revno 464, a change was introduced to output the constrained
  forces to the FA and FC files.  This had unintended consequences for
  some analysis tools.

  The change has been reverted, and the FC/FA files are now created as
  before. In addition, if constraints are used, new FCC/FAC files
  will be created with the constrained forces.

  The vibra utility will default to use the FCC files if the
  GeometryConstraints block exists, and in any case the
  force-constants file to use can be specified with the Vibra.FC fdf
  option.

  To support these changes, the write_forces subroutine has now 
  the geometry step as an additional argument.

  The writing of forces has been moved to its appropriate place in the
  write_subs modules.

* Some more cosmetic changes in the Vibra package.

modified:
  Docs/siesta.tex
  Src/Makefile
  Src/iofa.f
  Src/ofc.f
  Src/siesta_analysis.F
  Src/siesta_forces.F
  Src/state_analysis.F
  Src/write_subs.F
  Util/Vibra/Docs/CHANGES
  Util/Vibra/Docs/vibra.tex
  Util/Vibra/Examples/README
  Util/Vibra/Examples/si54.bands
  Util/Vibra/Examples/si54.fdf
  Util/Vibra/Src/Makefile
  Util/Vibra/Src/fcbuild.f
  Util/Vibra/Src/recoor.f
  Util/Vibra/Src/vibra.f

Show diffs side-by-side

added added

removed removed

Lines of Context:
9
9
! given in the SIESTA license, as signed by all legitimate users.
10
10
!
11
11
 
12
 
      program vibrator
 
12
      program vibra
13
13
 
14
14
c *********************************************************************
15
15
c Calculation of vibrational modes for clusters, linear chains, slabs 
323
323
 
324
324
c Read Force Constants Matrix ...
325
325
      call io_assign(iunit2)
326
 
      fname = paste(slabel,'.FC')
 
326
      fname = fdf_string('Vibra.FC',paste(slabel,'.FC'))
327
327
      open(iunit2,file=fname,status='old')
328
328
      read(iunit2,*)
329
329
c Negative displacements
618
618
        if (icall .eq. 3) then
619
619
          call io_assign(iunit3)
620
620
          fname = paste(slabel,'.vectors')
621
 
          open(iunit3,file=fname,status='unknown')
 
621
          open(iunit3,file=fname,status='unknown',position='append')
622
622
          if (ik.eq.1) then
 
623
            rewind(iunit3)
623
624
            write(6,'(/,a)')' Writing eigenvalues and eigenvectors'
624
625
            write(6,'(2a,/)')' to output file ', fname
625
 
          else
626
 
c         go to end of file
627
 
18          read(iunit3,*,end=28)
628
 
            goto 18
629
626
          endif
630
 
28        continue
631
627
          write(iunit3,'(/,a,3f12.6)') 'k            = ',
632
628
     .                                  q(1),q(2),q(3)
633
629
          do 20 i=1,3*natoms