ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-2.0/src/UseTheForce/doForces_interface.F90
Revision: 2361
Committed: Wed Oct 12 21:00:50 2005 UTC (18 years, 8 months ago) by gezelter
File size: 1556 byte(s)
Log Message:
simplifying long range potential array

File Contents

# Content
1 !! Interfaces for C programs to module....
2
3 subroutine initFortranFF(correctionMethod, thisStat)
4 use doForces, ONLY: init_FF
5 use definitions, ONLY : dp
6
7 integer, intent(in) :: correctionMethod
8 integer, intent(out) :: thisStat
9 integer :: correction
10
11 correction = correctionMethod
12
13 call init_FF(correction, thisStat)
14
15 end subroutine initFortranFF
16
17 subroutine doForceloop(q, q_group, A, eFrame, f, t, tau, pot, &
18 do_pot_c, do_stress_c, error)
19
20 use definitions, ONLY: dp
21 use simulation
22 use doForces, ONLY: do_force_loop
23
24 #define __FORTRAN90
25 #include "UseTheForce/DarkSide/fInteractionMap.h"
26
27 !! Position array provided by C, dimensioned by getNlocal
28 real ( kind = dp ), dimension(3, nLocal) :: q
29 !! molecular center-of-mass position array
30 real ( kind = dp ), dimension(3, nGroups) :: q_group
31 !! Rotation Matrix for each long range particle in simulation.
32 real( kind = dp), dimension(9, nLocal) :: A
33 !! Unit vectors for dipoles (lab frame)
34 real( kind = dp ), dimension(9,nLocal) :: eFrame
35 !! Force array provided by C, dimensioned by getNlocal
36 real ( kind = dp ), dimension(3,nLocal) :: f
37 !! Torsion array provided by C, dimensioned by getNlocal
38 real( kind = dp ), dimension(3,nLocal) :: t
39
40 !! Stress Tensor
41 real( kind = dp), dimension(9) :: tau
42 real ( kind = dp ),dimension(LR_POT_TYPES) :: pot
43 logical ( kind = 2) :: do_pot_c, do_stress_c
44 integer :: error
45
46 call do_force_loop(q, q_group, A, eFrame, f, t, tau, pot, &
47 do_pot_c, do_stress_c, error)
48
49 end subroutine doForceloop
50