Calculating liquid densities
The VESIcal.calculate_liquid_density()
function calculates the density of the silicate liquid given composition, temperature, and pressure. The function uses the DensityX model of Iacovino and Till (2019). No other models are currently available for this calculation.
Method Structure
Single sample:
def calculate_liquid_density(self, sample, pressure, temperature).result
BatchFile process:
def calculate_liquid_density(self, pressure, temperature)
Required inputs:
sample
: Only for single-sample calculations. The composition of a sample as Sample class.
pressure
: The pressure in bars. For BatchFile calculations, if pressure information is present in the file (e.g., as a column with unique pressure values for each sample), this can be accessed by passing the column name in quotes to the pressure variable.
temperature
: The temperature in degres C. For BatchFile calculations, if temperature information is present in the file (e.g., as a column with unique temperature values for each sample), this can be accessed by passing the column name in quotes to the temperature variable.
Calculated outputs: The density of the liquid in grams per liter, rounded to 3 dp.
For an entire dataset
Import a data file
myfile = v.BatchFile('example_data.xlsx')
myfile.get_data()
Label |
SiO2 |
TiO2 |
Al2O3 |
Fe2O3 |
Cr2O3 |
FeO |
MnO |
MgO |
NiO |
CoO |
CaO |
Na2O |
K2O |
P2O5 |
H2O |
CO2 |
Press |
Temp |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BT-ex |
77.5 |
0.08 |
12.5 |
0.207 |
0 |
0.473 |
0 |
0.03 |
0 |
0 |
0.43 |
3.98 |
4.88 |
0 |
5.5 |
0.05 |
500 |
900 |
TVZMa-ex |
78.37 |
0.13 |
11.94 |
0 |
0 |
0.99 |
0.04 |
0.05 |
0 |
0 |
0.53 |
3.8 |
4.14 |
0 |
4.06 |
0.005 |
600 |
800 |
TVZOh-ex |
77.9 |
0.08 |
12.15 |
0 |
0 |
0.95 |
0.05 |
0.06 |
0 |
0 |
0.55 |
4.05 |
4.12 |
0 |
4.63 |
0.005 |
50 |
900 |
Oh48-FTIR1-MI1-a |
78.27 |
0.0298 |
12.02 |
0 |
0 |
0.9828 |
0.0336 |
0.0515 |
0 |
0 |
0.4772 |
4.05 |
4.09 |
0 |
4.214912406 |
0.004565932 |
250 |
950 |
Oh48-FTIR1-MI1-b |
78.27 |
0.0298 |
12.02 |
0 |
0 |
0.9828 |
0.0336 |
0.0515 |
0 |
0 |
0.4772 |
4.05 |
4.09 |
0 |
4.005815793 |
0.004447963 |
500 |
1025 |
Oh48-FTIR1-MI1-IRc |
78.27 |
0.0298 |
12.02 |
0 |
0 |
0.9828 |
0.0336 |
0.0515 |
0 |
0 |
0.4772 |
4.05 |
4.09 |
0 |
3.885649341 |
0.004654367 |
5000 |
925 |
Oh50-4.1 |
77.91 |
0.0984 |
12.07 |
0 |
0 |
1.0556 |
0.0257 |
0.0999 |
0 |
0 |
0.5216 |
4.04 |
4.18 |
0 |
4.641842879 |
0.004565932 |
1000 |
862 |
Oh50-4.2 |
77.91 |
0.0984 |
12.07 |
0 |
0 |
1.0556 |
0.0257 |
0.0999 |
0 |
0 |
0.5216 |
4.04 |
4.18 |
0 |
4.402133476 |
0.004447963 |
100 |
770 |
Oh49-4.1 |
77.92 |
0.0099 |
12.11 |
0 |
0 |
1.002 |
0.0672 |
0.0546 |
0 |
0 |
0.5346 |
4.01 |
4.3 |
0 |
4.283934433 |
0.004565932 |
1000 |
855 |
Oh49-4.2 |
77.92 |
0.0099 |
12.11 |
0 |
0 |
1.002 |
0.0672 |
0.0546 |
0 |
0 |
0.5346 |
4.01 |
4.3 |
0 |
4.230532593 |
0.004447963 |
500 |
1000 |
Ma55-5a.1 |
77.68 |
0.0096 |
12.27 |
0 |
0 |
1.0272 |
0.0628 |
0.0342 |
0 |
0 |
0.6064 |
3.97 |
4.35 |
0 |
4.459767403 |
0.004654367 |
5000 |
1010 |
Ma57-3b.2 |
77.9 |
0.0498 |
12.07 |
0 |
0 |
1.0844 |
0.0748 |
0.0355 |
0 |
0 |
0.4759 |
4.1 |
4.21 |
0 |
3.712506046 |
0.004447963 |
1000 |
1012 |
Ma57-3c.1 |
77.65 |
0.159 |
12.28 |
0 |
0 |
0.9769 |
0.0597 |
0.0577 |
0 |
0 |
0.5598 |
4.08 |
4.18 |
0.0064 |
4.443973024 |
0.004654367 |
100 |
885 |
Ma57-3c.2 |
77.65 |
0.159 |
12.28 |
0 |
0 |
0.9769 |
0.0597 |
0.0577 |
0 |
0 |
0.5598 |
4.08 |
4.18 |
0.0064 |
4.283171078 |
0.004644523 |
1000 |
885 |
Do the calculation
densities = myfile.calculate_liquid_density(pressure=1000, temperature=900)
densities
SiO2 |
TiO2 |
Al2O3 |
Fe2O3 |
Cr2O3 |
FeO |
MnO |
MgO |
NiO |
CoO |
CaO |
Na2O |
K2O |
P2O5 |
H2O |
CO2 |
Press |
Temp |
Density_liq_VESIcal |
Temperature_C_VESIcal |
Pressure_bars_VESIcal |
Model |
Warnings |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BT-ex |
77.5 |
0.08 |
12.5 |
0.207 |
0.0 |
0.473 |
0.0 |
0.03 |
0.0 |
0.0 |
0.43 |
3.98 |
4.88 |
0.0 |
5.5 |
0.05 |
500 |
900 |
2142.827 |
900 |
1000 |
DensityX |
|
TVZMa-ex |
78.37 |
0.13 |
11.94 |
0.0 |
0.0 |
0.99 |
0.04 |
0.05 |
0.0 |
0.0 |
0.53 |
3.8 |
4.14 |
0.0 |
4.06 |
0.005 |
600 |
800 |
2193.334 |
900 |
1000 |
DensityX |
|
TVZOh-ex |
77.9 |
0.08 |
12.15 |
0.0 |
0.0 |
0.95 |
0.05 |
0.06 |
0.0 |
0.0 |
0.55 |
4.05 |
4.12 |
0.0 |
4.63 |
0.005 |
50 |
900 |
2174.673 |
900 |
1000 |
DensityX |
|
Oh48-FTIR1-MI1-a |
78.27 |
0.0298 |
12.02 |
0.0 |
0.0 |
0.9828 |
0.0336 |
0.0515 |
0.0 |
0.0 |
0.4772 |
4.05 |
4.09 |
0.0 |
4.214912406 |
0.004565932 |
250 |
950 |
2187.622 |
900 |
1000 |
DensityX |
|
Oh48-FTIR1-MI1-b |
78.27 |
0.0298 |
12.02 |
0.0 |
0.0 |
0.9828 |
0.0336 |
0.0515 |
0.0 |
0.0 |
0.4772 |
4.05 |
4.09 |
0.0 |
4.005815793 |
0.004447963 |
500 |
1025 |
2194.799 |
900 |
1000 |
DensityX |
|
Oh48-FTIR1-MI1-IRc |
78.27 |
0.0298 |
12.02 |
0.0 |
0.0 |
0.9828 |
0.0336 |
0.0515 |
0.0 |
0.0 |
0.4772 |
4.05 |
4.09 |
0.0 |
3.885649341 |
0.004654367 |
5000 |
925 |
2198.958 |
900 |
1000 |
DensityX |
|
Oh50-4.1 |
77.91 |
0.0984 |
12.07 |
0.0 |
0.0 |
1.0556 |
0.0257 |
0.0999 |
0.0 |
0.0 |
0.5216 |
4.04 |
4.18 |
0.0 |
4.641842879 |
0.004565932 |
1000 |
862 |
2175.721 |
900 |
1000 |
DensityX |
|
Oh50-4.2 |
77.91 |
0.0984 |
12.07 |
0.0 |
0.0 |
1.0556 |
0.0257 |
0.0999 |
0.0 |
0.0 |
0.5216 |
4.04 |
4.18 |
0.0 |
4.402133476 |
0.004447963 |
100 |
770 |
2183.805 |
900 |
1000 |
DensityX |
|
Oh49-4.1 |
77.92 |
0.0099 |
12.11 |
0.0 |
0.0 |
1.002 |
0.0672 |
0.0546 |
0.0 |
0.0 |
0.5346 |
4.01 |
4.3 |
0.0 |
4.283934433 |
0.004565932 |
1000 |
855 |
2186.445 |
900 |
1000 |
DensityX |
|
Oh49-4.2 |
77.92 |
0.0099 |
12.11 |
0.0 |
0.0 |
1.002 |
0.0672 |
0.0546 |
0.0 |
0.0 |
0.5346 |
4.01 |
4.3 |
0.0 |
4.230532593 |
0.004447963 |
500 |
1000 |
2188.267 |
900 |
1000 |
DensityX |
|
Ma55-5a.1 |
77.68 |
0.0096 |
12.27 |
0.0 |
0.0 |
1.0272 |
0.0628 |
0.0342 |
0.0 |
0.0 |
0.6064 |
3.97 |
4.35 |
0.0 |
4.459767403 |
0.004654367 |
5000 |
1010 |
2181.905 |
900 |
1000 |
DensityX |
|
Ma57-3b.2 |
77.9 |
0.0498 |
12.07 |
0.0 |
0.0 |
1.0844 |
0.0748 |
0.0355 |
0.0 |
0.0 |
0.4759 |
4.1 |
4.21 |
0.0 |
3.712506046 |
0.004447963 |
1000 |
1012 |
2206.841 |
900 |
1000 |
DensityX |
|
Ma57-3c.1 |
77.65 |
0.159 |
12.28 |
0.0 |
0.0 |
0.9769 |
0.0597 |
0.0577 |
0.0 |
0.0 |
0.5598 |
4.08 |
4.18 |
0.0064 |
4.443973024 |
0.004654367 |
100 |
885 |
2182.637 |
900 |
1000 |
DensityX |
|
Ma57-3c.2 |
77.65 |
0.159 |
12.28 |
0.0 |
0.0 |
0.9769 |
0.0597 |
0.0577 |
0.0 |
0.0 |
0.5598 |
4.08 |
4.18 |
0.0064 |
4.283171078 |
0.004644523 |
1000 |
885 |
2188.106 |
900 |
1000 |
DensityX |
For a single sample
Extract a single sample from your dataset
SampleName = 'BT-ex'
extracted_bulk_comp = myfile.get_sample_composition(SampleName, asSampleClass=True)
Do the calculation
v.calculate_liquid_density(sample=extracted_bulk_comp, pressure=1000, temperature=900).result
2142.827