diff --git a/meshmode/discretization/visualization.py b/meshmode/discretization/visualization.py index 0fc0d47fe19f432b154655cac8062cc477af77f5..473cfe94ab6c68f362c05b95eed12712208c86ce 100644 --- a/meshmode/discretization/visualization.py +++ b/meshmode/discretization/visualization.py @@ -441,21 +441,18 @@ class Visualizer(object): overwrite=overwrite) def write_vtk_file(self, file_name, names_and_fields, - par_filename=None, par_namelist=None, - compressor=None, mpicomm=None, - real_only=False, overwrite=False): + compressor=None, real_only=False, + overwrite=False, par_namelist=None): self._write_vtk_file(file_name, names_and_fields, - par_filename=par_filename, par_namelist=par_namelist, + par_namelist=par_namelist, connectivity=self._vtk_connectivity, compressor=compressor, - mpicomm=mpicomm, real_only=real_only, overwrite=overwrite) def _write_vtk_file(self, file_name, names_and_fields, connectivity, - par_filename=None, par_namelist=None, - compressor=None, mpicomm=None, - real_only=False, overwrite=False): + compressor=None, real_only=False, overwrite=False, + par_namelist=None): from pyvisfile.vtk import ( UnstructuredGrid, DataArray, AppendedDataXMLGenerator, @@ -527,7 +524,8 @@ class Visualizer(object): if overwrite: os.remove(file_name) else: - raise FileExistsError(f'output file {file_name} already exists') + raise FileExistsError("output file '{%s}' already exists" + % file_name) with open(file_name, "w") as outf: generator = AppendedDataXMLGenerator( @@ -536,22 +534,20 @@ class Visualizer(object): generator(grid).write(outf) - if mpicomm is not None: - rank = mpicomm.Get_rank() - nproc = mpicomm.Get_size() - if nproc > 1: # don't bother for serial runs - if rank == 0: - if par_filename is None: - par_filename = file_name+'.pvtu' - if os.path.exists(par_filename): - if overwrite: - os.remove(par_filename) - else: - raise FileExistsError(f'output file {par_filename}' - f' already exists.') - with open(par_filename, "w") as outf: - generator = ParallelXMLGenerator(par_namelist) - generator(grid).write(outf) + if par_namelist is not None: + num_part = len(par_namelist) + if num_part > 1: # don't bother unless the list is long enough + par_filename = par_namelist[0] + part_namelist = par_namelist[1:] + if os.path.exists(par_filename): + if overwrite: + os.remove(par_filename) + else: + raise FileExistsError(f"parallel output file {par_filename}" + f" already exists.") + with open(par_filename, "w") as outf: + generator = ParallelXMLGenerator(part_namelist) + generator(grid).write(outf) # }}}