ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-2.0/src/UseTheForce/DarkSide/electrostatic_interface.F90
Revision: 2229
Committed: Tue May 17 22:35:01 2005 UTC (19 years, 2 months ago) by chrisfen
File size: 2760 byte(s)
Log Message:
Modifications to tap.  Also correcting changes to the previous merge that were not caught

File Contents

# Content
1 subroutine newElectrostaticType(atp, status)
2
3 use electrostatic_module, ONLY : module_newElectrostaticType => newElectrostaticType
4
5 #define __FORTRAN90
6 #include "types/AtomTypeProperties.h"
7
8 type(AtomTypeProperties), intent(in) :: atp
9 integer, intent(inout) :: status
10
11 integer :: ident
12 logical :: is_Electrostatic, is_Charge, is_Dipole
13 logical :: is_SplitDipole, is_Quadrupole, is_Tap
14
15 ident = atp%ident
16 is_Electrostatic = ((atp%is_Charge .ne. 0) .or. &
17 (atp%is_Dipole .ne. 0)) .or. &
18 (atp%is_Quadrupole .ne. 0)
19 is_Charge = (atp%is_Charge .ne. 0)
20 is_Dipole = (atp%is_Dipole .ne. 0)
21 is_SplitDipole = (atp%is_SplitDipole .ne. 0)
22 is_Quadrupole = (atp%is_Quadrupole .ne. 0)
23 is_Tap = (atp%is_StickyPower .ne. 0)
24
25 call module_newElectrostaticType(ident, is_Charge, is_Dipole, &
26 is_SplitDipole, is_Quadrupole, is_Tap, status)
27
28 end subroutine newElectrostaticType
29
30 subroutine setCharge(ident, charge, status)
31
32 use electrostatic_module, ONLY : module_setCharge => setCharge
33
34 integer, parameter :: DP = selected_real_kind(15)
35 integer,intent(inout) :: ident
36 real(kind=dp),intent(inout) :: charge
37 integer,intent(inout) :: status
38
39 call module_setCharge(ident, charge, status)
40
41 end subroutine setCharge
42
43 subroutine setDipoleMoment(ident, dipole_moment, status)
44
45 use electrostatic_module, ONLY : module_setDipoleMoment => setDipoleMoment
46
47 integer, parameter :: DP = selected_real_kind(15)
48 integer,intent(inout) :: ident
49 real(kind=dp),intent(inout) :: dipole_moment
50 integer,intent(inout) :: status
51
52 call module_setDipoleMoment(ident, dipole_moment, status)
53
54 end subroutine setDipoleMoment
55
56 subroutine setSplitDipoleDistance(ident, split_dipole_distance, status)
57
58 use electrostatic_module, ONLY : module_setSplitDipoleDistance => setSplitDipoleDistance
59
60 integer, parameter :: DP = selected_real_kind(15)
61 integer,intent(inout) :: ident
62 real(kind=dp),intent(inout) :: split_dipole_distance
63 integer,intent(inout) :: status
64
65 call module_setSplitDipoleDistance(ident, split_dipole_distance, status)
66
67 end subroutine setSplitDipoleDistance
68
69 subroutine setQuadrupoleMoments(ident, quadrupole_moments, status)
70
71 use electrostatic_module, ONLY : module_setQuadrupoleMoments => setQuadrupoleMoments
72
73 integer, parameter :: DP = selected_real_kind(15)
74 integer,intent(inout) :: ident
75 real(kind=dp),intent(inout),dimension(3) :: quadrupole_moments
76 integer,intent(inout) :: status
77
78 call module_setQuadrupoleMoments(ident, quadrupole_moments, status)
79
80 end subroutine setQuadrupoleMoments
81
82 subroutine destroyElectrostaticTypes()
83 use electrostatic_module, ONLY: m_destroyElectrostaticTypes =>destroyElectrostaticTypes
84
85 call m_destroyElectrostaticTypes()
86
87 end subroutine destroyElectrostaticTypes