예제 #1
0
def run_bender(param_set, in_file):

    system              =   param_set["system"]
    ir                  =   param_set["ir"]
    rmin, rmax          =   param_set["rmin"],  param_set["rmax"]
    height              =   param_set["height"]
    moldy_opm           =   param_set["moldy_opm"]
    
    print 'running system: ' + system + ', ir = ' + str(ir) 
    print 'height     = ' + str(height)
    print 'rmin, rmax = %.2f, %.2f' %(rmin, rmax)
    
    ue                  =   parse_u_from_file(in_file)
    optimize_c          =   optimize(ue, 'l_bfgs')
        
    if not moldy_opm:
            
        [E_b_surf, E_s_surf], [E_b, E_s], ue, normals   \
                        =   optimize_c.optimize_consts()
        
        write_bender(E_b_surf, E_s_surf, normals, E_b, E_s, \
                    ue, param_set, in_file)
        
        plot_e_surfaces(in_file)
        
        write_synopsis(in_file)
        
        if system != 'spiral':
            study_height_synopsis(in_file)
            try:
                study_consts_proximity(in_file, 20)
            except ValueError:
                print 'voi hoh'
        
        
        
    elif moldy_opm:
        
        #optimize_c  =   optimize(ue, 'l_bfgs')
        
        try:
            params      =   read_bender_output(in_file, read_for_moldy = True)[0]   
            ue.set_const(params[("consts")])
            ue.set_moldy(True)  
        
        except IOError:
            print 'got io error from trying to import constants for moldy opm!!'
            ue          =   optimize_c.optimize_consts()[2]
            
        
        [E_s_surf, E_b_surf], [E_b, E_s], ue    \
                    =   optimize_c.optimize_moldy()[:4]

        write_bender(E_b_surf, E_s_surf, E_b, E_s, ue, param_set)
예제 #2
0
파일: plots.py 프로젝트: TopiKo/Futurama
def plot_e_surfaces(in_file, show = False):
    
    asurf, umat, E_surfs, normals, path     =   read_bender_output(in_file)[1:] 
    
    plot_all(asurf[1], asurf[2], umat[1], umat[2], E_surfs[0], E_surfs[1], \
              normals, path = path, show = show)