matas et al. 2007)
    or 'bm2' (birch-murnaghan 2nd order, if you choose to ignore temperature
       (your choice in geotherm will not matter in this case))
    or 'bm3' (birch-murnaghan 3rd order, if you choose to ignore temperature
        (your choice in geotherm will not matter in this case))""" 
    method = 'slb3' 
        

    
    #input weight percentages and distribution coefficient 
    #See comments in burnman/composition.py for references to 
    #partition coefficent calculation

    weight_percents = {'Mg':0.213, 'Fe': 0.08, 'Si':0.27, 'Ca':0., 'Al':0.}
    phase_fractions,relative_molar_percent = \
    burnman.calculate_phase_percents(weight_percents)
    
    Kd_0 = .5 #Fig 5 Nakajima et al 2012
    
    iron_content = lambda p,t: \
    burnman.calculate_partition_coefficient(p,t,relative_molar_percent,Kd_0)

    rock = burnman.composite ( [ (minerals.SLB_2005.mg_fe_perovskite_pt_dependent(iron_content,1),\
    								phase_fractions['pv'] ), 
    								(minerals.SLB_2005.ferropericlase_pt_dependent(iron_content,0),\
    								phase_fractions['fp'] ) ] )
            
    #seismic model for comparison:
    seismic_model = burnman.seismic.prem() # pick from .prem() .slow() .fast() 
    #(see burnman/seismic.py)
    number_of_points = 20 #set on how many depth slices the computations should be done
# hack to allow scripts to be placed in subdirectories next to burnman:
if not os.path.exists("burnman") and os.path.exists("../burnman"):
    sys.path.insert(1, os.path.abspath(".."))

import burnman
from burnman import minerals

if __name__ == "__main__":

    # input weight percentages and distribution coefficient
    # See comments in burnman/composition.py for references to
    # partition coefficent calculation

    weight_percents = {"Mg": 0.213, "Fe": 0.08, "Si": 0.27, "Ca": 0.0, "Al": 0.0}
    phase_fractions, relative_molar_percent = burnman.calculate_phase_percents(weight_percents)

    Kd_0 = 0.1  # Fig 5 Nakajima et al 2012, although you can define this yourself!

    iron_content = lambda p, t: burnman.calculate_partition_coefficient(p, t, relative_molar_percent, Kd_0)

    rock = burnman.Composite(
        [phase_fractions["pv"], phase_fractions["fp"]],
        [
            minerals.SLB_2005.mg_fe_perovskite_pt_dependent(iron_content, 1),
            minerals.SLB_2005.ferropericlase_pt_dependent(iron_content, 0),
        ],
    )

    # seismic model for comparison:
    seismic_model = burnman.seismic.PREM()  # pick from .prem() .slow() .fast()
Пример #3
0
    or 'bm2' (birch-murnaghan 2nd order, if you choose to ignore temperature
       (your choice in geotherm will not matter in this case))
    or 'bm3' (birch-murnaghan 3rd order, if you choose to ignore temperature
        (your choice in geotherm will not matter in this case))"""
    method = 'slb3'

    #Carbonaceous chondrites From Mcdonough 2003
    weight_percents_pyro = {
        'Mg': 0.228,
        'Fe': 0.0626,
        'Si': 0.21,
        'Ca': 0.,
        'Al': 0.
    }
    phase_fractions_pyro,relative_molar_percent_pyro = \
    burnman.calculate_phase_percents(weight_percents_pyro)
    #input initial distribution coefficent. See example_partition_coefficient.py
    #for explanation
    Kd_0 = .5
    iron_content = lambda p,t: burnman.calculate_partition_coefficient\
    (p,t,relative_molar_percent_pyro, Kd_0)
    pyrolite = burnman.composite( [ (minerals.SLB_2005.mg_fe_perovskite_pt_dependent(iron_content,0),\
            phase_fractions_pyro['pv'] ),
                                (minerals.SLB_2005.ferropericlase_pt_dependent(iron_content,1), \
                                phase_fractions_pyro['fp'] ) ] )

    #input pressure range for first model.
    seis_p_1 = np.arange(25e9, 125e9, 5e9)

    #input your geotherm.
Пример #4
0
if __name__ == "__main__":    

    ###Input Model 1
    #INPUT for method
    """ choose 'slb' (finite-strain 2nd order sheer modulus, stixrude and lithgow-bertelloni, 2005)
    or 'mgd' (mie-gruneisen-debeye, matas et al. 2007)
    or 'bm' (birch-murnaghan, if you choose to ignore temperature (your choice in geotherm will not matter in this case))
    or 'slb3 (finite-strain 3rd order shear modulus, stixrude and lithgow-bertelloni, 2005)"""
    
    method = 'slb' 
    
    
    #Input composition of model 1. See example_composition for potential choices. We'll just choose something simple here
        
    weight_percents_pyro = {'Mg':0.228, 'Fe': 0.0626, 'Si':0.21, 'Ca':0., 'Al':0.} #From Mcdonough 2003
    phase_fractions_pyro,relative_molar_percent_pyro = burnman.calculate_phase_percents(weight_percents_pyro)
    iron_content = lambda p,t: burnman.calculate_partition_coefficient(p,t,relative_molar_percent_pyro)
    phases_pyro = [minerals.mg_fe_perovskite_pt_dependent(iron_content,0), \
        minerals.ferropericlase_pt_dependent(iron_content,1)]
    molar_abundances_pyro = [phase_fractions_pyro['pv'], phase_fractions_pyro['fp']]
    
    #input pressure range for first model. This could be from a seismic model or something you create. For this example we will create an array
    
    seis_p_1 = np.arange(25e9, 125e9, 5e9)
    
    #input your geotherm. Either choose one (See example_geotherms.py) or create one.We'll use Brown and Shankland.
    
    geotherm = burnman.geotherm.brown_shankland
    temperature_1 = [geotherm(p) for p in seis_p_1]
    
    ##Now onto the second model parameters