Adding an example

From SUMOwiki
Revision as of 16:24, 17 July 2008 by Icouckuy (talk | contribs)

Simulator file

If you want to create a surrogate model (metamodel) for your own problem you will first have to write a simulator xml file.To do this simply open one of the existing simulator xml files (in the examples/ subdirectory) and create a copy of it in the same directory but under a new name. Note, since version 6.0 each simulator resides in its own project directory in examples/. To create a new simulator you can copy one of the existing project directories (e.g. Academic2D) in the same directory but under a new name. Make sure the simulator configuration inside the project directory has the same name as the project directory itself (except for the .xml extension).

You can then edit this file to suit your particular problem. This file should be pretty straightforward to write. Your simulator XML file may specify different implementations:

  • an executable or script (<Executable> tag)
  • a Java class (<Executable> tag, platform = java)
  • a Matlab script (<Executable> tag, platform = matlab)
  • a dataset
    • scattered data (<ScatteredDataFile> tag)
    • gridded data, data lies on a regular grid (<GriddedDataFile>)

For versions < 6.0: Datasets should be placed in examples/data/txt. In case of doubt about which dataset to use, use 'ScatteredDataFile'.

Matlab scripts should be placed in src/matlab/examples.

For version 6.0: You can just copy the Datasets, matlab scripts, extra files in the project directory you created in the steps above.

For an explanation of the data format and how the toolbox interfaces with the simulator, see the Interfacing with the toolbox page.

Having written your simulator XML file and provided the datasets/executables you now just need to change default.xml so it uses your file (<Simulator> tag). Finally you just run 'go'. In version 5.0 of the toolbox you would just use the name of the simulator configuration file, for version 6.0 you must specify the project directory.

Note that, depending on whether your simulator is a script, native executable, dataset or Matlab script you will need to set different sample evaluator configuration options. For example, if your data comes from a dataset you will have to set the sample evaluator to scattered or gridded, depending if you data points are scattered or on a regular grid. If on the other hand your data comes from a native executable you would want to use the local sample evaluator with the simulatorType set to "external" (you can also set the type to "java" if your executable is a java class). For Matlab scripts the sample evaluator to use is matlab.