root / src / freemv.f90 @ 6
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 |