Beispiel #1
0
                        try:
                            x=mineral()
                            phasenames.append((name,x))
                        except:
                            print "Could not create '%s'" % name

            eos=phasenames[0][1].params['equation_of_state']
            if eos == 'hp_tmt':
                params = ['V_0','K_0','Kprime_0','Kdprime_0','molar_mass','n','Cp']
            elif eos == 'slb2' or eos== 'slb3' or eos == 'mgd2' or eos== 'mgd3':
                params = ['V_0','K_0','Kprime_0','G_0','Gprime_0','molar_mass','n','Debye_0','grueneisen_0','q_0','eta_s_0']
            elif eos == 'cork':
                params = ['cork_params','cork_T','cork_P','Cp']

    
            table = [ ['Name'] + params ]
            tablel = []

            sortedlist = sorted(phasenames, key=lambda x: x[0])
            
            for (name,p) in sortedlist:
                p.set_state(1e9,300)
                row = create_list(name,p)
                table.append(row)
                tablel.append(row)    
 
            if (len(sys.argv)==1):
                tools.pretty_print_table(table, False)
            elif sys.argv[1]=="tab":
                tools.pretty_print_table(table, True)
Beispiel #2
0
            # prints a separate table for each eos group.
            list_eoses = [
                phasename[1].params['equation_of_state']
                for phasename in phasenames
            ]
            for (eos, params) in sorted(eos_params.items(),
                                        key=lambda x: x[0]):
                eos_phasenames = [
                    phasenames[i] for i, e in enumerate(list_eoses) if e == eos
                ]
                if len(eos_phasenames) > 0:
                    table = []
                    tablel = []

                    table.append(['Name ({0} equation of state)'.format(eos)] +
                                 params)
                    tablel.append([])

                    sortedlist = sorted(eos_phasenames, key=lambda x: x[0])

                    for (name, p) in sortedlist:
                        p.set_state(1e9, 300)
                        row = create_list(name, p)
                        table.append(row)
                        tablel.append(row)

                    if (len(sys.argv) == 1):
                        tools.pretty_print_table(table, False)
                    elif sys.argv[1] == "tab":
                        tools.pretty_print_table(table, True)
Beispiel #3
0
    params = ['ref_V','ref_K','K_prime','ref_mu','mu_prime','molar_mass','n','ref_Debye','ref_grueneisen','q0','eta_0s']
    
    
    def create_list(mineral,paramname):
        row = [ p.__class__.__name__ ]
        for param in params:
            row.append(str(getattr(p,paramname)[param]))
        return row
    
    
    
    table = [ ['Name'] + params ]
    
    for p in phases:
        p.set_method('bm')
        p.set_state(0,300)
        if hasattr(p,'params_LS'):
            row = create_list(p, 'params_LS')
            row[0] += ' (LS)'
            table.append(row)
            row = create_list(p, 'params_HS')
            row[0] += ' (HS)'
            table.append(row)
        else:
            row = create_list(p, 'params')
            table.append(row)
            
    
    tools.pretty_print_table(table)