ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/UseTheForce/doForces_interface.F90
(Generate patch)

Comparing trunk/OOPSE-4/src/UseTheForce/doForces_interface.F90 (file contents):
Revision 2307 by chrisfen, Fri Sep 16 21:07:45 2005 UTC vs.
Revision 2917 by chrisfen, Mon Jul 3 13:18:43 2006 UTC

# Line 1 | Line 1
1   !! Interfaces for C programs to module....
2  
3 < subroutine initFortranFF(correctionMethod, dampingAlpha, thisStat)
3 > subroutine initFortranFF(thisStat)
4    use doForces, ONLY: init_FF
5    use definitions, ONLY : dp
6  
7  integer, intent(in) :: correctionMethod
8  real(kind=dp), intent(in) :: dampingAlpha
7    integer, intent(out) :: thisStat
10  logical :: use_RF
11  integer :: correction
12  real(kind=dp) :: alpha
8    
9 <  correction = correctionMethod
15 <  alpha = dampingAlpha
16 <  
17 <  call init_FF(correction, alpha, thisStat)
9 >  call init_FF(thisStat)
10  
11   end subroutine initFortranFF
12  
# Line 24 | Line 16 | subroutine doForceloop(q, q_group, A, eFrame, f, t, ta
16    use definitions, ONLY: dp
17    use simulation
18    use doForces, ONLY: do_force_loop
19 +
20 + #define __FORTRAN90
21 + #include "UseTheForce/DarkSide/fInteractionMap.h"
22 +
23    !! Position array provided by C, dimensioned by getNlocal
24    real ( kind = dp ), dimension(3, nLocal) :: q
25    !! molecular center-of-mass position array
# Line 39 | Line 35 | subroutine doForceloop(q, q_group, A, eFrame, f, t, ta
35  
36    !! Stress Tensor
37    real( kind = dp), dimension(9) :: tau  
38 <  real ( kind = dp ) :: pot
38 >  real ( kind = dp ),dimension(LR_POT_TYPES) :: pot
39    logical ( kind = 2) :: do_pot_c, do_stress_c
40    integer :: error
41  
# Line 48 | Line 44 | end subroutine doForceloop
44  
45   end subroutine doForceloop
46  
47 + subroutine getAccumulatedBoxDipole( box_dipole )
48 +  
49 +  use definitions, ONLY: dp
50 +  use doForces, ONLY: getBoxDipole
51 +
52 +  !! simulation box dipole moment
53 +  real ( kind = dp ), dimension(3) :: box_dipole
54 +  
55 +  call getBoxDipole( box_dipole )
56 +  
57 + end subroutine getAccumulatedBoxDipole
58 +
59 + subroutine setAccumulateBoxDipole()
60 +
61 +  use doForces, ONLY: setBoxDipole
62 +
63 +  call setBoxDipole()
64 +  
65 + end subroutine setAccumulateBoxDipole
66 +
67 + subroutine setFortranElectrostaticMethod(electrostaticMethod)
68 +  use doForces, ONLY : setElectrostaticMethod
69 +
70 +  integer, intent(in) :: electrostaticMethod
71 +
72 +  call setElectrostaticMethod(electrostaticMethod)
73 +
74 + end subroutine setFortranElectrostaticMethod
75 +
76 + subroutine notifyFortranCutoffPolicy(cutPolicy)
77 +  use doForces, ONLY : setCutoffPolicy
78 +
79 +  integer, intent(in) :: cutPolicy
80 +
81 +  call setCutoffPolicy( cutPolicy )
82 +
83 + end subroutine notifyFortranCutoffPolicy
84 +
85 + subroutine notifyFortranSkinThickness(this_skin)
86 +  use doForces, ONLY : setSkinThickness
87 +  use definitions, ONLY : dp
88 +
89 +  real(kind=dp), intent(in) :: this_skin
90 +
91 +  call setSkinThickness( this_skin )
92 +
93 + end subroutine notifyFortranSkinThickness
94 +
95 + subroutine notifyFortranCutoffs(this_rcut, this_rsw)
96 +  use doForces, ONLY : setCutoffs
97 +  use definitions, ONLY : dp
98 +
99 +  real(kind=dp), intent(in) :: this_rcut, this_rsw
100 +
101 +  call setCutoffs(this_rcut, this_rsw)
102 +
103 + end subroutine notifyFortranCutoffs
104 +
105 + subroutine notifyFortranYouAreOnYourOwn()
106 +  use doForces, ONLY : cWasLame
107 +
108 +  call cWasLame()
109 + end subroutine notifyFortranYouAreOnYourOwn

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines