1C dpcon61w.f 29 February 2004 2 3C PySCeS - Python Simulator for Cellular Systems 4C (http://pysces.sourceforge.net) 5C Copyright (C) B.G. Olivier, J.M. Rohwer, J.-H.S. Hofmeyr 6C Stellenbosch, 2004-2008. 7C Triple-J Group for Molecular Cell Physiology 8C Stellenbosch University, South Africa 9C Author: Brett G. Olivier 10C 11C PySCeS is Open Source Software distributed under 12C the GNU GENERAL PUBLIC LICENSE (see docs/GPL) 13 14CFILE: dpcon61w.f 15 SUBROUTINE PITCON1(DF,FPAR,FX,IERROR,IPAR,IWORK,LIW,NVAR,RWORK, 16 *LRW,XR,IMTH) 17 EXTERNAL DF 18 EXTERNAL FX 19 EXTERNAL DENSLV 20 EXTERNAL BANSLV 21 INTEGER LIW 22cf2py integer optional,check(len(iwork)>=liw),depend(iwork) :: liw=len(iwork) 23 INTEGER LRW 24cf2py integer optional,check(len(rwork)>=lrw),depend(rwork) :: lrw=len(rwork) 25 INTEGER NVAR 26cf2py integer optional,check(len(xr)>=nvar),depend(xr) :: nvar=len(xr) 27 DOUBLE PRECISION FPAR(*) 28cf2py double precision dimension(*)),intent(in) :: fpar 29 INTEGER IPAR(*) 30cf2py integer dimension(*),intent(in) :: ipar 31 INTEGER IWORK(LIW) 32cf2py integer dimension(liw),intent(in,out,copy) :: iwork 33 INTEGER IERROR 34cf2py integer intent(out) :: ierror 35 DOUBLE PRECISION RWORK(LRW) 36cf2py double precision dimension(lrw),intent(in,out,copy) :: rwork 37 DOUBLE PRECISION XR(NVAR) 38cf2py double precision dimension(nvar),intent(in,out,copy) :: xr 39cf2py DOUBLE PRECISION X(NVAR), FVEC(NVAR), FJAC(NVAR,NVAR) 40cf2py double precision,intent(out) :: fvec 41cf2py double precision,intent(out) :: fjac 42cf2py INTEGER IMTH = 1 43 INTEGER IMTH 44cf2py CALL FX(NVAR,FPAR,IPAR,X,FVEC,IERROR) 45cf2py CALL DF(NVAR,FPAR,IPAR,X,FJAC,IERROR) 46 IF (IMTH.eq.1) THEN 47 CALL PITCON(DF,FPAR,FX,IERROR,IPAR,IWORK,LIW,NVAR,RWORK, 48 *LRW,XR,DENSLV) 49 ELSE 50 CALL PITCON(DF,FPAR,FX,IERROR,IPAR,IWORK,LIW,NVAR,RWORK, 51 *LRW,XR,BANSLV) 52 ENDIF 53 END 54