02:05 PM - 03:50 PM (105 min)

Tutorial: Automatic Generation of Carpet/CarpetX Thorns with NRPy+

Steve Brandt (Louisiana State University)

Abstract: Creating a thorn for the Einstein Toolkit has been a successful collaborative framework for numerical relativity. For the last twenty-five years, groups from arround the world have been contributing new physics and infrastructure thorns.

And while the task of creating a thorn is not extraordinarily difficult, there is still a non-trivial learning curve that must be crossed before thorns can be correctly written.

The NRPy+ Python tools for using Sympy and generating physics code simplified the creation of physics thorns by allowing thorn authors to work with symbolic differential equations without worrying about the details of loops and boilerplate C++ code.

However, NRPy+ is not a Cactus-only tool and does not automate all of the details of thorn generation.

This tutorial is about an addition to the NRPy+ toolset which helps the authors of physics thorns cover this last mile. While the tool is still in its early stages of develpoment, it is usable and ready for community engagement. This tutorial will show users how to create a wave equation thorn that will compile and run both for the Carpet driver and the CarpetX driver.

slides: NRPyWaveToy.ipynb
recording: watch

Tutorial server instructions

For the hands-on part of the tutorial we will be using a cloud based environment to simplify setting up the toolkit, hosted at Perimeter Institute of Theoretical Physics.

There are two different environments offered:

  1. for the Einstein Toolkit and Self Force 1D tutorials on Monday and Tuesday
  2. for the CarpetX tutorial on Friday

Please make sure to select the correct one for the tutorial you are attending.

All required files are already present in the environment, you do not need to upload any files or download any software.

Each environment will be available only for the duration of each tutorial. Data stored persists in between logins but will be removed after the end of the workshop.

Creating accounts

Please go to https://et2022uidaho.ncsa.illinois.edu and choose a user name and password. Make sure Password and Password2 match, otherwise account creation will fail.

You will also need to enter a security code into the Code field. This code will be shared at the tutorial days via whiteboard and Zoom chat. Please do not share that code with anyone.

Account creation is automatic and your account is active the moment you submit the account creation form.

Logging in

Once your account has been created you can log in via https://et2022uidaho.ncsa.illinois.edu filling out only the Username and Password fields.

Transferring data out of the tutorial environment

Please select the files you would like to download in Jupyter’s file manager then use the Download button in the toolbar above the list of files to download them to your laptop.

Editing files

Jupyter has built in editor for text files that opens automatically if you click on a source code file.

You can create new files using the New button in the file listing and selecting Text document. Once the editor starts up you can rename the file using the File/Rename menu item.

Restoring your account to a pristine state

If your setup has become corrupted and you would like to start over again from a fresh setup, please do the following:

  1. start a Terminal using the New button in the file listing
  2. remove all files from your home directory using the command rm -rf $HOME
  3. stop your environment using the Control Panel button then Stop My Server
  4. log back in using https://et2022uidaho.ncsa.illinois.edu

This will restore all files to the state they were at your initial login.

Edit on GitHub