I know you can do: DISC(0.2,1,0.4,2,0.8,3,1,4) but I am wondering if there are any other ways. I have fairly complicated distributions and some would be used to assign string variables.
You can add complex expressions when selecting "expression" in the create block.
Another way:
If you have a complex distribution perhaps you can set a variable as expression in the create block. Then this variable can be assigned or modified in a vba block. this way you can manage the inter-arrival time of the entities.
ex: you define a variable H set to 1 or whatever.
in the create block you select expression and use the H to manage inter-arrival time. Let say H is set to 1 and you want the inter-arrival time to be doubled each time. you use an assign block where you have H=2*H.
at 0 an entity is created, and the assign sets H to 2. Next entity arrives at 1 (initial inter-arrival time) and H is set to 4. next entity arrives at 3 (because H was set to 2 before), and H is set to 8, next entity arrives at 7 (H set to 4) and so on.
(you can also look the smart file 'arrivals varying rate via expression')
However I'm not sure it is "nice working". Plus, the first entity should probably be deleted if the first inter-arrival time doesn't fit your distribution.
Don't know if this is useful to you but let me know, and if someone has another method I'm also interested to know :)