Suppose you need to prepare a new working solution from a stock solution
whose concentration is conc_i
. If the final concentration and volume are
conc_f
and vol_f
, then find_vol_i()
determines the volume of stock
solution to use (vol_i
), i.e. the aliquot volume. find_vol_i()
uses the
well-known Dilution Equation:
$$c_i v_i = c_f v_f$$
Thus, the initial or stock volume to aliquot is:
$$v_i = \frac{c_f v_f}{c_i}$$
Arguments
- conc_i
Initial or stock solution concentration.
- conc_f
New (or final) solution concentration.
- vol_f
New (or final) solution volume.
Value
A numeric vector whose values represent the volume of stock solution
to use. The units of these volumes are to be interpreted as the same as in
the final volume vol_f
.
Admonition
This function has no means of checking the correct usage of units in
concentrations and volumes. The user needs to ensure that the units are
coherent, i.e. use the same unit in conc_i
and conc_f
, e.g. M or uM; and
expect the same units as vol_f
in the final result.
Examples
# Stock solution concentration of 10 Molar (`conc_i`).
# Desired/new solution concentration of 5 Molar (`conc_f`).
# Final volume of the new solution: 1 Litre (`vol_f`).
find_vol_i(conc_i = 10, conc_f = 5, vol_f = 1)
#> [1] 0.5
# `find_vol_i()` is vectorised and applies tidyverse recycling
find_vol_i(conc_i = 10, conc_f = c(5, 5/2, 5/4, 5/8), vol_f = 1)
#> [1] 0.5000 0.2500 0.1250 0.0625