ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/UseTheForce/DarkSide/electrostatic_interface.F90
Revision: 602
Committed: Thu Sep 15 22:05:21 2005 UTC (19 years, 10 months ago) by gezelter
File size: 3731 byte(s)
Log Message:
Working on adding WOLF

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