dbvpor.f
SUBROUTINE DBVPOR (Y, NROWY, NCOMP, XPTS, NXPTS, A, NROWA, ALPHA,
+ NIC, B, NROWB, BETA, NFC, IFLAG, Z, MXNON, P, NTP, IP, W, NIV,
+ YHP, U, V, COEF, S, STOWA, G, WORK, IWORK, NFCC)
C***BEGIN PROLOGUE DBVPOR
....
....
Warning: this routine is not intended to be user-callable.
....
....
C***SUBSIDIARY
C***PURPOSE Subsidiary to DBVSUP
C***LIBRARY SLATEC
C***TYPE DOUBLE PRECISION (BVPOR-S, DBVPOR-D)
C***AUTHOR Watts, H. A., (SNLA)
C***DESCRIPTION
C
C **********************************************************************
C INPUT to DBVPOR (items not defined in DBVSUP comments)
C **********************************************************************
C
C NOPG = 0 -- orthonormalization points not pre-assigned
C = 1 -- orthonormalization points pre-assigned
C
C MXNON = maximum number of orthogonalizations allowed.
C
C NDISK = 0 -- in-core storage
C = 1 -- disk storage. Value of NTAPE in data statement
C is set to 13. If another value is desired,
C the data statement must be changed.
C
C INTEG = type of integrator and associated test to be used
C to determine when to orthonormalize.
C
C 1 -- use GRAM-SCHMIDT test and DDERKF
C 2 -- use GRAM-SCHMIDT test and DDEABM
C
C TOL = tolerance for allowable error in orthogonalization test.
C
C NPS = 0 normalize particular solution to unit length at each
C point of orthonormalization.
C = 1 do not normalize particular solution.
C
C NTP = must be .GE. NFC*(NFC+1)/2.
C
C NFCC = 2*NFC for special treatment of a COMPLEX*16 valued problem
C
C ICOCO = 0 skip final computations (superposition coefficients
C and, hence, boundary problem solution)
C = 1 calculate superposition coefficients and obtain
C solution to the boundary value problem
C
C **********************************************************************
C OUTPUT from DBVPOR
C **********************************************************************
C
C Y(NROWY,NXPTS) = solution at specified output points.
C
C MXNON = number of orthonormalizations performed by DBVPOR.
C
C Z(MXNON+1) = locations of orthonormalizations performed by DBVPOR.
C
C NIV = number of independent vectors returned from DMGSBV. Normally
C this parameter will be meaningful only when DMGSBV returns
C with MFLAG = 2.
C
C **********************************************************************
C
C The following variables are in the argument list because of
C variable dimensioning. In general, they contain no information of
C use to the user. The amount of storage set aside by the user must
C be greater than or equal to that indicated by the dimension
C statements. For the disk storage mode, NON = 0 and KPTS = 1,
C while for the in-core storage mode, NON = MXNON and KPTS = NXPTS.
C
C P(NTP,NON+1)
C IP(NFCC,NON+1)
C YHP(NCOMP,NFC+1) plus an additional column of the length NEQIVP
C U(NCOMP,NFC,KPTS)
C V(NCOMP,KPTS)
C W(NFCC,NON+1)
C COEF(NFCC)
C S(NFC+1)
C STOWA(NCOMP*(NFC+1)+NEQIVP+1)
C G(NCOMP)
C WORK(KKKWS)
C IWORK(LLLIWS)
C
C **********************************************************************
C SUBROUTINES used by DBVPOR
C DLSSUD -- solves an underdetermined system of linear
C equations. This routine is used to get a full
C set of initial conditions for integration.
C Called by DBVPOR.
C
C DVECS -- obtains starting vectors for special treatment
C of COMPLEX*16 valued problems, called by DBVPOR.
C
C DRKFAB -- routine which conducts integration using DDERKF or
C DDEABM.
C
C DSTWAY -- storage for backup capability, called by
C DBVPOR and DREORT.
C
C DSTOR1 -- storage at output points, called by DBVPOR,
C DRKFAB, DREORT and DSTWAY.
C
C DDOT -- single precision vector inner product routine,
C called by DBVPOR, DCOEF, DLSSUD, DMGSBV,
C DBKSOL, DREORT and DPRVEC.
C ** NOTE **
C a considerable improvement in speed can be achieved if a
C machine language version is used for DDOT.
C
C DCOEF -- computes the superposition constants from the
C boundary conditions at XFINAL.
C
C DBKSOL -- solves an upper triangular set of linear equations.
C
C **********************************************************************
C
C***SEE ALSO DBVSUP
C***ROUTINES CALLED DBKSOL, DCOEF, DDOT, DLSSUD, DRKFAB, DSTOR1,
C DSTWAY, DVECS
C***COMMON BLOCKS DML15T, DML18J, DML8SZ
C***REVISION HISTORY (YYMMDD)
C 750601 DATE WRITTEN
C 890531 Changed all specific intrinsics to generic. (WRB)
C 890831 Modified array declarations. (WRB)
C 890921 Realigned order of variables in certain COMMON blocks.
C (WRB)
C 891214 Prologue converted to Version 4.0 format. (BAB)
C 900328 Added TYPE section. (WRB)
C 910722 Updated AUTHOR section. (ALS)
C***END PROLOGUE DBVPOR