{"id":19476857,"url":"https://github.com/openchemistry/visitbridge","last_synced_at":"2026-05-15T17:02:19.000Z","repository":{"id":91838907,"uuid":"331399713","full_name":"OpenChemistry/VisItBridge","owner":"OpenChemistry","description":"Copy of VisItBridge","archived":false,"fork":false,"pushed_at":"2022-09-16T17:18:15.000Z","size":12966,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-08T06:36:32.731Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenChemistry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-20T18:45:32.000Z","updated_at":"2022-12-21T09:39:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"a4ed6721-decf-4a38-b2b9-d1749e8ef822","html_url":"https://github.com/OpenChemistry/VisItBridge","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenChemistry%2FVisItBridge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenChemistry%2FVisItBridge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenChemistry%2FVisItBridge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenChemistry%2FVisItBridge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenChemistry","download_url":"https://codeload.github.com/OpenChemistry/VisItBridge/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240701990,"owners_count":19843822,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T19:42:16.917Z","updated_at":"2026-05-15T17:02:13.966Z","avatar_url":"https://github.com/OpenChemistry.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Introduction\n===============\n\nThis article describes the Visit Database Bridge ParaView plugin. The motivation for the bridge is to allow ParaView to make use of VisIt's IO components, and to explore the re-usable capabilities of VisIt and its underlying pipeline library, avt. Like ParaView, VisIt is a scientific data visualization application based on VTK and Qt. There are a number of subtle differences in the internal workings of the two applications. However, in general there are more similarities than differences. Hence porting functionality from one to the other is fairly straight forward and potentially very beneficial as both applications have large, publicly available, thoroughly tested code bases.\n\nVisIt IO components are called database plugins. The VisIt developers have provided a consistent interface both for database plugin via the avtFileFormat interface. The VisItBridge now interfaces with the avtFileFormat to create a VTK pipeline object that emulates the VisIt database loading process. The reason for this lower level interfacing was to reduce the number of VisIt dependencies, eliminate the need for runtime loading of readers, and have faster access to the underlying VTK data. The wrapping of each reader is now done automatically be auto generating the VTK class at configure time. This allows developers to easily add more VisItReaders or even to add VisItReaders into plugins.\n\nThe new VisItBridge secondary goal was to provide an integrated build with ParaView. This was goal was completed by forking a subset of the VisIt source code and patching it for compilation against VTK head. The switching of VisIt to CMake made this possible as it allows us to configure VisIt to target the HDF5 and XDMF being built by ParaView.\n\nClasses\n---------------\n\nThe structure of our bridge is as follows:\n\n* vtkAvtFileFormatAlgorithm – Parent VTK algorithm that implements the VTK pipeline required of a ParaView reader. Contains an avtFileFormat, avtDatabaseMetaData, and avtVariableCache.\nThe following classes are subclasses that handle specific file formats:\n\n- vtkAvtSTSDFileFormatAlgorithm\n- vtkAvtSTMDFileFormatAlgorithm\n- vtkAvtMTSDFileFormatAlgorithm\n- vtkAvtMTMDFileFormatAlgorithm\n\nWhich of VisIt's databases are available?\n---------------\n\nThis depends largely on how VisIt is built because databases only are built if their dependencies are found. The following list reflects what is available in a full VisItBridge (based on VisIT 2.1.1) build. The number of new formats is 60, with the potential to grow as we add support for more third party libraries.\n\n* ANALYZE\n* ANSYS\n* AUXFile\n* BOV\n* CEAucd\n* Chombo\n* Claw\n* CMAT\n* CTRL\n* Curve2D\n* DDCMD\n* Dyna3D\n* Enzo\n* ExtrudedVol\n* FLASH\n* Fluent\n* Gadget\n* GGCM\n* GTC\n* GULP\n* H5Nimrod\n* Image\n* Lines\n* M3D\n* M3DC1\n* Mili\n* Miranda\n* MM5\n* NASTRAN\n* Nek5000\n* NETCDF\n* OpenFOAM\n* OVERFLOW\n* ParaDIS\n* PATRAN\n* PFLOTRAN\n* Pixie\n* PlainText\n* PLOT2D\n* PLOT3D\n* Point3D\n* ProteinDataBank\n* RAW\n* SAMRAI\n* SAR\n* SAS\n* Silo\n* Spheral\n* Tecplot\n* Tetrad\n* TFT\n* TSurf\n* UNIC\n* VASP\n* Velodyne\n* Vs\n* XDMF\n* XYZ\n\nBuilding ParaView\n===============\n\nTo build ParaView with the VisItBridge enabled you will need to set the following CMake variables:\n```\n PARAVIEW_USE_VISITBRIDGE\n Boost_INCLUDE_DIR\n```\nSilo Support\n---------------\n\nTo enable Silo readers you will need to set:\n```\n VISIT_BUILD_READER_Silo\n SILO_INCLUDE_DIR\n SILO_LIBRARY\n```\n\nMili Support\n---------------\n\nTo enable Mili readers you will need to set:\n```\n VISIT_BUILD_READER_Mili\n Mili_INCLUDE_DIR\n Mili_LIBRARY\n```\n\nCustom Plugin of VisIt Reader\n===============\n\nOne of the major benefits of the new VisItBridge is the ability to allow developers to create plugins of any VisIt reader for ParaView. Adding the reader is incredibly easy as all you need is a CMakeLists.txt file and the reader source.\n\nThe CMakeLists.txt looks as follows where avtMyReaderFileFormat.cxx is the source of the VisIt reader, VISIT_READER_NAME is the name of the class inside the source file, VISIT_READER_TYPE is the type of file format the reader is, and the VISIT_READER_FILE_PATTERN is a space delimitated string of file extensions that the reader supports.\n\n```cmake\nPROJECT(VisItReaderExample)\n\ncmake_minimum_required(VERSION 2.8)\n\nFIND_PACKAGE(ParaView REQUIRED)\nINCLUDE(${PARAVIEW_USE_FILE})\n\nSET(SOURCES\n avtMyReaderFileFormat.C\n )\n\nADD_VISIT_PLUGIN_READER(VisItReaderExample \"1.0\"\n  VISIT_READER_NAME \"avtMyReaderFileFormat\"\n  VISIT_READER_TYPE \"STMD\"\n  VISIT_READER_FILE_PATTERN \"cas\"\n  SERVER_SOURCES ${SOURCES}\n  )\n\nTARGET_LINK_LIBRARIES(VisItReaderExample vtkVisItAVTAlgorithms)\n```\n\nWhat's Not Done\n===============\n\n* We need to map VisIt ghost cells to VTK ghost cells, not doing so is going to introduce block  artifacts.\n* Implement a SIL interface in the GUI. A proper SIL needs to be added to clarify the current Material panel, and to properly show what properties each block has.\n* Finish Expressions. See avtExpresssionEvaluationFilter for adding support.\n* AMR data. AMR data has been partially implemented. The mapping of ghost arrays has been implemented but hasn’t been fully tested.\n\nReferences\n==========\n\n[Source](http://www.paraview.org/Wiki/VisIt_Database_Bridge)\n\nLicense\n=======\n\nMost of VisitBridge source code is coming from Visit,\nso VisitBridge is distributed under the same licence.\nSee LICENSE file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenchemistry%2Fvisitbridge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenchemistry%2Fvisitbridge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenchemistry%2Fvisitbridge/lists"}