next up previous
Next: species Up: CHNOSZ examples Previous: makeup

basis

basis>   ## Don't show: 
basis> data(thermo)
thermo$obigt has 1800 aqueous, 2925 total species

basis> ## End Don't show
basis>   ## define basis species
basis>   basis("O2")  # one element
   O ispecies logact state
O2 2     2691      0   gas

basis>   basis(c("H2O","O2"))  # two elements
basis: changed basis to H2O O2.
    H O ispecies logact state
H2O 2 1        1      0   liq
O2  0 2     2691      0   gas

basis>   basis(c("H2O","O2","H+"))
basis: changed basis to H2O O2 H+.
    H O Z ispecies logact state
H2O 2 1 0        1      0   liq
O2  0 2 0     2691      0   gas
H+  1 0 1        3      0    aq

basis>   ## Not run: 
basis> ##D     # marked dontrun because they produce intentional errors
basis> ##D     # fewer basis species than elements
basis> ##D     basis(c("H2O","H+"))
basis> ##D     # more basis species than elements
basis> ##D     basis(c("H2O","O2","H2","H+"))
basis> ##D     # non-independent basis species
basis> ##D     basis(c("CO2","H2O","HCl","Cl-","H+"))
basis> ##D   
basis> ## End(Not run)
basis> 
basis>   ## specify activities and states
basis>   basis(c("H2O","O2","CO2"),c(-2,-78,-3),c("liq","gas","aq"))
    C H O ispecies logact state
H2O 0 2 1        1     -2   liq
O2  0 0 2     2691    -78   gas
CO2 1 0 2       69     -3    aq

basis>   # change logarithms of activities/fugacities
basis>   basis(c("H2O","O2"),c(0,-80))
    C H O ispecies logact state
H2O 0 2 1        1      0   liq
O2  0 0 2     2691    -80   gas
CO2 1 0 2       69     -3    aq

basis>   # change state of CO2
basis>   basis("CO2","gas")
    C H O ispecies logact state
H2O 0 2 1        1      0   liq
O2  0 0 2     2691    -80   gas
CO2 1 0 2     2683     -3   gas

basis>   ## get the basis stoichiometry of species
basis>   basis("CHNOS")
    C H N O S ispecies logact state
CO2 1 0 0 2 0       69     -3    aq
H2O 0 2 0 1 0        1      0   liq
NH3 0 3 1 0 0       68     -4    aq
H2S 0 2 0 0 1       70     -7    aq
O2  0 0 0 2 0     2691    -80   gas

basis>   ispecies <- info(c("glutamic acid","phenylalanine"))
info: glutamic acid (C5H9NO4) available in aq, cr.
info: phenylalanine (C9H11NO2) available in aq, cr.
info: 1514 refers to glutamic acid, C5H9NO4 aq (AH97b, DLH06, 25.Aug.06)
info: 1526 refers to phenylalanine, C9H11NO2 aq (AH97b, DLH06, 25.Aug.06)

basis>   basis(ispecies)
  CO2 H2O NH3 H2S    O2
1   5   3   1   0  -4.5
2   9   4   1   0 -10.0

basis>   ## changing basis species
basis>   b1 <- basis("CHNOS+")

basis>   # different basis species, same elements
basis>   b2 <- basis(c("HCO3-","H2O","NH4+","HS-","H2","H+"))
basis: changed basis to HCO3- H2O NH4+ HS- H2 H+.
basis: elements unchanged. maintaining elemental chemical potentials.

basis>   # back to starting basis species
basis>   b3 <- basis(c("CO2","H2O","NH3","H2S","O2","H+"))
basis: changed basis to CO2 H2O NH3 H2S O2 H+.
basis: elements unchanged. maintaining elemental chemical potentials.

basis>   stopifnot(all.equal(b1$logact,b3$logact))

basis>   ## changing the basis species
basis>   basis("MgCHNOPS+") 
      C H Mg N O P S  Z ispecies logact state
Mg+2  0 0  1 0 0 0 0  2        9     -3    aq
CO2   1 0  0 0 2 0 0  0       69     -3    aq
H2O   0 2  0 0 1 0 0  0        1      0   liq
NH3   0 3  0 1 0 0 0  0       68     -4    aq
H3PO4 0 3  0 0 4 1 0  0       73     -3    aq
H2S   0 2  0 0 0 0 1  0       70     -7    aq
e-    0 0  0 0 0 0 0 -1        2     -7    aq
H+    0 1  0 0 0 0 0  1        3     -7    aq

basis>   # load species whose names are like "ATP"
basis>   species(info("ATP ")[[1]])
info: no match for ATP .
info: approximately matching species are:
         name   abbrv           formula state
1678    ATP-4    <NA>   C10H12N5O13P3-4    aq

1679   HATP-3    <NA>   C10H13N5O13P3-3    aq
1680  H2ATP-2    <NA>   C10H14N5O13P3-2    aq
1681   H3ATP-    <NA>    C10H15N5O13P3-    aq
1682    H4ATP    <NA>     C10H16N5O13P3    aq
1703   dATP-4    <NA>   C10H12N5O12P3-4    aq
1704  dHATP-3    <NA>   C10H13N5O12P3-3    aq
1705 dH2ATP-2    <NA>   C10H14N5O12P3-2    aq
1706  dH3ATP-    <NA>    C10H15N5O12P3-    aq
1707   dH4ATP    <NA>     C10H16N5O12P3    aq
1736  MgATP-2 MgATP-2 MgC10H12N5O13P3-2    aq
1737  MgHATP- MgHATP-  MgC10H13N5O13P3-    aq
1738  MgH2ATP MgH2ATP   MgC10H14N5O13P3    aq
1739   Mg2ATP  Mg2ATP  Mg2C10H12N5O13P3    aq
   Mg+2 CO2 H2O NH3 H3PO4 H2S e- H+ ispecies logact state     name
1     0  10 -19   5     3   0 30 26     1678     -3    aq    ATP-4
2     0  10 -19   5     3   0 30 27     1679     -3    aq   HATP-3
3     0  10 -19   5     3   0 30 28     1680     -3    aq  H2ATP-2
4     0  10 -19   5     3   0 30 29     1681     -3    aq   H3ATP-
5     0  10 -19   5     3   0 30 30     1682     -3    aq    H4ATP
6     0  10 -20   5     3   0 32 28     1703     -3    aq   dATP-4
7     0  10 -20   5     3   0 32 29     1704     -3    aq  dHATP-3
8     0  10 -20   5     3   0 32 30     1705     -3    aq dH2ATP-2
9     0  10 -20   5     3   0 32 31     1706     -3    aq  dH3ATP-
10    0  10 -20   5     3   0 32 32     1707     -3    aq   dH4ATP
11    1  10 -19   5     3   0 30 26     1736     -3    aq  MgATP-2
12    1  10 -19   5     3   0 30 27     1737     -3    aq  MgHATP-
13    1  10 -19   5     3   0 30 28     1738     -3    aq  MgH2ATP
14    2  10 -19   5     3   0 30 26     1739     -3    aq   Mg2ATP

basis>   # different basis species, but same elements
basis>   basis(c("MgSO4","HCHO","CH4","NO","CO","H3PO4","CS2","OH-"))
basis: changed basis to MgSO4 HCHO CH4 NO CO H3PO4 CS2 OH-.
basis: elements unchanged. maintaining elemental chemical potentials.
basis: restoring species using new basis definition.
      C H Mg N O P S  Z ispecies     logact state
MgSO4 0 0  1 0 4 0 1  0      881  77.551602    aq
HCHO  1 2  0 0 1 0 0  0      255 -65.913719    aq
CH4   1 4  0 0 0 0 0  0       80 -93.478925    aq
NO    0 0  0 1 1 0 0  0     1486   1.890505    aq
CO    1 0  0 0 1 0 0  0      252 -36.043086    aq
H3PO4 0 3  0 0 4 1 0  0       73  -3.000000    aq
CS2   1 0  0 0 0 0 2  0     2597 -22.719651   liq
OH-   0 1  0 0 1 0 0 -1       21  -6.995296    aq

basis>   species()  # formation reactions were updated
   MgSO4  HCHO  CH4 NO   CO H3PO4  CS2 OH- ispecies logact state     name
1      0 -36.5 18.0  5 28.5     3  0.0   4     1678     -3    aq    ATP-4
2      0 -33.5 17.0  5 26.5     3  0.0   3     1679     -3    aq   HATP-3
3      0 -30.5 16.0  5 24.5     3  0.0   2     1680     -3    aq  H2ATP-2
4      0 -27.5 15.0  5 22.5     3  0.0   1     1681     -3    aq   H3ATP-
5      0 -24.5 14.0  5 20.5     3  0.0   0     1682     -3    aq    H4ATP
6      0 -38.5 19.0  5 29.5     3  0.0   4     1703     -3    aq   dATP-4
7      0 -35.5 18.0  5 27.5     3  0.0   3     1704     -3    aq  dHATP-3
8      0 -32.5 17.0  5 25.5     3  0.0   2     1705     -3    aq dH2ATP-2
9      0 -29.5 16.0  5 23.5     3  0.0   1     1706     -3    aq  dH3ATP-
10     0 -26.5 15.0  5 21.5     3  0.0   0     1707     -3    aq   dH4ATP
11     1 -40.5 20.5  5 30.5     3 -0.5   2     1736     -3    aq  MgATP-2
12     1 -37.5 19.5  5 28.5     3 -0.5   1     1737     -3    aq  MgHATP-
13     1 -34.5 18.5  5 26.5     3 -0.5   0     1738     -3    aq  MgH2ATP
14     2 -44.5 23.0  5 32.5     3 -1.0   0     1739     -3    aq   Mg2ATP


next up previous
Next: species Up: CHNOSZ examples Previous: makeup