ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/UseTheForce/DarkSide/electrostatic_interface.F90
Revision: 2381
Committed: Tue Oct 18 15:01:42 2005 UTC (18 years, 9 months ago) by chrisfen
File size: 3890 byte(s)
Log Message:
merged reaction field with electrostatics.F90

File Contents

# Content
1 subroutine setElectrostaticSummationMethod(the_ESM)
2 use electrostatic_module, ONLY : module_setESM => setElectrostaticSummationMethod
3 integer,intent(inout) :: the_ESM
4 call module_setESM(the_ESM)
5 end subroutine setElectrostaticSummationMethod
6
7 subroutine setElectrostaticCutoffRadius(the_rcut, the_rsw)
8 use electrostatic_module, ONLY : module_setECR => setElectrostaticCutoffRadius
9 use definitions, ONLY : dp
10 real(kind=dp), intent(inout) :: the_rcut
11 real(kind=dp), intent(inout) :: the_rsw
12 call module_setECR(the_rcut, the_rsw)
13 end subroutine setElectrostaticCutoffRadius
14
15 subroutine setDampedWolfAlpha(the_alpha)
16 use electrostatic_module, ONLY : module_setDWA => setDampedWolfAlpha
17 use definitions, ONLY : dp
18 real(kind=dp),intent(inout) :: the_alpha
19 call module_setDWA(the_alpha)
20 end subroutine setDampedWolfAlpha
21
22 subroutine setReactionFieldDielectric(the_dielectric)
23 use electrostatic_module, ONLY : module_setRFD => setReactionFieldDielectric
24 use definitions, ONLY : dp
25 real(kind=dp),intent(inout) :: the_dielectric
26 call module_setRFD(the_dielectric)
27 end subroutine setReactionFieldDielectric
28
29 subroutine newElectrostaticType(atp, status)
30
31 use electrostatic_module, ONLY : module_newElectrostaticType => newElectrostaticType
32
33 #define __FORTRAN90
34 #include "types/AtomTypeProperties.h"
35
36 type(AtomTypeProperties), intent(in) :: atp
37 integer, intent(inout) :: status
38
39 integer :: ident
40 logical :: is_Electrostatic, is_Charge, is_Dipole
41 logical :: is_SplitDipole, is_Quadrupole, is_Tap
42
43 ident = atp%ident
44 is_Electrostatic = ((atp%is_Charge .ne. 0) .or. &
45 (atp%is_Dipole .ne. 0)) .or. &
46 (atp%is_Quadrupole .ne. 0)
47 is_Charge = (atp%is_Charge .ne. 0)
48 is_Dipole = (atp%is_Dipole .ne. 0)
49 is_SplitDipole = (atp%is_SplitDipole .ne. 0)
50 is_Quadrupole = (atp%is_Quadrupole .ne. 0)
51 is_Tap = (atp%is_StickyPower .ne. 0)
52
53 call module_newElectrostaticType(ident, is_Charge, is_Dipole, &
54 is_SplitDipole, is_Quadrupole, is_Tap, status)
55
56 end subroutine newElectrostaticType
57
58 subroutine setCharge(ident, charge, status)
59
60 use electrostatic_module, ONLY : module_setCharge => setCharge
61
62 integer, parameter :: DP = selected_real_kind(15)
63 integer,intent(inout) :: ident
64 real(kind=dp),intent(inout) :: charge
65 integer,intent(inout) :: status
66
67 call module_setCharge(ident, charge, status)
68
69 end subroutine setCharge
70
71 subroutine setDipoleMoment(ident, dipole_moment, status)
72
73 use electrostatic_module, ONLY : module_setDipoleMoment => setDipoleMoment
74
75 integer, parameter :: DP = selected_real_kind(15)
76 integer,intent(inout) :: ident
77 real(kind=dp),intent(inout) :: dipole_moment
78 integer,intent(inout) :: status
79
80 call module_setDipoleMoment(ident, dipole_moment, status)
81
82 end subroutine setDipoleMoment
83
84 subroutine setSplitDipoleDistance(ident, split_dipole_distance, status)
85
86 use electrostatic_module, ONLY : module_setSplitDipoleDistance => setSplitDipoleDistance
87
88 integer, parameter :: DP = selected_real_kind(15)
89 integer,intent(inout) :: ident
90 real(kind=dp),intent(inout) :: split_dipole_distance
91 integer,intent(inout) :: status
92
93 call module_setSplitDipoleDistance(ident, split_dipole_distance, status)
94
95 end subroutine setSplitDipoleDistance
96
97 subroutine setQuadrupoleMoments(ident, quadrupole_moments, status)
98
99 use electrostatic_module, ONLY : module_setQuadrupoleMoments => setQuadrupoleMoments
100
101 integer, parameter :: DP = selected_real_kind(15)
102 integer,intent(inout) :: ident
103 real(kind=dp),intent(inout),dimension(3) :: quadrupole_moments
104 integer,intent(inout) :: status
105
106 call module_setQuadrupoleMoments(ident, quadrupole_moments, status)
107
108 end subroutine setQuadrupoleMoments
109
110 subroutine destroyElectrostaticTypes()
111 use electrostatic_module, ONLY: m_destroyElectrostaticTypes =>destroyElectrostaticTypes
112
113 call m_destroyElectrostaticTypes()
114
115 end subroutine destroyElectrostaticTypes