Multiple Variable Constraints (Venn Diagram)

EnSight’s capability to utilize multiple variables at once is very powerful. Coloring by multiple variables at once on the same part can be very powerful visual aspect to understanding the relationship of various variables at once. One variant of this is to allow the user to specify multiple variables as set of constraints so that the user can visualize a portion of the domain which has been restricted by multiple variables. For example, I would like see the portion of the domain which has Temperature between 290 and 310, and Density between 0.9 and 1.05, and a Velocity from 10 to 15…. and so forth. Basically, the user would like to build a Venn Diagram of the common constraints from multiple variables at once.

Well, enter in Python + EnSight again. Here, we utilize EnSight’s ability to create an IsoVolume (a region constrained by a range of a single variable), along with the ability in Python to loop through this constrain N times, as well as present the user with a new little GUI to specify the constraints. In this short example, I have coded up to 6 constraining variables at once. Each variable gets constrained as an IsoVolume, with the subsequent constraint using the previous IsoVolume as its parent. Voila.

Capitalizing on some of the benefits of EnSight’s dependancy tree structure, you can adjust any of the constraint variables or ranges after the fact, and the whole Venn Diagram Region is automatically updated. Each IsoVolume is now also labeled with the initial variable and range used to create it, so the user can go back through and understand the different constraints.

Here is what the tool in place looks like:

You can download the Python Tool and install it into your UserDefinedTool area:

Download Python Multiple Constraint Tool

Please provide comments back for issue you find, additional capability you’d like, or adjusts which would make this more useful for your implementation.


Leave a Reply