Meaning of virtual accelerator #3
-
Sorry, I'm confused about what "virtual accelerator" currently means. I read in the user interface specification but I still don't understand. It says: Virtual Accelerator This I understand. But then there is also a case without the user having to implement any simulated devices. Just the control system layer directly accessing the model and the model continuously updating based on how PVs change. What is this mode currently called? Or it it doesn't exist? For me that was what "virtual accelerator" meant but recently I have learned that some labs also have models of their power supplies and "virtual accelerator" for them means to also include those models in the simulation. Can someone perhaps explain? |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 10 replies
-
Just add this another case to the user specification document. From my understanding this case is not really very different from the real control system. You just have a different EPICS PV prefix for the names or a different TANGO host. Unless, I'm mistaken, we have this case covered "for free" |
Beta Was this translation helpful? Give feedback.
-
I don't think the 'Virtual Accelerator' should be considered a single product. Instead, I would hope PyAML provides a toolbox to build a virtual accelerator customised to your particular task. There could be some kind of generic configuration that gets you started, but I suspect control system naming conventions will be difficult to make generic across all facilities. As an example, here they go into the performance (and other) tweaks required for a couple different use cases in the 'Current Status' section. The common attributes of a Virtual Accelerator could be something like:
Any further levels of detail should be optional, but still possible to implement. As long as it has the attributes above, it is considered a Virtual Accelerator. |
Beta Was this translation helpful? Give feedback.
-
The virtual accelerator is described in the document in the drawing made by @simoneliuzzo. |
Beta Was this translation helpful? Give feedback.
-
We’ve implemented a virtual accelerator setup here at HZB that might be relevant to this discussion. In our case, the virtual accelerator is built from any lattice plus configuration data. Once that’s provided, a virtual representation of the machine is automatically created. Most of the relevant PVs that exists in the real machine are recreated in the virtual environment with an additional prefix (e.g., VA:), so higher-level applications like ORM or Tune Correction that we run on real machine, can also run unmodified on the virtual accelerator— the only difference is the PV prefix. This setup doesn’t simulate individual device dynamics like power supplies, but it does provide a functional model that integrates seamlessly with the control system layer. It’s been effective for testing and development, especially when resources for building full simulated devices are limited. From this perspective, it might be helpful to distinguish between different levels of virtual accelerator. |
Beta Was this translation helpful? Give feedback.
The SimulatedPowerSupply just mimics a slow PID (it is tunable but we didn't tune them all very accurately). It was especially usefull to test the
set_and_wait()
and at the end it was very usefull for mini-cycling tuning.To make the distinction clear between live and virtual, virtual has an additionnal diagnostic device that returns optics functions. This is what simone illustraded in his scheme.