ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE_old/src/mdtools/libmdCode/atype_typedefs.F90
Revision: 295
Committed: Thu Mar 6 19:57:03 2003 UTC (21 years, 6 months ago) by chuckv
File size: 2558 byte(s)
Log Message:
Split force loop into subroutines. Moved wrap out of simulation module.

File Contents

# User Rev Content
1 mmeineke 270 !! module defines atypes available to simulation
2    
3     module atype_typedefs
4     use definitions, only: dp
5     implicit none
6    
7    
8     !! Atype for lennard-jones module
9     type :: lj_atype
10    
11     !! Unique number for place in linked list
12     integer :: atype_number = 0
13     !! Unique indentifier number (ie atomic no, etc)
14     integer :: atype_ident = 0
15     !! Mass of Particle
16     real ( kind = dp ) :: mass = 0.0_dp
17     !! Lennard-Jones epslon
18     real ( kind = dp ) :: epsilon = 0.0_dp
19     !! Lennard-Jones Sigma
20     real ( kind = dp ) :: sigma = 0.0_dp
21     !! Lennard-Jones Sigma Squared
22     real ( kind = dp ) :: sigma2 = 0.0_dp
23     !! Lennard-Jones Sigma to sixth
24     real ( kind = dp ) :: sigma6 = 0.0_dp
25     !! Pointer for linked list creation
26     type (lj_atype), pointer :: next => null()
27     type (lj_atype), pointer :: prev => null()
28     end type lj_atype
29     !! Pointer list for ljAtype
30     type :: lj_identPtrList
31     type(lj_atype), pointer :: this => null()
32     end type lj_identPtrList
33    
34     !! Atype for soft sticky dipole water module
35     type :: ssd_atype
36    
37 mmeineke 275 integer :: atype_ident
38    
39 mmeineke 270 !! Lennard-Jones portion of SSD model
40     type (lj_atype) :: lj_params
41    
42     logical :: hasDipole
43     real ( kind = dp ) :: dipoleMoment = 0.0_dp
44     real ( kind = dp ) :: w0
45     real ( kind = dp ) :: v0
46     !! Pointer for linked list creation
47     type (ssd_atype), pointer :: next => null()
48     type (ssd_atype), pointer :: prev => null()
49 mmeineke 275
50 mmeineke 270 end type ssd_atype
51     !! Pointer list for ljAtype
52     type :: ssd_identPtrList
53     type(ssd_atype), pointer :: this => null()
54     end type ssd_identPtrList
55    
56    
57 chuckv 292 type :: atype
58 mmeineke 270
59 chuckv 292 integer :: atype_ident
60     integer :: atom_number
61 mmeineke 270
62 chuckv 292 logical :: is_LJ = .false.
63     logical :: is_DP = .false.
64     logical :: is_Sticky = .false.
65     logical :: is_GB = .false.
66 chuckv 295 logical :: is_eam = .false.
67 chuckv 292
68     !! Mass of Particle
69     real ( kind = dp ) :: mass = 0.0_dp
70     !! Lennard-Jones epslon
71     real ( kind = dp ) :: epsilon = 0.0_dp
72     !! Lennard-Jones Sigma
73     real ( kind = dp ) :: sigma = 0.0_dp
74     !! Lennard-Jones Sigma Squared
75     real ( kind = dp ) :: sigma2 = 0.0_dp
76     !! Lennard-Jones Sigma to sixth
77     real ( kind = dp ) :: sigma6 = 0.0_dp
78    
79     real ( kind = dp ) :: dipoleMoment = 0.0_dp
80     real ( kind = dp ) :: w0 = 0.0_dp
81     real ( kind = dp ) :: v0 = 0.0_dp
82     !
83    
84     !! Pointer for linked list creation
85     type (lj_atype), pointer :: next => null()
86     type (lj_atype), pointer :: prev => null()
87    
88     end type atype
89    
90     type :: identPtrList
91     type(atype), pointer :: this => null()
92     end type identPtrList
93    
94    
95    
96 mmeineke 270 end module atype_typedefs