DISCLAIMER: USE AT YOUR OWN RISK !!! ------------------------------------ THESE PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,EITHER EXPRESS OR IMPLIED, INCLUDING,WITHOUT LIMITATION, EXPRESSED FITNESS FOR A PARTICULAR PURPOSE BETZ DOES NOT WARRENT THAT THE FUNCTIONS CONTAINED IN THE PROGRAMS WILL MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF THE PROGRAMS WILL BE UNINTERRUPTED OR ERROR FREE. IN NO EVENT WILL BETZ BE LIABLE FOR ANY DAMAGES, INCLUDING, WITHOUT LIMITATION, INCIDENTAL OR CONSEQUENCIAL DAMAGES, AND DAMAGES FOR LOST DATA OR PROFITS, ARISING OUT OF THE USE OF OR INABILITY TO USE THESE PROGRAMS, EVEN IF BETZ HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. WRITTEN BY JOHN C. GUNTHER, 1/88 COPYRIGHT 1988 BETZ LABORATORIES, INC. ALL RIGHTS RESERVED. What is $TRILINEAR ? -------------------- $TRILINEAR produces trilinear contour plots (sometimes refered to as "ternary phase diagrams") as RS/1 graphs. It takes as it's input a function of three or more variables which typically is in the form of a "canonical polynomial" whose parameters have been fitted to the data from mixture experiments. Functions may include two kinds of variables: "mixture" (constrained to add up to 100%) and "process" (ordinary variables not so constrained.) The procedure prompts the user for all information including the function to be contoured. Since the final result is an RS/1 graph, the user is free to plot/printout/display this graph on any device RS/1 supports $TRILINEAR has many useful features including: - Arbitrary contour functions with unlimited numbers of variables (both mixture and process.) ANY variable names can be used - procedure finds them for you. (unlike FIT FUNCTION, you CAN you an RPL procedure which returns a result as the function to contour.) - LOW/HIGH constraints on mixture variables. - Pseudo-components transformation of mixture variables (just answer YES to the "use pseudo components" prompt) - Help available at most prompts via entering a "?" - Table-driven mode ideal for the generation of "families" of trilinear's (very useful when your model has more than three variables, since you can only contour 3 at a time) The interactive mode prompts for all information - the results of any interactive run can optionally be stored in such a "driver table" for later non-interactive use. - Labeled trilinear axes and gridlines, provisons for incorporating raw data onto the plot, ... - EXTENSIVE source code comments (in lieu of a "user's manual" or "technical document") Please read them if you need detailed info about $TRILINEAR. Tips for VT100/VT220 users: If you have a non-graphics (VT100) terminal it is often useful to display the resultant graphs with "TERMINAL='VT100W'" (i.e. 132 column or "wide" mode VT100) Also, the gridlines are mapped to a single curve (curve # = number countour regions + 1) whose LINE qualifier can be set to EMPTY to supress connecting the dots i.e. "SET LINE OF CURVE 11 OF graphname=EMPTY". Otherwise, the "gridlines" become "graph filling ***" familiar to VT100 user's. DO NOT delete this "gridline curve" as it will mess up the contour graph's "form" (it will appear to "unravel") How to install $TRILINEAR. -------------------------- PLEASE NOTE: Instructions below only cover how to install the procedure into a single RSUSERHOME (i.e. for one RS/1 user only.) IF you decide to make $TRILINEAR available to ALL RS/1 users as a site specific public procedure, you will need install $TRILINEAR into the so called "maintainence" RSUSERHOME directory ("so called" by the RS/1 System Manager's Notebook.) Just follow the same steps detailed below but issue all RS/1 commands while in the "maintainence" RS/1 account/rsuserhome. THEN ... you will have to perform additional steps to "make $TRILINEAR public" ... see the RS/1 System Manager's Notebook for the details. To reiterate: these instructions are all you need if you are the only user of $TRILINEAR ... to install $TRILINEAR "system wide" you will need to consult the RS/1 System Manager's Notebook. ANOTHER NOTE: ONLY WORKS ON RS/1 VERSION 3.0 or later. WON'T WORK ON THE PC VERSION OF RS/1 AS OF THIS DATE (Febuary 15, 1988.) (Uses vectors, matrixes, etc. only available as of version 3.0.) Written entirely in RPL. Steps to install $TRILINEAR: ---------------------------- 1) Get the files off the floppy and onto the VAX. To make life easy, please observe the following "mapping" of file names: Name on the PC Name on the VAX -------------- --------------- AREADME TXT AREADME.TXT RILINEAR RPL TRILINEAR.RPL CONTOURS RPL _TRI_ADD_CONTOURS.RPL RIDLINES RPL _TRI_ADD_GRIDLINES.RPL UTEXGRID RPL _TRI_COMPUTE_GRID.RPL FUNCTION RPL _TRI_GET_FUNCTION.RPL XMIXTURE RPL _TRI_GET_MIXTURE.RPL RAWXDATA RPL _TRI_GET_RAW_DATA.RPL XGBNDR RPL _GBNDR.RPL EXAMPLES TXT EXAMPLES.TXT (If you need help with step 1, contact a computer support person. For example we used KERMIT to move the files onto this floppy.) 2) ASSUMING that you used the VAX file names shown above as the "target" of your transfered files, log into RS/1 and issue the following commands (all commands must be typed exactly as shown at RS/1's "#" prompt.): def of $TRILINEAR=getfile('TRILINEAR.RPL') compile $TRILINEAR def of $_TRI_ADD_CONTOURS.RPL = getfile('_TRI_ADD_CONTOURS.RPL') compile $_TRI_ADD_CONTOURS.RPL def of $_TRI_ADD_GRIDLINES.RPL= getfile('_TRI_ADD_GRIDLINES.RPL') compile $_TRI_ADD_GRIDLINES.RPL def of $_TRI_COMPUTE_GRID.RPL = getfile('_TRI_COMPUTE_GRID.RPL') compile $_TRI_COMPUTE_GRID.RPL def of $_TRI_GET_FUNCTION.RPL = getfile('_TRI_GET_FUNCTION.RPL') compile $_TRI_GET_FUNCTION.RPL def of $_TRI_GET_MIXTURE.RPL = getfile('_TRI_GET_MIXTURE.RPL') compile $_TRI_GET_MIXTURE.RPL def of $_TRI_GET_RAW_DATA.RPL = getfile('_TRI_GET_RAW_DATA.RPL') compile $_TRI_GET_RAW_DATA.RPL def of $_GBNDR = getfile('_GBNDR.RPL') compile $_GBNDR (Suggestion to avoid typos: paste the above lines into a dummy procedure, add semi-colons, then compile and execute the dummy procedure.) Some problems/tips you may encounter/need: a) DO NOT deviate from the procedure names given above unless you are prepared to change the source code where the subprocedures are called. You may change the name of the main procedure, $TRILINEAR, if desired, but certain help text's use "$TRILINEAR" so it's better not to. b) If you get a compilaton error the problem could be due to several causes: 1) Bad file transfer. Try retransfering the file of the procedure that produced the error. 2) You are not using RS/1 Version 3.0 or it's equivilant RS/Explore (or whatever it's called by now!) release. Check the message when you log in to the RS/* product for clues. 3) You were not in the VAX directory into which you transfered the RPL source files when you entered RS/1. 4) I sent you a bad disk (or your floppy was damaged in transit.) If at first you don't succeed ... 3) Assuming everything above went OK, you should be ready to run $TRILINEAR now: # CALL $TRILINEAR There is online help provided at each prompt of the procedure (type "?" in reponse to the prompt.) The only other sources of information are the file "EXAMPLES.TXT" on the floppy and the (rather extensive) comments in the RPL source code. The source code comments contain information about the non-interactive mode of usage. If you find any bugs I'd appreciate hearing from you. Good Luck ! John Gunther Betz Labs. Information Systems 4636 Somerton Road Trevose, PA. 19047 215-355-3300 P.S. If you get stuck during the installation please feel free to give me a call (I know the feeling.) If you like the program and/or it helps you (having never quite mastered "egoless programming") I'd like like to know too. P.S.S. If you are interested in other kinds of mixture related RPL software (for example, generation of mixture designs) I'd like to hear from you. If there is enough interest out there I may collect/upgrade/release other procedures currently being used here (or elsewhere) which are useful in experiments with mixtures.