University of California, Davis
Department of Physics and Astronomy
High School Apprenticeship Program in Computational Physics: Summer 2024

Sponsored by:

    The United States Department of Energy

"The mission of the Energy Department is to ensure America's security and prosperity by addressing its energy, environmental and nuclear challenges through transformative science and technology solutions. "

Supported by:

    The National Nuclear Security Administration

"Established by Congress in 2000, NNSA is a semi-autonomous agency within the U.S. Department of Energy responsible for enhancing national security through the military application of nuclear science."

Administrated by:

    Oak Ridge Institute of Science Education

"Supporting DOE and other federal agencies' missions to strengthen the nation's science education and research initiatives"
Special thanks to Jennifer Tyrell, STEM Workforce Development, ORISE.

2024 Summer Program Video

Our FANTASTIC 2024 Summer Interns (and Mentors)!


FRONT ROW Left to Right: Maxwell Wright, Dubarrie Fagout, Aubrey Underwood, Larisa Sandoval, Ryan Nair, Mandy Lam,
Richard Scalettar, Ryan Larson, Riley McCullough, Aaron Swartzlander, Cesario St. John Del Valle
BACK ROW Left to Right: Anais Castillo, Brielle Amadi, Torrance Yelverton, Nehemiah Wamala, Mariam Imran, Jeigh Smith-Castillo,
Heri Kitenza, Isaac Fontaine, Tyler Joy

Our students come from River City High School in West Sacramento.

Our instructors

Richard Scalettar (and friends) Miriam Imran Dubarrie Fagout Andrea Lopez-Arguello Dale March Anais Castillo Maxwell Wright

What we do- Part 1:

We learn to code in python! This program computes the trajectory of our rockets. It is the final version which includes
the variation of mass as the rocket engine burns and also the effects of air resistance!!

# THIS IS NEEDED TO USE ARRAYS IN PYTHON:
from array import *
# THIS IS NEEDED TO MAKE PLOTS IN PYTHON:
import matplotlib.pyplot as plt
# INPUTS
dt=float(input('Enter dt: '))
m0 =float(input('Enter starting mass: '))
y =0.001
ymax=0.
v =float(input('Enter v0: '))
g = -9.8
THR =float(input('Enter thrust: '))
tTHR =float(input('Enter duration of thrust: '))
pm =float(input('Enter propellant mass : '))
b =float(input('Enter air resistance: '))
# START OFF TIME, POSITION, VELOCITY ARRAYS
time =array('f', [0.])
ysave=array('f',[y])
vsave=array('f',[v])
# DO THE MD AND APPEND EACH NEW TIME,
POSITION, AND VELOCITY TO ITS ARRAY
t=0.0
while y > 0:
    t=t+dt
    y=y+v*dt
    if (y > ymax):
        ymax=y
    if (t < tTHR):
        m=m0-pm*t/tTHR
        F=THR+m*g-b*v
        v=v+(F/m)*dt
    else:
        m=m0-pm
        F=m*g-b*v
        v=v+(F/m)*dt
    if (abs(t-tTHR)<=dt/2):
        print('height when engines turn off',y)
    time.append(t)
    ysave.append(y)
    vsave.append(v)
print('time of flight',t)
print('apogee ',ymax)
plt.plot(time, ysave)
plt.xlabel('t')
plt.ylabel('y')
plt.show()

We build Estes rockets and we test our code against real data!!! The python code works really well!!!

Athena Rocket Data comparison
with two engine types
AStrocam and Phantom Blue
Rocket Data comparison
Patriot Rocket Data comparison
Athena Rocket Data comparison
Now including air resistance
The Teams and
all their data.

What we do- Part 2:

We build and fly rockets. This involves learning constuction techniques, basic principles of rocket engines, etc.
We then compare to codes which compute trajectories.

Rocket Construction Getting ready to Launch Rockets Getting ready to Launch Rockets

Some launch videos (from 2023 program):
Astrocam launch
Phantom launch
Patriot launch
Andrea's model
Another Astrocam
Yet Another Astrocam

What we do- Part 3
We build and fly drones. This involves learning some electronics, computer interfacing, how to solder, mechanical construction, etc.

Drone Construction
Attaching the motor
Rotors must be carefully balanced! Dale leads drone construction Navigating the obstacle course.

What we do- Part 4:
Learning to Code in Python: We start with a code for oscillatory motion.
Learning molecular dymanics Writing the code Even the drones need code

What we do- Part 5:
Other Activities: Liquid Nitrogen, UC Davis Labs
Helium Recovery System Liquid Nitrogen Experiments More Liquid Nitrogen Experiments Prof. Taufour's Lab

Color Me America