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

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.

2023 Summer Program Video

Our FANTASTIC 2023 Summer Interns!


FRONT ROW Left to Right: Linn Mallory, Avery Wenzel, Saraya Montgomery, Isabella Backus, Atiana Curtis, Aubrey Tern, Jennifer Castro
BACK ROW Left to Right: Cedric Morisseau, Jeremiah Ellison, Steven Faello, Xavier Amour, Rajat Saini

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

Our instructors

Richard Scalettar (and friends) Valentin Taufour Dubarrie Fagout Andrea Lopez-Arguello Alex Yue Kyoka Nagashima 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
Packing parachutes in
Rockets fit nicely on your finger Rocket Construction
Smoothing the paint
makes for better flights

Rocket Construction
Rockets can look nice too!
Rocket Construction
Rockets need fins for stable flight
Rocket Construction
Discussing how things work

Team #1 Team #2 Team #3

Some launch videos:
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
Ready for lift-off!

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

What we do- Part 5:
Other Activities, Lab Tours, Chemistry Show, Relaxing, End of Program
Chemistry show Chemistry show Chemistry show
Prof. Taufour's
Helium Recovery System
Lunch at Third and U Hammock on UC Davis quad
Hammock on UC Davis quad Hammock on UC Davis quad Selfie

"Graduation" Photo #1 "Graduation" Photo #2 "Graduation" Photo #3
"Graduation" Photo #4 "Graduation" Photo #5

A closing song by Pete Seeger (May 3, 1919 - January 27, 2014), an American folk singer.

This Land Is Your Land, This Land is My Land