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 2461 by gezelter, Mon Nov 21 22:59:02 2005 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, &
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    logical ( kind = 2) :: do_pot_c, do_stress_c
40    integer :: error
41 <  
41 >
42    call do_force_loop(q, q_group, A, eFrame, f, t, tau, pot, &
43         do_pot_c, do_stress_c, error)
44 <  
44 >
45   end subroutine doForceloop
46 +
47 + subroutine notifyFortranElectrostaticMethod(electrostaticMethod)
48 +  use doForces, ONLY : setElectrostaticMethod
49 +
50 +  integer, intent(in) :: electrostaticMethod
51 +
52 +  call setElectrostaticMethod(electrostaticMethod)
53 +
54 + end subroutine notifyFortranElectrostaticMethod
55 +
56 + subroutine notifyFortranCutoffPolicy(cutPolicy)
57 +  use doForces, ONLY : setCutoffPolicy
58 +
59 +  integer, intent(in) :: cutPolicy
60 +
61 +  call setCutoffPolicy( cutPolicy )
62 +
63 + end subroutine notifyFortranCutoffPolicy
64 +
65 + subroutine notifyFortranSkinThickness(this_skin)
66 +  use doForces, ONLY : setSkinThickness
67 +  use definitions, ONLY : dp
68 +
69 +  real(kind=dp), intent(in) :: this_skin
70 +
71 +  call setSkinThickness( this_skin )
72 +
73 + end subroutine notifyFortranSkinThickness
74 +
75 + subroutine notifyFortranCutoffs(this_rcut, this_rsw)
76 +  use doForces, ONLY : setCutoffs
77 +  use definitions, ONLY : dp
78 +
79 +  real(kind=dp), intent(in) :: this_rcut, this_rsw
80 +
81 +  call setCutoffs(this_rcut, this_rsw)
82 +
83 + end subroutine notifyFortranCutoffs
84 +
85 + subroutine notifyFortranYouAreOnYourOwn()
86 +  use doForces, ONLY : cWasLame
87 +
88 +  call cWasLame()
89 + end subroutine notifyFortranYouAreOnYourOwn

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines