Load libraries and functions
library(tidyverse) library(amstools) library(here) library(HybridGIS) theme_set(theme_bw()) options(digits = 3)
Used dual bellows sample inlet block. Attached capillary to sample-mass spec outlet (valve SM). Loaded Helium at SI, measured pressure with inlet gauge. Used two PEEK capillaries- 65um and 100um ID x 158cm long.
Presures in mBar, leak rate in mbar l/s.
r <- factor(c("5E-5", "5E-5", "5E-5", "3.3E-5", "3.3E-5", "3.3E-5")) press <- c(18, 30, 60, 18, 60, 103) leakrate <- c(6.3E-7, 3.8E-6, 1.8E-5, 5.7E-7, 8.8E-6, 2.5E-5) data <- data.frame(r, press, leakrate) #convert leak rate to Pa m3/s data <- mutate(data, leakrate = leakrate * 100 / 1000, # convert to Pa m3 s-1 sccm = leakrate / 0.0016, # convert to sccm co2sccm = sccm * 1.49E-5/1.90E-5, # co2/He viscosity flow = co2sccm * 1E3, # convert to ul/m press = press / 10) # convert to kPa ggplot(data, aes(press, flow, color = r)) + geom_line() + geom_point() + scale_color_discrete(name = "Diameter (um)", breaks = c("3.3E-5", "5E-5"), labels = c("65", "100")) + ggtitle("Flow vs Pressure for 65um and 100um PEEK capillaries")
No sign of discharge with PEEK capillaries Flow in 100um capillary seems low
Using 100um x 178mm glass capillary. Inlet to source, measured source pressure with source iso GV closed. No discharge observed for any capillary.
r <- 5E-5 press <- c(10, 25, 55, 112, 205, 312, 408, 500, 607, 702, 802, 1000) source <- c(7.1E-8, 7.2E-8, 7.6E-8, 8.5E-8, 1.6E-7, 6.2E-7, 1.2E-6, 1.9E-6, 2.8E-6, 3.8E-6, 4.8E-6, 7.3E-6) data <- data.frame(r, press, source) data <- mutate(data, press = press/10, # convert to kPa flow = flowcalc(press, 5E-5, 1.49E-5, 1.58) ) ggplot(data, aes(press, source)) + geom_line() + geom_point() + ggtitle("Source pressure vs inlet pressure, 100um Glass Capillary")
Calculated flow vs source pressure. Something fishy here.
ggplot(data, aes(flow, source)) + geom_line() + geom_point() + ggtitle("Source pressure vs CO2 flow, 100um Glass Capillary")
If the diameter of the capillary is adjusted to 50um, things look more realistic...
data <- mutate(data, flow = flowcalc(press, 2.5E-5, 1.49E-5, 1.58)) ggplot(data, aes(flow, source)) + geom_line() + geom_point() + ggtitle("Source pressure vs CO2 flow, if capillary is 50um id")
Black PEEK capillary, 100um x 158mm Connected between helium regulator and leak detector.
r <- 5E-5 press <- c(0, 35, 50, 75, 100, 140, 159, 190, 222, 20, 8, 0) #press <- press/10 # convert to kPa leakrate <- c(3.6E-11, 7.2E-7, 1.5E-6, 3.1E-6, 5.1E-6, 9.4E-6, 1.2E-5, 1.5E-5, 2.2E-5, 2.2E-7, 1.5E-8,1.4E-9) data <- data.frame(r, press, leakrate) data <- mutate(data, sccm = leakrate / 0.0016, # convert to sccm co2sccm = sccm * 1.49E-5/1.90E-5, # co2/He viscosity flow = co2sccm * 1E3, # convert to ul/m press = press / 10, calflow = flowcalc(press, 5E-5, 1.49E-5, 1.58), corcalflow = flowcalc(press, 2.5E-5, 1.49E-5, 1.58) ) # convert to kPa ggplot(data, aes(press, flow)) + geom_line() + geom_point() + ggtitle("Flow vs Pressure for 100um PEEK capillary")
Looks like calculated flows don't match up with measured. Is diameter of capillary wrong? Using a diameter of 50um in poiselle's gives better numbers...
ggplot(data, aes(flow, calflow)) + geom_line() + geom_point() + ggtitle("Predicted vs actual flow, 100um PEEK Capillary") ggplot(data, aes(flow, corcalflow)) + geom_line() + geom_point() + ggtitle("Predicted vs actual flow, if diameter = 50um")
Leak checker test of 100um x 178mm glass capillary.
r <- 5E-5 press <- c(0, 32, 64, 80, 110, 121, 150, 15, 10, 4) leakrate <- c(2E-9, 1.1E-6, 2.8E-6, 3.7E-6, 6.1E-6, 7.5E-6, 1.1E-5, 4.5E-7, 2.7E-7, 8.5E-8) data <- data.frame(r, press, leakrate) data <- mutate(data, sccm = leakrate / 0.0016, # convert to sccm co2sccm = sccm * 1.49E-5/1.90E-5, # co2/He viscosity flow = co2sccm * 1E3, # convert to ul/m press = press / 10, # convert to kPa calflow = flowcalc(press, 5E-5, 1.49E-5, 1.78)) ggplot(data, aes(press, flow)) + geom_line() + geom_point() + ggtitle("100um Glass Capillary, flow vs pressure") ggplot(data, aes(calflow, flow)) + geom_line() + geom_point() + ggtitle("100um Glass Capillary, measured vs predicted flow")
Used black PEEK capillary.
lpdata <- read.csv(here("data/14Nov2017LPtest.csv"), skip = 4) %>% mutate(supply = supply / 10, source = source * 1E-7, flow = flowcalc(supply, 2E-5, 1.49E-5, 1.58)) ggplot(lpdata, aes(supply, current)) + geom_smooth() + geom_point() + labs(x = "Inlet pressure (kPa)", y = "C12 Current") ggplot(lpdata, aes(supply, source)) + geom_smooth() + geom_point() + labs(x = "Inlet pressure (kPa)", y = "Source pressure (Pa)") ggplot(lpdata, aes(flow, source)) + geom_smooth() + geom_point() + labs(x = "Flow (ul/min)", y = "Source pressure (Pa)") ggplot(lpdata, aes(flow, current)) + geom_smooth() + geom_point() + labs(x = "Flow (ul/min)", y = "Source current (uA)") ggplot(lpdata, aes(source, current)) + geom_smooth(span = 1) + geom_point() + labs(x = "Source pressure (Torr)", y = "Source current (uA)")
Wired up stepper drives. Tested currents and flows with black PEEK capillary (nominally 100um id). Source works fine after cleaning clog from delivery tube at last source cleaning. Ran scan of inlet pressures, saw best currents at ~600mbar. Reduced pressure to 300mbar, closed SF, used bellows to return flow to optimum.
Using 100um x 178cm black PEEK capillary.
inletp in mbar, sourcep in Torr, current in uA.
# load data beldat <- read_csv(here("data/bellowsApr2518.csv")) beldat
belopen <- beldat %>% filter(bellows == 0) ggplot(belopen, aes(inletp, sourcep)) + geom_point() + geom_line()
Inlet pressure/source pressure relationship is about the same as last time. Still way more than calculated inlet pressure for a given source pressure. Capillary pinching at the swagelok connection or bad calculations?
Based on later alignment testing, flows for good current are reduced by about 3x with better alignment of delivery arm with target.
ggplot(belopen, aes(sourcep, c12cur)) + geom_line() + geom_point() + labs(x = "Source pressure (Torr)", y = "Source current (uA)")
Looks like we have about the same source pressure/current optima as before.
bellows <- beldat %>% filter(is.na(inletp) | inletp == 300) ggplot(bellows, aes(bellows, c12cur)) + geom_smooth(method = "lm") + geom_point() + labs(x = "Bellows position (0-120k)", y = "Source current (uA)")
As expected, source pressure and current follow bellows position, such that bellows position is proportional to inlet pressure.
Initially tried 2m x 100um glass capillary. There were two sparks with two different capillaries. Both sparks broke capillary at what is presumably spark exit point. Later open split tests with glass capillaries did not have sparking issue. Three differences with open split:
Ran OX-I's and OX-II's from bellows end archive tubes. All ~100umol.
3 gas samples: OX-I GS-9394 Pos 15 OX-II GS-10051 Pos 17 C-1 HY-31410 Pos 18
pos 8 is ox-i graphite
data <- get_hgis_data(here("data/USAMS052318RHIGS.txt")) %>% mutate(Num = ifelse(Pos == 15, "S", "U")) stdrat <- mean(data$cor1412he[data$Num == "S" & data$outlier == FALSE]) data <- mutate(data, normFm = norm_gas(cor1412he, stdrat)) plot_hgis_time(data)
The C-1 has some burn in that should be trimmed.
data <- filter(data, !(Pos == 18 & normFm > 0.06)) sum_hgis(data)
plot_hgis(data)
Cleaned and reloaded sample wheel: 2x ceylon, 2x ox-I, 8 gas cathodes. USAMS053018R.txt
Using Black PEEK capillary, 158mm x 100um.
Added needle valve for UHP helium to inlet. Using turbopump instead of cryo. Base pressures are about 1E-6 initially, 6E-7 after a few hours, and 4E-7 overnight. Cryo base pressures are around 1E-7.
Procedure:
Evacuate inlet. Add He and check source pressure vs. inlet pressure. Inlet pressure in mbar, source pressure in Torr.
# data from He pressure test he_press_test <- tribble(~inletp, ~sourcep, 0, 6.77, 52, 6.77, 102, 6.8, 202, 7, 303, 7.4, 400, 8, 516, 8.9, 603, 9.7, 705, 11, 806, 12, 905, 13) %>% mutate(sourcep = sourcep * 1E-7) ggplot(he_press_test, aes(inletp, sourcep)) + geom_point() + geom_line() + ggtitle("Source vs inlet pressure, Helium")
23 mbar CO2 frozen in inlet. Added 400 mbar He. Source pressure 8E-7, C12 .4uA. Compress to give source pressure of 4.8E-6, C12 of .6uA. Currents too low.
100mbar CO2 in inlet-SI frozen, 972mbar helium added. Source pressure 9E-6, 12C current 7.5uA. Made a 30m run on position 5 with this sample.
OX-II breakseal (GS-10016) run on position 6. 83.82umol CO2, 83mbar in inlet-SI. Froze sample and added 1035mbar helium. Base source pressure 1E-6, rose to 7E-6 with sample. Initial current 7.5uA 12C.
Load data from tests & runs
data <- get_hgis_data(here("data/USAMS053018R.txt"), as.Date("2018-05-30")) %>% mutate(Pos = ifelse(Sample.Name == "OX-II", 6, Pos), pos_name = paste(Pos, Sample.Name, sep = " - "), dil_factor = case_when(Pos == 5 ~ 972/100, Pos == 6 ~ 1035/83), Num = ifelse(Pos == 5, "S", "U")) stdrat <- mean(data$cor1412he[data$Num == "S"]) data <- mutate(data, normFm = norm_gas(cor1412he, stdrat)) plot_hgis_time(data)
data %>% filter(outlier == FALSE) %>% sum_hgis()
data %>% mutate(Fm = ifelse(normFm > .15, "modern", "dead"), Name = factor(pos_name, levels = unique(pos_name[order(Fm, dil_factor)])), Fm = ordered(Fm, levels = c("modern", "dead")), dil_factor = factor(dil_factor)) %>% ggplot(aes(Name, normFm, fill = dil_factor)) + geom_boxplot() + geom_hline(data = data.frame(yint=1,Fm=ordered("modern", levels = c("modern", "dead"))), aes(yintercept = yint)) + geom_hline(data = data.frame(yint=0,Fm=ordered("dead", levels = c("modern", "dead"))), aes(yintercept = yint)) + theme(axis.text.x = element_text(angle = 45, hjust=1)) + labs(x = NULL, y = "Fraction Modern") + facet_grid(Fm~., scales = "free_y")
Lowered arm by a full turn, moved actuator clevis down by one turn. Some additional alignment testing: Move arm, test current, repeat. Best flow/current- 9uA at source pressure of 7E-7 Torr.
Reterminated black PEEK capillary.
Calc for best flow:
r <- 5E-5 u <- 1.49E-5 x <- 1.58 flowcalc(20, r, u, x)
12C current vs source pressure before and after delivery arm realignment.
flowdat <- read.csv(here("data/DIflowJun618.csv")) ggplot(flowdat, aes(source, current, color = Alignment)) + geom_line() + geom_point() + labs(x = "Source pressure (Torr)", y = "Source current (uA)") str(flowdat)
Data from runs is in USAMS060618R.txt. Not 100% certain which samples are in which positions. Data look like 3 modern tank gas.
data <- get_hgis_data(here("data/USAMS060618R.txt")) %>% filter(Pos != 1, #remove spurious pos1 runs !(Pos == 3 & X13.12he > 0.011)) %>% #remove solid OX-I fliers mutate(Num = ifelse(Pos == 5, "S", "U")) # Get mean ratio for solid OX-I and normalize data stdrat <- mean(data$cor1412he[data$Num == "S" & data$outlier == FALSE]) data <- mutate(data, normFm = norm_gas(cor1412he, stdrat)) plot_hgis_time(data)
sum_hgis(data)
plot_hgis(data)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.