Esempio n. 1
0
            with open(fn, 'rb') as f:
                f.seek(where)
                if header.is_checkpoint:
                    ints   = np.fromfile(f, dtype = idtype, count=count)
                    idata[ip:ip+count] = ints

                floats = np.fromfile(f, dtype = fdtype, count=count)
                rdata[ip:ip+count] = floats
            ip += count

    return idata, rdata


if __name__ == "__main__":
    import glob

    if len(sys.argv) < 3:
        print("Usage: python amrex_binary_particles_to_vtp.py <plotfile> <particle_type>")

    fn_pattern = sys.argv[1]
    ptype = sys.argv[2]

    fn_list = glob.glob(fn_pattern)
    fn_list.sort()

    for i, fn in enumerate(fn_list):
        idata, rdata = read_amrex_binary_particle_file(fn, ptype)
        ppos = rdata[:,0:3]   # assumes 3D
        ncdata = rdata[:,3:]
        write_paraview_file_particles(fn+".vtp",ppos,ncdata.T)
Esempio n. 2
0
    nparticles = int(line.split()[0])

    line_ignore1 = infile.readline()
    line_ignore2 = infile.readline()
    line_ignore3 = infile.readline()
    line_ignore4 = infile.readline()

    particle_pos = np.zeros((nparticles, 3))

    for i in range(nparticles):
        spltline = infile.readline().split()
        particle_pos[i][0] = float(spltline[0])
        particle_pos[i][1] = float(spltline[1])
        particle_pos[i][2] = float(spltline[2])

    return (particle_pos, nparticles)


if __name__ == "__main__":

    filenum_min = int(argv[1])
    filenum_max = int(argv[2])
    file_prefix = argv[3]

    nfiles = filenum_max - filenum_min + 1
    ncdata = np.array([])
    for i in range(nfiles):
        filename = file_prefix + "%5.5d" % (filenum_min + i)
        (ppos, npart) = read_amrex_ascii_particle_file(filename)
        write_paraview_file_particles(filename + ".vtp", ppos, ncdata)