print('{0}: {1:.0e}% at {2:.0f} GPa and {3:.0f} K'.format(variables[j], percentage_diff[i, j], PT[i][0], PT[i][1]))
print('')


print('Check excess entropy and landau in SLB2011')

file = '../../burnman/data/input_perplex/test_SLB_entropy_and_landau.dat'

f = open(file, 'r')

mins = {}
mins['Wus'] = SLB_2011.wuestite()
mins['Per'] = SLB_2011.periclase()
mins['Wad'] = SLB_2011.mg_wadsleyite()
mins['Ring'] = SLB_2011.mg_ringwoodite()
mins['Stv'] = SLB_2011.stishovite()

variables = ['H', 'S', 'V', 'C_p', 'alpha', 'K_T', 'rho']
percentage_diff = []
mineral_names = []

print(variables)
datalines = [line.strip().split()
             for idx, line in enumerate(f.read().split('\n')) if line.strip() and idx > 0]
for line in datalines:
    m = mins[line[0]]
    mineral_names.append(m.name)
    data = map(float, line[1:])
    P, T, M, H, S, V, C_p, alpha, beta, C_p_over_C_v, rho = data
    PT.append([P, T])
    P = P * 1.e9
Ejemplo n.º 2
0
run_gt_solvus = True
run_fper_ol = True
run_fixed_ol_composition = True
run_upper_mantle = True
run_lower_mantle = True
run_olivine_polymorphs = True

gt = SLB_2011.garnet()
ol = SLB_2011.mg_fe_olivine()
wad = SLB_2011.mg_fe_wadsleyite()
rw = SLB_2011.mg_fe_ringwoodite()
bdg = SLB_2011.mg_fe_bridgmanite()
ppv = SLB_2011.post_perovskite()
fper = SLB_2011.ferropericlase()
opx = SLB_2011.orthopyroxene()
stv = SLB_2011.stishovite()
coe = SLB_2011.coesite()
cpv = SLB_2011.ca_perovskite()

if __name__ == "__main__" and run_aluminosilicates:
    """
    Creates the classic aluminosilicate diagram involving
    univariate reactions between andalusite, sillimanite and kyanite.
    """
    sillimanite = HP_2011_ds62.sill()
    andalusite = HP_2011_ds62.andalusite()
    kyanite = HP_2011_ds62.ky()

    # First, find the pressure and temperature of the invariant point
    composition = sillimanite.formula
    assemblage = burnman.Composite([sillimanite, andalusite, kyanite])
print('{0}: {1:.0e}% at {2:.0f} GPa and {3:.0f} K'.format(
    variables[j], percentage_diff[i, j], PT[i][0], PT[i][1]))
print('')

print('Check excess entropy and landau in SLB2011')

file = '../../burnman/data/input_perplex/test_SLB_entropy_and_landau.dat'

f = open(file, 'r')

mins = {}
mins['Wus'] = SLB_2011.wuestite()
mins['Per'] = SLB_2011.periclase()
mins['Wad'] = SLB_2011.mg_wadsleyite()
mins['Ring'] = SLB_2011.mg_ringwoodite()
mins['Stv'] = SLB_2011.stishovite()

variables = ['H', 'S', 'V', 'C_p', 'alpha', 'K_T', 'rho']
percentage_diff = []
mineral_names = []

print(variables)
datalines = [
    line.strip().split() for idx, line in enumerate(f.read().split('\n'))
    if line.strip() and idx > 0
]
for line in datalines:
    m = mins[line[0]]
    mineral_names.append(m.name)
    data = map(float, line[1:])
    P, T, M, H, S, V, C_p, alpha, beta, C_p_over_C_v, rho = data