00001 SUBROUTINE DDAWTS (NEQ, IWT, RTOL, ATOL, Y, WT, RPAR, IPAR) 00002 C***BEGIN PROLOGUE DDAWTS 00003 C***SUBSIDIARY 00004 C***PURPOSE Set error weight vector for DDASSL. 00005 C***LIBRARY SLATEC (DASSL) 00006 C***TYPE DOUBLE PRECISION (SDAWTS-S, DDAWTS-D) 00007 C***AUTHOR PETZOLD, LINDA R., (LLNL) 00008 C***DESCRIPTION 00009 C----------------------------------------------------------------------- 00010 C THIS SUBROUTINE SETS THE ERROR WEIGHT VECTOR 00011 C WT ACCORDING TO WT(I)=RTOL(I)*ABS(Y(I))+ATOL(I), 00012 C I=1,-,N. 00013 C RTOL AND ATOL ARE SCALARS IF IWT = 0, 00014 C AND VECTORS IF IWT = 1. 00015 C----------------------------------------------------------------------- 00016 C***ROUTINES CALLED (NONE) 00017 C***REVISION HISTORY (YYMMDD) 00018 C 830315 DATE WRITTEN 00019 C 901009 Finished conversion to SLATEC 4.0 format (F.N.Fritsch) 00020 C 901019 Merged changes made by C. Ulrich with SLATEC 4.0 format. 00021 C 901026 Added explicit declarations for all variables and minor 00022 C cosmetic changes to prologue. (FNF) 00023 C***END PROLOGUE DDAWTS 00024 C 00025 INTEGER NEQ, IWT, IPAR(*) 00026 DOUBLE PRECISION RTOL(*), ATOL(*), Y(*), WT(*), RPAR(*) 00027 C 00028 INTEGER I 00029 DOUBLE PRECISION ATOLI, RTOLI 00030 C 00031 C***FIRST EXECUTABLE STATEMENT DDAWTS 00032 RTOLI=RTOL(1) 00033 ATOLI=ATOL(1) 00034 DO 20 I=1,NEQ 00035 IF (IWT .EQ.0) GO TO 10 00036 RTOLI=RTOL(I) 00037 ATOLI=ATOL(I) 00038 10 WT(I)=RTOLI*ABS(Y(I))+ATOLI 00039 20 CONTINUE 00040 RETURN 00041 C-----------END OF SUBROUTINE DDAWTS------------------------------------ 00042 END