ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/atype_module.F90
(Generate patch)

Comparing:
branches/mmeineke/OOPSE/libmdtools/atype_module.F90 (file contents), Revision 377 by mmeineke, Fri Mar 21 17:42:12 2003 UTC vs.
trunk/OOPSE/libmdtools/atype_module.F90 (file contents), Revision 941 by gezelter, Tue Jan 13 23:01:43 2004 UTC

# Line 3 | Line 3 | module atype_module
3   module atype_module
4    use definitions, only: dp
5    use vector_class
6  use sticky_pair
7  use gb_pair
6    implicit none
7    private
8    
# Line 16 | Line 14 | contains
14   contains
15    
16    subroutine new_atype(c_ident, is_LJ, is_Sticky, is_DP, is_GB, &
17 <       lj_epsilon, lj_sigma, &
20 <       dipole_moment, &
21 <       sticky_w0, sticky_v0, &
22 <       GB_sigma, GB_l2b_ratio, GB_eps, GB_eps_ratio, GB_mu, GB_nu, &
17 >       is_EAM, is_Charge, lj_epsilon, lj_sigma, charge, dipole_moment, &
18         status)
19      
20      real( kind = dp ), intent(in) :: lj_epsilon
21      real( kind = dp ), intent(in) :: lj_sigma
27    real( kind = dp ), intent(in) :: sticky_w0
28    real( kind = dp ), intent(in) :: sticky_v0
22      real( kind = dp ), intent(in) :: dipole_moment
23 <    real( kind = dp ), intent(in) :: GB_sigma, GB_l2b_ratio, GB_eps
31 <    real( kind = dp ), intent(in) :: GB_eps_ratio, GB_mu, GB_nu
23 >    real( kind = dp ), intent(in) :: charge
24  
25      integer, intent(in)  :: c_ident
26      integer, intent(out) :: status
27      integer, intent(in)  :: is_Sticky
28      integer, intent(in)  :: is_DP
29      integer, intent(in)  :: is_GB
30 +    integer, intent(in)  :: is_EAM
31      integer, intent(in)  :: is_LJ
32 +    integer, intent(in)  :: is_Charge
33      integer :: me
34      logical :: l_is_LJ, l_is_DP, l_is_Sticky, l_is_GB
35 +    logical :: l_is_EAM, l_is_Charge
36      integer :: FFcheckStatus
37      status = 0
38  
39      if (.not. associated(atypes)) then
40         !! There are 16 properties to worry about for now.  
41         !! Fix this if needed for more atomic properties
42 <       atypes => initialize(16)
42 >       atypes => initialize(17)
43         if (.not.associated(atypes)) then
44            status = -1
45            return
# Line 58 | Line 53 | contains
53      l_is_DP = (is_DP .ne. 0)
54      l_is_Sticky = (is_Sticky .ne. 0)
55      l_is_GB = (is_GB .ne. 0)
56 +    l_is_EAM = (is_EAM .ne. 0)
57 +    l_is_Charge = (is_Charge .ne. 0)
58  
59      call setElementProperty(atypes, me, "is_LJ", l_is_LJ)
60      call setElementProperty(atypes, me, "is_DP", l_is_DP)
61      call setElementProperty(atypes, me, "is_Sticky", l_is_Sticky)
62      call setElementProperty(atypes, me, "is_GB", l_is_GB)
63 +    call setElementProperty(atypes, me, "is_EAM", l_is_EAM)
64 +    call setElementProperty(atypes, me, "is_Charge", l_is_Charge)
65  
66      if (l_is_LJ) then
67         call setElementProperty(atypes, me, "lj_sigma", lj_sigma)
# Line 71 | Line 70 | contains
70      if (l_is_DP) then
71         call setElementProperty(atypes, me, "dipole_moment", dipole_moment)
72      endif
73 <    if (l_is_Sticky) then
74 <       call setElementProperty(atypes, me, "sticky_w0", sticky_w0)
76 <       call setElementProperty(atypes, me, "sticky_v0", sticky_v0)
77 <       call check_sticky_FF(FFcheckStatus)
78 <       if (FFcheckStatus .ne. 0) call set_sticky_params(sticky_w0, sticky_v0)
73 >    if (l_is_Charge) then
74 >       call setElementProperty(atypes, me, "charge", charge)
75      endif
80    if (l_is_GB) then
81       call setElementProperty(atypes, me, "GB_sigma", GB_sigma)
82       call setElementProperty(atypes, me, "GB_l2b_ratio", GB_l2b_ratio)
83       call setElementProperty(atypes, me, "GB_eps", GB_eps)
84       call setElementProperty(atypes, me, "GB_eps_ratio", GB_eps_ratio)
85       call setElementProperty(atypes, me, "GB_mu", GB_mu)
86       call setElementProperty(atypes, me, "GB_nu", GB_nu)
87       call check_gb_pair_FF(FFcheckStatus)
88       if (FFcheckStatus .ne. 0) call set_gb_pair_params(GB_sigma, GB_l2b_ratio, &
89            GB_eps, GB_eps_ratio, GB_mu, GB_nu)
90    endif
76  
77    end subroutine new_atype
78  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines