Skip to content

Simulated lab experiment for 2022 U.S. Physics Team training camp

Notifications You must be signed in to change notification settings

USPhysicsTeam/2022-future-circular-collider

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Future Circular Collider

The Future Circular Collider is a simulated lab experiment authored for the 2022 U.S. Physics Team training camp. This repository contains the source code for the (command-line) programs used to run the simulation.

Where do I download the program?

There are two programs defined in this repository:

  • collision-black-box contains the main simulation program; this is probably the one you want.

  • cli-check is just a software-compatibility test meant to assess whether students were able to run and interact the simulation program correctly without giving away the actual content of the simulation lab. You probably don't care about this one.

Go to the Releases page, and under Assets, download the program whose name matches your operating system:

  • collision-black-box-linux: Linux-based operating systems.
  • collision-black-box-windows: Windows.
  • collision-black-box-macos: macOS.

Technical details on CPU architecture

All programs are built for the x86_64 architecture, which works for most systems. If you are on a different architecture, you'll have to compile this program from source using cargo (builder tool for Rust projects).

How do I run the program?

Running the program requires basic command-line literacy (see MDN's command-line crash course for a quick tutorial on how to navigate the command line).

Instructions:

  • cd to the directory/folder containing the downloaded program (usually your "Downloads" folder):

    cd ~/Downloads
  • macOS/Linux only-- mark the program as executable:

    # replace `*` below with `macos` or `linux` depending on your operating system
    chmod +x collision-black-box-*
  • Then, run the program by invoking the name of the downloaded executable file as a command. (The difference between macOS/Linux and Windows here is that macOS/Linux requires a ./ before the name; Windows does not.)

    • macOS/Linux:
      # replace `*` with `macos`/`linux`
      ./collision-black-box-*
    • On Windows:
      collision-black-box-windows
  • Running that command should print out a help page listing out available subcommands for running different parts of the simulation lab.

    • To run part 1 (Collision with Wall), use the subcommand wall:

      # macOS/Linux
      ./collision-black-box-* wall
      
      # Windows
      collision-black-box-windows wall
    • To run part 2 (Collision with Disk), use the subcommand disk:

      # macOS/Linux
      ./collision-black-box-* disk
      
      # Windows
      collision-black-box-windows disk

Compiling the program from source

Compiling the program requires moderate familiarity with the command-line and Rust's cargo tool. The main project is defined in the collision-black-box folder. First cd into that folder. Run the program directly with cargo run, or, alternatively, compile-and-install the program with cargo install --path . and then invoke the program as collision-black-box.

Acknowledgements and... copyright?

This simulation lab was designed and implemented by U.S. Physics Team Coaches Kevin Zhou and Kye Shi. Please cite us if you wish to distribute any copies or modified copies of this code.

About

Simulated lab experiment for 2022 U.S. Physics Team training camp

Resources

Stars

Watchers

Forks

Languages