ETHZ_Logo RAMSES_Logo_Right   RAMSES   RAMSES_Logo_Left Systems Ecology  
Start    search button      Modules:   A-Z   Function   Layer        QuickRefs:   DM   AuxLib   AuxLibE   SciLib   EasyMW   MW   ISIS   RMSLib

Easy ModelWorks Quick Reference
EasyMW_Logo
EasyMWFcts   SampleMods  
                                Easy ModelWorks

          Copyright (c) 1986-2006 by Andreas Fischlin and ETH Zurich.

   mailto://RAMSES@env.ethz.ch                      http://www.sysecol.ethz.ch/

  (***************************************************************************)
  (*#####        C L I E N T   I N T E R F A C E   M O D U L E S        #####*)
  (***************************************************************************)

   The author reserves the right to make changes, additions, and improvements
   to the software or documentation at any time without notice to any person or
   organization; no guarantee is made that further versions of either will be
   compatible with any  other version.

   The author hereby disclaims any and all guarantees and warranties on the
   software or its documentation, both expressed or implied.  No liability
   of any form shall be assumed by the author.  Any user of this sofware uses
   it at his or her own risk and no fitness for any purpose whatsoever nor
   waranty of merchantability are claimed or implied.


(*============================     EasyMWFcts     =============================*)

  CONST
    maxSysOrder = 9; (* x1..x9 *) maxParams = 31; noSampleModelActive = 0;
    ModelWorksMDPsActive = -1; dynLoadedProgActive = -2;

  PROCEDURE EnterModelOk( name: ARRAY OF CHAR; sysOrd, nrPars: INTEGER; contTime: BOOLEAN ): BOOLEAN;

  PROCEDURE EnterDiffEqu( index: INTEGER; diffEquExpression: ARRAY OF CHAR; x0: REAL );
  PROCEDURE EnterMonitoring( index: INTEGER; xmin, xmax: REAL; tabulation, plotting: CHAR );
  PROCEDURE EnterParam( ident: ARRAY OF CHAR; value: REAL );
  PROCEDURE EnterSimParams( tmin, tmax, deltat: REAL );

  PROCEDURE EditSystem;
  PROCEDURE DisallowEquationEditing;
  PROCEDURE EnableUserFunction;
  PROCEDURE GetCurrentSysSpecs( VAR name: ARRAY OF CHAR; VAR n, m: INTEGER; VAR contTime: BOOLEAN );
  PROCEDURE CurrentSampleModel( ): INTEGER;
  PROCEDURE GetEquation( i: INTEGER; VAR equ: ARRAY OF CHAR );

  PROCEDURE X( i: INTEGER ): REAL;
  PROCEDURE X0( i: INTEGER ): REAL;
  PROCEDURE Xmin( i: INTEGER ): REAL;
  PROCEDURE Xmax( i: INTEGER ): REAL;

  PROCEDURE P( ident: ARRAY OF CHAR ): REAL;
  PROCEDURE SetNewX( i: INTEGER; x: REAL );
  PROCEDURE SetNewX0( i: INTEGER; newx0: REAL );
  PROCEDURE SetNewMonitoring( i: INTEGER; xmin, xmax: REAL; tabulation, plotting: CHAR );
  PROCEDURE SetNewP( ident: ARRAY OF CHAR; newval: REAL );

  PROCEDURE ForceUpdating;
  PROCEDURE InstallCleanUpHandler( cluphdl: PROC );
  PROCEDURE InstallUpdateHandler( updthdl: PROC );

  TYPE BooleanFct = PROCEDURE( ): BOOLEAN;

  PROCEDURE AnnounceMWMDP( VAR which: INTEGER; descr: ARRAY OF CHAR;
                           act, deact, prefs: PROC; isact: BooleanFct; byDfltAct: BOOLEAN );

  PROCEDURE NoGlobPrefs;

  PROCEDURE ActivateStateSpaceClick; (* implies abscissa drawing *)
  PROCEDURE DeactivateStateSpaceClick;
  PROCEDURE DeactivateAbscissaDrawing;

(*============================     SampleMods     =============================*)

  CONST maxSmplMods = 6;

  TYPE CmdText = ARRAY [0..63] OF CHAR;

  VAR
    subMenuTitle: CmdText;
    sampleModelCmdText: ARRAY [1..maxSmplMods] OF CmdText;
    userFctCmdText: CmdText;    userFctAliasChar: CHAR;
    chooseMDPCmdText: CmdText;  chooseMDPAliasChar: CHAR;

  PROCEDURE SampleModel1;
  PROCEDURE SampleModel2;
  PROCEDURE SampleModel3;
  PROCEDURE SampleModel4;
  PROCEDURE SampleModel5;
  PROCEDURE SampleModel6;
  PROCEDURE UserFunction;

(*  ============================     E N D     ==============================  *)

            Easy ModelWorks may be freely copied but not for profit!

  Contact RAMSES@env.ethz.ch Last updated: 25-Jul-2011 [Top of page]