ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE_old/src/mdtools/libmdCode/atype_typedefs.F90
Revision: 292
Committed: Thu Mar 6 14:52:44 2003 UTC (21 years, 4 months ago) by chuckv
File size: 2525 byte(s)
Log Message:
Changed code to use one generic force loop. Only one super atype that
has all information is now used.

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    
67     !! Mass of Particle
68     real ( kind = dp ) :: mass = 0.0_dp
69     !! Lennard-Jones epslon
70     real ( kind = dp ) :: epsilon = 0.0_dp
71     !! Lennard-Jones Sigma
72     real ( kind = dp ) :: sigma = 0.0_dp
73     !! Lennard-Jones Sigma Squared
74     real ( kind = dp ) :: sigma2 = 0.0_dp
75     !! Lennard-Jones Sigma to sixth
76     real ( kind = dp ) :: sigma6 = 0.0_dp
77    
78     real ( kind = dp ) :: dipoleMoment = 0.0_dp
79     real ( kind = dp ) :: w0 = 0.0_dp
80     real ( kind = dp ) :: v0 = 0.0_dp
81     !
82    
83     !! Pointer for linked list creation
84     type (lj_atype), pointer :: next => null()
85     type (lj_atype), pointer :: prev => null()
86    
87     end type atype
88    
89     type :: identPtrList
90     type(atype), pointer :: this => null()
91     end type identPtrList
92    
93    
94    
95 mmeineke 270 end module atype_typedefs