Creating a Model
In order to create a FLAME GPU 2 simulation, you must first describe the model.
What is a Model?
In FLAME GPU 2, a model is represented by a ModelDescription
object, this contains information specifying the agents, messages and environment properties within the model and how they interact.
Once the ModelDescription
has been completely described, it is used to construct either a CUDASimulation
or CUDAEnsemble
to execute simulations of the model.
Creating a ModelDescription Object
ModelDescription
objects can be initialised directly, requiring only a single argument specifying the model’s name. Currently this name is only used to generate the default window title within the visualiser.
#include "flamegpu/flamegpu.h"
int main(int argc, const char **argv) {
// Define a new FLAME GPU model
flamegpu::ModelDescription model("My Model");
}
import pyflamegpu
# Define a new FLAME GPU model
model = pyflamegpu.ModelDescription("My Model")
The ModelDescription
class has various methods for specifying components of the model, these are used to fully describe a model to be simulated.
Method |
Returns |
---|---|
Specialised message description type, e.g. |
|
n/a |
|
n/a |
|
n/a |
|
n/a |
|
Note
newMessage()
take a template argument, so it is called in the format newMessage<flamegpu::MessageBruteForce>()
. As the Python API lacks templates, they are instead called in the format newMessageBruteForce()
.
The subsequent chapters of this guide explore their usage in greater detail.