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
    # we will do our computation and comparison at the following depth values:
    depths = np.linspace(700e3, 2800e3, number_of_points)
    #alternatively, we could use the values where prem is defined:
    #depths = seismic_model.internal_depth_list()
    seis_p, seis_rho, seis_vp, seis_vs, seis_vphi = seismic_model.evaluate_all_at(depths)
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()
    # (see burnman/seismic.py)
    number_of_points = 20  # set on how many depth slices the computations should be done
    # we will do our computation and comparison at the following depth values:
    depths = np.linspace(700e3, 2800e3, number_of_points)
Пример #3
0
    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
    # we will do our computation and comparison at the following depth values:
    depths = np.linspace(700e3, 2800e3, number_of_points)
    #alternatively, we could use the values where prem is defined:
    #depths = seismic_model.internal_depth_list()
    seis_p, seis_rho, seis_vp, seis_vs, seis_vphi = seismic_model.evaluate_all_at(
Пример #4
0
     phases = [minerals.Murakami_fe_perovskite(), minerals.Murakami_fe_periclase_LS()]
     amount_perovskite = 0.95
     molar_abundances = [amount_perovskite, 1.0-amount_perovskite]
 
 #Example 2: specify fixed iron content
 if False:
     phases = [minerals.mg_fe_perovskite(0.8), minerals.ferropericlase(0.8)]
     amount_perovskite = 0.95
     molar_abundances = [amount_perovskite, 1.0-amount_perovskite]
 
 #Example 3: input weight percentages
 #See comments in burnman/composition.py for references to partition coefficent calculation
 if False:
     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)
     iron_content = lambda p,t: burnman.calculate_partition_coefficient(p,t,relative_molar_percent)
     phases = [minerals.mg_fe_perovskite_pt_dependent(iron_content,0), \
               minerals.ferropericlase_pt_dependent(iron_content,1)]
     molar_abundances = [phase_fractions['pv'],phase_fractions['fp']]
 
 #Example 4: three materials
 if False:
     phases = [minerals.Murakami_fe_perovskite(), minerals.ferropericlase(0.5), minerals.stishovite()]
     molar_abundances = [0.7, 0.2, 0.1]
 
 
 #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
 # we will do our computation and comparison at the following depth values:
 depths = np.linspace(700, 2800, number_of_points)