V3FIT
belicu.f
1  SUBROUTINE belicu(bx, by, bz, cos1, sin1, rp, zp)
2  USE vacmod
3  USE biotsavart
4  USE parallel_include_module
5  IMPLICIT NONE
6 !-----------------------------------------------
7 ! D u m m y A r g u m e n t s
8 !-----------------------------------------------
9  REAL(dp), DIMENSION(nuv3), INTENT(in) :: cos1, sin1, rp, zp
10  REAL(dp), DIMENSION(nuv3), INTENT(out) :: bx, by, bz
11 !-----------------------------------------------
12 ! L o c a l V a r i a b l e s
13 !-----------------------------------------------
14  INTEGER :: j
15  REAL(dp), DIMENSION(3) :: xpt, bvec
16  REAL(dp) :: tbelon, tbeloff
17 !-----------------------------------------------
18  CALL second0(tbelon)
19 
20  DO j = nuv3min, nuv3max
21  xpt(1) = rp(j) * cos1(j)
22  xpt(2) = rp(j) * sin1(j)
23  xpt(3) = zp(j)
24  CALL bsc_b (single_coil, xpt, bvec)
25  bx(j) = bvec(1); by(j) = bvec(2); bz(j) = bvec(3)
26  END DO
27  CALL cleanup_biotsavart
28 
29  CALL second0(tbeloff)
30  belicu_time = belicu_time + (tbeloff - tbelon)
31 
32  END SUBROUTINE belicu