*DECK DBVPOR 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 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