You are on page 1of 7

First Place

Best Presentation of Data - Color


Peter Stowe
United Technologies
LARSON-MILLER PARAMETEE PLOT OF CREEP-RUPTURE DATA
The accompanying Larson-Miller parameter plot was produced by one of a series of SAS
programs for analyzing creep-rupture data. These programs perform functions such as
creating and maintaining datasets, merging existing datasets and sorting, printing and
plotting individual datasets. All hardcopy output from these programs is 8 1/2 X 11
inches in size and of quality suitable for publication (the accompanying graph was
produced in a larger size for this exhibition only). The programs are designed to run
on eMS and are intended for use by individuals with virtually no knowledge of file edit-
ing procedures, SAS or the VM operating system. The dataset management program, for ex-
ample, places the user directly into the FSEDIT environment with a modified screen
containing detailed instructions for adding, duplicating and changing records as well as
moving through the file. All programs are controlled by an EXEC2 routine which prompts
the user to select options from a menu.
A basic understanding of both creep-rupture testing and parameter analysis is required
in order to understand the accompanying graph. A brief description of each follows.
Simply stated, a creep-rupture test is one in which a test specimen is held at constant
TEMPERATURE while a continuous steady load (STRESS) is applied and the TIME to either
RUPTURE or reach a predetermined amount of permanent deformation (CREEP) is measured.
The creep-rupture test is analagous to a weight suspended from an attachment by an elas-
tic band. If left in this suspended state for a long enough time the elastic band will
permanently stretch and will eventually break. Creep-rupture tests are frequently run
at extremely high temperatures and can last hundreds (or thousands) of hours and, as a
result, are quite expensive, The cost of material procurement and specimen preparation
alone can easily exceed $1000 per test, Consequently, emphasis is placed on minimizing
the number of tests While still prOViding sufficient data to adequately define the alloy
capability.
In the past one of the most frequently used methods for presenting creep-rupture test
results was to plot the data in the form of log(stress) versus log(time) and then to de-
velop a series of smooth curves through the data (one curve was required for each test
temperature). With this technique, several tests were required at each temperature of
interest. In addition, interpolating between temperatures and extrapolating beyond test
times are very risky. In the 1950's Larson and Miller developed an equation which math-
ematically defined a parameter as a function of temperature and time (The Larson-Miller
parameter is one of numerous parameters in existence today). A characteristic of
parametric equations is that the constant(s) of the equation can be customized to allow
plotting the data in a form in which the test results for all temperatures will "line
up". Therefore, a single curve can be applied to the entire test temperature range.
Parameter analysis and presentation offer many advantages over previously available
techniques such as eliminating the need to produce a dataset suitable for curve develop-
ment at each temperature of interest. In addition, short time tests can be more effec-
tively used to predict longer time results. Interpolation and extrapolation risks are
also substantially reduced, Larson-Hiller parameters are generally presented in the
form of the accompanying plot: Log(stress) vs parameter with a vertical log(time) scale
on the right. These plots rrre read by starting at the stress scale and moving horizon-
tally to the data, then vertically to the temperature line and horizontally to the time
scale or vice versa (follow the dashed line of the schematic which is drawn on the
plot).
The graphics program uses the GPLOT procedure to produce both soft copy and hardcopy
plots .. The program is tailored for online viewing on IBM3100 series terminals and hard-
copy plotting on a ealcomp color electrostatic plotter, Other devices will be added to
the program on an "as needed" basis. The program is designed to handle datasets for a
wide range of alloys from low temperature, low strength alloys with stresses of 1-40 KSI
or temperatures o'f 70-500F to superalloys with stresses above 150 KSI or temperatures
exceeding 2000F. The diverSity of datasets requires program flexibility for drawing the
appropriate temperature lines and axes scales. Extensive use of the SAS macro facility
is made to provide this flexibility without requiring the user to become familiar with
SAS commands. All user input is entered during program execution through a series of
interactive macros, In order to minimize data entry errors, user input is limited to a
1573
single word or number whenever possible. In addition, detailed instructions for all re-
quired input are displayed on the screen by using the PUT statement in conjunction with
the FILEDEF command. Error checks are also performed on all numeric entries. The fol-
lowing information is entered interactively: name of dataset to be plotted; plot title;
temperature line minimum, maximum and intervalj Larson-Miller constantj choice for ver-
tical axis scale (two choices available)j choice for plotting symbol variable (test TEM-
PERATURE or data SOURCE)j output device; and plot note (optional).
The values for virtually all options of the TITLE, NOTE. AXIS, LEGEND. PLOT and GOPTIONS
statements are assigned by macro variables which permits modifying the program logic.
adding new capabilities and tailoring options for additional device drivers with minimal
programming effort. COLOR variables, for example, are initially assigned the values of
colors valid for IBM 3100 series terminals. When a different device is selected these
variables are reassigned colors valid for that device by a series of IF tests.
All axis scaling is controlled by the program .. This is required in order to allow de-
velopment of an algorithm for converting grid coordinates to CELL units. The algorithm
permits the NOTE statement (with blanking capability) to be utilized to draw the temper-
ature line labels and assures that regardless of which temperature lines are selected,
the labels will be centered on the lines.
The temperature lines are drawn as follows. A dataset containing four observations per
temperature line is created and then appended to the dataset to be plotted. The last
observation for each temperature line contains a missing value. In a d d i t i o n ~ the symbol
variable (or Z variable for the PLOT Y*X=Z statement) for each temperature line data
point is assigned a value such that the implied sort of the PLOT statement assures that
SYMBOLI will be used to plot the temperature lines. SYMBOLl specifies that the observa-
tions should be joined by a line with no symbols drawn. The SKIPMISS option of the PLOT
statement and the missing data values prevent the J01n1ng of different temperature
lines. This technique for drawing miscellaneous lines can be applied to many other
graphics applications.
The major grid is created by using the VREF and HREF options of the PLOT statement. The
minor grid is similarly created with the PLOTZ statement. The PLOTZ statement utilizes
SYMBOL13 which specifies I=NONE and V=NONE, hence, nothing other than the grid and right
vertical axis is actually drawn. The VAXIS and HAXIS options must be specified when em-
ploying this technique to assure that proper scaling is utilized. Again, this technique
can be applied to many other graphics applications and can be modified to prevent draw-
ing the right vertical axis by adding the NOAXES option to the PLOT statement.
1574
S
t
r
e
s
s
.....
c.n

