MultiVeStA
Once you have your simulation project configured as you want, you need to:
- Add dependency on the multivesta jar
implementation(files("libs/multivesta.jar")). You can require the jar by going to MultiVesta’s repository - Include the following dependency in build.gradle.kts
implementation("it.unibo.alchemist:alchemist-multivesta-adapter") - Copy the
AlchemistSimStateclass from current repo (you can reach it in following location alchemist-multivesta-adapter/dist/AlchemistSimState.kt) and paste it in the package you prefer - Set the main class as follows
mainClass.set("it.unibo.alchemist.multivesta.adapter.AlchemistMultiVesta"), inside the JavaExec Gradle task - When you configure Alchemist arguments with Gradle
argsmethod, add anotherargscall after traditional Alchemist arguments and pass all MultiVeStA arguments in a single string with key"-mv", e.g.args("-mv", "-c -sots 1 -bs 30 -a 0.05 -ds [0.1] -l 12 com.example.AlchemistSimState -f myquery.multiquatex").
Important: MultiVeStA arguments must include the fully qualified name of the class you have copied on point 3 (in the example it is-com.example.AlchemistSimState) and the desired multiquatex file (in the example it is-f myquery.multiquatex) - Add
MultiVestaExporterto your Alchemist configuration file, specifying the desired Extractor type: it will supply all available properties to MultiVeStA
If you prefer avoiding to add the exporter in Alchemist configuration file, you can add the Alchemist argument -e ExporterClass, that will use such exporter to supply the desired observation to MultiVeStA.
You are now ready to start your simulation as usually with Gradle JavaExec task!