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
AlchemistSimState
class 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
args
method, add anotherargs
call 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
MultiVestaExporter
to 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!