Пример #1
0
def do_step(k,i):
    print i
    ds = timeseries[i]

    #Get the surface and scalars from the first one in the series
    surf_poly = ttf.read_step(linesurf[i])

    normals = ttf.get_data(surf_poly, 'perp')
    parallels = ttf.get_data(surf_poly, 'par')
    torsionals = ttf.get_data(surf_poly, 'phi')

    #Extract the wave flux mayavi field from the yt dataset
    fwfield = util.get_mlab_field_yt(ds, 'wave_flux_x', 'wave_flux_y', 'wave_flux_z', cube_slice=cube_slice)

    #Interpolate the Wave flux to the velocity surface
    surface_fwave_filter, surface_fwave = ttf.interpolate_vectors(fwfield.outputs[0],
                                                                 surf_poly)

    Fwperp, Fwpar, Fwphi = ttf.get_surface_velocity_comp(surface_fwave,
                                                         normals, torsionals,
                                                         parallels)

    ttf.write_wave_flux(path_join("WaveFlux_%s_%s_%s_%05i.vtp"%(cfg.driver, cfg.str_period, cfg.amp, i+1)),
                             surf_poly, parallels, normals, torsionals, Fwpar, Fwperp, Fwphi)

    Fpar_line[k] = Fwpar[save_index[i]]
    Fperp_line[k] = Fwperp[save_index[i]]
    Fphi_line[k] = Fwphi[save_index[i]]
def path_join(filename):
    return os.path.join(os.path.join(cfg.data_dir,'%s/'%tube_r),filename)

for tube_r in cfg.tube_radii:
    print tube_r
    wave = glob_files(tube_r, 'Wave*')
    
    Fpar = np.zeros([len(wave)])
    Fperp = np.zeros([len(wave)])
    Fphi = np.zeros([len(wave)])
    
    for i, awave in enumerate(wave):
        surf_poly = ttf.read_step(awave)
    
        Fwperp = ttf.get_data(surf_poly, 'Fwperp')
        Fwpar = ttf.get_data(surf_poly, 'Fwpar')
        Fwphi = ttf.get_data(surf_poly, 'Fwphi')
        
        Fperp[i] = np.mean(Fwperp)
        Fpar[i] = np.mean(Fwpar)
        Fphi[i] = np.mean(Fwphi)
        
        Fwpar[np.abs(Fwpar)<1e-5], Fwperp[np.abs(Fwperp)<1e-5], Fwphi[np.abs(Fwphi)<1e-5] = 0., 0., 0.

        Fwtot = np.sqrt(Fwpar**2 + Fwperp**2 + Fwphi**2)
        Fwpar, Fwperp, Fwphi = (Fwpar/Fwtot)*100, (Fwperp/Fwtot)*100, (Fwphi/Fwtot)*100
        
        Fwpar, Fwperp, Fwphi = map(np.abs, [Fwpar, Fwperp, Fwphi])
        
        Fwpar = np.mean(np.ma.masked_array(Fwpar,np.isnan(Fwpar)))