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: 2189
Committed: Wed Apr 13 20:36:45 2005 UTC (19 years, 3 months ago) by chuckv
File size: 2747 byte(s)
Log Message:
Added destroy methods for Fortran modules.

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
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
24 call module_newElectrostaticType(ident, is_Charge, is_Dipole, &
25 is_SplitDipole, is_Quadrupole, status)
26
27 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
38 call module_setCharge(ident, charge, status)
39
40 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
51 call module_setDipoleMoment(ident, dipole_moment, status)
52
53 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
64 call module_setSplitDipoleDistance(ident, split_dipole_distance, status)
65
66 end subroutine setSplitDipoleDistance
67
68 subroutine setQuadrupoleMoments(ident, quadrupole_moments, status)
69
70 use electrostatic_module, ONLY : module_setQuadrupoleMoments => setQuadrupoleMoments
71
72 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
77 call module_setQuadrupoleMoments(ident, quadrupole_moments, status)
78
79 end subroutine setQuadrupoleMoments
80
81 subroutine destroyElectrostaticTypes()
82 use electrostatic_module, ONLY: module_destroyElectrostaticTypes =>destroyElectrostaticTypes
83
84 call module_destroyElectrostaticTypes()
85
86 end subroutine destroyElectrostaticTypes