Upgrades of the VisIt Universal Access Layer reader plugin
Location: University of Ljubljana, Faculty of mechanical engineering (ULFME), Ljubljana, Slovenia
This project is about programming in C++ with XSLT code generation. The aim is to extend existing program (UAL database reader plugin) running under VisIt visualization software.
Interfacing fusion codes within the European Integrated Tokamak Modeling (ITM-TF) projects based on Consistent Physical Objects (CPOs). CPOs are standardized data structures that describe various physical aspects of fusion experiments and are designed to be suitable for use with simulation codes and experimental data. Integration with CPOs thus brings a common data model to simulations that allow to directly compare results with experiment, use experimental data as input or mixed approaches. Contents of the CPOs have been carefully crafted and collected from previous best practices in a way that the description is general enough to cover a broad range of tokamak modeling and is easy to use by simulation codes. It was anticipated that the CPO structures would improve/change during the development of the ITM-TF. To facilitate such changes and to support different programming languages, the data structure is described by a XML schema definition (XSD). Rigorous validations, data bindings and translations are possible based on this XSD definition. A basic usage of the data structure description is persistent storage in a database. Presently, ual_reader works, but several shortcomings were spotted within various workflows.
Applicant will work on enhancements of existing plugin code (2500 lines in total) that can include the following topics:
- Examples and upgrades of 3D VTK visualizations
- Parallelization of database access and single slice fetching
- Multiple CPO database correlation (time aligned slices)
- User interface for browsing databases
Target visualizations will be selected by the topic of interest and will be provided from ITM-TF workflows. In any case student will work closely with mentor on coding, testing and visualizations.
- Learn how to use VisIt for its own visualizations and write plugins for VisIt.
- Become proficient in VTK, XSLT and C++ programming.
- Gain experience with HPC, LSF job manager and various simulation software readily available on HPCFS and other clusters.
- Familiarize further with development process by using tools like Subversion, Eclipse, Emacs, gForge, …
Student Prerequisites (Compulsory):
- Basic C++ and XSLT programming knowledge
Student Prerequisites (Desirable):
- Using a UNIX-based operating system
- Familiar with HPC environment
Project Application Reference: Slovenia – ULFME – Universal Access Layer Reader
Applications are now closed