1*----------------------------------------------------------------------- 2* USPACK ROUND UMIN AND UMAX (UNIFORM) S.Sakai 95/09/06 3*----------------------------------------------------------------------- 4* Copyright (C) 2000-2004 GFD Dennou Club. All rights reserved. 5*----------------------------------------------------------------------- 6 SUBROUTINE USURDT(UMIN, UMAX, VMIN, VMAX, DUT) 7 8 REAL SC1 (4) 9 LOGICAL LEPSL, LREQ 10 SAVE 11 DATA SC1 / 1., 2., 5., 10./ 12 13*------------------------- ARGUMENT CHECK ------------------------------ 14 15 IF(UMIN.GT.UMAX) 16 & CALL MSGDMP('E', 'USURDT', 'UMIN > UMAX.') 17 18 IF(VMIN.GT.VMAX) 19 & CALL MSGDMP('E', 'USURDT', 'VMIN > VMAX.') 20 21*----------------------------------------------------------------------- 22 23 CALL GNSAVE 24 CALL GNSBLK(SC1, 4) 25 CALL GLLGET('LEPSL', LEPSL) 26 CALL GLLSET('LEPSL', .TRUE.) 27 28 IF(LREQ(UMAX,UMIN)) THEN 29 IF(LREQ(UMAX,0.)) THEN 30 UMAX = 1. 31 UMIN = -1 32 ELSE 33 UMAX = MAX(UMAX, 0.) 34 UMIN = MIN(UMIN, 0.) 35 ENDIF 36 ENDIF 37 38*----------------------------------------------------------------------- 39 40 CALL USRGET('TFACT' , CT) 41 CALL UZRGET('RSIZEL1' , CW) 42 DVT = CW*CT 43 44 DO 100 I=1, 2 45 DUT = ABS( (UMAX-UMIN)/(VMAX-VMIN)*DVT ) 46 CALL GNLE(DUT, BX, IEXP) 47 DUT = BX*1.D1**IEXP 48 UMAX = DUT * IRGE(UMAX/DUT) 49 UMIN = DUT * IRLE(UMIN/DUT) 50 100 CONTINUE 51 52 CALL GLLSET('LEPSL', LEPSL) 53 CALL GNRSET 54 55 END 56