Statistiques
| Révision :

root / src / freemv.f90 @ 5

Historique | Voir | Annoter | Télécharger (1,24 ko)

1 1 equemene
  Subroutine freemv(NFree,vfree)
2 1 equemene
3 4 pfleura2
  use Path_module, only : HUpdate,Hinv
4 1 equemene
  use Io_module, only : IoOut
5 1 equemene
6 1 equemene
  IMPLICIT NONE
7 1 equemene
8 1 equemene
  INTEGER, PARAMETER :: KINT=KIND(1)
9 1 equemene
  INTEGER, PARAMETER :: KREAL=KIND(1.0D0)
10 1 equemene
11 1 equemene
  INTEGER(KINT), INTENT(IN) :: Nfree
12 1 equemene
  REAL(KREAL), INTENT(OUT) :: Vfree(Nfree,Nfree)
13 1 equemene
14 1 equemene
! ======================================================================
15 1 equemene
!
16 1 equemene
! At the end, this should do:
17 1 equemene
! Construct displacement vectors that are free and which do not contain rigid motions.
18 1 equemene
! Output : vectors are orthonormal (in the non-mass-weighted metric)
19 1 equemene
!
20 1 equemene
! For now, it just returns an identity matrix (NFree,Nfree)
21 1 equemene
! v3.94
22 1 equemene
! We delete displacements that correspond to frozen atoms
23 1 equemene
!
24 1 equemene
! ======================================================================
25 1 equemene
  logical :: debug
26 1 equemene
  integer(KINT) :: I
27 1 equemene
28 1 equemene
  interface
29 1 equemene
     function valid(string) result (isValid)
30 1 equemene
       logical                  :: isValid
31 1 equemene
       character(*), intent(in) :: string
32 1 equemene
     end function valid
33 1 equemene
  end interface
34 1 equemene
35 1 equemene
  debug=valid('vfree')
36 1 equemene
37 1 equemene
  if (debug) WRITE(*,*) "================================= Entering Vfree ==============="
38 1 equemene
39 1 equemene
  Vfree=0.d0
40 1 equemene
  DO I=1,Nfree
41 1 equemene
     Vfree(I,I)=1.d0
42 1 equemene
  END DO
43 1 equemene
44 1 equemene
  if (debug) WRITE(*,*) "================================= Exiting Vfree ==============="
45 1 equemene
46 1 equemene
 END Subroutine freemv
47 1 equemene