[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Future of the mayaviLive visualizer in ESPResSo

From: Jean-Noël Grad
Subject: Future of the mayaviLive visualizer in ESPResSo
Date: Wed, 04 May 2022 16:44:16 +0200
User-agent: Roundcube Webmail/1.3.17

Dear ESPResSo users,

The ESPResSo python interface currently supports two visualizers: one based on OpenGL (openGLLive) and one based on Mayavi (mayaviLive). The OpenGL version is actively developed and supports almost all features of ESPResSo. On the contrary, the Mayavi visualizer is no longer developed and doesn't implement many features. For example, it doesn't support drawing shape-based constraints and LB fluids, and it is unclear whether it properly supports collision detection and bond breakage.

In our experience, the dependencies of the Mayavi visualizer are also more difficult to install than the dependencies of the OpenGL visualizer. Currently, the list of dependencies for Mayavi cannot be satisfied on the workstations used at the home institution where ESPResSo is actively developed. This means that the ESPResSo team cannot verify whether mayaviLive works. In particular, the occasional changes made to the mayaviLive code over the last two years to reflect changes in the Particle data structure were made without verifying if the visualizer was still functional.

Maintaining multiple visualizers can benefit end users in the following ways: 1. better platform support, e.g. if the dependency tree of visualizer X cannot be satisfied on a specific workstation, visualizer Y can be used as a fallback 2. more diverse workflows: mayaviLive can be connected to other components of the Mayavi python ecosystem to customize visualization

Regarding point 1, we know the community is already using alternative visualization tools to inspect ESPResSo trajectories, namely VMD, ParaView and Blender, either because it is more convenient to use these external tools, or because they provide analysis methods to post-process the data, or because they allow producing professional-looking ray-traced movies. Therefore, if openGLLive cannot be used in a particular software environment, the community already has access to multiple fallback solutions. Regarding point 2, we are currently unaware of visualization workflows that couple mayaviLive to external python packages.

Resolving the mayaviLive dependency tree would require us to recompile the C++ GUI library wxPython from sources and resolve several compatibility issues between the Mayavi python package and its dependencies. This developer time could be better invested in improving openGLLive and other ESPResSo features. In addition, mayaviLive depends on C++ global variables, making it more difficult for us to remove the global state, which is a necessary step for our long-term goal of allowing multiple ESPResSo system instances in the same simulation script.

We currently do not know if mayaviLive is used in the ESPResSo community. To help us make an informed decision about the future of this visualizer, we kindly ask you to reply to this email if you are using mayaviLive, preferably until Wednesday, May 11th 2022.

Best regards,
Jean-Noël Grad

Institute for Computational Physics
University of Stuttgart
Allmandring 3
70569 Stuttgart
Phone: +49(0)711/685-67715

reply via email to

[Prev in Thread] Current Thread [Next in Thread]