-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ParaView Catalyst in-situ visualization capability #222
base: main
Are you sure you want to change the base?
Commits on Feb 7, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 5ca50df - Browse repository at this point
Copy the full SHA 5ca50dfView commit details -
This file allows GRChombo examples to be built with Catalyst. Also add some more work on the CatalystAdaptor code.
Configuration menu - View commit details
-
Copy full SHA for 8bf6560 - Browse repository at this point
Copy the full SHA 8bf6560View commit details -
Remove code that strips spaces in isystem flag
This can be handled by the updated mkdep script in GRTLCollaboration/Chombo#32.
Configuration menu - View commit details
-
Copy full SHA for 2bbabed - Browse repository at this point
Copy the full SHA 2bbabedView commit details -
Add script to cache output from paraview-config
paraview-config is extremely slow and we only want to call it once and use the cached output otherwise.
Configuration menu - View commit details
-
Copy full SHA for 276c3d9 - Browse repository at this point
Copy the full SHA 276c3d9View commit details -
Also add compile_commands.json database.
Configuration menu - View commit details
-
Copy full SHA for 1ab1957 - Browse repository at this point
Copy the full SHA 1ab1957View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2955d39 - Browse repository at this point
Copy the full SHA 2955d39View commit details -
Add CatalystAdaptor::build_vtk_grid function
This currently passes ghosted boxes to Catalyst.
Configuration menu - View commit details
-
Copy full SHA for cd576ce - Browse repository at this point
Copy the full SHA cd576ceView commit details -
In theory only the variables requested in the script should be sent to Catalyst.
Configuration menu - View commit details
-
Copy full SHA for 8707946 - Browse repository at this point
Copy the full SHA 8707946View commit details -
Configuration menu - View commit details
-
Copy full SHA for ae6cddc - Browse repository at this point
Copy the full SHA ae6cddcView commit details -
Modify construction of vtkOverlappingAMR
* Change constructor for each vtkAMRBox. * Generate ghost array for each vtkUniformGrid. * Audit grid at the end of construction.
Configuration menu - View commit details
-
Copy full SHA for cf8069c - Browse repository at this point
Copy the full SHA cf8069cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8c82572 - Browse repository at this point
Copy the full SHA 8c82572View commit details -
Configuration menu - View commit details
-
Copy full SHA for 06ea334 - Browse repository at this point
Copy the full SHA 06ea334View commit details -
Add another Catalyst volume rendering script
This one includes resampling to an image and no raytracing.
Configuration menu - View commit details
-
Copy full SHA for a95360e - Browse repository at this point
Copy the full SHA a95360eView commit details -
Attempt to fix building of VTK grid
Note that now the vtkAMRBox indices are (0,0,0) where the lower corner of the ghosted domain on the coarsest level is e.g. (-3,-3,-3) in Chombo indices. In theory this might make it annoying to calculate coordinates, but these should be calculated from the associated vtkUniformGrid objects anyway which have their origin at the correct place (i.e. Chombo's (0,0,0)). This is necessary as VTK expects the "origin" of the vtkAMRBoxes to be the lower bound.
Configuration menu - View commit details
-
Copy full SHA for 43dd07b - Browse repository at this point
Copy the full SHA 43dd07bView commit details -
Refactor calling of Catalyst CoProcess
Also change back to the old construction of vtkUniformGrids. I think the one that used the vtkAMRBoxes assumed node centering leading to the wrong dimensions.
Configuration menu - View commit details
-
Copy full SHA for 1574003 - Browse repository at this point
Copy the full SHA 1574003View commit details -
These have been generated from more representative data of the current parameter file.
Configuration menu - View commit details
-
Copy full SHA for f88ce83 - Browse repository at this point
Copy the full SHA f88ce83View commit details -
Update ParaView Catalyst scripts
Add some recent new ones and remove some old ones.
Configuration menu - View commit details
-
Copy full SHA for fee88cd - Browse repository at this point
Copy the full SHA fee88cdView commit details -
This includes "Insitu" in the filename. Note that the default example executable will be built and linked with ParaView Catalyst if PARAVIEW_DIR is set correctly but will not be named accordingly.
Configuration menu - View commit details
-
Copy full SHA for 5df0a4e - Browse repository at this point
Copy the full SHA 5df0a4eView commit details -
Implement catalyst_vars parameter
This allows the user to restrict which variables are passed to Catalyst. In theory this could be determined from the Catalyst script but the functions to determine this don't seem to work well with newer Catalyst scripts (i.e. those generated by v5.9 or later) and always request all variables.
Configuration menu - View commit details
-
Copy full SHA for d666910 - Browse repository at this point
Copy the full SHA d666910View commit details -
Add support for multiple Catalyst scripts
In order to do this, parameter names have been changed.
Configuration menu - View commit details
-
Copy full SHA for f828470 - Browse repository at this point
Copy the full SHA f828470View commit details -
Make VTK/Catalyst log to a pout file
This reduces VTK log output to stderr and instead sends it to a catalyst_pout (this name can be changed with the catalyst_pout_prefix parameter) file (for each rank) under the usual pout_subpath like the normal Chombo output (in the case MPI=TRUE). There is also a catalyst_verbosity parameter which controls both the verbosity of the VTK log output and the messages from CatalystAdaptor in the normal pout file. The -rdynamic flag will also be passed to the linker for the insitu build target so that the VTK log stack trace (which is output in the case of some termination signal) has more information for the [GR]Chombo part of the stack.
Configuration menu - View commit details
-
Copy full SHA for f3d9c37 - Browse repository at this point
Copy the full SHA f3d9c37View commit details -
Configuration menu - View commit details
-
Copy full SHA for 502c025 - Browse repository at this point
Copy the full SHA 502c025View commit details -
This provides instructions on building and using ParaView Catalyst in-situ visualization with a GRChombo example.
Configuration menu - View commit details
-
Copy full SHA for 9e9ec91 - Browse repository at this point
Copy the full SHA 9e9ec91View commit details -
Configuration menu - View commit details
-
Copy full SHA for ce6528d - Browse repository at this point
Copy the full SHA ce6528dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4f6d9fb - Browse repository at this point
Copy the full SHA 4f6d9fbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 76603c8 - Browse repository at this point
Copy the full SHA 76603c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2df36c9 - Browse repository at this point
Copy the full SHA 2df36c9View commit details -
Fix incorrect casting from IntVect to RealVect
Also refactor error/warning in CatalystAdaptor
Configuration menu - View commit details
-
Copy full SHA for 63b4a70 - Browse repository at this point
Copy the full SHA 63b4a70View commit details -
Add user to include extra VTK/ParaVIew components
These can be specified with the XTRA_VTK_COMPONENT_FLAGS and XTRA_PARAVIEW_COMPONENT_FLAGS variables in the makefile which will be passed to paraview-config.
Configuration menu - View commit details
-
Copy full SHA for 774340d - Browse repository at this point
Copy the full SHA 774340dView commit details -
This uses a script generated by ParaView 5.9.1 to extract an image of a slice and compares this image to a known valid one.
Configuration menu - View commit details
-
Copy full SHA for 951b69e - Browse repository at this point
Copy the full SHA 951b69eView commit details -
Fix CatalystAdaptor bug with no diagnostic vars
This bug is not apparent in the case OPT=HIGH (so NDEBUG is defined) as the Chombo asserts are skipped but appears otherwise.
Configuration menu - View commit details
-
Copy full SHA for d36b883 - Browse repository at this point
Copy the full SHA d36b883View commit details -
Fix various problems with CatalystInsituTest
* vtkPVVersion.h not present in all builds so replace with vtkPVConfig.h * Need to add the ParaView::RemotingCore component for the above header * Replace error from vtkImageDifference with thresholded error otherwise the test is way too sensitive
Configuration menu - View commit details
-
Copy full SHA for 6b0344d - Browse repository at this point
Copy the full SHA 6b0344dView commit details -
Make ParaView version checking more portable
Unfortunately it still won't work in some cases but I don't think there's an easy way to do so.
Configuration menu - View commit details
-
Copy full SHA for 9bc6a0e - Browse repository at this point
Copy the full SHA 9bc6a0eView commit details -
Make Catalyst aware of the output_path parameter
This means that any outputs for visualization pipelines will be created under this path.
Configuration menu - View commit details
-
Copy full SHA for 59dd99a - Browse repository at this point
Copy the full SHA 59dd99aView commit details -
Add catalyst_remove_ghosts parameter
This allows copying Chombo arrays to Catalyst without ghost cells (for debugging purposes).
Configuration menu - View commit details
-
Copy full SHA for 1b9c294 - Browse repository at this point
Copy the full SHA 1b9c294View commit details -
These should be the same as that of the corresponding vtkUniformGrids. Thanks to Dave Demarle (@demarle) for finding this.
Configuration menu - View commit details
-
Copy full SHA for 518c653 - Browse repository at this point
Copy the full SHA 518c653View commit details -
Switch to using a Catalyst v1.0 script for the test so that it will work with ParaView v5.8. Also add a header file to determine the ParaView version (not currently used but possibly useful in future).
Configuration menu - View commit details
-
Copy full SHA for 02d5a3c - Browse repository at this point
Copy the full SHA 02d5a3cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 468e59e - Browse repository at this point
Copy the full SHA 468e59eView commit details -
Make VTK use the same number of threads as GRChombo
If the VTK_SMP_MAX_THREADS environment variable is not set, the number of VTK SMP threads is set to the same as the number of OpenMP threads. Also add some small comments to CatalystAdaptor.hpp.
Configuration menu - View commit details
-
Copy full SHA for 352ee3c - Browse repository at this point
Copy the full SHA 352ee3cView commit details -
Make preCatalystCoProcess fill ghosts by default
The ghosts are filled for variables requested at the previous CoProcess. One can also pass a non-positive interval of variables to fillAllGhosts which will just make it return without doing any ghost filling.
Configuration menu - View commit details
-
Copy full SHA for 6395ba8 - Browse repository at this point
Copy the full SHA 6395ba8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 27b8951 - Browse repository at this point
Copy the full SHA 27b8951View commit details -
Fix potential segfault with BinaryBH example
This would occur if Catalyst was used but the extraction parameters were not set (so minimum extraction_level parameter doesn't exist).
Configuration menu - View commit details
-
Copy full SHA for 1b35751 - Browse repository at this point
Copy the full SHA 1b35751View commit details -
Pass ghost cell info to Catalyst
Cells that are marked as ghosts will no longer be visible in ParaView (e.g. those in the outer boundary).
Configuration menu - View commit details
-
Copy full SHA for 8b6ee34 - Browse repository at this point
Copy the full SHA 8b6ee34View commit details -
Add ability to write VTK XML files from Catalyst
This writes the created vtkOverlappingAMR object to a file. It's mainly for debugging but I guess in theory it allows a user to save the state of the grid at any timestep on any level rather than just a whole coarsest level timestep.
Configuration menu - View commit details
-
Copy full SHA for 59a5022 - Browse repository at this point
Copy the full SHA 59a5022View commit details -
Initialize
vtkUniformGrid
s fromvtkAMRBox
sThis shifts the set `origin` of the `vtkUniformGrid`s from the `global_origin` at (0,0,0) (in Chombo coordinates) to that of the low corner of the box. This seems to disagree with what is done in the ParaView Catalyst CxxOverlappingAMRExample but makes the outputted VTK XML files appear more sensible when loaded in ParaView.
Configuration menu - View commit details
-
Copy full SHA for 5cedc26 - Browse repository at this point
Copy the full SHA 5cedc26View commit details -
Refactor Catalyst parameter code
Now, all of the Catalyst parameters used in `CatalystAdaptor` are in a `CatalystAdaptor::m_p`, a struct of type `CatalystAdaptor::params_t`. This will make it easier to add/modify parameters. Previously multiple functions across the `CatalystAdaptor` and `GRAMR` classes as well as a Setup function needed to be modified every time a Catalyst parameter was changed. Note that some parameters are used elsewhere (e.g. `catalyst_coprocess_level` in `GRAMRLevel` and are therefore not part of `CatalystAdaptor::params_t`. Some parameters have been renamed in order to make them more consistent (all Catalyst parameters are now prefixed with `catalyst_`). The Insitu README has been updated accordingly.
Configuration menu - View commit details
-
Copy full SHA for a2bc9fa - Browse repository at this point
Copy the full SHA a2bc9faView commit details -
This allows the user to make Catalyst write VTK XML files for the 3D AMR data that is passed to Catalyst at each Catalyst coprocess and specify the filename prefix of these files.
Configuration menu - View commit details
-
Copy full SHA for 362ff95 - Browse repository at this point
Copy the full SHA 362ff95View commit details -
Make CatalystInsituTest check PNG is modified
The test should not pass with a PNG from a previous run if Catalyst fails to run for whatever reason.
Configuration menu - View commit details
-
Copy full SHA for 068c213 - Browse repository at this point
Copy the full SHA 068c213View commit details -
Fix incorrect comparison on file modification time
This was probably obvious but the `tv_nsec` member of a `timespec` struct is only the number of nanoseconds since the last full second so it is necessary to compare the `tv_sec` member first.
Configuration menu - View commit details
-
Copy full SHA for 69c3755 - Browse repository at this point
Copy the full SHA 69c3755View commit details -
Delete generated PNG at start of CatalystInsituTest
Remove all the code that checks the modified timestamps and simply just delete the old file at the start. This way, if nothing is generated, the test will definitely fail.
Configuration menu - View commit details
-
Copy full SHA for 49628de - Browse repository at this point
Copy the full SHA 49628deView commit details -
Fix slice visualization artifacts
The key step is to apply vtkParallelAMRUtilities::StripGhostLayers (which removes layers of fine ghost cells that only partially cover coarse cells) and vtkParallelAMRUtilties::BlankCells (which blanks out coarser cells that are covered by finer cells on a different rank -- I thought this was automatic previously) to the vtkOverlappingAMR object (this is done in the [VisIt Chombo Reader](https://gitlab.kitware.com/paraview/visitbridge/-/blob/df098f4148a96d62c388861c1d476039e02224ae/databases/AvtAlgorithms/vtkAvtSTMDFileFormatAlgorithm.cxx#L511-L514)). Since the former might require deep copying (in case stripping happens), a temporary vtkOverlappingAMR object is instantiated in CatalystAdaptor::coprocess which is used to create the grid and add the fields. This is then copied (either shallow or deep as necessary) to the m_vtk_grid_ptr member which is passed to Catalyst. Note that now, no cells are manually marked as ghosts in CatalystAdaptor::build_vtk_grid as I observed gaps when doing so. The only marking of ghosts now comes from BlankCells.
Configuration menu - View commit details
-
Copy full SHA for 7d81232 - Browse repository at this point
Copy the full SHA 7d81232View commit details -
Configuration menu - View commit details
-
Copy full SHA for 64cf4ad - Browse repository at this point
Copy the full SHA 64cf4adView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5698b55 - Browse repository at this point
Copy the full SHA 5698b55View commit details -
Make make exit earlier if there are Catalyst problems
Previously the paraview-config command could fail and the build would continue going which made it difficult for the user to see where the problem is. Also commands that exit with non-zero exit codes are no longer cached by the cache.sh script so that the paraview-config error always appears.
Configuration menu - View commit details
-
Copy full SHA for 3a3eed0 - Browse repository at this point
Copy the full SHA 3a3eed0View commit details -
Fix in-situ building with old Make versions
These don't have the .SHELLSTATUS variable.
Configuration menu - View commit details
-
Copy full SHA for 800deed - Browse repository at this point
Copy the full SHA 800deedView commit details -
Make GitHub action use latest ParaView version
Also update CMake version to 3.22.6.
Configuration menu - View commit details
-
Copy full SHA for 5b6d28f - Browse repository at this point
Copy the full SHA 5b6d28fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 15851dd - Browse repository at this point
Copy the full SHA 15851ddView commit details -
Add passing of GRChombo parameters to Catalyst
These are set as environment variables which can be recovered in the Catalyst Python script. Also update slice_chi.py.
Configuration menu - View commit details
-
Copy full SHA for e78dee1 - Browse repository at this point
Copy the full SHA e78dee1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7ada53b - Browse repository at this point
Copy the full SHA 7ada53bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8974a0c - Browse repository at this point
Copy the full SHA 8974a0cView commit details -
Configuration menu - View commit details
-
Copy full SHA for d84a86a - Browse repository at this point
Copy the full SHA d84a86aView commit details
Commits on Feb 14, 2023
-
Fix compilation with old VTK versions
The vtkPythonInterpreter::SetRedirectOutput() function was introduced with VTK version 9.1.0.
Configuration menu - View commit details
-
Copy full SHA for cee3031 - Browse repository at this point
Copy the full SHA cee3031View commit details
Commits on Feb 15, 2023
-
Configuration menu - View commit details
-
Copy full SHA for d084a76 - Browse repository at this point
Copy the full SHA d084a76View commit details