-..J
c.n
K
S
I
LARSON-MILLER PARAMETER PLOT OF SAMPLE CREEP-RUPTURE DATA
PARAMETER=(LOG 1 0(TIME)+20 )*(TEMP+460)
1000 __________________________________________________ -________________________________________________________________________ ----- -- _______ ----- - -- ------ ____ - 1000
..... ----- ---------- ._.------- - --------- ---------- " .... ---- _.-._----- ._ .. -._- - ._ ... ----- ----_._.-.- -_._-----.. _----.--- --- ---_.- ---_ ...... ----_ .. _. ---"-.. -'
:::::::::: :::::::::: ::::1 900 F t::: ::::::J 1000 F t:::::::: 1100 F I:::: :::1 1200 F ':--::::::1 1300 F ::::::::: 1400 FE_
---------- ---------- ---------- ----------- -----------/-------- ---------- ----/----- ---------- -------f- ----------------------1---------- ---------- --(-------1---------- -
;;;;;;;;;; 4;;;;;; ;;;;;;;;;; ;;;0;;;;;;;;;: ; N tt:i
:::::::::: :::::::::: ::1::: ::::::::::: ::::1: :::::::::: ::::::::(::::::: :::::::1/:::::: ::::::: .. q / :------1 2:
J _____ * _ ..
q
100
PAR A M e: T e: R
100
10 'I I I I
I - ==T-- :==F:= I'
I I
II 10
28000 30000 32000 34000 36000 38000 40000 42000 44000
Parameter
TEMPERATURE,F
* * * HEAT CODE A
f::, f::, f::, HEAT CODE B
x x x HEAT CODE C D D D HEAT CODE D (; (; (; HEAT CODE E
+ + + HEAT CODE F HEAT CODE G ri' ri' ri' HEAT CODE H
C? C? C? HEAT CODE I HEAT CODE J
T
i
m
e
i
n
H
0
u
r
s
"Set some program options and define FILEDEFs;
OPTIONS OQUOTE LINESIZE""ao;
eMS FILEDEF OUT TERM:
CHS FlLEDEF 5 DISK Al DATA A:
CMS PW'CLR;
*Hacro for interactively entering dataset name:
%MACRO FNAJ1E;
DATA:
FILE OUT NOTITLES;
PUT 'ENTER DATASET NAME';
RUN;
%GLOB!L DSN;
'tTNPtlT DSN;
;g>UT 'DATASET"" &DSN;
%MEND FNAME;
*Macro for interactively selecting plotting symbol variable;
%MACRO SVAR;
DATA;
FILE OUT NOTITLES;
CALL SYMPOT{'SVAR', 'TESTIEI1P');
PUT 'Plotting symbols will be used to identify either';
PUT 'test TEMPERATURE or data SOURCE (default is SOURCE).';
PUT' ,
Ptrr 'Do you want symbol to identify TEMPERATURE 1 (yes or no)';
RUN;
DATA;
%INPUT
'%LET ANSIolER=&SYSBUFFR;
'%PUT 'SYMBOI;=:STRESS ?' &ANSWER;
lIF 'X.UPCASE(&ANSIolER)=YES %THEN %GOTO ODT;
CALL SYHPUT('SVAR' ,'SOURCE ');
%OUT: %MEND SVAR;
*Maero for interactively entering Larson-Miller constant;
%MACRO CaNST;
DATA;
FILE OUT NOTITLES;
PUT 'ENTER LARSON-HILLER CONSTANT' ;
RUN;
%GL9BAL CaNST! ;
%INPtrr CONSTl;
%MEND CaNST:
*Macro for interactively entering device driver:
%MACRO DEVICE j
DATA;
FILE OUT NOTITLES;
CMS PWCLR;
PUT 'SELECTOUTPUT DEVICE SUCH AS;';
PUT '
PUT 'DEVICE NAME OUTPur DEVICE' ;
. ~ ~ 'IBM3179 FOR IBM 3100 SERIES GRAPHICS TERMINAL' ;
PUT 'VARCALC FOR HARDCOPY COLOR CALCO:1P nOT';
PUT : ~ R VALID DEVICE-SEE SAS/GRAPH MANUAL';
~ ~ 'ENTER DEVICE NAUE;
PUT
PUT
PUT
PUT
Pur 'NOTE: ProgrWD is tailored foe IBM 3100 suies geaphics teminal';
Pur 'Viewing and Calcomp hardcopy plots. Other devices will be added';
PUT 'as needed. Requests foe additional devicas should be dieected to';
Pur 'Pete Stowe.';
RUN;
%GLOBAL DEVICE;
llNPlIT DEVICE:
%MEND DEVICE;
*Hacro foe inteeactively defining plot temperatuee lines;
%HACRO TLINE;
DATA:
FILE OUT NOTITLES;
PUT 'DEFINE TEMPERATURE LINES TO BE DRAWN ON PLOT. ' j
PUT '
PUT 'Enter LOWEST temperatuee, HIGHEST tempeutuee, and';
PUT 'INTERVAL foe drawing lines. The three values should';
PUT 'be entered on a singl .. lin ... and separated by a blank';
PUT :00 ~ O T REQUEST MORE THAN EIGlIT (8) LINES.';
PUT
PUT 'WARNiNG-BE CAREFUL WHEN ENTERING NUMERIC VALUES. INCORRECT';
PUT 'NUMBERS WILL CAUSE PROGRAM TO TERI'1INATE. ALL NUMERIC VALUES' j
PUT 'SHOULD BE ENTERED AS INTEGERS (NO DECIMAL POINT). '
RON;
%GLOBAL WIN 111AX TINT;
%INPUT THIN !MAX TINT;
%KEND TLINE;
*Maceo foe inteeactively defining vertical plot scale;
'lMACRO YSCALE;
DATA;
FILE OUT NOTITLES;
NIT 'The STRESS/TIME axis will be two log cycles in length and must' ;
PUT 'be eithee from 1 to 100 oe from 10 to 1000 (Data points with a';
PUT 'steess outside the selected eange will be ignored.';
PUT
PUT, 'Enter desieed axis minimum value (Eithee 1 or 10)';
RUN;
%GLOBAL YMINI ;
%INPtrr YMINl;
XMEND YSCALE j
*Maceo foe interactively entering plot title;
%MACRO TITLE;
DATA;
FILE OUT NOTITLES;
PUT 'ENTER prm TITLE-CAN BE UPPER CASE and lowee case letters';
RUN;
.%GLOBAL TITIT;
%INPUT;
%LET ITITr=&SYSBUFFR;
%PUT 'TITLE=' &TITIT;
%MEND TITLE;
*Macro foe interactively enteeing plot note;
%MACRO NOTE;
DATA:
FILE our NarITLES;
PUT 'ENTER PLOT NQTECAN BE UPPER CASE and lowee case lettees.' j
PUT 'If no text is entered the default note (the cuerent date)';
PUT 'will be used.
RUN:
%GLOBAL NNOTE;
%INPUT;
%LET NNOTE=&SYSBUFFR;
%IF %LENGTII(&NNOTE) < 2 %ntEN %LET NNOTE--&SYSDATE;
%PUT 'NOTE=' &NNOTE'
%MEND NOTE; ,
*Execute macros foe defining plot paeametees;
%F'NAME;
%sVAR;
%TITLE;
eMS PWcLR:
ULINE;
*Check tempeeature lines. If invalid, then terminate peogeamj
DATA;
%LET T1=&THIN;
%LET T2=&TMAX:
%LET T3=&TINT;
%pur 'TEMP LINES=' &Tl &T2 &T3:
IF &T2 LE &T1 THEN ABORT RETURN;
IF (&T2 -&Tl) /&T3 GT 8 TIlEN ABORT RETURN;
RUN;
%CONST;
*Check Larson-Hillee Constant. If invalid, then teeminate peogram;
DATA;
lLET C=&CONSTl;
%PIIT 'LARSON-MILLER CONSTAN1'=' &C;
IF &C LT 0 THEN ABORT RETURN;
IF &C GT 40 THEN ABORT RETURN ;
RUN;
%YSCALE:
*Check Y-axis scale minimum. If invalid, then teeminate peogram;
DATA: '
%LET YC=&Yl1INl:
lPIIT 'y AXIS HIN=' &YC;
IF &YC NE I AND &YC NE 10 TIJEN ABORT RETURN;
RUN;
*Build plot dataset;
DATA RUPTURE;'.
SET &DSN . DATA;
%LET ilIC-&CONSTl;
PARAM=(TEMP+460, 0 )*{LOGI0 (TIME )+&LMC);
LENGTII TESTIEI1P $16.;
TESTIEI1P=LEFT(TEMP) ;
*Define vaeiables needed to ceeate geid lines;
DATA;
%GLOBAL I1INI I11N2 MAXI H!X2;
lLET MINl""XEVAL(l*&YHINl );
%LET MAXl=%EVAL(9*&YMINI );
%LET INTl=>%EVAL(l*&YMINl );
%LET HIN2='.tEVAL(10*&YHINI );
%LET MAX2=>%EVAL(100*&YMINI );
lLET INT2=%,EVAL(10*&YMINl );
lLET ZZZ=%EVAL(1*&YMINI );
VALUE=&ZZZ *1.2;
CALL SYHFUT{ 'MN1' vALUE);
VALUE=&ZZZ *3.6;
CALL SYHPUT('MX1' ,VALUE);
VALUE=&ZZZ *0.2;
CALL SYMPUT(' INI' ,VALUE);
VALUE=&ZZZ *4,5;
CALL SYHPIIT( 'l1N2' VALUE);
VALUE:&ZZZ *9 5
CALL SYMPUTCHx2' ,VALUE);
VALUE:&ZZZ *1.0:
CALL SYHPUT{' IN2' ,VALUE);
VALUE=&ZZZ *12.;
CALL SYHPUT( 'l1N3' VALUE);
VALUE=&ZZZ *36.;
CALL SYHPIIT( 'MX3' VALUE);
VALUEr.&ZZZ *02.;
CALL SYHPIIT(' IN3' ,VAl.UE);
VALUE=&ZZZ *45.;
CALL SYHPIIT('HN4' ,VALUE);
VALUE=&ZZZ *95.;
CALL SYMPUf( 'MX4' ,VALUE);
1576
VALIJE=liZZZ *10. j
CALL SYHPUT('IN4' ,VALUE);
*Build temperature line data;
DATA TEMPLINE j
SOURCE=' I!'EMPERATURE ,F
TESTTEKP= 'fI'EtiPERATURE , F
DO I=6T1iIN 1'0 &.TMAX BY &TlNT;
TEMP=I;
STRESS=&HINl/lOj
TIME=6MINI/I0;
DO J=l TO 4;
STRESS=10*STRESS;
TUm=lO*TIMEj
*Create missing values so that temperature lines wont be connected;
IF J=4 THEN STRESS=.;
PARAM=(TEMP+460. 0)"" (LOGIO (TIME)+&IJ1C);
PUT TEMP snu;ss TIME SOURCE PARAM TESTIEMP;
OUTPUT;
END;
END;
RUN;
*Append temperature line data to plot dataset;
PROC APPEND BASE=RUPTURE NEW=TEMPLINE FORCE j
RUN;
*Define variables needed to define horizontal plot scale;
DATA;
SET RUPTURE j
IF TIME GE &.MINl j
IF TIME LE &MAX2;
PROC HEANS NOPRINT;
%GLOBAL PtiIN PMAX;
VAR PARAH;
OUTPUT Q[lT"'TEMP MIN=PMIN MAX=PMAX;
RUN;
*Macro for defining horizontal plot scale;
'XMACRO PSCALE;
DATA;
SET TEMP ;
FILE OUT NOTITLES;
%GLOBAL MINX MAXX DELX
1LET Xl = PMIN
%LET X2 = PMAX ;
PMIN=2000*(INT( PMIN /2000));
PMAX=2000*(INT(PMAX /2000) +1);
%LET RANGE=PMAX-PtiIN;
DELTA"'2000;
IF &oRANGE LE 10000 TIffiN DELTA=lOOO;
CALL SYHPUT('MINX' ,PMIN);
CALL SYHPUT('MAXX' ,PMAX);
CALL SYMPUT( 'DELX' ,DELTA);
RUN;
%MEND PSCALE;
*Execute macro for defining horizontal plot scale;
'%.PSCALE;
*Execute macro for selecting device driver;
%DEVICE;
1LET DEV=6DEVICE;
'%.PIJT 'DEVICE=' &DEV;
lNOTE;
*Assign invalid coordinates to all possible temperature line labels.
*AII desired temperature line labels will be redefined. All unwanted
*labels will remain invalid and will not be plotted.;
DATA NOTE:
DO 1G(=1 TO S:
YXC=90.0:
VYC=90.0:
CALL SYMPUT('XC'IILEFT(!(X),VXC)j
CALi. SYHPUT( 'YC' 1 ILEFT{KK) , VYC):
CALL SYHPIJT( 'LABEL' II LEFT(KK) ,KK);
END;
*Assign valid coordinates to desired temperature line labels;
KK=Q;
DO JJ=6T1iIN. TO &TIiAX BY &TINT;
P= (JJ +460)""{LOGI0(7S*&YMINl)+&LHC);
VYC=66.0;
"'Algorithm fur converting grid eoordinates to cell units;
VXC=64*(P-&MINX)! (&I'IAXX-&I'IINX)+S.
JG{=KK+l ;
CALL SYHPtlT (' XC ' 11 LEFT (KK) , VXC) ;
CALL SYHPur( 'YC' 11 1FT{KK) , VYC);
CALL SYMPur( 'LABEL' II 1FT(KK) ,LEFT{JJ));
END;
PROC PRINT;
RUN;
*Macro for setting color attributes. Set for
*IBM 3100 series terminals. If device selected is VARCALC
*or other valid device, redefine as necessary.;
%MACRO COL;
DATA;
1GLOBAL TXTCOL SYMCI SYHC2 SYMC3 SYMC4 SYMCS SYMC6 SYMC7 SYMC8 SYMC9
SYMCI0 SYHCll SYMC12 SYHC13 GRDCOL TICOL nCOL NOTCOL AXCOL TBXC
CGRN CBW GOPTl;
CALL SYliPUT ('TXTCOL',' CYAN')
CALL SYMPIJT (' GRDCOL' , 'BLUE ')
CALL SYHPUT (' SYMC 1 ',' YELLOW' )
CALL SYMPUT ('SYMC2 ','RED ')
1577
CALL SYHPUT (' SYHC3 ',' GREEN ');
CALL SYMPIJT (' SYMC4 ',' PINK ' );
CALL SYHPUT (' SYMCS '.' GREEN ');
CALL SYHPUT ('SYMC6 ' 'RED ');
CALL SYMPUT ('SYMC7 ':'GREEN ');
CALL SYMPUT ('SYMC8 " 'PINK ');
CALL SYliPUT (. SYMC9 ',' CYAN ' ) ;
CALLSYMPUT ('SYl1CIO','RED ');
CALL SYMPIJT ('SYMell', 'YELLOW');
CALL SYHPIJT ('SYMCI2','GR.EEN ');
CALL SYHPUT C'SYMC13', 'YELLOW');
CALL SYHPUT (' AXCOL', 'YELLOW');
GALL SYHrtrr (' TICOL' , 'RED ,') ;
CALL SYMPUI' ('T3COL','YELLOW');
CALL SYMPUT CNOTCOL', 'WHITE ');
CALL SYMPlIT ('TBXC
t
,'CYAN');
CALL SYMPIJT ('CGRN', 'GREEN');
CALL SYMPUT ('CBill', 'CYAN ');
%IF 'tUPCASE(&DEV) NE VARCALC %THEN %GCTO OUTI;
CALL SYMPIJT('TXTCOL', 'BLACK ');
CALL SYHPIJT('AXCOL','RED ');
CALL SYMPUT (' SYMCI '. 'RED ');
CALL SYMPUT (' SYMC2 ',' BLUE ');
CALL SYMPUT (' SYMC3 ',' GREEN ');
CALL SYMPUT (' SYMC4 ',' BLUE ) ;
CALL SYHPIJT (' SYMCS ',' GREEN ');
CALL SYMPUT (' SYMC6 ',' REO ' ) j
CALL SYHPUT (' SYMC7 ',' GREEN ');
CALL SYMpur (' SYMC8 ',' RED ' ) ;
CALL SYMPUT (' SYMC9 ',' BLUE ' );
CALL SYMpur ('SYMCIO', 'RED ');
CALL SYHPUT. ('SYMCII','BLAcK ');
CALL SYMPUT ('SYMCl2', 'GREEN ');
CALL SYMPUT( 'SYHC13', 'BLUE ');
CALL SYMPUT ('TICaL', 'BLACK ');
CALL SYMPIJT ('T3COL', 'RED ');
.cALL SYMPUT (' NOTCOL' , 'GREEN ');
CALL SYMPUT ('TBXC','RED ');
CALL SYMPIJT ('CBLU','BLUE ');
'tOUT1: %MEND COL:
%COL;
*Define graphics device options. Set defaults for Ca1comp plotter
*and IBM 3100 se.ries terminals. For other devices they can be
*redefined (like colors are in col macro). Options 5-5 are not
*needed for Calcomp so are set equal to option l;
DATA;
%GLOBAL SIZEH SIZEV POSH POSV OPTl OPTZ opn OPT4 OPTS OPT6 OPT7 OPTS;
%LET ZZZ='X,EVAL(8);
VALUE=&.ZZZ -0.5;
CALL SYMPOT('SIZEV' ,VALUE);
1LET SIZEH='tEVAL(lO);
1LET POSV=%EVAL(80);
%LET POSH='tEVAL(80);
%LET OPTl=BORDER;
lLET OPT2=NOCHARACTERS;
%LET OPT3=NOCELL;
%1T OPT4=NOPOLYGONFILL;
'tLET OPTS=BORDER;
11T OPT6=BORDER;
1LET OPT7=BORDER;
%LEiT OPTS=BORDER;
%pur &SIZV &SIZEH &POSV &POSH &OPTI &OPT2;
%PUT &OPT3 &OPT4 &OPTS &OPT6 &OPT7 &OPT8;
RUN;
GOPTlONS DEVICE=&.DEV VSIZE=SIZEV HSIZE=SIZEH VPOS=oPOSV HPOS=6POSH
&OPTl &OPT2 &OPT3 &OPT4 &OPTS &OPT6 &OPT7 &OPTS;
*Define plot options;
FROC GPLOT DATA=RUPTURE ;
*create plot titles;
TITLE F=TRIP1X H=3 C= &T1COL
"&TTITI''' ;
TITLE3 F=TRIPLEX H=2 C= &T3COL
"PARAl1ETER=(LOGIO (TII1)+&LMC)*(TEHP+460)";
*The. following statement places labels on the temperature lines;
NOTE F=TRIPLEX H=2 J=L
M=(&XC1.&YC1) C= &TBXC
M=(&XC2,&YC2) C= &TBXC
M=(&XC3,&YC3) C= &TBXC
11'=(&XC4,&YC4) C= &TBXC
M=(&XCS, &YCS) C= &TBXC
M=(&XC6,&YC6) C= &TBXC
M=(&x.C7,&YC7) C= &TBXC
M=(&XCS,&YCS) C= &TBXC
*Define plot note;
BQX=2 BLANK=YES
BOX=2 BLANK=YES
BOX=2 BLANK=YES
BOX=2 BLANK=YES
BOX=2 BLANK=YES
1I0X=2 BLANK=YES
1I0X=2 BLANK=YES
BDX=2 BLANK=YES
BSPACE=O
BSPACE=O
BSPACE=O
BSPACE=O
BSPACE=O
BSPACE"'O
BSPACE:Q

G= &TICOL "&LABELI F"
C= &TICOL "&LABEL2 F"
C= &TICOL "&LABEL3 F"
c= &TlCOL "&LABEL4. F"
C= &TICOL "&LABELS F"
C= &TICOL "&LABEL6 F"
C= &TlCOL "&LABEL7 F"
C= &TICOL "&LABELS F"
NOTE F4RIPLEX H=2 c= &HOTCOL M=(9,l7) BOX=2 BLANK=YES BSPACE=O.5
C= &.NOTCOL "&NNOTE";
*Define schematic which explains how to read the plot;
NOTE C= &T3COL BOX=2 BLANK=YES BSPACE=O.S H=(SO,61) 'READ FROM STRESS'
1'1=(-16,-1.5) 'ACROSS TO DATA TIlEN' H=(-19,-1.5) 'VERTICALLY TO TEMP'
M=(-IS,-l.S) 'AND ACROSS 1'0 TIME'
C= &.TXTCOL M=(-18,-2.S) LA=-90 R=90 'STRESS' 11=(+18,+6) 'TIME'
.1'1=(-13,-6) i.A=0 R=Q 'PARAMETER'
M=(-12.S,+12) LA=-90 U=l '
M=(0.2.+0.3) LA=O '
M=(-O.1,-0.3) LA=90 '
u=o C= &TlCOL H=(-16.0,-7.S) LA"'O R=O
M=(+O.O,+O.O) , , M=(-0.2,+1.0) LA=90
LA:=O 1'1=(-0.5,-0.3) ,--------,
c'= &T3COL LA=65 U=1 M:=(-10.7,-7.0) ,
F:=SPECIAL 1'1=(-7.0,-4.0) H=2 C= &CGRN 'm'
!t=(+l.9,-2.4) H=2 C= &'CBLU 'A'
M=(+1.9,-2.5) H=2 C= &CGRN 'm'
11={+1.9,-2.4) H=2 C:= &'CGRN 'm'
11=(+1.9,-2.5) H=2 C= &'CBLU 'A'
11=(-4.3,+3.5) C= &.T3COL H=l LA=65 F=NONE 'Temp';
*Define plot legend;
LEGEND I LABEL::: NONE SHAPE= SYMBOL(5,2) ACROSS=3 OOWN=4
VALUE= (F=TRIPLEX H=2);
*Define horizontal axis;
AXISI
VALUE'" (F=TRIPLEX H"'2)
OIillER =( &.HINX TO &.HAXX BY &DELX )
LABEL: ( F::TRIPLEX H=2 'Parameter');
*Define left vertical axis;
AXIS2 LOGBASE=IO LOGSTYLE=EXPAND
ORDER=(&MINI &MIN2 &MAX2)
VALUE"" (F=TRIPLEX H=2 J=R "&HINI" "&.HIN2" "&HAX2"
LABEL=: (A,=-90 R=90 F=TRIPLEX H=2 'Stress in KSI');
*Define right vertical axis;
AXIS3 LOGBASE=lO LOGSTYLE"'EXPAND
ORDER=(&'MINI &'MIN2 &MAX2)
VALUE= (F=TRIPLEX H=2 J=L "&MINl" "&MIN2" "&.MAX2")
LABEL: (A=-90 R=90 F=TRIPLEX H=2 in Houes');
*De.fine plotting symbols;
SYMBOLI C= &SYMCI V=NONE
SYMBOL2 C= &SYHCZ V=STAR
SYMBOL3 C= &'SYMC3 V=TRIANGLE
SYHBOL4 C= &.SYHC4 V=X
SYMBOLS C'" &'SYHC5 V=SQUARE
SYMBOL6 C= &'SYMC6 V=DIAMOND
SYMBOL7 c: &SYMCl 1J"=.PLUS
SYMBOL8 C= &SYMC8 V=*
SYMBOL9 C'" &SYHC9 V=>
SYMBOLIO C"" &SYHClO V=/!
SYHBOLll C= &SYHCll V""%
SYMBOLl2 C'" &SYMC12 V::+
SYMBOLl3 G= &SYMCI3 V=NONE
I=JOINj
I=NONE j
I=NONE H==Z;
I=NONE H=2;
I=NONE H=Zj
I"'NONE H=2;
I=NONE H=2;
I=NONE H=2;
I=NONE H=2;
I"'NONE H=Z;
I=NONE H"'2;
I=NONE H=2j
I=NONE
*Macro foe de awing the plot;
%MACRO XXXX;
PLOT !VAXIS=AXIS2 VREF=&MIN1"'TQ &MAXI BY &INTI
&MIN2 TO &MAX2' BY &INTZ
LV=i CV= &GRDCOL SKIPMISS CA= &AXCOL CT= &TXTCOL LH=i
HREF=&MINX TO.&MAXX BY 1000 CH= &GRDCOL HAXTS"".4.XISl LEGEND=LEGEND1;
%MEND XXXXj
*Drl1w the plot;
%XXXX;
*Draw right vertical axis j
PLOT2 STRESS*PARAM"'13!VAXIS=AXIS3 CA= &AXCOL CT= &.TXTCOL LV==Z
CV= &GRnCOL VREF= &MNI TO &l1Xl BY &INI &MN2 TO &I1XZ BY &.INZ
&MN3 TO &t1X3 BY &IN3 &MN4 TO &11X4 BY &IN4;
RUN;
1578
SAMPLE CREEP-RUPTURE DATASET 88 1150 70.0 410 .0 HEAT CODE E
89 1150 70.0 418. 0 HEAT CODE G
OBS TEMP STRESS TIME SOURCE 90 1150 70 0 420.8 HEAT CODE J
91 U50 70 0 425.1 HEAT CODE B
1 1000 115.0 72.0 HEAT CODE A
"
1150 70 0 433. 1 HEAT CODE G
2 1000 115.0 97.2 REAT CODE F 93 1150 60.0 553.0 HEAT CODE H
3 1000 115.0 98.2 HEAT CODE A 94 1150 55 0 575.5 IIEAT CODE A
4 1000 120.0 104.1 HEAT CODE C 95 1150 60 0 948.6 HEAT CODE E
5
1000 115.0 105.9 HEAT CODE F 96 1200 75 0 20. ; HEAT CODE F
6 1000 115.0 109.8 HEAT CODE A 97 1200 75 23.4 ftEAT CODE A
1000 115. a 116.8 HEAT CODE 0 98 1200 70. a 92. HEAT CODE 1l
B 1000 120.0 130.6 HEAT CODE II 99 1200 55.0 178. HEAT CODE F
9 1000 120.0 153.5 HEAT CODE B 100 1200 60.0 \90 4 HEAT CODE C
10 1000 115.0 207.9 HEAT CODE C 101 1200 60.0 300 6 HEAT CODE G
11 1000 120.0 208 .7 HEAT CODE G 102 1200 50 0 1063 HEAT CODE B
12 1000 105.0 222 3 HEAT CODE F 103 1300 55 0 9 .2 HEAT CODE A
13 1000 105.0 225.0 HEAT CODE A 104 1300 55 0 10. 3 HEAT CODE F
14 1000 115.0 299 .B HEAT CODE F lOS 1300 55.0 13 9 HEAT CODE I
15 1000 105.0 320 .3 HEAT CODE A 106 1300 45 .0 19.8 HEAT CODE A
16 1000 110.0 322 .0 HEAT CODE 1I 107 1300 60 0 20.1 HEAT CODE J
17 1000 105.0 340 6 HEAT CODE F lOB 1300 45 0 53.4 HEAT CODE 0
18 1000 105.0 344. HEAT CODE A 109 1300 50.0 62.3 HEAT CODE E
19 1000 115.0 360 9 HEAT CODE B 110 1300 35.0 65.7 JlEAT CODE F
20 1000 110.0 419 6 HEAT CODE C 111 1300 25.0 150.7 HEAT CODE A
21 1000 105.0 424 4 HEAT CODE F
22 1000 110.0 426 HEAT CODE H
23 1000 1l0.0 428. HEAT CODE G
24 1000 110.0 435.8 HEAT CODE C
25 1000 110.0 436 4 HEAT CODE H
26 1000 1l0.0 453 8 HEAT CODE C
27 1000 110.0 487 2 HEAT CODE E
2"
1000 110.0 491. 9 HEAT CODE D
29 1000 110.0 511.3 HEAT CODE G
30 1000 110.0 556. HEAT CODE B
31 1000 110.0 605. 1 HEAT CODE ,T
32 1000 105.0 616. 7 HEAT CODE I
33 1000 105. a 653. 3 HEAT CODE 0
34 1000 95.0 780 0 HEAT CODE A
35 1000 105.0 921. 2 HEAT CODE r
36 1000 95.0 1089 .8 IIEAT CODE F
37 1000 95.0 1224 0 HEAT CODE A
38 1000 95. 0 1239. 0 HEAT CODE F
39 1000 95 .0 1270. HEAT CODE A
40 1100 7S 0 362. HEAT CODE F
41 1100 6S .0 936 4 HEAT CODE A
42 1100 55 0 1145. 1 HEAT CODE F
43 1150 95. 0 10 0 HEAT CODE A
44 1150 100.0 \J .0 HEAT COVE II
45 1150 100 0 18. 3 nEAT CODE G
46 1150 85 0 28. HEAT CODE F
47 1150 85 .0 33 .6 HEAT CODE D
48 1150 90 0 43. HEAT CODE B
49 1150 75.0 74.8 HEAT CODE A
50 1150 80.0 RO. HEAT CODE
51 1150 80.0 85 .3 HEAT CODE
52 1150 80.0 87.5 HEAT CODE C
53 1150 80.0 92. HEAT CODE f{
54 1150 80.0 100. HEAT CODE C
55 1150 80.0 104. 2 HEAT CODE f{
56 1150 75.0 107 .3 HEAT CODE I
57 1150 75.0 III 2 HEAT CODE D
58 1150 80.0 118.9 HEAT CODE G
59 1150 80.0 125.8 HEAT CODE E
60 1150 80.0 132.6 HEAT CODE J
61 1150 80.0 133 .6 HEAT CODE 1:
6Z 1150 80.0 136. 7 HEAT CODE J
63 1150 75.0 142. 4 HEAT CODE I
64 1150 7S 0 146 9 HEAT CODE D
6S 1150 80 0 147 .3 HEAT CODE E
66 1150 80.0 150 6 HEAT CODE J
67 1150 80.0 158. HEAT CODE E
68 1150 75.0 168 HEAT com: T
69 1150 65.0 202 HEAT CODE F
70 1150 65.0 208.4 HEAT CODE A
71 1150 65.0 209 .4 HEAT CODE F
72 1150 65. a 213. HEAT CODE A
73 1150 65.0 215. HEAT CODE F
74 1150 65.0 217. HEAT CODE A
7S 1150 65 218. HEAT CODE F
76 1150 65.0 224.8 HEAT CODE A
77 1150 65.0 267 0 HEAT CODE F
78 1150 70.0 270 4 HEAT CODE B
79 1150 70.0 294.4 HEAT CODE J
80 1150 70.0 299 .8 HEAT CODE G
81 1150 70. a 323 6 HEAT CODE C
82 1150 70.0 361. HEAT CODE E
B3 1150 65.0 362. HEAT CODE D
84 1150 70.0 365 .9 HEAT CODE J
85 1150 65.0 383.0 HEAT CODE I
B6 1150 70.0 384 .2 HEAT CODE B
87 1150 65.0 409. HEAT CODE D
1579

You might also like