# Contents of /trunk/models/vessel.a4s

Revision 1 - (show annotations) (download)
Fri Oct 29 20:54:12 2004 UTC (15 years, 9 months ago) by aw0a
File size: 3522 byte(s)
```Setting up web subdirectory in repository
```
 1 # This file is part of the ASCEND Modeling Library and is released 2 # under the GNU Public License as described at the end of this file. 3 # 4 # This file demonstrates the use of vessel.a4c 5 6 DELETE TYPES; 7 READ FILE "vessel.a4c"; 8 9 COMPILE v OF vessel; 10 BROWSE {v}; 11 RUN {v.values}; 12 RUN {v.reset}; 13 SOLVE {v} WITH QRSlv; 14 15 REFINE {v} TO vessel_optimize; 16 RUN {v.min_cost}; 17 SOLVE {v} WITH CONOPT; 18 19 ASSIGN {v.H_to_D_ratio.fixed} TRUE; 20 ASSIGN {v.H.fixed} FALSE; 21 22 STUDY {cost} IN {v} \ 23 VARYING {H_to_D_ratio 1 2 3 5 10 20} \ 24 USING QRSlv \ 25 OUTFILE vessel.dat \ 26 ERROR STOP; 27 ASCPLOT vessel.dat; 28 # before you run another study, close the ASCPLOT window. 29 ASCPLOT CLOSE; 30 31 # GAMS optimization conversion example. 32 # GAMS does not tolerate poor scaling nearly as well as ASCEND. 33 # Therefore, you should set good values for the variable.nominals: 34 # values near the expected solution (within a factor of 1-100). 35 36 RUN v.scale; 37 38 # Note that this scale method, which scales the variables, is missing. 39 # Fortunately, 'vessel' is so nearly linear that you can get away 40 # with not scaling it's variables beyond the default nominal value. 41 42 # Once you have scaled the variables, ASCEND will 43 # scale the equations based on the scaled variables. 44 # Do this even though vessel does not have a scale method. 45 46 dbg_calc_relnoms; 47 48 # Now you tell ASCEND to generate a generic equation file 49 # in ASCEND notation. 50 51 dbg_write_slv0_sys vessel.a2g; 52 53 # But we have to convert it to GAMS notation because GAMS 54 # cannot tolerate long, descriptive, and otherwise user-friendly 55 # variable names. A PERL 5 script, ascend2gms.pl, does this. 56 # set ATOG to be the path to the PERL converter. 57 58 set ATOG \$ascGlobalVect(ascend2gms); 59 60 # call the GAMS converter 61 62 exec \$ATOG vessel.a2g; 63 64 # Call GAMS. ASCEND will freeze while GAMS runs. 65 # You should peek at the error messages or output 66 # in vessel.a2g.lst that GAMS will create. 67 68 exec gams vessel.a2g.gms; 69 70 # Load the results, or try to at least. This may fail if gams did. 71 # GAMS solvers (e.g. CONOPT set very tight default bounds 72 # for equation residuals and Jacobian elements in order to 73 # trap user input errors of a class that simply do not exist 74 # in ASCEND generated GAMS code. You may need a file 75 # like 'conopt.opt' to reset these bounds. 76 # For example in conopt.opt we typically have: 77 # SET RTMAXJ 9.E22 78 # SET RTMAXV 1.E20 79 80 set GTOA \$ascGlobalVect(gms2ascend) 81 exec \$GTOA vessel.a2g.lst; 82 83 ########## vessel.a4s ends here ########## 84 # 85 # vessel.a4s 86 # by Arthur W. Westerberg 87 # Part of the ASCEND Library 88 # \$Date: 1998/06/17 20:08:46 \$ 89 # \$Revision: 1.4 \$ 90 # \$Author: mthomas \$ 91 # \$Source: /afs/cs.cmu.edu/project/ascend/Repository/models/vessel.a4s,v \$ 92 # 93 # This file is part of the ASCEND Modeling Library. 94 # 95 # Copyright (C) 1994 - 1998 Carnegie Mellon University 96 # 97 # The ASCEND Modeling Library is free software. You can redistribute 98 # it and/or modify it under the terms of the GNU General Public 99 # License as published by the Free Software Foundation---either 100 # version 2 of the License, or (at your option) any later version. 101 # 102 # The ASCEND Modeling Library is distributed in hope that it 103 # will be useful, but WITHOUT ANY WARRANTY--without even the implied 104 # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 105 # See the GNU General Public License for more details. 106 # 107 # You should have received a copy of the GNU General Public License 108 # along with the program. If not, write to the Free Software 109 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139 USA. Check 110 # the file named COPYING.

 john.pye@anu.edu.au ViewVC Help Powered by ViewVC 1.1.22