def dump_to_vtk(filename, output_filename_trunk=None, step0=0, steps=None, fields=None, linearization=None): """Dump a multi-time-step results file into a sequence of VTK files.""" def _save_step(suffix, out, mesh): if linearization is not None: output('linearizing...') out = _linearize(out, fields, linearization) output('...done') for key, val in out.iteritems(): lmesh = val.get('mesh', mesh) lmesh.write(output_filename_trunk + '_' + key + suffix, io='auto', out={key : val}) if hasattr(val, 'levels'): output('max. refinement per group:', val.levels) else: mesh.write(output_filename_trunk + suffix, io='auto', out=out) output('dumping to VTK...') io = MeshIO.any_from_filename(filename) mesh = Mesh.from_file(filename, io=io) if output_filename_trunk is None: output_filename_trunk = get_trunk(filename) try: ts = TimeStepper(*io.read_time_stepper()) times, nts, dts = extract_times(filename) except ValueError: output('no time stepping info found, assuming single step') out = io.read_data(0) if out is not None: _save_step('.vtk', out, mesh) ret = None else: ts.times = times ts.n_step = times.shape[0] if steps is None: iterator = ts.iter_from(step0) else: iterator = [(step, ts.times[step]) for step in steps] for step, time in iterator: output(ts.format % (step, ts.n_step - 1)) out = io.read_data(step) if out is None: break _save_step('.' + ts.suffix % step + '.vtk', out, mesh) ret = ts.suffix output('...done') return ret
def dump_to_vtk( filename, options, steps = None ): output( 'dumping to VTK...' ) mesh = Mesh.from_file( filename ) io = HDF5MeshIO( filename ) ts = TimeStepper( *io.read_time_stepper() ) if options.output_filename_trunk: ofn_trunk = options.output_filename_trunk else: ofn_trunk = get_trunk( filename ) if steps is None: iterator = ts.iter_from( options.step0 ) else: iterator = [(step, ts.times[step]) for step in steps] for step, time in iterator: output( ts.format % (step, ts.n_step - 1) ) out = io.read_data( step ) if out is None: break mesh.write( ofn_trunk + ts.suffix % step + '.vtk', io = 'auto', out = out ) output( '...done' ) return ts.suffix
def dump_to_vtk(filename, output_filename_trunk=None, step0=0, steps=None): """Dump a multi-time-step results file into a sequence of VTK files.""" output('dumping to VTK...') io = MeshIO.any_from_filename(filename) mesh = Mesh.from_file(filename, io=io) if output_filename_trunk is None: output_filename_trunk = get_trunk(filename) try: ts = TimeStepper(*io.read_time_stepper()) except: output('no time stepping info found, assuming single step') out = io.read_data(0) if out is not None: mesh.write(output_filename_trunk + '.vtk', io='auto', out=out) ret = None else: if steps is None: iterator = ts.iter_from(step0) else: iterator = [(step, ts.times[step]) for step in steps] for step, time in iterator: output(ts.format % (step, ts.n_step - 1)) out = io.read_data(step) if out is None: break mesh.write('.'.join((output_filename_trunk, ts.suffix % step, 'vtk')), io='auto', out=out) ret = ts.suffix output('...done') return ret