ddawts.f

Go to the documentation of this file.
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
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines