isocon {GCDkit} | R Documentation |
Implementation of isocon plot after Grant (1986, 2005) widely used for quantitative estimates of changes in mass/volume/concentration of elements or oxides in course of various open-system geochemical processes such as alteration or partial melting.
isocon(x = NULL, whichelems = NULL, immobile = NULL, atomic = FALSE, plot = TRUE) isoconAtoms() isoconOxides()
x |
numeric matrix with the chemical data |
whichelems |
list of elements for plotting, separated by commas |
immobile |
list of presumed immobile elements, separated by commas |
atomic |
logical; should be atomic wt. % used for oxides? |
plot |
logical; is the graphical output desirable? |
Isocon plot (Grant 1986, 2005) spans from the theoretical quantitative treatment of losses or gains of geochemical species (elements or oxides). It is applicable to balancing mass, volume and/or concentration changes in course of open-system processes such as weathering, hydrothermal alteration, metasomatic addition/leaching or migmatitization.
According to Grant (2005 and references therein) the equation for composition/volume changes in open-system process can be written as:
c(A,i)=M0/MA*(c(0,i)+delta Ci)
where c(i) is the concentration of the species i, 0 refers to the original rock and A to the altered rock, M0 is the equivalent mass before and MA after alteration.
For immobile element (delta Ci = 0) the ratio M0/MA reflecting the overall change in mass can be obtained. This can be done graphically in the plot of the analytical data for presumed protolith (c(0,i)) and altered rock (c(A,i)). Such a straight line passing through the origin is termed isocon, the equation of which is:
cA = M0/MA*c0
Species plotting above the isocon were gained, whereas those plotting below were lost, and the gain or loss is according to Grant (2005):
delta ci = MA/M0*c(A,i)/c(0,i)-1
where c(A,i)/c(0,i) is the slope of the tie line from the origin to the data point.
In the GCDkit's implementation of the function 'isocon'
,
firstly the parental and altered rock samples are to be chosen interactively from
a binary plot MgO-SiO2. Then the user is prompted
for the elements/oxides to be used in the isocon analysis. Printed and plotted
in the form of barplots are ordered slopes for each data point in the isocon diagram.
The user can choose the presumably immobile elements. These can be either provided as a comma delimited list, or, if empty, chosen interactively from the isocon plot. Finally are plotted two isocons, as well as a blue equiline (a straight line with the slope 1).
Implemented are two methods for assessing the change in mass of the system.
Traditionally used has been the slope of the isocon line, obtained by linear
regression of the presumably immobile data (dark green). However, this
depends on the scaling of the isocon plot, which is arbitrary. In particular,
the data plotted close to the origin may appear erroneously
to lie on an isocon (Baumgartner & Olsen, 1995).
More objectively, the change in the mass can be estimated by clustering
slopes to data points, deciphering the elements/oxides with a similar behaviour and
averaging the slopes for the selected presumably immobile species.
Functions 'isoconAtoms' and 'isoconOxides' are frontends to the
function 'isocon'
, providing different default values. See Arguments above.
Returns a list 'results
' with the following components:
slope.regression |
slope obtained by linear regression |
slope.avg |
slope of the isocon obtained as an average of the slopes for the individual presumably 'immobile' species |
balance |
numeric matrix; balance of individual species. This matrix contains the following columns: |
XXX=orig. |
composition of the parental (unaltered) rock |
XXX=alt. |
composition of the altered rock |
Slope data point |
slope of the line connecting the data point with origin |
G/L rel.(LQ) |
relative mass gain/loss, isocon slope by least-squares fit |
G/L rel.(avg) |
relative mass gain/loss, averaged slopes for immobile elements |
G/L wt%/ppm(LQ) |
absolute mass gain/loss, isocon slope by least-squares fit |
G/L wt%/ppm(avg) |
absolute mass gain/loss, averaged slopes for immobile elements |
Isocon.r
Vojtěch Janoušek, vojtech.janousek@geology.cz
Baumgartner LP & Olsen SN (1995) A least-squares approach to mass transport calculations using the isocon method. Econ Geol 90: 1261-1270 doi: 10.2113/gsecongeo.90.5.1261
Grant JA (1986) The isocon diagram - a simple solution to Gresens equation for metasomatic alteration. Econ Geol 81: 1976-1982 doi: 10.2113/gsecongeo.81.8.1976
Grant JA (2005) Isocon analysis: A brief review of the method and applications. Phys Chem Earth (A) 30: 997-1004 doi: 10.1016/j.pce.2004.11.003
Gresens RL (1967) Composition-volume relationships of metasomatism. Chem Geol 2: 47-55 doi: 10.1016/0009-2541(67)90004-6
# We need to load any dataset to activate plugins data(sazava) accessVar("sazava") # Grant (2005) - see Tab. 1, Fig. 1 x<-matrix(c(46.45,1.29,14.30,11.05,0.17,5.28,12.14,2.93,0.49,3.00,3.29,42,327, 313,67,77,100,170,29,80,45.62,1.30,14.74,8.20,0.15,3.89,8.29,2.09,3.12,2.18, 10.96,39,305,282,42,75,72,214,17,140), byrow=TRUE,nrow=2) y<-"SiO2,TiO2,Al2O3,Fe2O3,MnO,MgO,CaO,Na2O,K2O,H2O,CO2,Sc,V,Cr,Ni,Cu,Zn,Sr,Y,Ba" colnames(x)<-unlist(strsplit(y,",")) rownames(x)<-c("UA","401") isocon(x,y,atomic=FALSE,immobile="Al2O3,SiO2,TiO2,Cu,Sc",plot=FALSE) isocon(x,y,atomic=TRUE,immobile="Al,Si,Ti,Cu,Sc",plot=FALSE) ## Not run: isocon(x,y,atomic=FALSE,plot=TRUE,immobile="Al2O3,SiO2,TiO2,Cu,Sc") isocon(x,y,atomic=TRUE,,plot=FALSE) isocon(x,y,atomic=TRUE,immobile="Al,Si,Ti,Cu,Sc",plot=FALSE) ## End(Not run)