CoCalc Public Filestmp / 2016-03-06-205753-plot.sagews
Authors: Harald Schilly, ℏal Snyder, William A. Stein
%latex
The following shows the pressure inside the chamber as a function of the piston displacement,
assuming that the piston distends a membrane via a circular disk of diameter D1 and that the chamber has
cylindrical dimensions D2 and L. I calculated the change in volume by rotating a solid about the x-axis.
$$\mathrm{d}V = \int_0^\delta \! A(x) \, \mathrm{d}x$$ where $A(x)$ is the area of the extra volume created by the piston movement
and delta is the piston displacement. Therefore $$V_2 = V_1 + \mathrm{d}V$$ and $$P2 = P1\frac{V1}{V2}$$
To stay within the range of the PNAS paper pressures, the min negative pressure is $$100-5.3329 = 94.6671 kPa$$

import numpy as np
#constants
D1 = .01 #Diameter of piston disk
P1 = 100 #kpa
D2 = .05 #meters Diameter of vacuum chamber
L = .015 #meters length of cylinder
CPM = 90 #cycles per minute (sucks per minute)
ang_vel = CPM *2*pi()/60 #angular velocity of motor

SSVacuum = 0 #steady state vacuum pressure kPa provided by secondary motor

pistonDisplacement = .02

hose_V = 0 #placeholder for now
cup_V = 0 #placeholder for now

V1 = pi*D2*L + hose_V + cup_V

def delta(t):
"""
Piston displacement as function of time.
"""
return pistonDisplacement/2*sin(ang_vel*t-pi()/2)+.01

#P2 equation assumes geometry constraints outlined above.
P2(t) = P1*(V1/(V1+(D1*delta(t)/2 + (D2*delta(t)^2)/8 - (D1*delta(t)^2)/8)))

plot(P2(t), (t, 0, 2),title='Pressure Curve as function of time', axes_labels=['$t$','Pressure (kPa)'])