ETHZ_Logo RAMSES_Logo_Right    RAMSES    RAMSES_Logo_Left Systems Ecology   

Example: Logistic

Screen Dump


Model Definition Program


MODULE Logistic;

  (********************************)
  (* MODEL: Logistic grass growth *)
  (* Author: mu, 9.4.88, ETHZ     *)
  (********************************)

  FROM SimBase IMPORT
    Model, IntegrationMethod, DeclM, DeclSV, DeclP, RTCType, 
    StashFiling, Tabulation, Graphing, DeclMV, SetSimTime,
    NoInitialize, NoInput, NoOutput, NoTerminate, NoAbout,
    StateVar, Derivative, Parameter;

  FROM SimMaster IMPORT RunSimEnvironment;


  VAR 
    m:        Model;
    grass:    StateVar;
    grassDot: Derivative;
    c1, c2:   Parameter;


  PROCEDURE Dynamic;
  BEGIN
    grassDot:=  c1*grass - c2*grass*grass;
  END Dynamic;


  PROCEDURE ModelObjects;
  BEGIN
    DeclSV(grass, grassDot,1.0, 0.0, 10000.0,
      "Grass", "G", "g dry weight/m^2");
      
    DeclMV(grass, 0.0,1000.0, "Grass", "G", "g dry weight/m^2", 
      notOnFile, writeInTable, isY);
    DeclMV(grassDot, 0.0,500.0, "Grass derivative", "GDot", "g dry weight/m^2/day", 
      notOnFile, notInTable, notInGraph);
      
    DeclP(c1, 0.7, 0.0, 10.0, rtc, 
      "c1 (growth rate of grass)",  "c1", "/day");
    DeclP(c2, 0.001, 0.0, 1.0, rtc, 
      "c2 (self inhibition coefficient of grass)",  "c2", "m^2/g dw/day");
  END ModelObjects;


  PROCEDURE ModelDefinitions;
  BEGIN
    DeclM(m, Euler, NoInitialize, NoInput, NoOutput, Dynamic, 
          NoTerminate, ModelObjects, "Logistic grass growth model", 
          "LogGrowth", NoAbout);
    SetSimTime(0.0,30.0);
  END ModelDefinitions;

  
BEGIN
  RunSimEnvironment(ModelDefinitions);
END Logistic.

  RAMSES@env.ethz.ch Last modified 1/12/22 [Top of page]   

Modula-2 website ring
List all    |    <<  Prev    |    Next  >>    |    Join