ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/UseTheForce/DarkSide/electrostatic_interface.F90
Revision: 2756
Committed: Wed May 17 15:37:15 2006 UTC (18 years, 3 months ago) by gezelter
File size: 4001 byte(s)
Log Message:
Getting fortran side prepped for single precision...

File Contents

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