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 1948 by gezelter, Fri Jan 14 20:31:16 2005 UTC vs.
Revision 3397 by chuckv, Tue May 27 16:39:06 2008 UTC

# Line 1 | Line 1
1   !! Interfaces for C programs to module....
2  
3 < subroutine initFortranFF(use_RF_c, thisStat)
3 > subroutine initFortranFF(thisStat)
4    use doForces, ONLY: init_FF
5 <  logical, intent(in) :: use_RF_c
5 >  use definitions, ONLY : dp
6 >
7 >  integer, intent(out) :: thisStat
8    
9 <  integer, intent(out) :: thisStat  
10 <  call init_FF(use_RF_c, thisStat)
9 <  
9 >  call init_FF(thisStat)
10 >
11   end subroutine initFortranFF
12  
13 < subroutine doForceloop(q, q_group, A, eFrame, f, t, tau, pot, &
13 > subroutine doForceloop(q, q_group, A, eFrame, f, t, tau, pot, particle_pot, &
14       do_pot_c, do_stress_c, error)
15 <  
15 >
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 27 | Line 32 | subroutine doForceloop(q, q_group, A, eFrame, f, t, ta
32    real ( kind = dp ), dimension(3,nLocal) :: f
33    !! Torsion array provided by C, dimensioned by getNlocal
34    real( kind = dp ), dimension(3,nLocal) :: t    
35 <  
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 >  real( kind = dp ), dimension(nLocal) :: particle_pot
40    logical ( kind = 2) :: do_pot_c, do_stress_c
41    integer :: error
42 <  
43 <  call do_force_loop(q, q_group, A, eFrame, f, t, tau, pot, &
42 >
43 >  call do_force_loop(q, q_group, A, eFrame, f, t, tau, pot, particle_pot, &
44         do_pot_c, do_stress_c, error)
45 <  
45 >
46   end subroutine doForceloop
47 +
48 + subroutine getAccumulatedBoxDipole( box_dipole )
49 +  
50 +  use definitions, ONLY: dp
51 +  use doForces, ONLY: getBoxDipole
52 +
53 +  !! simulation box dipole moment
54 +  real ( kind = dp ), dimension(3) :: box_dipole
55 +  
56 +  call getBoxDipole( box_dipole )
57 +  
58 + end subroutine getAccumulatedBoxDipole
59 +
60 + subroutine setAccumulateBoxDipole()
61 +
62 +  use doForces, ONLY: setBoxDipole
63 +
64 +  call setBoxDipole()
65 +  
66 + end subroutine setAccumulateBoxDipole
67 +
68 + subroutine setFortranElectrostaticMethod(electrostaticMethod)
69 +  use doForces, ONLY : setElectrostaticMethod
70 +
71 +  integer, intent(in) :: electrostaticMethod
72 +
73 +  call setElectrostaticMethod(electrostaticMethod)
74 +
75 + end subroutine setFortranElectrostaticMethod
76 +
77 + subroutine notifyFortranCutoffPolicy(cutPolicy)
78 +  use doForces, ONLY : setCutoffPolicy
79 +
80 +  integer, intent(in) :: cutPolicy
81 +
82 +  call setCutoffPolicy( cutPolicy )
83 +
84 + end subroutine notifyFortranCutoffPolicy
85 +
86 + subroutine notifyFortranSkinThickness(this_skin)
87 +  use doForces, ONLY : setSkinThickness
88 +  use definitions, ONLY : dp
89 +
90 +  real(kind=dp), intent(in) :: this_skin
91 +
92 +  call setSkinThickness( this_skin )
93 +
94 + end subroutine notifyFortranSkinThickness
95 +
96 + subroutine notifyFortranCutoffs(this_rcut, this_rsw, this_sp, this_sf)
97 +  use doForces, ONLY : setCutoffs
98 +  use definitions, ONLY : dp
99 +
100 +  real(kind=dp), intent(in) :: this_rcut, this_rsw
101 +  logical, intent(in) :: this_sp, this_sf
102 +
103 +  call setCutoffs(this_rcut, this_rsw, this_sp, this_sf)
104 +
105 + end subroutine notifyFortranCutoffs
106 +
107 + subroutine notifyFortranYouAreOnYourOwn()
108 +  use doForces, ONLY : cWasLame
109 +
110 +  call cWasLame()
111 + end subroutine notifyFortranYouAreOnYourOwn

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines