File: timestep.f90

package info (click to toggle)
espresso 6.7-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 311,068 kB
  • sloc: f90: 447,429; ansic: 52,566; sh: 40,631; xml: 37,561; tcl: 20,077; lisp: 5,923; makefile: 4,503; python: 4,379; perl: 1,219; cpp: 761; fortran: 618; java: 568; awk: 128
file content (68 lines) | stat: -rw-r--r-- 1,862 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
!
! Copyright (C) 2002 FPMD group
! This file is distributed under the terms of the
! GNU General Public License. See the file `License'
! in the root directory of the present distribution,
! or http://www.gnu.org/copyleft/gpl.txt .
!


!  AB INITIO COSTANT PRESSURE MOLECULAR DYNAMICS
!  ----------------------------------------------
!  Car-Parrinello Parallel Program
!  Carlo Cavazzoni - Gerardo Ballabio
!  SISSA, Trieste, Italy - 1997-99
!  Last modified: Sat Feb 12 11:43:48 MET 2000
!  ----------------------------------------------
!  BEGIN manual

      MODULE time_step

!  (describe briefly what this module does...)
!  ----------------------------------------------
!  routines in this module:
!  SUBROUTINE set_time_step(dt)
!  ----------------------------------------------
!  END manual
!  ----------------------------------------------

        USE kinds
        IMPLICIT NONE
        SAVE

        PRIVATE

!  ...  declare module-scope variables
        REAL(DP)  :: delthal, twodelt, fordt2, dt2, dt2by2, delt
        REAL(DP)  :: tps ! elapsed simulated time in picoseconds

        PUBLIC :: set_time_step, tps, delt, twodelt, dt2, dt2by2

!  end of module-scope declarations
!  ----------------------------------------------

      CONTAINS

!  subroutines
!  ----------------------------------------------
!  ----------------------------------------------
        SUBROUTINE set_time_step(dt)

           REAL(DP), INTENT(IN) :: dt

           delt    = dt
           dt2     = dt ** 2
           fordt2  = 4.0_DP * dt2
           delthal = 0.5_DP * delt
           twodelt = 2.0_DP * delt
           dt2by2  = 0.5_DP * dt2
           tps     = 0.0_DP 

           RETURN
        END SUBROUTINE set_time_step

!  ----------------------------------------------
!  ----------------------------------------------

      END MODULE time_step