ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/UseTheForce/DarkSide/electrostatic_interface.F90
Revision: 2204
Committed: Fri Apr 15 22:04:00 2005 UTC (19 years, 4 months ago) by gezelter
File size: 2705 byte(s)
Log Message:
xemacs has been drafted to perform our indentation services

File Contents

# User Rev Content
1 gezelter 2095 subroutine newElectrostaticType(atp, status)
2 gezelter 2204
3 gezelter 2095 use electrostatic_module, ONLY : module_newElectrostaticType => newElectrostaticType
4 gezelter 2204
5 gezelter 2095 #define __FORTRAN90
6     #include "types/AtomTypeProperties.h"
7 gezelter 2204
8 gezelter 2095 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
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 gezelter 2204
24 gezelter 2095 call module_newElectrostaticType(ident, is_Charge, is_Dipole, &
25     is_SplitDipole, is_Quadrupole, status)
26 gezelter 2204
27 gezelter 2095 end subroutine newElectrostaticType
28    
29     subroutine setCharge(ident, charge, status)
30    
31     use electrostatic_module, ONLY : module_setCharge => setCharge
32    
33     integer, parameter :: DP = selected_real_kind(15)
34     integer,intent(inout) :: ident
35     real(kind=dp),intent(inout) :: charge
36     integer,intent(inout) :: status
37 gezelter 2204
38 gezelter 2095 call module_setCharge(ident, charge, status)
39 gezelter 2204
40 gezelter 2095 end subroutine setCharge
41    
42     subroutine setDipoleMoment(ident, dipole_moment, status)
43    
44     use electrostatic_module, ONLY : module_setDipoleMoment => setDipoleMoment
45    
46     integer, parameter :: DP = selected_real_kind(15)
47     integer,intent(inout) :: ident
48     real(kind=dp),intent(inout) :: dipole_moment
49     integer,intent(inout) :: status
50 gezelter 2204
51 gezelter 2095 call module_setDipoleMoment(ident, dipole_moment, status)
52 gezelter 2204
53 gezelter 2095 end subroutine setDipoleMoment
54    
55     subroutine setSplitDipoleDistance(ident, split_dipole_distance, status)
56    
57     use electrostatic_module, ONLY : module_setSplitDipoleDistance => setSplitDipoleDistance
58    
59     integer, parameter :: DP = selected_real_kind(15)
60     integer,intent(inout) :: ident
61     real(kind=dp),intent(inout) :: split_dipole_distance
62     integer,intent(inout) :: status
63 gezelter 2204
64 gezelter 2095 call module_setSplitDipoleDistance(ident, split_dipole_distance, status)
65 gezelter 2204
66 gezelter 2095 end subroutine setSplitDipoleDistance
67    
68     subroutine setQuadrupoleMoments(ident, quadrupole_moments, status)
69 gezelter 2204
70 gezelter 2095 use electrostatic_module, ONLY : module_setQuadrupoleMoments => setQuadrupoleMoments
71 gezelter 2204
72 gezelter 2095 integer, parameter :: DP = selected_real_kind(15)
73     integer,intent(inout) :: ident
74     real(kind=dp),intent(inout),dimension(3) :: quadrupole_moments
75     integer,intent(inout) :: status
76 gezelter 2204
77 gezelter 2095 call module_setQuadrupoleMoments(ident, quadrupole_moments, status)
78 gezelter 2204
79 gezelter 2095 end subroutine setQuadrupoleMoments
80 chuckv 2189
81     subroutine destroyElectrostaticTypes()
82 chuckv 2194 use electrostatic_module, ONLY: m_destroyElectrostaticTypes =>destroyElectrostaticTypes
83 chuckv 2189
84 chuckv 2194 call m_destroyElectrostaticTypes()
85 chuckv 2189
86     end subroutine destroyElectrostaticTypes