Calculating liquid viscosities

The VESIcal.calculate_liquid_viscosity() function calculates the viscosity of the silicate liquid given composition and temperature. The function uses the model of Giordano et al (2008). No other models are currently available for this calculation.

Method Structure

Single sample:

def calculate_liquid_viscosity(self, sample, temperature).result

BatchFile process:

def calculate_liquid_viscosity(self, temperature)

Required inputs:

sample: Only for single-sample calculations. The composition of a sample as Sample class.

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 Log viscosity of the liquid in Pa*s, rounded to 4 dp.

For an entire dataset

Import a data file

myfile = v.BatchFile('example_data.xlsx')
myfile.get_data()
Output
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

viscosities = myfile.calculate_liquid_viscosity(temperature=900)
viscosities
Output
  SiO2 TiO2 Al2O3 Fe2O3 Cr2O3 FeO MnO MgO NiO CoO CaO Na2O K2O P2O5 H2O CO2 Press Temp Viscosity_liq_VESIcal Temperature_C_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 3.9209 900 Giordano et al. (2008)  
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 4.6534 900 Giordano et al. (2008)  
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 4.3229 900 Giordano et al. (2008)  
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 4.5219 900 Giordano et al. (2008)  
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 4.6215 900 Giordano et al. (2008)  
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 4.6803 900 Giordano et al. (2008)  
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 4.3073 900 Giordano et al. (2008)  
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 4.4138 900 Giordano et al. (2008)  
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 4.4602 900 Giordano et al. (2008)  
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 4.4849 900 Giordano et al. (2008)  
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 4.3743 900 Giordano et al. (2008)  
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 4.7267 900 Giordano et al. (2008)  
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 4.3889 900 Giordano et al. (2008)  
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 4.4623 900 Giordano et al. (2008)  

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_viscosity(sample=extracted_bulk_comp, temperature=900).result
3.9209