BCovise
MODIFIED VERSION OF BLENDER FOR SCIENTIFIC VISUALIZATION
We have modified open-source 3D creation suit Blender and we have extended its capabilities to support the COVISE node system. The original COVISE (Collaborative Visualization and Simulation Environment) has been developed by HLRS and it is an extendable distributed software environment to integrate simulations, postprocessing, and visualization functionalities in a seamless manner. We created new Covise Node System directly in Blender. We can make a visualization of scientific data that can come from simulations of different physical phenomena (e.g. fluid dynamics, structural analysis, etc.). To create visually pleasing outputs of such data a path tracing rendering method can be used. We call this extension BCovise and it has been developed at IT4Innovations National Supercomputing Center.
Content
Building process
- See https://wiki.blender.org/wiki/Building_Blender
- Note: BCovise reuquires boost_iostreams linked with zlib and set COVISE_SRC_DIR to Covise.
Introducing Covise Nodes
Covise nodes is a specific set of nodes designed for scientific visualization. They are part of the Covise Editor in Blender.
To open the Covise Editor, go to the top left corner of any Blender editor window and select Covise Editor. The editor canvas will appear. To start working with nodes, create a new node tree by pressing the New button. You can then add any of the available nodes using the Add menu or the Shift+A keyboard shortcut.
Documentation for Covise nodes is available at Covise modules. We support those Covise modules for now: CellToVert, Collect, Colors, CutGeometry, CuttingSurface, DomainSurface, IsoLines, IsoSurface, MinMax, PartSelect, ReadANSYS, ReadASCII, ReadDyna3D, ReadEnsight, ReadFoam, ReadObj, ReadPlot3D, ReadPLY, ReadStl, Sample, SelectUsg, SimplifySurface, SmoothSurface, Sphere, Tracer, Transform, Tube, VectorField, VectorScal.
How to create results using Covise nodes? Do the following.
- Open a new file by File → New → General.
- Delete all objects in the scene (in 3D Viewport hit A and DELETE)
- Divide the 3D Viewport window in two by dragging the upper right corner of the window to the left.
- Open the Covise Editor by selecting it in the combo menu for Editor type.
- Create a new node tree using New button from the editor.
- Add the ReadEnsight node from Add → Input.
- Click the file browser icon on the ReadEnsight node to select the case file with the data.
- Select the TINY.CASE file from data/Ensight/Tiny/.
- Press the Execute button from the Covise Editor menu.
- ReadEnsight node populates with description of data stored in the CASE file.
- Write P to 3D Scalar data and SVEL to 3D Vector data (WARNING: upper/lower case matters).
- Add CuttingSurface node from Add → Covise.
- Connect Geo 3D output from ReadEnsight to Geo input in CuttingSurface.
- Do the same with Scalar 3D and Data.
- Set Normal in CuttingSurface to (0, 0, -1).
- Set Point in CuttingSurface to (0, 0, 0.05).
- Add Colors and Collect nodes from Add → Covise.
- Connect Data output of CuttingSurface to Data input of Colors node.
- Connect Geo output of CuttingSurface to Geo input of Collect node.
- Connect Data output to Data input from Colors to Collect node.
- Add Blender node from Add → Output.
- Connect Geo output to Geo input from Collect to Blender node.
- Press the Execute button.
You will see the horizontal slice through the analyzed geometry. Switch 3D Viewport to eiter Material Preview or Rendered display mode to see the colors. Colors represent the pressure distribution within the cutting surface.
How to visualize the streamlines in the scene? Do the following.
- Add the Tracer node from Add → Covise.
- Set No Start Point to 15.
- Set Start Point 1 to (-0.4, 0.29, -0.01).
- Set Start Point 2 to (-0.4, 0.52, 0.12).
- Set Trace Length to 10.
- Connect Geo 3D output from ReadEnsight to Geo input in Tracer.
- Connect Vector 3D output from ReadEnsight to Data input in Tracer.
- Add another Collect and Colors node.
- Connect Lines output from Tracer to Geo input in Collect node.
- Connect Data output from Tracer to Data input in Colors node.
- Connect Data output from Colors to Data input in Collect node.
- Add another Blender node.
- Connect Geo output from Collect to Geo input in Blender node.
- Set Name to COVISE1 and Curve Radius to 0.003 in Blender node.
- Check the correct path in ReadEnsight node to be data/Ensight/Tiny/TINY.CASE.
- Delete previous COVISE collections in the scene Outliner by selecting them in the tree and by using Delete Hierarchy under right mouse button. Otherwise new collections will be added to the scene leaving the old one present.
- Hit the Execute button.
You will see the streamlines inside the analyzed geometry. Switch 3D Viewport to eiter Material Preview or Rendered display mode, if you have not done so yet. Colors represent the velocity magnitude of the flow.
In comparison to loading data using X3D format, here the data are "live". You can change e.g. parameters of the CuttingSurface or the Tracer and observe results for different parts of the geometry.
License
This software is licensed under the terms of the GNU General Public License.
Acknowledgement
This work was supported by the Ministry of Education, Youth and Sports of the Czech Republic through the e-INFRA CZ (ID:90254).