V3FIT
lmdif1_mp.f
1  SUBROUTINE lmdif1_mp(fcn, m, n, x, fvec, tol, epsfcn,
2  1 nfev_end, diag, mode, info, lwa)
3 !
4 !! THIS IS THE MULTIPLE PROCESSOR VERSION OF LEV_OPT USING MPI CALLS
5 !! (D. A. Spong 10/27/00)
6 
7 !!! epsfcn was added as a dummy argument, eliminating the circular
8 !!! MODULE reference.
9 !! diag and mode were added as arguments, so that different choices
10 !! for these can be tried in the future (as suggested by L. A. Berry)
11 !! Currently mode = 1 is used in the calling routine (stellopt) so that
12 !! diag is internally generated. See definitions of mode and diag in LMDIF1.
13 !!
14  USE stel_kinds
15  IMPLICIT NONE
16 C-----------------------------------------------
17 C D u m m y A r g u m e n t s
18 C-----------------------------------------------
19  INTEGER, INTENT(in) :: m, n, lwa, nfev_end, mode
20  INTEGER, INTENT(out) :: info
21  REAL(rprec), INTENT(in) :: tol, epsfcn
22  REAL(rprec), DIMENSION(n), INTENT(inout) :: x, diag
23  REAL(rprec), DIMENSION(m), INTENT(out) :: fvec
24 C-----------------------------------------------
25 C E x t e r n a l F u n c t i o n s
26 C-----------------------------------------------
27  EXTERNAL fcn
28 C-----------------------------------------------
29  CALL lmdif1(fcn, m, n, x, fvec, tol, epsfcn, nfev_end,
30  1 diag, mode, info, lwa, 0, 0)
31 
32  END SUBROUTINE lmdif1_mp