Gallery: Multipatch wave equation

The Llama code is a 3-dimensional multiblock infrastructure for Cactus based on Carpet. It provides different patch systems that cover the simulation domain by a set of overlapping patches. Each of these patches has local cooordinates with a well-defined relation to global Cartesian coordinates. Information between the different patches is communicated via interpolation in the overlap zones.

Here we show an example evolution of a wave equation on a Kerr background using the "Thornburg2004nc" patch-system, consisting of 90 degree by 90 degree wedges centred on each of the +x, -x, +y, -y, +z, -z coordinate axes. This provides a complete covering of a region between rmin and rmax with smooth inner and outer boundaries. The initial data is an l=2, m=2 spherical harmonic in the angular directions, and a Gaussian in the radial direction. An alternative patch system, "Thornburg2004", adds a cubical patch enclosing r < rmin in which standard Carpet box-in-box mesh refinement can be employed. This is used in the GW150914 gravitational wave gallery example.

We ask that if you make use of the Llama code, then please cite Llama, the Einstein Toolkit, the Carpet mesh-refinement driver and Cactus.

Simulation details

Computational details

Parameter FileKerr-Schild_Multipole.par
Submission commandsimfactory/bin/sim create-submit Kerr-Schild_Multipole --parfile arrangements/Llama/LlamaWaveToy/par/Kerr-Schild_Multipole.par
Total memory800 MB
Run timeA little over 1 minute using 56 MPI tasks and 56 cores on Frontera; or about 10 minutes on two laptop cores
Results (gzip 226MB, uncompressed 460MB)Kerr-Schild_Multipole-20240620.tar.gz
Results (gzip 230MB, uncompressed 465MB)Kerr-Schild_Multipole-20241122.tar.gz

This example was last tested on November-22-2024.

Examples

Scalar Wave XY Scalar Wave XY Diverging

Projection into the xy plane of an l=2, m=2 multipole evolved with the wave equation on a spherical grid made of 6 coordinate patches. Images created using the VisIt file Kerr-Schild_Multipole.session and Python script plot.py.

Using the VisIt session file

  1. Get the VisIt session file.
  2. Run the visit executable.
  3. Navigate to File > Restore session with sources ....
  4. On the new window, select the visit session file downloaded in step 1.
  5. On the new window, making sure that SOURCE00 is selected in the Source Identifiers pane, click on the ... button of the Source pane.
  6. On the new window, navigate to the folder where the simulation's HDF5 files are located.
  7. On the Files pane, locate and click on the u.file_* database icon.
  8. Click the OK button.
  9. Click the OK button.
  10. At this point, the plot should be displayed on the main plot window. Any warnings can be safely dismissed.

Creating the plots manually

If the file structure is different than expected in the saved *.session files above, the following VisIt directions might help:

  1. Run the visit executable.
  2. Click Open
  3. On the new window, in the Directories panel, navigate to the location of the simulation's HDF5 output
  4. On the Files panel, navigate to the u.file_* database entry and click it. The database will turn blue, indicating that it is selected.
  5. On the Open file as type dropdown menu, select CarpetHDF5. Click the OK button.
  6. On the main window, under the Plots panel, click Add > Pseudocolor > LLAMAWAVETOY--u_lp_MP_rp_.
  7. On the main window, under the Plots panel, click Operators > Slicing > Slice.
  8. On the main window, under the Plots panel, open the dropdown menu of the Pseudocolor - Slice(LLAMAWAVETOY--u_lp_MP_rp_)
  9. Under the dropdown menu of Pseudocolor - Slice(LLAMAWAVETOY--u_lp_MP_rp_), double-click the Slice component.
  10. On the new Slice operator attributes window, under the Normal panel, select the Z Axis radio button. Click apply.
  11. Close the Slice operator attributes window.
  12. On the main window, under the Plots panel, click Draw.
  13. On the main window, under the dropdown menu of Pseudocolor - Slice(LLAMAWAVETOY--u_lp_MP_rp_) double-click on Pseudocolor.
  14. On the new Pseudocolor plot attributes window, on the Data > Scale > Limits panel, check the Minimum and Maximum checkboxes. Change the Minimum field to -0.5 and Maximum field to 0.5.
  15. On the same window, under the Color panel, click the Color Table dropdown menu and select the orangehot item. Check the Invert checkbox.
  16. Click Apply and close the Pseudocolor plot attributes window.
  17. On the visualization window (the one that contains the plot) click on the Swap background and foreground colors button, represented by a black triangle with two green arrows.
  18. On the main window, under the Time panel, type 56 on the time field and press the ENTER key on your keyboard. The plot obtained reproduces exactly the first image on this gallery page. Users are encouraged to try and experiment with other settings, particularly other color maps and simulation times or 2D slices.
  19. To save the figure, on the main window go to File > Set save options ....
  20. On the new window, under the Filename panel, set the Output directory field to the desired location. Click Apply and close this window.
  21. Click on File > Save window to save the image.

Using the Python script

The Python script needs to be executed within VisIt's Python parser. Download the script and navigate to the directory where the visit binary is located (this is not necessary if VisIt is in your PATH environment variable). In your command line, issue

visit -cli -nowin -s plot.py <HDF5 dir> <output dir> <output name>

where

  • <HDF5 dir> is the directory containing the output HDF5 files.
  • <output dir> is the directory where the image will be saved.
  • <output name> is the name of the output file (excluding the file extension).