|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectuk.ac.ucl.che.esf.base.EGO
public class EGO
*** full log entries below Revision 15.11 2001/01/26 15:38:35 ucecesf Minor tweaks and addition of generate command for flowsheets Revision 15.10 2000/10/13 10:20:07 ucecesf - Full implementation of QT visualization tool including stream splitting - Better interface to heat exchangers - minor clean-up of unit variable handling Revision 15.9 2000/06/26 15:17:22 ucecesf - added HEN and cost panels and zoom capabilities to Q delta T viewer - implemented generic GA and SA solvers Revision 15.8 2000/05/30 17:04:45 ucecesf - new Q delta T visualization tool - improved UI including ability to load most recent serialized objects Revision 15.7 2000/05/05 10:25:32 ucecesf Minor fixes to new unit variable text input and improved output for virtual heat exchange mode. Revision 15.6 2000/04/21 11:08:16 ucecesf - improved efficiency for heat links catching single link infeasibilities - added ability to re-define unit variables through user interface Revision 15.5 2000/03/28 09:49:42 ucecesf Improved user interface including GUI and HTML reports Revision 15.4 2000/01/06 15:36:49 ucecesf Version for dynamic synthesis paper submission Revision 15.3 1999/12/15 14:44:06 ucecesf Working SMP version as used for ESCAPE-10 paper. Revision 15.2 1999/11/26 17:07:14 ucecesf Added constraints using dynamic Java scripting. Revision 15.1 1999/11/25 14:19:35 ucecesf Minor bug fixes and improved output generation. Revision 15.0 1999/09/09 15:16:32 ucecesf Cleanup in preparation for standard release Revision 14.11 1999/09/01 11:50:42 ucecesf SMP version (almost) working Revision 14.10 1999/05/18 16:36:28 ucecesf - Implementation of auto mVHL parameter selection - minor tweaks to UI and dynamic profile approach Revision 14.9 1999/03/11 14:55:21 ucecesf - redesign of dynamic profile approach - change to stream input format (phases defined separately) - improved handling of flowsheets with recycle structures Revision 14.8 1999/02/23 11:33:15 ucecesf + Reintroduction of IDP (iterative DP) method for recycles + Addition of purge unit for quick 'n' dirty IDP Revision 14.7 1999/02/11 11:20:41 ucecesf - improved statistics collection, particularly with respect to unit models - added new unit variables (of array types mostly) - added simple user interface to Vexpr calculator Revision 14.6 1999/01/20 11:08:26 ucecesf + fixed bug in GA regarding chromosome copies + introduced global settings for ESF package Revision 14.5 1999/01/04 12:08:06 ucecesf - added improved statistics collection for whole ESF package - improved the Vexpr expression calculator (moved to JavaCC parser) - fixed bug in discrete GA flowsheet optimization - improved efficiency for solution comparison with multiple criteria - improved limit qualifier use for multiple uses Revision 14.4 1998/10/09 11:19:51 ucecesf Clipboard functionality added to graphical interface. Revision 14.3 1998/10/06 13:55:08 ucecesf Improved unit variable handling and unit design cache. Revision 14.2 1998/09/21 16:39:22 ucecesf More logical approach to synthesis problem definition and global data handling. Revision 14.1 1998/09/16 16:49:29 ucecesf Full implementation of multicriteria optimization Revision 2.6 1998/06/29 10:05:46 ucecesf Major speed improvement in search procedure due to more efficient object creation and use. Revision 2.5 1998/06/22 15:00:26 ucecesf First implementation of multi-criteria discrete programming approach. Revision 2.4 1998/06/18 14:39:19 ucecesf - improved statistics - extended remote file access - preliminary HTR data analysis Revision 2.3 1998/05/21 09:43:05 ucecesf - Improvements to persistent object handling. - Addition of concept of interesting structures for N-best diversity Revision 2.2 1998/05/07 12:21:55 ucecesf Fixes to persistent object handling to cater for multiple copies of an object and minor fixes to GUI. Revision 2.1 1998/05/06 17:29:38 ucecesf Better and more consistent persistent object handling Revision 1.20 1998/04/30 13:23:02 ucecesf - move to better persistent object handling - alternative GA synthesis selection procedures - improved tuning procedure in GA-HEN - user control of GA-HEN parameters from GA Flowsheet objects Revision 1.19 1998/04/03 15:20:06 ucecesf - minor fixes throughout - improvements to dynamic modelling and discretization - additions to text based user interface for component access Revision 1.18 1998/03/04 14:57:35 ucecesf - updated Copyright and error messages - new user specifications and defaults for dynamic distillation column - implemented discretization for dynamic streams - streams initialized when created - changed key string for Phase objects (more terse) and added new access methods - added UserInput unit variable type - added self-contained Tplot 2d graph method Revision 1.17 1998/02/25 17:15:49 ucecesf - Added top flow control to the dynamic distillation unit. - Added user given unit definitions to the parser: "set" top level command with "define" sub-command. - Search can terminate at leaf nodes without considering other units: "set leafprune true" in PS_Problem. - Method to add two arrays implemented. Revision 1.16 1998/02/19 11:45:39 ucecesf Added new statistics and changed copyright messages Revision 1.15 1998/02/19 10:42:34 ucecesf Incorporation of dynamic streams and distillation unit into search procedure. Revision 1.14 1998/02/09 15:32:01 ucecesf Minor fixes to physical properties routines to guarantee convergence in dynamic simulation. Revision 1.13 1998/02/06 17:03:17 ucecesf First version (almost) working with dynamic distillation unit. Changes include physprops and nonlinear solvers as well as main unit. Revision 1.12 1998/02/03 11:45:27 ucecesf + Addition of StreamArray unit variable type and changes to product identification codes + Further development of the GA Synthesis procedure + Minor changes to GUI aspects Revision 1.11 1998/01/21 11:20:05 ucecesf + Graph node and edge contents must now be EGO objects. + Improved "demo" mode for synthesis (Debug==0) Revision 1.10 1998/01/15 14:34:00 ucecesf + Fixed bug in HPS synthesis approach with accumulation of status value + Fixed flowsheet generation for incomplete synthesis solutions Revision 1.9 1998/01/14 16:15:28 ucecesf + Added control over definition of similar solutions for both normal synthesis and hierarchical synthesis. + redefined debug=0 to be demo level and -1 for default level. Revision 1.8 1998/01/13 10:42:26 ucecesf Preliminary work on GA Synthesis procedure Fixed bug in N-best solution generation Revision 1.7 1997/12/18 14:29:14 ucecesf Added feasibility pruning to qualifier allocation table cycling.
| Field Summary | |
|---|---|
protected ISODate |
date
Date object is only created if explicitly requested using the setDate method below (in order to avoid a performance hit when creating a multitude of objects, such as in automated process synthesis). |
static java.lang.String |
DEFAULT_OUTPUT_PROMPT
Many objects will want to output to the console when requested. |
protected boolean |
flush
When an error is found in an input file, the object which was responsible for parsing the line in error may request that the rest of the input be flushed as it will not be of any use. |
protected boolean |
initialized
Has the object been initialized? |
protected boolean |
inReport
When generating a report for an object, this flag will be set to true, allowing the object to behave differently than in a normal print command. |
protected uk.ac.ucl.che.esf.util.expr.CompiledExpression |
model
Every EGO object model has a "model" which is an expression object. |
protected uk.ac.ucl.che.esf.util.expr.Equations |
modelEquations
The original equations which form the model before they are converted to compiled form for efficiency. |
protected java.lang.String |
name
The name of the object is used by the user interface to allow the user to distinguish between objects. |
static java.lang.Error |
NOT_IMPLEMENTED_EXCEPTION
During code development, some methods in some classes might not be fully implemented. |
protected java.lang.String |
parent
When objects are made persistent, we have the concept of history where an object may have been created by taking an existing object and modifying it. |
protected java.lang.String |
type
The type of the object is used to classify the different objects in the system. |
uk.ac.ucl.che.esf.util.expr.Variables |
variables
Variables for use by the model. |
| Constructor Summary | |
|---|---|
EGO()
Base constructor does nothing much except collect statistics |
|
EGO(java.lang.String name)
The only real content of an EGO object is the name of the object. |
|
| Method Summary | |
|---|---|
java.lang.Object |
clone()
Provide public access to the clone method so that we can make copies of EGO objects easily. |
protected Method[] |
combineMethods(Method[] m1,
Method[] m2)
Combine two sets of methods |
int |
compareTo(uk.ac.ucl.che.esf.util.Sort.Sortable o)
Compare two EGO objects lexicographically (i.e. |
uk.ac.ucl.che.esf.util.RealVector |
evaluateModel()
Evaluate the model, assuming there is one to evaluate. |
protected void |
generateSaveOutput(java.io.PrintWriter pw)
The save method uses this method to actually generate the information for output in the form suitable for input by the ESF package. |
java.lang.String |
getDate()
The date of the object can be requested. |
Method[] |
getMethods()
Each object in the EGO hierarchy has a set of exposed methods suitable for use directly by the user of a text or graphical interface. |
java.lang.String |
getName()
Retrieve the name of the object. |
java.lang.String |
getParent()
Persistent versions of EGO objects have a history associated with them. |
java.util.Vector |
getReferencedObjects()
Deprecated. |
java.lang.String |
getType()
Associated with each EGO object is a "type". |
void |
initialize()
All EGO objects provide an initialization method. |
static void |
main(java.lang.String[] args)
Simple test method |
void |
parse(uk.ac.ucl.che.esf.ui.Parser parser)
Parse textual input. |
protected boolean |
parseLine(java.lang.String[] line,
uk.ac.ucl.che.esf.ui.Parser parser)
Parse a line of input. |
void |
prepareForEditing()
The text based interface allows objects to be defined fully and then revisited later. |
protected void |
prepareSaveOutput(java.io.PrintWriter pw)
The save command gives the subclass a chance to prepare itself to generate the output text. |
void |
print()
Display contents of object on stdout. |
void |
print(java.io.PrintWriter pw)
Display contents of object onto specified Writer with no prompt string |
void |
print(java.io.PrintWriter pw,
java.lang.String prompt)
Display contents of object on the given print writer object. |
void |
print(java.lang.String prompt)
Display contents of object on stdout with given prompt |
static void |
printIntroductionMessage()
Output an intro message which includes the version ID |
static void |
printSystemInfo()
Output some information about the system. |
void |
report(java.io.PrintWriter pw)
Generate an HTML report for the object. |
void |
save(java.io.PrintWriter pw)
Save the object in a form suitable for input back into the ESF system. |
void |
save(java.lang.String filename)
Alternative interface for saving objects in text input form. |
void |
setDate()
Set the date of the object. |
static void |
setDebug(boolean d)
Set the debug boolean to either true or false. |
void |
setName(java.lang.String name)
Set the name of the object. |
void |
show(java.io.PrintWriter pw,
java.lang.String prompt)
This method is used to display information which is somewhat independent of the actual instance of an object. |
java.lang.String |
toHTML()
Generate HTML Applet code for object |
java.lang.String |
toString()
Generic string representation of the object consisting of the name and the class. |
void |
updateHistory(java.lang.String parent)
Link the object up with the previous version of the object stored in external storage. |
protected void |
usage()
Display commands available for this object. |
void |
view()
GUI Method for viewing the object. |
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String DEFAULT_OUTPUT_PROMPT
protected boolean flush
protected boolean inReport
protected transient uk.ac.ucl.che.esf.util.expr.CompiledExpression model
protected uk.ac.ucl.che.esf.util.expr.Equations modelEquations
protected java.lang.String name
public static final java.lang.Error NOT_IMPLEMENTED_EXCEPTION
protected java.lang.String type
public uk.ac.ucl.che.esf.util.expr.Variables variables
protected ISODate date
protected boolean initialized
protected java.lang.String parent
| Constructor Detail |
|---|
public EGO()
public EGO(java.lang.String name)
| Method Detail |
|---|
public java.lang.Object clone()
clone in class java.lang.Object
protected final Method[] combineMethods(Method[] m1,
Method[] m2)
public int compareTo(uk.ac.ucl.che.esf.util.Sort.Sortable o)
compareTo in interface uk.ac.ucl.che.esf.util.Sort.Sortablepublic uk.ac.ucl.che.esf.util.RealVector evaluateModel()
protected void generateSaveOutput(java.io.PrintWriter pw)
public java.lang.String getDate()
public java.lang.String getParent()
public java.util.Vector getReferencedObjects()
public java.lang.String getType()
public Method[] getMethods()
Methodpublic java.lang.String getName()
public void initialize()
throws java.lang.Exception
java.lang.Exception - Type of exception thrown depends on subclass.public void parse(uk.ac.ucl.che.esf.ui.Parser parser)
protected boolean parseLine(java.lang.String[] line,
uk.ac.ucl.che.esf.ui.Parser parser)
| Command | Arguments | Description |
|---|---|---|
| end | The object has been fully defined. Input processing now returns to the main input parser. | |
| Output a description of the object. This will typically be overridden by the subclasses but the base class outputs just the generic information available to all EGO objects. | ||
| xml | S |
Output state of object in XML form to file given. This uses the JSX package (see freshmeat for recent versions). WarningNo error checking is done to ensure that the file does not already exist. |
| ? | S | Give some basic help information. |
public void prepareForEditing()
edit
command, it may be necessary to re-initialize. This method allows an
instance to prepare itself for further definition.
protected void prepareSaveOutput(java.io.PrintWriter pw)
public final void print()
public void print(java.io.PrintWriter pw)
public final void print(java.lang.String prompt)
public void print(java.io.PrintWriter pw,
java.lang.String prompt)
public static void printIntroductionMessage()
public static void printSystemInfo()
public void report(java.io.PrintWriter pw)
Generate an HTML report for the object. the default procedure is to simply generate the standard output within the pre-formatted HTML directive. Note that the HTML generated is expected to correspond to a row in a table.
The inReport boolean variable is set to indicate that this object is the target of a report command. This allows objects to print out, for instance, global data without these data being generated for all objects that may include this type of object. for instance, the esf.fish.units.ps.Phase object defines the granularity of component flows. However, Phase objects are found in Stream objects and it would be silly to have all Stream objects report this information. Therefore, only a Phase object reporting directly will generate this information.
public final void save(java.lang.String filename)
public final void save(java.io.PrintWriter pw)
public void setDate()
public static final void setDebug(boolean d)
public void setName(java.lang.String name)
name - Name to associated with the object.
public void show(java.io.PrintWriter pw,
java.lang.String prompt)
print method is
used to display instance specific details.
protected void usage()
public java.lang.String toHTML()
public java.lang.String toString()
toString in class java.lang.Objectpublic final void updateHistory(java.lang.String parent)
public void view()
public static void main(java.lang.String[] args)
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||